:root{--admin-sidebar-width:220px;--primary:#059669;--primary-dark:#047857;--primary-darker:#065f46;--primary-light:#d1fae5;--primary-xlight:#ecfdf5;--text:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--border-dark:#d1d5db;--bg:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--success:#16a34a;--success-light:#dcfce7;--error:#dc2626;--error-light:#fee2e2;--error-muted:#b97070;--error-muted-dark:#9e5a5a;--warning:#d97706;--warning-light:#fef3c7;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--radius-sm:4px;--radius:8px;--radius-lg:12px;--nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{padding-top:var(--nav-height);flex:1}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (width<=768px){input,select,textarea{font-size:16px!important}}.navbar{height:var(--nav-height);background:var(--bg);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm);padding:0 24px;position:fixed;top:0;left:0;right:0}.navbar-inner{align-items:center;gap:32px;max-width:1200px;height:100%;margin:0 auto;display:flex}.navbar-logo{flex-shrink:0}.navbar-links{flex:1;align-items:center;gap:4px;display:flex}.navbar-links a:not(.btn),.navbar-actions a:not(.btn){border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 12px;font-size:.9rem;font-weight:500;transition:color .15s,background .15s}.navbar-links a:not(.btn):hover,.navbar-links a:not(.btn).active,.navbar-actions a:not(.btn):hover,.navbar-actions a:not(.btn).active{color:var(--primary-dark);background:var(--primary-xlight)}.navbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.navbar-user{align-items:center;gap:12px;display:flex}.navbar-user-name{color:var(--text-muted);font-size:.9rem;font-weight:500}.navbar-hamburger{cursor:pointer;color:var(--text);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:4px;display:none}.navbar-mobile-menu{top:var(--nav-height);background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);z-index:99;max-height:calc(100vh - var(--nav-height));flex-direction:column;gap:4px;padding:12px 24px 16px;display:flex;position:absolute;left:0;right:0;overflow-y:auto}.navbar-mobile-menu a:not(.btn){border-radius:var(--radius-sm);color:var(--text-muted);padding:10px 12px;font-size:.95rem;font-weight:500;transition:color .15s,background .15s}.navbar-mobile-menu a:not(.btn):hover,.navbar-mobile-menu a:not(.btn).active{color:var(--primary-dark);background:var(--primary-xlight)}.navbar-mobile-menu .btn{text-align:center;width:100%}.avatar-menu{position:relative}.avatar-btn{background:var(--primary);color:#fff;cursor:pointer;letter-spacing:.03em;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.75rem;font-weight:700;transition:background .15s;display:flex}.avatar-btn:hover{background:var(--primary-dark)}.avatar-dropdown{z-index:200;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:200px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.avatar-dropdown-user{flex-direction:column;gap:2px;padding:12px 16px;display:flex}.avatar-dropdown-name{color:var(--text);font-size:.875rem;font-weight:600}.avatar-dropdown-email{color:var(--text-muted);font-size:.775rem}.avatar-dropdown-divider{background:var(--border);height:1px}.avatar-dropdown-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:block}.avatar-dropdown-item:hover{background:var(--bg-secondary)}.avatar-dropdown-item--danger{color:var(--error,#dc2626)}.avatar-dropdown-item--danger:hover{background:#fef2f2}.cart-nav-btn{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;padding:6px 10px;transition:color .15s,background .15s;display:flex;position:relative}.cart-nav-btn:hover,.cart-nav-btn.active{color:var(--primary-dark);background:var(--primary-xlight)}.cart-badge{background:var(--primary);color:#fff;border-radius:100px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:0;right:0}@media (width<=768px){.navbar-hamburger{align-items:center;display:flex}.navbar-links,.navbar-actions{display:none}.navbar-inner{gap:0}}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-warning{background:var(--error-muted);color:#fff}.btn-warning:hover{background:var(--error-muted-dark)}.btn-outline{border:1.5px solid var(--border-dark);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-xlight)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{color:var(--primary-dark);background:var(--primary-xlight)}.btn-sm{padding:6px 14px;font-size:.825rem}.btn-xs{padding:3px 9px;font-size:.775rem}.btn-lg{padding:12px 28px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-hero{color:var(--primary-darker);border-radius:var(--radius);background:#fff;padding:14px 32px;font-size:1rem;font-weight:700;transition:opacity .15s}.btn-hero:hover{opacity:.92}.btn-hero-outline{color:#fff;border-radius:var(--radius);background:#ffffff1f;border:1.5px solid #fff6;padding:14px 32px;font-size:1rem;font-weight:600;transition:background .15s}.btn-hero-outline:hover{background:#fff3}.hero{background:linear-gradient(135deg, var(--primary-darker) 0%, var(--primary-dark) 60%, var(--primary) 100%);color:#fff;text-align:center;padding:96px 24px 80px}.hero-eyebrow{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#ffffff26;border:1px solid #ffffff40;border-radius:100px;margin-bottom:20px;padding:4px 14px;font-size:.8rem;font-weight:600;display:inline-block}.hero h1{letter-spacing:-.03em;max-width:720px;margin-bottom:20px;margin-left:auto;margin-right:auto;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.15}.hero p{opacity:.85;max-width:560px;margin:0 auto 36px;font-size:1.125rem;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.stats-bar{background:var(--bg);border-bottom:1px solid var(--border);padding:24px}.stats-bar-inner{flex-wrap:wrap;justify-content:center;gap:64px;max-width:1200px;margin:0 auto;display:flex}.stat-item{text-align:center}.stat-value{color:var(--primary-dark);letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.85rem;font-weight:500}.section{padding:72px 24px}.section-alt{background:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:48px}.section-header h2{letter-spacing:-.02em;margin-bottom:12px;font-size:1.875rem;font-weight:700}.section-header p{color:var(--text-muted);max-width:500px;margin:0 auto;font-size:1.05rem}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.feature-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.feature-icon{background:var(--primary-xlight);border-radius:var(--radius);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-size:1.25rem;display:flex}.feature-card h3{margin-bottom:8px;font-size:1rem;font-weight:600}.feature-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.cta-banner{background:linear-gradient(135deg, var(--primary-darker), var(--primary-dark));color:#fff;text-align:center;padding:64px 24px}.cta-banner h2{letter-spacing:-.02em;margin-bottom:12px;font-size:1.875rem;font-weight:700}.cta-banner p{opacity:.85;margin-bottom:28px;font-size:1.05rem}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.testimonial-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.testimonial-quote{color:var(--text);margin-bottom:16px;font-size:.95rem;font-style:italic;line-height:1.65}.testimonial-author{color:var(--text-muted);font-size:.875rem;font-weight:600}.testimonial-role{color:var(--text-light);font-size:.8rem}@media (width<=768px){.stats-bar-inner{gap:32px}}@media (width<=480px){.hero{padding:64px 20px 56px}}.course-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.course-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.course-card-thumb{background:var(--primary);height:8px}.course-card-thumb--failed{background:var(--error-muted)}.course-card-body{flex-direction:column;flex:1;padding:20px;display:flex}.course-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.badge{letter-spacing:.02em;border-radius:100px;padding:3px 8px;font-size:.725rem;font-weight:600}.badge-category{background:var(--primary-light);color:var(--primary-darker)}.badge-level{background:var(--bg-tertiary);color:var(--text-muted);text-transform:capitalize}.badge-status-not-started{background:var(--bg-tertiary);color:var(--text-muted)}.badge-status-in-progress{background:var(--warning-light);color:var(--warning)}.badge-status-completed{background:var(--success-light);color:var(--success)}.badge-status-failed{background:var(--error-light);color:var(--error-muted)}.badge-status-revoked{color:var(--error,#dc2626);background:#fee2e2}.course-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.course-card-title{color:var(--text);flex:1;font-size:1rem;font-weight:600;line-height:1.4}.course-card-hours-badge{flex-shrink:0;margin-top:2px}.course-card-desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:16px;font-size:.875rem;line-height:1.55;display:-webkit-box;overflow:hidden}.course-card-bundle-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:600}.course-card-bundle-list{flex:1;margin:0 0 16px;padding:0;list-style:none}.course-card-bundle-list li{color:var(--text);padding:3px 0 3px 14px;font-size:.875rem;line-height:1.5;position:relative}.course-card-bundle-list li:before{content:"–";color:var(--text-muted);position:absolute;left:0}.course-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:14px;display:flex}.course-card-price{color:var(--primary-dark);font-size:1rem;font-weight:700}.course-card-actions{align-items:center;gap:8px;display:flex}.assigned-tag{color:var(--success);background:var(--success-light);border-radius:100px;padding:4px 10px;font-size:.8rem;font-weight:600}.courses-section{padding:32px 24px 72px}.courses-section .pagination{border-top:none;max-width:1200px;margin:32px auto 0}.filter-bar{background:var(--bg);border-bottom:1px solid var(--border);top:var(--nav-height);z-index:50;padding:16px 24px;position:sticky}.filter-bar-inner{flex-wrap:wrap;align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.filter-search{flex:1;min-width:200px;position:relative}.filter-search--half{flex:0 0 50%}.filter-search input{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--bg);outline:none;padding:8px 12px 8px 36px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.filter-search input:focus{border-color:var(--primary)}.filter-search-icon{color:var(--text-light);pointer-events:none;display:block;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.filter-select{border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg);cursor:pointer;outline:none;padding:8px 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s}.filter-select:focus{border-color:var(--primary)}.filter-results{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.875rem}.filter-popup-anchor{margin-left:auto;position:relative}.filter-popup-btn{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.filter-popup-btn:hover{border-color:var(--primary)}.filter-popup-btn--active{border-color:var(--primary);color:var(--primary-dark)}.filter-popup-btn-count{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:inline-flex}.filter-popup{z-index:200;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:240px;padding:16px;position:absolute;top:calc(100% + 8px);left:0}.filter-popup-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.filter-popup-title{color:var(--text);font-size:.875rem;font-weight:600}.filter-popup-clear{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8rem}.filter-popup-clear:hover{text-decoration:underline}.filter-popup-group{flex-direction:column;gap:6px;display:flex}.filter-popup-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.775rem;font-weight:600}.page-header{background:var(--primary-xlight);border-bottom:1px solid var(--primary-light);padding:36px 24px}.page-header-inner{max-width:1200px;margin:0 auto}.page-header h1{letter-spacing:-.02em;color:var(--primary-darker);margin-bottom:4px;font-size:1.75rem;font-weight:700}.page-header p{color:var(--text-muted);font-size:.95rem}.course-detail-not-found{text-align:center;color:var(--text-muted);padding:64px 24px}.course-detail-wrap{min-height:100vh}.course-detail-header{background:var(--primary-xlight);border-bottom:1px solid var(--primary-light);padding:36px 24px}.course-detail-header-inner{max-width:1200px;margin:0 auto}.course-detail-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-block}.course-detail-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.course-detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.course-detail-title-row .course-detail-title{margin:0}.course-detail-type-chip{text-transform:capitalize;padding:4px 14px;font-size:1rem}.badge-bundle{background:var(--primary-dark);color:#fff}.course-detail-price-row{align-items:center;gap:10px;display:flex}.course-detail-assigned-badge{color:var(--success,#16a34a);background:var(--success-light);white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:.825rem;font-weight:600}.course-detail-title{letter-spacing:-.02em;color:var(--primary-darker);margin-bottom:12px;font-size:1.9rem;font-weight:700;line-height:1.25}.course-detail-desc{color:var(--text-muted);max-width:680px;margin-bottom:16px;font-size:1rem;line-height:1.65}.course-detail-body{grid-template-columns:1fr 300px;align-items:start;gap:32px;max-width:1248px;margin:0 auto;padding:40px 24px 72px;display:grid}.course-detail-body--split{grid-template-columns:1fr 1fr}.course-detail-info-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;max-width:1248px;margin:0 auto;padding:40px 24px 0;display:grid}.course-detail-info-grid .course-detail-card{box-sizing:border-box;height:100%}.course-content-section{max-width:1248px;margin:32px auto 0;padding:0 24px 72px}.course-content-container{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.course-content-section-header{margin-bottom:16px}.course-content-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.course-content-carousel::-webkit-scrollbar{height:6px}.course-content-carousel::-webkit-scrollbar-track{background:var(--border);border-radius:3px}.course-content-carousel::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.course-content-card{scroll-snap-align:start;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;flex:0 0 calc(40% - 8px);gap:10px;padding:20px;display:flex}.course-content-card--stacked{flex:auto}.course-content-card-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.course-content-card--module{border-left:3px solid var(--primary)}.course-content-card--module .catalog-course-item-type{background:var(--primary-light);color:var(--primary-darker);align-self:flex-start}.course-content-card--exam{border-left:3px solid var(--warning)}.course-content-card--exam .catalog-course-item-type{background:var(--warning-light);color:var(--warning);align-self:flex-start}.course-content-card-title{color:var(--text);flex:1;font-size:.95rem;font-weight:600}.course-detail-main{flex-direction:column;gap:20px;min-width:0;display:flex}.course-detail-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.course-detail-section-title{color:var(--text);margin-bottom:16px;font-size:1rem;font-weight:600}.course-detail-prose{color:var(--text);margin:0;font-size:.95rem;line-height:1.7}.course-detail-objectives{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.course-detail-objectives li{color:var(--text);font-size:.9rem;line-height:1.55}.course-detail-faculty-list{flex-direction:column;gap:20px;display:flex}.course-detail-faculty-item{border-top:1px solid var(--border);padding-top:20px}.course-detail-faculty-item:first-child{border-top:none;padding-top:0}.course-detail-faculty-name{color:var(--text);margin-bottom:2px;font-size:.95rem;font-weight:600}.course-detail-faculty-credentials{color:var(--primary-dark);margin-bottom:8px;font-size:.825rem;font-weight:500}.course-detail-faculty-bio{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.6}.course-detail-sidebar{top:calc(var(--nav-height) + 24px);flex-direction:column;gap:16px;display:flex;position:sticky}.course-detail-assign-card{flex-direction:column;gap:16px;display:flex}.course-detail-price{color:var(--primary-dark);letter-spacing:-.02em;font-size:2rem;font-weight:700}.course-detail-assigned{flex-direction:column;gap:8px;display:flex}.course-detail-assigned>span{color:var(--success,#16a34a);font-size:.9rem;font-weight:600}.course-detail-facts{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.course-detail-facts li{justify-content:space-between;font-size:.95rem;display:flex}.course-detail-facts li span:first-child{color:var(--text-muted)}.course-detail-facts li span:last-child{color:var(--text);font-weight:500}.catalog-detail-states{flex-wrap:wrap;gap:6px;display:flex}.catalog-detail-state-tag{background:var(--bg-tertiary);color:var(--text-muted);border-radius:100px;padding:3px 10px;font-size:.775rem;font-weight:500}.catalog-linked-courses{flex-direction:column;gap:12px;display:flex}.catalog-course-items{flex-direction:column;gap:8px;display:flex}.catalog-course-item{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.catalog-course-item-header{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.catalog-course-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.catalog-linked-course-title-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.catalog-course-item-meta{align-items:center;gap:10px;display:flex}.catalog-course-item-type{flex-shrink:0}.catalog-course-item-author{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:10px;padding-top:10px;display:flex}.catalog-course-item-author-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.7rem;font-weight:600}.catalog-course-item-author-name{color:var(--text);font-size:.875rem;font-weight:500}.catalog-course-item-author-bio{color:var(--text-muted);margin-top:4px;font-size:.825rem;line-height:1.5}.catalog-linked-course-card{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--bg);color:inherit;padding:16px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block}.catalog-linked-course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.catalog-linked-course-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.catalog-linked-course-title{color:var(--text);font-size:.95rem;font-weight:600}.catalog-linked-course-desc{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:.875rem;line-height:1.55;display:-webkit-box;overflow:hidden}.catalog-linked-course-footer{justify-content:flex-start;margin-top:8px;display:flex}@media (width<=768px){.course-detail-body{grid-template-columns:1fr}.course-detail-sidebar{order:-1;position:static}.course-detail-title{font-size:1.4rem}}.dashboard-grid{gap:24px;max-width:1200px;margin:0 auto;padding:32px 24px;display:grid}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.stat-card-value{color:var(--primary-dark);letter-spacing:-.02em;margin-bottom:6px;font-size:2rem;font-weight:700;line-height:1}.stat-card-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.dashboard-section-title{color:var(--text);margin-bottom:16px;font-size:1.1rem;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state p{margin-bottom:16px;font-size:.95rem}.assignment-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.assignment-card-progress{flex-direction:column;flex:1;gap:6px;margin-bottom:16px;display:flex}.assignment-card-date{color:var(--text-muted);font-size:.8rem}.assignment-progress{align-items:center;gap:10px;margin-top:10px;display:flex}.assignment-progress-bar{background:var(--border);border-radius:3px;width:100%;height:6px;overflow:hidden}.assignment-progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.assignment-progress-fill--failed{background:var(--error-muted)}.assignment-progress-label{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.assignment-detail-back{color:var(--text-muted);margin-bottom:10px;font-size:.875rem;text-decoration:none;display:inline-block}.assignment-detail-back:hover{color:var(--text)}.assignment-detail-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assignment-detail-title-row h1{margin:0;font-size:1.6rem;font-weight:700}.assignment-detail-header-meta{color:var(--text-muted);align-items:center;gap:10px;margin-top:8px;font-size:.875rem;display:flex}.assignment-detail-body{flex-direction:column;gap:24px;max-width:860px;margin:0 auto;padding:28px 24px;display:flex}.assignment-detail-progress-row{align-items:center;gap:12px;display:flex}.assignment-item-list{flex-direction:column;gap:10px;display:flex}.assignment-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:stretch;gap:16px;padding:18px 20px;display:flex}.assignment-item--exam{border-left:3px solid var(--warning)}.assignment-item--module{border-left:3px solid var(--primary)}.assignment-item--locked{opacity:.55}.assignment-item-number{background:var(--bg-secondary);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.assignment-item-info{flex:1;min-width:0}.assignment-item-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.assignment-item-type-badge--exam{background:var(--warning-light);color:var(--warning)}.assignment-item-type-badge--module{background:var(--primary-light);color:var(--primary-darker)}.assignment-item-name{font-size:.975rem;font-weight:600;line-height:1.4}.assignment-item-description{color:var(--text-muted);margin:0 0 6px;font-size:.85rem;line-height:1.5}.assignment-item-completed-date{color:var(--text-muted);font-size:.8rem}.assignment-item-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.assignment-item-actions{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;display:flex}.assignment-item-buttons{align-items:center;gap:8px;display:flex}.assignment-item-attempts{white-space:nowrap}.assignment-item-locked-label{color:var(--text-muted);font-size:.8rem;font-style:italic}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.price-label{color:var(--primary-dark);font-size:.875rem;font-weight:600}.loading-state,.error-state{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:.95rem}.error-state{color:var(--error,#dc2626)}.stub-box{background:var(--bg-secondary);border:1.5px dashed var(--border-dark);border-radius:var(--radius);text-align:center;color:var(--text-muted);padding:32px;font-size:.9rem}.auth-page{min-height:calc(100vh - var(--nav-height));background:var(--bg-secondary);justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-md);padding:40px}.auth-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:20px 0 12px;font-size:.72rem;font-weight:700}.auth-section-title:first-child{margin-top:0}.auth-logo{color:var(--primary-darker);letter-spacing:-.02em;text-align:center;margin-bottom:8px;font-size:1.75rem;font-weight:700}.auth-logo span{color:var(--primary)}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.auth-tabs{border-bottom:2px solid var(--border);margin-bottom:28px;display:flex}.auth-tab{text-align:center;color:var(--text-muted);cursor:pointer;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.auth-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.form-group{margin-bottom:16px}.form-label{color:var(--text);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.form-input{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--bg);outline:none;padding:10px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.form-input:focus{border-color:var(--primary)}.form-input:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap .password-input{padding-right:40px}.password-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:color .15s;display:flex;position:absolute;right:10px}.password-toggle:hover{color:var(--text)}.form-error{color:var(--error);margin-top:8px;font-size:.825rem}.form-errors{color:var(--error);flex-direction:column;gap:4px;margin:8px 0;padding-left:18px;font-size:.825rem;display:flex}.auth-terms-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:16px;font-size:.875rem;display:flex}.auth-terms-label a{color:var(--primary);text-decoration:none}.auth-terms-label a:hover{text-decoration:underline}.form-submit{width:100%;margin-top:8px;padding:11px}.auth-password-label-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.auth-password-label-row .form-label{margin-bottom:0}.auth-forgot-link{color:var(--primary);font-size:.8rem;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}@media (width<=480px){.auth-card{padding:28px 20px}}.settings-layout{grid-template-columns:200px 1fr;align-items:start;gap:32px;max-width:1248px;margin:0 auto;padding:32px 24px;display:grid}.settings-nav{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);top:calc(var(--nav-height) + 16px);position:sticky;overflow:hidden}.settings-nav-item{width:100%;color:var(--text-muted);cursor:pointer;border-left:3px solid #0000;padding:12px 16px;font-size:.875rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:block}.settings-nav-item:hover{background:var(--bg-secondary);color:var(--text)}.settings-nav-item.active{color:var(--primary-dark);background:var(--primary-xlight);border-left-color:var(--primary)}.settings-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.settings-panel-title{margin-bottom:4px;font-size:1.1rem;font-weight:600}.settings-panel-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:.875rem}.settings-divider{border:none;border-top:1px solid var(--border);margin:24px 0}@media (width<=768px){.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;position:static;overflow-x:auto}.settings-nav-item{white-space:nowrap;border-bottom:3px solid #0000;border-left:none}.settings-nav-item.active{border-left:none;border-bottom-color:var(--primary)}}.about-content,.legal-content{max-width:1200px;margin:0 auto}.about-block,.legal-block{margin-bottom:48px}.about-block h2,.legal-block h2{color:var(--primary-darker);margin-bottom:12px;font-size:1.25rem;font-weight:700}.about-block p,.legal-block p{color:var(--text-muted);margin-bottom:12px;line-height:1.75}.footer{background:var(--primary-darker);color:#ffffffbf;padding:48px 24px 24px}.footer-inner{max-width:1200px;margin:0 auto}.footer-top{grid-template-columns:1.5fr repeat(2,1fr);gap:40px;margin-bottom:40px;display:grid}.footer-brand{color:var(--primary-darker);letter-spacing:-.02em;border-radius:var(--radius-sm);background:#fff;margin-bottom:10px;padding:4px 10px;font-size:1.25rem;font-weight:700;display:inline-block}.footer-brand span{color:var(--primary)}.footer-brand-desc{color:#fff9;font-size:.875rem;line-height:1.6}.footer-col-title{letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-size:.8rem;font-weight:700}.footer-col a,.footer-col span{color:#ffffffa6;margin-bottom:8px;font-size:.875rem;transition:color .15s;display:block}.footer-col a:hover{color:#fff}.footer-bottom{color:#ffffff73;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;font-size:.8rem;display:flex}@media (width<=768px){.footer-top{grid-template-columns:1fr 1fr}}@media (width<=480px){.footer-top{grid-template-columns:1fr}}.admin-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--primary-light);color:var(--primary-darker);border-radius:100px;padding:2px 8px;font-size:.7rem;font-weight:700}.email-var-chip{color:var(--primary-darker);background:var(--primary-light);border:1px solid var(--primary-light);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 8px;font-family:monospace;font-size:.8rem;font-weight:500;transition:background .1s,border-color .1s}.email-var-chip:hover{background:var(--primary);border-color:var(--primary);color:#fff}.state-chip{color:var(--primary-darker);background:var(--primary-light);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:3px 6px 3px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.state-chip-remove{cursor:pointer;color:var(--primary-darker);opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;padding:0 1px;font-size:.7rem;line-height:1;transition:opacity .1s;display:inline-flex}.state-chip-remove:hover{opacity:1}.admin-layout{min-height:calc(100vh - var(--nav-height));display:flex}.admin-sidebar{width:var(--admin-sidebar-width);background:var(--bg);border-right:1px solid var(--border);top:var(--nav-height);height:calc(100vh - var(--nav-height));flex-shrink:0;align-self:flex-start;padding:16px 0;position:sticky;overflow-y:auto}.admin-nav-item{color:var(--text-muted);border-radius:var(--radius-sm);border-left:3px solid #0000;padding:10px 20px 10px 21px;font-size:.9rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:block}.admin-nav-item:hover{background:var(--bg-secondary);color:var(--text)}.admin-nav-item.active{color:var(--primary-dark);background:var(--primary-xlight);border-left-color:var(--primary)}.admin-nav-subitem{color:var(--text-muted);border-radius:var(--radius-sm);border-left:3px solid #0000;padding:8px 20px 8px 36px;font-size:.85rem;font-weight:400;transition:color .15s,background .15s,border-color .15s;display:block;position:relative}.admin-nav-subitem:before{content:"";border-left:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);border-bottom-left-radius:3px;width:8px;position:absolute;top:0;bottom:50%;left:16px}.admin-nav-subitem:hover{background:var(--bg-secondary);color:var(--text)}.admin-nav-subitem.active{color:var(--text);background:var(--bg-secondary);border-left-color:var(--text-muted)}.admin-nav-group-toggle{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;display:flex}.admin-nav-chevron{color:var(--text-muted);font-size:1.1rem;line-height:1;transition:transform .15s}.navbar-mobile-menu .admin-nav-group-toggle{border-radius:var(--radius-sm);padding:10px 12px}.navbar-mobile-menu .admin-nav-chevron{flex-shrink:0;margin-left:12px}.navbar-mobile-menu .admin-nav-group-items a.admin-nav-subitem{padding:8px 12px 8px 36px;font-size:.85rem;font-weight:400}.admin-main{flex:1;min-width:0;overflow-x:hidden}.admin-page-header{background:var(--primary-xlight);border-bottom:1px solid var(--primary-light);flex-wrap:wrap;align-items:center;gap:16px;padding:28px 32px;display:flex}.admin-page-header h1{letter-spacing:-.02em;color:var(--primary-darker);flex:1;font-size:1.5rem;font-weight:700}.admin-page-header p{color:var(--text-muted);width:100%;margin-top:-10px;font-size:.875rem}.admin-page-body{padding:28px 32px}.admin-toolbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-input{max-width:280px}.admin-table-toolbar{align-items:center;gap:8px;padding:0 0 12px;display:flex}.admin-table-wrap{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{background:var(--bg-secondary);text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:11px 16px;font-size:.775rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:13px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-secondary)}.td-bold{font-weight:600}.stub-inline{color:var(--text-light)}.stripe-id{color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;padding:2px 6px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.8rem}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.pagination-info{color:var(--text-muted);font-size:.825rem}.pagination-controls{align-items:center;gap:3px;display:flex}.pagination-btn{border:1px solid var(--border);border-radius:var(--radius);min-width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;padding:0 8px;font-size:.825rem;transition:background .1s}.pagination-btn:hover:not(:disabled){background:var(--bg-secondary)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-ellipsis{color:var(--text-muted);padding:0 4px;font-size:.825rem}.admin-stat-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:28px;display:grid}.admin-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.admin-stat-value{color:var(--primary-dark);letter-spacing:-.02em;margin-bottom:6px;font-size:1.75rem;font-weight:700;line-height:1}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.admin-profile-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,1fr);gap:20px 24px;padding:24px 28px;display:grid}.admin-profile-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);grid-column:1/-1;margin-bottom:-8px;font-size:.72rem;font-weight:700}.admin-profile-divider{border:none;border-top:1px solid var(--border);grid-column:1/-1;margin:4px 0}.admin-profile-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.admin-profile-field-value{color:var(--text);font-size:.95rem;font-weight:500}.activity-timestamp{color:var(--text-muted);white-space:nowrap;font-size:.825rem}.event-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:100px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.event-success{background:var(--success-light);color:var(--success)}.event-info{color:#1d4ed8;background:#dbeafe}.event-danger{color:#dc2626;background:#fee2e2}.event-warning{color:#a16207;background:#fef9c3}.event-purple{color:#7c3aed;background:#ede9fe}.source-badge{letter-spacing:.04em;text-transform:capitalize;background:var(--bg-secondary);color:var(--text-muted);border-radius:100px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.source-admin{color:#a16207;background:#fef9c3}.source-system{background:var(--bg-secondary);color:var(--text-muted)}.source-user{color:#1d4ed8;background:#dbeafe}.admin-activity-list{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.admin-activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.admin-activity-item:last-child{border-bottom:none}.admin-activity-date{color:var(--text-muted);white-space:nowrap;min-width:88px;padding-top:1px;font-size:.8rem}.admin-activity-text{color:var(--text);font-size:.875rem}.admin-overview-section{margin-bottom:20px}.admin-overview-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700}.admin-status-active{background:var(--success-light);color:var(--success)}.admin-status-disabled{background:var(--bg-secondary);color:var(--text-muted)}.admin-status-pending{background:var(--warning-light);color:var(--warning)}.admin-user-status-active{background:var(--primary);color:#fff}.admin-user-status-disabled{background:var(--border-dark,#94a3b8);color:#fff}.payment-status-paid{background:var(--success-light);color:var(--success)}.payment-status-pending{color:#a16207;background:#fef9c3}.payment-status-failed{color:#dc2626;background:#fee2e2}.payment-status-refunded{background:var(--bg-secondary);color:var(--text-muted)}.assign-modal-wide{width:calc(100vw - 32px);max-width:680px}.assign-modal-columns{grid-template-columns:1fr auto 1fr;align-items:start;gap:0;display:grid;padding:20px 24px!important}.assign-col-divider{background:var(--border);align-self:stretch;width:1px;margin:0 20px}.assign-pane{flex-direction:column;gap:10px;min-width:0;display:flex}.assign-pane-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.72rem;font-weight:700}.assign-dropdown{border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow-y:auto}.assign-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;transition:background .1s;display:flex}.assign-dropdown-item:last-child{border-bottom:none}.assign-dropdown-item:hover{background:var(--bg-secondary)}.assign-dropdown-name{color:var(--text);font-size:.855rem}.assign-dropdown-meta{color:var(--text-muted);white-space:nowrap;font-size:.775rem}.assign-dropdown-empty{color:var(--text-muted);text-align:center;padding:14px 12px;font-size:.825rem}.assign-tags{flex-wrap:wrap;gap:6px;display:flex}.assign-tag{background:var(--primary-xlight);color:var(--primary-darker);border:1px solid var(--primary-light);border-radius:100px;align-items:center;gap:5px;padding:3px 8px 3px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.assign-tag-remove{cursor:pointer;color:var(--primary-dark);opacity:.7;background:0 0;border:none;padding:0;font-size:.7rem;line-height:1}.assign-tag-remove:hover{opacity:1}.assign-modal-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.assign-modal-row:last-child{border-bottom:none}.assign-modal-course-name{color:var(--text);font-size:.875rem;font-weight:500}.assign-modal-course-meta{color:var(--text-muted);margin-top:2px;font-size:.775rem}.btn-remove{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;flex-shrink:0}.btn-remove:hover{background:#fecaca}.admin-check-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 0;font-size:.875rem;display:flex}.admin-check-row:last-child{border-bottom:none}.admin-check-icon{font-size:1rem;line-height:1}.admin-check-label{color:var(--text);font-weight:500}.admin-actions-row{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.admin-tabs{padding:0 16px}.admin-tab{padding:12px 14px;font-size:.85rem}.admin-page-header h1{word-break:break-word;max-width:calc(100vw - 160px);font-size:1.2rem}.admin-toolbar{flex-wrap:wrap}.admin-toolbar .form-input,.admin-toolbar .search-input{flex:100%;min-width:0;max-width:none}.admin-toolbar .filter-select{flex:calc(50% - 6px);min-width:0;max-width:none}.admin-toolbar .filter-results{width:100%;margin-left:0}.admin-sidebar{display:none}.admin-table-wrap{overflow-x:auto}.admin-page-header,.admin-page-body{padding:20px 16px}}.admin-detail-not-found{padding:32px}.admin-tabs{border-bottom:2px solid var(--border);background:var(--bg);padding:0 32px;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:14px 20px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--text)}.admin-tab:disabled{color:var(--text-light,#cbd5e1);cursor:not-allowed}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-detail-header-left{flex-direction:column;flex:1;gap:4px;display:flex}.admin-detail-back-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:500;text-decoration:none;display:inline}.admin-detail-title-row{align-items:center;gap:12px;display:flex}.admin-detail-title{flex:none}.admin-detail-footer{justify-content:flex-start;padding:20px 32px;display:flex}.admin-config-top-bar{justify-content:flex-start;align-items:center;gap:8px;padding:10px 32px;display:flex}.admin-config-questions{padding:16px 32px 28px}.wizard-steps{border-bottom:1px solid var(--border);background:var(--bg);justify-content:center;align-items:center;gap:8px;padding:12px 32px;display:flex}.wizard-step{color:var(--text-muted);font-size:.85rem;font-weight:500}.wizard-step.active{color:var(--primary,#2563eb);font-weight:700}.wizard-step.done{color:var(--text-muted)}.wizard-step-sep{color:var(--text-light,#cbd5e1);font-size:.8rem}.admin-config{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;padding:16px 32px 0;display:grid}.admin-config-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:24px 28px;display:flex}.admin-config-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;font-size:.75rem;font-weight:700}.admin-config-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:20px;padding:10px 0;display:flex}.admin-config-row:last-child{border-bottom:none;padding-bottom:0}.admin-config-section-title+.admin-config-row{padding-top:0}.admin-config-row-label{color:var(--text);flex:0 0 200px;padding-top:10px;font-size:.875rem;font-weight:500}.admin-config-row-label span{color:var(--text-muted);margin-top:2px;font-size:.775rem;font-weight:400;display:block}.admin-config-row-control{flex-direction:column;flex:1;gap:6px;display:flex}.admin-config-inner-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.admin-config-field{flex-direction:column;gap:6px;display:flex}.admin-config-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.admin-config-field-error{color:var(--danger,#dc2626);font-size:.8rem;font-weight:500}.admin-config-save-error{color:var(--danger,#dc2626);margin-bottom:16px;font-size:.875rem;font-weight:500}.admin-config-description{flex-direction:column;flex:1;gap:6px;padding-top:10px;display:flex}.admin-config-description-input{resize:none;flex:1}.admin-form-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}@media (width<=1024px){.admin-config-card>.admin-config-inner-grid{grid-template-columns:1fr;gap:12px}.admin-config-row-control .admin-config-inner-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.admin-config-row-control .admin-config-inner-grid .filter-select,.admin-config-row-control .admin-config-inner-grid .form-input{width:100%}}@media (width<=768px){.admin-config{gap:12px;padding:16px}.admin-config-card{padding:16px}.admin-config-description-input{min-height:140px}.admin-config-row{flex-direction:column;gap:8px}.admin-config-row-label{flex:none;padding-top:0}.admin-detail-footer{padding:16px}}.learning-section{margin-bottom:24px}.learning-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:0 0 8px 4px;font-size:.85rem;font-weight:700}.assignment-course-row{cursor:pointer}.assignment-course-row:hover td{background:var(--bg-secondary)}.assignment-expand-cell{padding-right:4px!important}.assignment-expand-chevron{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.75rem}.assignment-item-row td{background:var(--bg-secondary);border-top:none!important}.assignment-item-row-name-cell{flex-wrap:wrap;align-items:center;gap:8px;padding-left:16px;display:flex}.assignment-item-row-name{color:var(--text);font-size:.875rem;font-weight:500}.exam-detail-status-badge{padding:5px 12px;font-size:.8rem}.exam-status-published{background:var(--primary);color:#fff}.exam-status-draft{background:var(--text-muted);color:#fff}.exam-status-archived{background:var(--border-dark,#94a3b8);color:#fff}.exam-toggle-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.exam-toggle-grid .exam-toggle-row{border-bottom:1px solid var(--border);border-right:none}.exam-toggle-grid .exam-toggle-row:nth-child(odd){border-right:1px solid var(--border);padding-right:16px}.exam-toggle-grid .exam-toggle-row:nth-child(2n){padding-left:16px}.exam-toggle-grid .exam-toggle-row:nth-last-child(-n+2){border-bottom:none}.exam-toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.exam-toggle-row:last-child{border-bottom:none}.exam-toggle-label{color:var(--text);font-size:.9rem;font-weight:500}.exam-toggle-desc{color:var(--text-muted);margin-top:2px;font-size:.8rem}.exam-inline-field{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.exam-inline-field .form-input{width:120px}.exam-inline-check{color:var(--text-muted);cursor:pointer;white-space:normal;align-items:center;gap:6px;font-size:.875rem;display:flex}.toggle{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border-dark,#cbd5e1);cursor:pointer;border-radius:20px;transition:background .2s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--primary)}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-track:after{transform:translate(16px)}.question-archived-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--error,#ef4444);vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-block}.question-link-badge-global{letter-spacing:.05em;text-transform:uppercase;color:var(--primary-darker);opacity:.75;margin-right:4px;padding:2px 7px;font-size:.7rem;font-weight:700}.question-link-badge-global:hover{opacity:1}.question-link-badge-local{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-right:4px;padding:2px 7px;font-size:.7rem;font-weight:700}.question-link-badge-local:hover{color:var(--primary-darker)}.question-global-warning{color:var(--primary-darker);background:var(--primary-light);border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:.82rem}.row-remove-btn{color:var(--text-muted);padding:4px 8px}.row-remove-btn:hover{color:var(--error,#ef4444)!important}.question-modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.question-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg,0 8px 32px #0000002e);width:calc(100vw - var(--admin-sidebar-width) - 64px);flex-direction:column;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);display:flex}.question-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.question-modal-title{color:var(--text);font-size:1rem;font-weight:600}.question-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:2px 6px;font-size:1.25rem;line-height:1}.question-modal-close:hover{color:var(--text);background:var(--bg-secondary)}.question-modal-body{flex:1;padding:20px 24px;overflow-y:auto}.question-modal-footer{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:16px 24px;display:flex}.assign-modal-filters{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 24px;display:flex}.assign-modal-filter-label{color:var(--text-muted);white-space:nowrap;flex-direction:column;gap:4px;font-size:.8rem;font-weight:500;display:flex}.assign-modal-list{flex:1;max-height:340px;overflow-y:auto}.assign-modal-empty{color:var(--text-muted);text-align:center;padding:24px;font-size:.875rem}.assign-modal-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 24px;transition:background .1s;display:flex}.assign-modal-item:last-child{border-bottom:none}.assign-modal-item:hover{background:var(--bg-secondary)}.assign-modal-item.selected{background:color-mix(in srgb, var(--primary) 8%, transparent)}.assign-modal-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);flex-shrink:0}.assign-modal-item-title{color:var(--text);flex:1;font-size:.875rem}.assign-modal-item-meta{color:var(--text-muted);white-space:nowrap;font-size:.775rem}.question-editor{background:var(--bg-secondary);border:1.5px solid var(--border-dark);border-radius:var(--radius-lg);margin-top:24px;padding:28px}.question-editor-title{color:var(--text);margin-bottom:20px;font-size:1rem;font-weight:600}.answer-options{flex-direction:column;gap:10px;margin-bottom:4px;display:flex}.answer-option{align-items:center;gap:10px;display:flex}.answer-option input[type=radio]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.answer-option .form-input{flex:1}.answer-options-label{color:var(--text-muted);margin-top:6px;margin-bottom:16px;font-size:.75rem}.question-editor-actions{gap:8px;margin-top:24px;display:flex}.module-upload-area{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--bg-secondary);cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:border-color .15s;display:flex}.module-upload-area:hover{border-color:var(--primary)}.module-upload-prompt{color:var(--text-muted);font-size:.875rem}.module-upload-filename{color:var(--text);flex:1;font-size:.875rem;font-weight:500}.module-upload-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:.875rem;line-height:1}.module-upload-clear:hover{color:var(--danger)}.email-detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;padding:28px 32px;display:grid}@media (width<=1024px){.email-detail-grid{grid-template-columns:1fr}}@media (width<=768px){.exam-toggle-grid{grid-template-columns:1fr}.exam-toggle-grid .exam-toggle-row:nth-child(odd){border-right:none;padding-right:0}.exam-toggle-grid .exam-toggle-row:nth-child(2n){padding-left:0}.exam-toggle-grid .exam-toggle-row:nth-last-child(-n+2){border-bottom:1px solid var(--border)}.exam-toggle-grid .exam-toggle-row:last-child{border-bottom:none}.question-modal{width:calc(100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100vh - 60px)}.question-modal-body{overflow-x:hidden}}.exam-take-wrap{background:var(--bg-secondary);flex-direction:column;min-height:100vh;display:flex}.exam-take-topbar{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:10;position:sticky;top:0}.exam-take-back-row{border-bottom:1px solid var(--border)}.exam-take-back-row-inner{max-width:1200px;margin:0 auto;padding:10px 24px}.exam-take-back{color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .15s}.exam-take-back:hover{color:var(--primary-dark)}.exam-take-header{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.exam-take-header-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin-right:20px;font-size:.95rem;font-weight:600;overflow:hidden}.exam-take-timer{color:var(--text);font-variant-numeric:tabular-nums;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;padding:4px 10px;font-size:1rem;font-weight:700}.timer-warning{color:var(--error);background:var(--error-light);border-color:var(--error)}.exam-take-progress-track{background:var(--border);height:4px}.exam-take-progress-bar{background:var(--primary);height:100%;transition:width .25s}.exam-take-staging-info{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.exam-take-staging-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exam-take-staging-title{color:var(--text);letter-spacing:-.02em;font-size:1.3rem;font-weight:700;line-height:1.3}.exam-take-staging-category{text-transform:uppercase;letter-spacing:.06em;color:var(--primary-dark);background:var(--primary-light);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.exam-take-staging-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.exam-take-staging-stats{border:1px solid var(--border);border-radius:var(--radius);margin-top:4px;display:flex;overflow:hidden}.exam-take-staging-stat{border-right:1px solid var(--border);background:var(--bg-secondary);flex:1;padding:12px 16px}.exam-take-staging-stat:last-child{border-right:none}.exam-take-staging-stat-value{color:var(--primary-dark);letter-spacing:-.01em;margin-bottom:4px;font-size:1.1rem;font-weight:700;line-height:1}.exam-take-staging-stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.exam-take-notice{background:var(--warning-light);border-radius:var(--radius);color:var(--text);border:1px solid #fde68a;margin-bottom:20px;padding:12px 16px;font-size:.875rem;line-height:1.5}.exam-take-staging-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding-top:20px;display:flex}.exam-take-agreement-label{color:var(--text);cursor:pointer;flex:1;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.6;display:flex}.exam-take-agreement-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:3px}.exam-take-body{width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 60px}.exam-take-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:32px 36px}.exam-take-question-num{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:.8rem;font-weight:700;display:flex}.exam-take-question-of{color:var(--text-muted);font-weight:500}.exam-take-question-category{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.exam-take-question-category-value{color:var(--primary-dark)}.exam-take-question-text{color:var(--text);margin-bottom:28px;font-size:1.1rem;font-weight:500;line-height:1.6}.exam-take-options{flex-direction:column;gap:10px;display:flex}.exam-take-option{text-align:left;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);cursor:pointer;align-items:center;gap:14px;padding:14px 18px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.exam-take-option:hover{border-color:var(--primary);background:var(--primary-xlight);box-shadow:var(--shadow-sm)}.exam-take-option.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:var(--shadow-sm)}.exam-take-option-letter{border:1.5px solid var(--border-dark);width:28px;height:28px;color:var(--text-muted);background:var(--bg-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:border-color .12s,color .12s,background .12s;display:flex}.exam-take-option:hover .exam-take-option-letter{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-xlight)}.exam-take-option.selected .exam-take-option-letter{border-color:var(--primary);color:#fff;background:var(--primary)}.exam-take-option-text{font-size:.95rem;line-height:1.4}.exam-take-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.exam-take-nav-right{gap:8px;display:flex}.exam-take-results{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;padding:48px 36px;display:flex}.exam-take-result-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:5px 18px;font-size:.8rem;font-weight:700;display:inline-flex}.result-pass{background:var(--success-light);color:var(--success)}.result-fail{background:var(--error-light);color:var(--error)}.exam-take-result-score{color:var(--text);letter-spacing:-.04em;font-size:4rem;font-weight:800;line-height:1}.exam-take-result-detail{color:var(--text-muted);font-size:.9rem}.exam-take-result-actions{margin-top:8px}.exam-take-review{flex-direction:column;gap:16px;display:flex}.exam-take-review-heading{color:var(--text);border-bottom:2px solid var(--border);padding-bottom:8px;font-size:1rem;font-weight:700}.exam-take-review-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.exam-take-review-q{color:var(--text);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:.95rem;font-weight:500;line-height:1.5;display:flex}.exam-take-review-status{flex-shrink:0;font-size:1rem;font-weight:700}.exam-take-review-status.correct{color:var(--success)}.exam-take-review-status.incorrect{color:var(--error)}.exam-take-review-options{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.exam-take-review-opt{border-radius:var(--radius-sm);color:var(--text-muted);background:var(--bg-secondary);padding:8px 12px;font-size:.875rem}.exam-take-review-opt.correct{background:var(--success-light);color:var(--success);font-weight:600}.exam-take-review-opt.incorrect{background:var(--error-light);color:var(--error);font-weight:600}.exam-take-review-exp{color:var(--text-muted);border-left:3px solid var(--border-dark);padding-left:10px;font-size:.85rem;font-style:italic;line-height:1.5}@media (width<=768px){.exam-take-back-row-inner{padding:8px 16px}.exam-take-header{padding:10px 16px}.exam-take-staging-stats{flex-wrap:wrap}.exam-take-staging-stat{flex:calc(50% - 1px)}.exam-take-staging-stat:nth-child(2){border-right:none}.exam-take-staging-stat:first-child,.exam-take-staging-stat:nth-child(2){border-bottom:1px solid var(--border)}.exam-take-staging-footer{flex-direction:column}.exam-take-staging-footer .btn{width:100%}.exam-take-body{padding:16px 16px 40px}.exam-take-card{padding:20px 16px}.exam-take-results{padding:32px 20px}.exam-take-result-score{font-size:3rem}.exam-take-review-item{padding:16px}}.logo{color:var(--primary-darker);letter-spacing:-.02em;font-size:1.25rem;font-weight:700;text-decoration:none}.logo span{color:var(--primary)}.btn-icon{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:inline-flex}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text)}.btn-icon-danger:hover{color:#dc3545;background:#dc35451a}.text-center{text-align:center}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.searchable-select-dropdown{background:var(--bg);border:1.5px solid var(--border-dark);border-radius:var(--radius);z-index:100;max-height:220px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.searchable-select-option{cursor:pointer;color:var(--text);padding:8px 12px;font-size:.9rem}.searchable-select-option:hover{background:var(--bg-tertiary)}.course-item-row{border-bottom:1px solid var(--border);cursor:grab;justify-content:space-between;align-items:center;padding:10px 0;transition:background .1s;display:flex}.course-item-row:active{cursor:grabbing}.course-item-card{border-bottom:1px solid var(--border);cursor:grab;flex-direction:column;padding:14px 0;transition:background .1s;display:flex}.course-item-card:active{cursor:grabbing}.course-item-drag-over{background:var(--bg-tertiary);border-top:2px solid var(--primary)}.drag-handle{color:var(--text-muted);-webkit-user-select:none;user-select:none;cursor:grab;padding:0 2px;font-size:1rem}.select-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.certs-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;padding:40px 24px 72px;display:grid}.cert-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;gap:12px;padding:24px;transition:border-color .15s,box-shadow .15s;display:flex}.cert-card--selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-xlight)}.cert-card-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.cert-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cert-card-title-row{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cert-card-title{color:var(--text);font-size:.95rem;font-weight:600;line-height:1.4}.cert-card-course{gap:6px;font-size:.875rem;display:flex}.cert-card-course-label{color:var(--text-muted);white-space:nowrap}.cert-card-course-value{color:var(--text);font-weight:500}.cert-card-footer{color:var(--text-muted);justify-content:space-between;font-size:.825rem;display:flex}.cert-card-actions{border-top:1px solid var(--border);justify-content:center;gap:8px;margin-top:auto;padding:16px 0 0;display:flex}.cert-modal-backdrop{z-index:200;background:#000000a6;justify-content:center;align-items:flex-start;padding:24px 16px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.cert-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:700px;display:flex}.cert-modal-toolbar{justify-content:flex-end;gap:8px;padding:16px 16px 0;display:flex}.cert-page{background:#fdfaf4;border-radius:6px;padding:12px;box-shadow:0 2px 8px #0000001f,0 8px 32px #0000002e,inset 0 0 60px #b4965012}.cert-outer{background:#fdfaf4;border:3px solid #1a3c2a;border-radius:3px;padding:5px;position:relative;box-shadow:inset 0 0 0 2px #c9a84c,inset 0 0 0 4px #fdfaf4,inset 0 0 0 6px #1a3c2a}.cert-inner{text-align:center;outline-offset:-5px;background:#fdfaf4;border:1px solid #a8c8b4;border-radius:1px;outline:1px solid #a8c8b499;flex-direction:column;align-items:center;gap:9px;padding:32px 44px 28px;display:flex;overflow:hidden}.cert-seal{justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:2px;display:flex;position:relative}.cert-seal-rays{position:absolute;inset:0}.cert-seal-ray{transform-origin:top;opacity:.55;background:linear-gradient(#c9a84c,#0000);width:2px;height:36px;margin-left:-1px;position:absolute;top:50%;left:50%}.cert-seal-circle{z-index:1;background:radial-gradient(circle at 40% 35%,#e8f5ee,#c4ddd0);border:2px solid #1a3c2a;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 0 0 3px #fdfaf4,0 0 0 5px #c9a84c,0 0 0 7px #fdfaf4,0 0 0 8px #1a3c2a}.cert-seal-star{color:#1a3c2a;font-size:1.2rem;line-height:1}.cert-org-name{letter-spacing:.22em;text-transform:uppercase;color:#c9a84c;margin-bottom:-4px;font-size:.7rem;font-weight:700}.cert-heading{color:#1a3c2a;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px #fffc;font-size:1.5rem;font-weight:700}.cert-rule{align-items:center;gap:8px;width:90%;margin:1px 0;display:flex}.cert-rule-line{background:linear-gradient(90deg,#0000,#1a3c2a 30% 70%,#0000);flex:1;height:1px}.cert-rule-center{color:#c9a84c;letter-spacing:4px;flex-shrink:0;font-size:.6rem}.cert-body-text{color:#555;font-size:.85rem;font-style:italic}.cert-dots{color:#c9a84c;letter-spacing:4px;opacity:.7;margin:-4px 0;font-size:.65rem}.cert-name{color:#111;letter-spacing:-.01em;border-bottom:1px solid #c9a84c;padding:2px 0;font-size:1.65rem;font-weight:700;line-height:1.2}.cert-item-name{color:#1a3c2a;max-width:460px;margin:0 0 2px;font-size:1.35rem;font-weight:600;line-height:1.45}.cert-score-row{background:#a8c8b41f;border:1px solid #c9a84c;border-radius:3px;align-items:center;gap:8px;padding:5px 16px;font-size:.875rem;display:flex}.cert-score-label{color:#555;font-style:italic}.cert-score-value{color:#1a3c2a;font-size:1rem;font-weight:700}.cert-accreditation{color:#666;max-width:440px;margin:2px 0;font-size:.75rem;font-style:italic;line-height:1.65}.cert-meta-grid{background:#a8c8b41f;border:1px solid #c9a84c;flex-direction:column;align-self:stretch;gap:5px;margin-top:2px;padding:11px 16px;display:flex}.cert-meta-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:.84rem;display:flex}.cert-meta-label{color:#666;white-space:nowrap;font-weight:500}.cert-meta-value{color:#111;text-align:right;font-weight:600}.cert-code{letter-spacing:.04em;font-family:monospace;font-size:.78rem}.cert-footer{border-top:1px solid #c8e0d0;justify-content:center;align-self:stretch;align-items:center;gap:16px;margin-top:2px;padding-top:12px;display:flex}.cert-website{color:#888;font-size:.78rem;font-style:italic}@media print{@page{size:letter landscape;margin:.5in}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;padding:12px;background:#fdfaf4!important}.cert-page{box-shadow:none!important}.cert-outer,.cert-inner,.cert-score-row,.cert-meta-grid,.cert-seal-circle,.cert-seal-ray{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cart-page{min-height:100vh}.cart-body{max-width:1100px;margin:0 auto;padding:40px 24px 72px}.cart-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:20px;padding:80px 24px;font-size:1rem;display:flex}.cart-layout{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.cart-items{flex-direction:column;gap:16px;display:flex}.cart-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:16px;display:flex;overflow:hidden}.cart-item-thumb{background:linear-gradient(180deg, var(--primary), var(--primary-dark));flex-shrink:0;width:8px}.cart-item-info{flex-direction:column;flex:1;gap:6px;min-width:0;padding:20px 0;display:flex}.cart-item-meta{flex-wrap:wrap;gap:6px;display:flex}.cart-item-title{color:var(--text);font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none}.cart-item-title:hover{color:var(--primary-dark)}.cart-item-hours{color:var(--text-muted);font-size:.825rem}.cart-item-right{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding:20px;display:flex}.cart-item-price{color:var(--primary-dark);font-size:1.1rem;font-weight:700}.cart-item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.825rem;text-decoration:underline}.cart-item-remove:hover{color:var(--danger,#dc2626)}.cart-summary{top:calc(var(--nav-height) + 24px);position:sticky}.cart-summary-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.cart-summary-title{color:var(--text);font-size:1rem;font-weight:600}.cart-summary-rows{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.cart-summary-row{color:var(--text-muted);justify-content:space-between;gap:8px;font-size:.875rem;display:flex}.cart-summary-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cart-summary-total{color:var(--text);border-top:1px solid var(--border);justify-content:space-between;padding-top:12px;font-size:1.05rem;font-weight:700;display:flex}.cart-remove-btn{color:var(--text-muted)!important;border-color:var(--border)!important}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg,0 8px 32px #0000002e);flex-direction:column;gap:12px;width:480px;max-width:calc(100vw - 48px);padding:28px 28px 24px;display:flex}.modal h2{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.modal>p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.conflict-list{color:var(--text);flex-direction:column;gap:4px;margin:0;padding:0 0 0 18px;font-size:.875rem;display:flex}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding-top:8px;display:flex}@media (width<=768px){.cart-layout{grid-template-columns:1fr}.cart-summary{order:-1;position:static}}.error-page{min-height:calc(100vh - var(--nav-height));justify-content:center;align-items:center;padding:40px 16px;display:flex}.error-card{text-align:center;max-width:420px}.error-title{color:var(--text);margin-bottom:12px;font-size:1.75rem;font-weight:700}.error-message{color:var(--text-muted);margin-bottom:32px;line-height:1.6}.error-actions{justify-content:center;gap:12px;display:flex}
