@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #050914;--panel: rgba(255, 255, 255, .06);--panel-soft: rgba(255, 255, 255, .03);--panel-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .08);--text: #e2e8f0;--muted: #94a3b8;--accent: #67e8f9;--accent-2: #8b5cf6;--accent-mint: #2dd4bf;--accent-sky: #38bdf8;--accent-gold: #fbbf24;--accent-rose: #fb7185;--error: #f87171;--glow-1: rgba(103, 232, 249, .12);--glow-2: rgba(139, 92, 246, .12);--glow-3: rgba(14, 165, 233, .1);--blur-1: rgba(103, 232, 249, .45);--blur-2: rgba(139, 92, 246, .4);--blur-3: rgba(14, 165, 233, .38)}.public-course-page{min-height:100vh;background:#eef3f7;color:#202244;display:flex;justify-content:center;padding:18px}.public-course-mobile-shell{width:min(100%,430px);min-height:calc(100vh - 36px);background:#f4f6f8;border-radius:28px;overflow:hidden;box-shadow:0 28px 80px #0f172a2e;border:1px solid rgba(15,23,42,.08);position:relative}.public-course-mobile-topbar{min-height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid rgba(32,34,68,.08)}.public-course-mobile-logo{width:42px;height:42px;border-radius:16px;background:#00b2851a;display:grid;place-items:center}.public-course-mobile-logo img{width:30px;height:30px;object-fit:contain}.public-course-mobile-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.public-course-language-switcher{display:flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:#f4f6f8;max-width:178px;overflow-x:auto;scrollbar-width:none}.public-course-language-switcher::-webkit-scrollbar{display:none}.public-course-language-switcher button{border:0;border-radius:999px;background:transparent;color:#5f6478;cursor:pointer;font-size:11px;font-weight:800;line-height:1;padding:8px 9px;white-space:nowrap}.public-course-language-switcher button.active{background:#fff;color:#00b285;box-shadow:0 2px 8px #0f172a14}.public-course-mobile-topbar a,.public-course-secondary{border:0;border-radius:999px;background:#00b2851a;color:#007c60;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.public-course-mobile-scroll{padding:20px 20px 96px}.public-course-mobile-hero-card,.public-course-mobile-program-card,.public-course-mobile-description-card,.public-course-mobile-info-card{background:#fff;border-radius:24px;box-shadow:0 6px 12px #0000000f}.public-course-mobile-hero-card{padding:20px}.public-course-mobile-badge-row{display:flex;margin-bottom:12px}.public-course-mobile-badge-row span{background:#00b28524;color:#007c60;border-radius:12px;padding:6px 12px;font-size:13px;font-weight:700}.public-course-mobile-hero-header h1{margin:0;color:#202244;font-size:24px;line-height:1.2;font-weight:800}.public-course-mobile-school-name{margin:4px 0 0;color:#00b285;font-size:14px;font-weight:600}.public-course-mobile-subtitle{margin:8px 0 0;color:#7f8299;font-size:15px;font-weight:700}.public-course-mobile-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.public-course-mobile-chip-row span{background:#f4f6f8;border-radius:999px;color:#5f6478;font-size:12px;font-weight:700;padding:6px 12px}.public-course-mobile-metrics-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.public-course-mobile-metric{min-width:0;background:#00b2851a;border-radius:16px;padding:14px}.public-course-mobile-metric-icon{width:28px;height:28px;border-radius:12px;background:#fff;color:#00b285;display:grid;place-items:center;font-size:11px;font-weight:900;margin-bottom:10px}.public-course-mobile-metric strong{display:block;color:#007c60;font-size:16px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}.public-course-mobile-metric span{display:block;color:#007c60;font-size:11px;font-weight:700;margin-top:4px}.public-course-mobile-primary{width:100%;border:0;border-radius:18px;background:#00b285;color:#fff;min-height:48px;padding:14px 18px;font-weight:800;font-size:15px;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;cursor:pointer}.public-course-mobile-sticky-cta{position:absolute;right:20px;bottom:20px;z-index:5}.public-course-mobile-sticky-cta .public-course-mobile-primary{width:auto;min-width:132px;margin:0;box-shadow:0 12px 28px #00b28552}[dir=rtl] .public-course-mobile-sticky-cta{right:auto;left:20px}.public-course-mobile-section{margin-top:20px}.public-course-mobile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.public-course-mobile-section-header h2{margin:0;color:#202244;font-size:18px;font-weight:800}.public-course-mobile-program-card{padding:4px}.public-course-mobile-program-header{padding:16px 16px 8px}.public-course-mobile-program-header h3{margin:0;color:#202244;font-size:16px;font-weight:800}.public-course-mobile-program-header p{margin:4px 0 0;color:#7f8299;font-size:13px}.public-course-day-filter{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:8px 8px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.public-course-day-filter::-webkit-scrollbar{display:none}.public-course-day-chip{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border-radius:999px;border:1px solid rgba(15,118,110,.18);background:#f8fafc;padding:7px 12px;cursor:pointer;font-size:12px;font-weight:700;color:#334155;white-space:nowrap}.public-course-day-chip.selected{border-color:#10b981;background:#10b9811f;color:#065f46}.public-course-day-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e2e8f0;padding:0 6px;font-size:11px;font-weight:800;color:#475569}.public-course-day-chip.selected .public-course-day-chip-count{background:#10b981;color:#fff}.public-course-mobile-group-list{display:grid;gap:12px;padding:8px}.public-course-mobile-group-preview{background:#f9fbfb;border:1px solid rgba(0,178,133,.12);border-radius:18px;padding:14px}.public-course-mobile-group-header{display:flex;justify-content:space-between;gap:12px}.public-course-mobile-group-header h4{margin:0;color:#202244;font-size:15px;font-weight:800}.public-course-mobile-group-header p{margin:4px 0 0;color:#7f8299;font-size:12px;font-weight:600}.public-course-mobile-price-chip{align-self:flex-start;white-space:nowrap;background:#00b2851f;color:#00b285;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.public-course-mobile-schedule-list{display:grid;gap:8px;margin-top:14px}.public-course-mobile-schedule-row,.public-course-mobile-meta-row{display:grid;grid-template-columns:16px minmax(70px,1fr) auto auto;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:10px;color:#5f6478;font-size:12px}.public-course-mobile-meta-row{margin-top:8px;grid-template-columns:16px minmax(76px,1fr) minmax(0,auto)}.public-course-mobile-schedule-row strong,.public-course-mobile-meta-row strong,.public-course-mobile-capacity-row strong{color:#202244;font-size:12px}.public-course-mobile-schedule-row em{color:#7f8299;font-style:normal;font-weight:800}.public-course-mobile-row-icon{width:14px;height:14px;border-radius:999px;background:#00b28538;border:3px solid #ffffff;box-shadow:0 0 0 1px #00b28538}.public-course-mobile-capacity-row{margin-top:10px;background:#fff;border-radius:14px;padding:10px}.public-course-mobile-capacity-row span{display:block;margin-top:3px;color:#7f8299;font-size:12px;font-weight:700}.public-course-mobile-progress{height:7px;border-radius:999px;background:#20224414;overflow:hidden;margin-top:10px}.public-course-mobile-progress span{display:block;height:100%;background:#00b285}.public-course-mobile-description-card{padding:18px}.public-course-mobile-description-card p{margin:0;color:#5f6478;font-size:15px;line-height:1.55}.public-course-mobile-info-list{display:grid;gap:12px}.public-course-mobile-info-card{padding:14px 16px}.public-course-mobile-info-card span{color:#5f6478;display:block;font-size:12px;font-weight:800;text-transform:uppercase}.public-course-mobile-info-card strong{color:#202244;display:block;font-size:16px;font-weight:800;margin-top:6px}.public-course-phone-link{color:#00b285;display:block;font-size:16px;font-weight:800;margin-top:6px;text-decoration:none}.public-course-phone-link:hover{text-decoration:underline}.public-course-mobile-bottom-spacer{height:24px}.public-course-state{padding:72px 24px;color:#202244;font-weight:800}.public-course-error{color:#b91c1c}.public-course-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a94;display:grid;place-items:center;padding:20px;z-index:1000}.public-course-modal{width:min(100%,440px);background:#fff;border-radius:24px;padding:24px;box-shadow:0 24px 70px #0f172a3d;color:#202244}.public-course-modal h2{margin:0 0 12px}.public-course-modal p{color:#475569;line-height:1.7}.public-course-download{width:100%;margin:8px 0 10px}@media(max-width:640px){.public-course-page{padding:0}.public-course-mobile-shell{width:100%;min-height:100vh;border-radius:0;border:0}}*{box-sizing:border-box}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{margin:0;font-family:Inter,Space Grotesk,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 20% 20%,var(--glow-1),transparent 32%),radial-gradient(circle at 80% 10%,var(--glow-2),transparent 35%),radial-gradient(circle at 20% 80%,var(--glow-3),transparent 32%),var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}.calendar-builder{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:flex-start;margin-top:12px;overflow:visible}.builder-sidebar{width:240px;padding:12px;background:linear-gradient(135deg,var(--panel),var(--panel-soft));border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #00000040;position:sticky;left:0;align-self:flex-start;height:min(70vh,640px);display:flex;flex-direction:column;gap:12px}.builder-grid-scroll{flex:1;overflow:auto;height:min(70vh,640px);max-height:min(70vh,640px);min-width:0;min-height:360px;border:1px solid var(--border);border-radius:14px;background:radial-gradient(circle at 20% 20%,var(--panel-soft),transparent 35%),radial-gradient(circle at 80% 0%,var(--panel),transparent 40%),var(--panel-soft);padding:0;box-shadow:inset 0 0 0 1px var(--panel-soft),0 12px 30px #00000040}.builder-grid{position:relative;min-width:max-content}.builder-grid-base,.builder-grid-overlay{display:grid;grid-auto-flow:row;grid-auto-rows:var(--calendar-row-height, 110px);gap:0;width:100%;height:100%}.builder-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.builder-grid-base .grid-head,.builder-grid-base .grid-row{display:contents}.builder-grid-base .grid-cell{min-height:var(--calendar-row-height, 110px);border:1px solid var(--border);background:var(--panel-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:8px;color:var(--text);font-size:13px}.builder-grid-base .head{background:var(--panel-strong);font-weight:600;text-align:center;position:sticky;top:0;z-index:3;min-height:var(--calendar-header-height, 56px);padding:6px 8px;font-size:12px}.builder-grid-base .time-col{width:var(--calendar-time-col, 90px);text-align:right;padding-right:10px;color:var(--muted);font-variant-numeric:tabular-nums;position:sticky;left:0;z-index:6;background:var(--panel-strong)}.builder-grid-base .head.time-col{z-index:7;background:var(--panel-strong)}.builder-grid-base .drop-cell{position:relative;background:linear-gradient(180deg,var(--panel-soft),var(--panel));overflow:hidden}.builder-grid-base .drop-cell:hover{outline:1px dashed rgba(159,178,255,.6)}.calendar-readonly .drop-cell:hover{outline:none}.builder-grid-base .drop-cell,.builder-grid-base .head,.builder-grid-base .time-col{box-sizing:border-box}.grid-pill{position:relative;padding:12px 14px;border-radius:14px;color:#0d1a2d;font-weight:700;box-shadow:0 10px 25px #00000040;display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0;opacity:.94;width:100%;height:100%;min-height:70px;max-width:100%;overflow:hidden;z-index:3;box-sizing:border-box;pointer-events:auto}.grid-pill .pill-title{line-height:1.2}.grid-pill:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),transparent 55%);opacity:.35;pointer-events:none}.grid-pill .pill-meta{font-size:12px;color:#0d1a2db3}.grid-pill .pill-remove{position:absolute;top:4px;right:6px;background:#00000026;border:none;color:#0d1a2d;border-radius:50%;width:20px;height:20px;cursor:pointer}.grid-pill .pill-resize{position:absolute;left:12px;right:12px;bottom:6px;height:6px;border-radius:999px;background:#0d1a2d33;cursor:ns-resize}.grid-pill .pill-resize.active{background:#0d1a2d59}.subject-chips{display:flex;flex-direction:column;gap:8px;margin-top:12px;flex:1;overflow:auto;padding-right:6px}.subject-chips::-webkit-scrollbar{width:6px}.subject-chips::-webkit-scrollbar-thumb{background:var(--panel-strong);border-radius:999px}.drag-chip{padding:10px 12px;border-radius:12px;color:#0d1a2d;font-weight:700;cursor:grab;box-shadow:0 10px 25px #00000040;border:1px solid var(--border);opacity:.9;transition:transform .12s ease,opacity .12s ease}.drag-chip.readonly{cursor:default;opacity:.65}.drag-chip:active{cursor:grabbing;transform:scale(.98);opacity:1}.builder-grid-scroll::-webkit-scrollbar{height:8px;width:8px}.builder-grid-scroll::-webkit-scrollbar-thumb{background:var(--panel-strong);border-radius:8px}.builder-grid-scroll::-webkit-scrollbar-track{background:transparent}.chip-row.wrap{flex-wrap:wrap;gap:6px}.field.compact{width:100%}.zoom-row{display:flex;align-items:center;gap:10px}.zoom-value{min-width:48px;text-align:center;font-weight:600;color:#c7d2fe}.bg-animated{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.bg-blur{position:absolute;filter:blur(110px);opacity:.9;animation:drift 9s ease-in-out infinite alternate;mix-blend-mode:screen}[data-theme=light] .bg-blur{opacity:.55;mix-blend-mode:normal}[data-theme=light] .eyebrow{color:#0f766e}[data-theme=light] .profile-panel{box-shadow:inset 0 1px #ffffffb8,0 18px 40px #94a3b82e}[data-theme=light] .course-card{box-shadow:inset 0 1px #ffffffd1,0 14px 30px #94a3b824}[data-theme=light] .course-card:before{opacity:.34}[data-theme=light] .course-card:hover:before{opacity:.46}[data-theme=light] .section-icon{color:#0f766e;box-shadow:inset 0 0 0 1px #0f172a0d,0 8px 18px #94a3b81f}[data-theme=light] .feature-badge{color:#0f172a;border-color:#0f172a14;box-shadow:inset 0 1px #ffffffb3}[data-theme=light] .hero-card{background:radial-gradient(circle at top left,rgba(45,212,191,.1),transparent 32%),radial-gradient(circle at bottom right,rgba(56,189,248,.1),transparent 34%),linear-gradient(145deg,#fffffffa,#f1f5f9f2)}[data-theme=light] .hero-stage,[data-theme=light] .hero-focus-card,[data-theme=light] .promo-card,[data-theme=light] .hero-kpi-card{border-color:#0f172a14}[data-theme=light] .hero-stage,[data-theme=light] .hero-focus-card,[data-theme=light] .promo-card,[data-theme=light] .hero-kpi-card{background:linear-gradient(180deg,#fffffff5,#f8fafcf0),#ffffffe6}[data-theme=light] .hero-image{background:radial-gradient(circle at top,rgba(45,212,191,.14),transparent 58%),linear-gradient(180deg,#fffffff5,#f1f5f9f0);border-color:#0f172a14;box-shadow:inset 0 1px #ffffffb8,0 20px 40px #0f172a14}[data-theme=light] .hero-kpi-card p,[data-theme=light] .hero-focus-card h3,[data-theme=light] .promo-title{color:#0f172a}[data-theme=light] .hero-focus-label,[data-theme=light] .hero-kpi-index{color:#0f766e}[data-theme=light] .hero-focus-label{background:#0f172a0d}[data-theme=light] .ghost-button{color:#0f172a;border-color:#0f172a1a;background:linear-gradient(180deg,#fffffff5,#f8fafceb)}[data-theme=light] .ghost-button:hover{border-color:#0f172a29;background:linear-gradient(180deg,#fff,#f1f5f9f5)}[data-theme=light] .primary-button{color:#083344;box-shadow:0 12px 24px #2dd4bf2e}[data-theme=light] .primary-button:hover{box-shadow:0 16px 28px #2dd4bf38}[data-theme=light] .primary-button:disabled,[data-theme=light] .ghost-button:disabled{opacity:.88;color:#64748b;border-color:#94a3b82e;background:linear-gradient(180deg,#f8fafcf2,#f1f5f9e0)}[data-theme=light] .field input,[data-theme=light] .field select,[data-theme=light] textarea{background:#fffffff5;color:#0f172a;border-color:#0f172a1a}[data-theme=light] .password-input-shell{background:#fffffff5;border-color:#0f172a1a}[data-theme=light] .password-input-shell input{color:#0f172a}[data-theme=light] .field input::placeholder,[data-theme=light] textarea::placeholder{color:#64748b}[data-theme=light] .pill{color:#0f172a}[data-theme=light] .pill-muted{background:#f1f5f9fa;border-color:#94a3b84d;color:#334155}[data-theme=light] .pill-warning{background:#fef3c7f5;border-color:#f59e0b47;color:#92400e}[data-theme=light] .pill-error{background:#fee2e2f5;border-color:#ef444447;color:#b91c1c}[data-theme=light] .status-approved{color:#15803d}[data-theme=light] .status-pending{color:#a16207}[data-theme=light] .status-rejected{color:#b91c1c}[data-theme=light] .status-cancelled{color:#475569}.bg-1{width:520px;height:520px;background:radial-gradient(circle,var(--blur-1),transparent 62%);top:-120px;left:-60px;animation-delay:0s}.bg-2{width:520px;height:520px;background:radial-gradient(circle,var(--blur-2),transparent 62%);bottom:-140px;right:-100px;animation-delay:1.2s}.bg-3{width:420px;height:420px;background:radial-gradient(circle,var(--blur-3),transparent 62%);top:35%;right:12%;animation-delay:.6s}@keyframes drift{0%{transform:translateZ(0) scale(1) rotate(0)}to{transform:translate3d(-40px,30px,0) scale(1.1) rotate(6deg)}}.auth-shell{width:min(96vw,1720px);max-width:1720px;margin:0 auto;padding:32px 28px 80px;display:flex;flex-direction:column;gap:24px;min-height:100vh;position:relative;z-index:1}.panel-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;width:100%}.panel-title{display:flex;align-items:flex-start;gap:12px}.panel-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--accent);background:var(--panel-strong);box-shadow:inset 0 0 0 1px var(--border);animation:floatSoft 6s ease-in-out infinite}.panel-icon svg{width:22px;height:22px}.badge-row-compact{gap:10px;align-items:center}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 8px 24px #0f172a14}.brand-logo{width:120px;height:44px;display:flex;align-items:center}.brand-logo img{height:100%;width:auto}.app-footer{margin-top:auto;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:none;display:flex;justify-content:center}.app-footer a{color:var(--muted);font-weight:600;text-decoration:none}.app-footer a:hover{color:var(--text);text-decoration:underline}.cta-buttons{margin-top:14px;display:flex;gap:10px}.floating-badge{position:absolute;bottom:12px;right:-8px;padding:10px 14px;border-radius:999px;background:#67e8f929;border:1px solid rgba(103,232,249,.4);font-weight:700;color:#a5f3fc;box-shadow:0 10px 26px #67e8f92e}.service-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.service-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(103,232,249,.35);background:var(--panel);box-shadow:0 10px 26px #67e8f91f}.service-chip .spark{width:10px;height:10px;border-radius:999px;background:radial-gradient(circle,#67e8f9e6,#8b5cf6b3);box-shadow:0 0 16px #67e8f9cc}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}.feature-chip{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel-soft);font-weight:600}.timeline{display:flex;flex-direction:column;gap:10px;margin-top:12px}.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start}.timeline-item .dot{width:10px;height:10px;border-radius:999px;background:var(--accent);margin-top:6px;box-shadow:0 0 14px #67e8f999}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.top-bar-meta{display:flex;flex-direction:column;gap:2px}.brand-text{font-weight:700}.language-switcher{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;row-gap:6px}.language-label{color:var(--muted);font-size:13px}.switch-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mobile-web-cta{white-space:nowrap;padding-inline:14px;font-weight:800}.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--border);background:var(--panel-soft)}.theme-toggle-button{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#1e293b;transition:all .18s ease}.theme-toggle-button svg{width:18px;height:18px}.theme-toggle-button.active{color:#f59e0b;background:#fbbf242e;box-shadow:inset 0 0 0 1px #f59e0b73}[data-theme=dark] .theme-toggle-button{color:#f8fafc;background:#0b1020;box-shadow:inset 0 0 0 1px #e2e8f033}.logout-button{display:inline-flex;align-items:center;gap:8px}.logout-button svg{width:18px;height:18px}.notif-anchor{position:relative}.notif-button{position:relative;width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:var(--panel-soft);display:grid;place-items:center}.notif-button.active{border-color:#67e8f973}.notif-icon{font-size:16px}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,92vw);max-height:440px;overflow:auto;border-radius:16px;border:1px solid var(--border);background:var(--panel);box-shadow:0 18px 48px #0f172a2e;padding:14px;z-index:30}.notif-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notif-title{margin:4px 0 0}.notif-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px}.notif-item{border:1px solid var(--border);border-radius:12px;background:var(--panel-soft);overflow:hidden}.notif-item-button{width:100%;border:0;background:transparent;color:inherit;padding:10px 12px;text-align:start;cursor:pointer;display:block}.notif-item-button:hover,.notif-item-button:focus-visible{background:#30d5c814;outline:none}.notif-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.notif-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.notif-time,.notif-muted,.notif-error{font-size:13px}.notif-heading{display:flex;align-items:center;gap:8px;margin:0}.notif-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);flex:0 0 auto}.notif-text{margin:6px 0 0}.lang-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:600}.lang-chip.active{border-color:var(--accent);color:#0b1020;background:var(--accent)}.muted{color:var(--muted);margin:0}.auth-grid{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:28px;align-items:start}.hero-card{border:1px solid var(--border);border-radius:24px;padding:32px;background:radial-gradient(circle at top left,rgba(103,232,249,.08),transparent 32%),radial-gradient(circle at bottom right,rgba(139,92,246,.1),transparent 34%),linear-gradient(145deg,#0c1221f0,#101425e6);box-shadow:0 24px 60px #02081733;overflow:hidden;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#bff8ffc7;margin:0 0 8px;font-weight:700}.hero-card h1{margin:0;font-size:clamp(2.3rem,3vw,3.7rem);line-height:1.02;max-width:12ch;text-wrap:balance}.hero-title-block{display:grid;gap:12px;max-width:56rem}.hero-subtitle{margin:0;color:var(--muted);line-height:1.7;max-width:54ch;font-size:1rem}.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px}.hero-stage{position:relative;border-radius:26px;border:1px solid rgba(148,163,184,.14);padding:22px;background:linear-gradient(155deg,#ffffff0f,#ffffff05),#090e1cb8;overflow:hidden;margin-bottom:20px}.hero-stage-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:18px;align-items:center}.hero-stage-glow{position:absolute;border-radius:999px;filter:blur(18px);opacity:.7;pointer-events:none}.hero-stage-glow-a{inset:-24px auto auto -32px;width:200px;height:200px;background:#2dd4bf2e;animation:heroFloat 8s ease-in-out infinite}.hero-stage-glow-b{inset:auto -30px -36px auto;width:220px;height:220px;background:#38bdf826;animation:heroFloat 10s ease-in-out infinite reverse}.hero-brand-lockup{position:relative;min-height:250px;display:grid;place-items:center}.hero-image{position:relative;z-index:1;border-radius:24px;border:1px solid rgba(148,163,184,.16);background:radial-gradient(circle at top,rgba(103,232,249,.14),transparent 58%),linear-gradient(180deg,#121a2ef0,#0d1220e0);display:flex;align-items:center;justify-content:center;padding:24px 28px;width:min(360px,100%);min-height:180px;box-shadow:inset 0 1px #ffffff0d,0 26px 50px #02081738}.hero-image img{width:min(200px,65%);height:auto;opacity:.92}.hero-orbit,.hero-signal{position:absolute;pointer-events:none}.hero-orbit{border:1px solid rgba(148,163,184,.16);border-radius:999px;animation:heroSpin 20s linear infinite}.hero-orbit-a{width:260px;height:260px}.hero-orbit-b{width:320px;height:320px;border-style:dashed;opacity:.65;animation-duration:28s;animation-direction:reverse}.hero-signal{width:12px;height:12px;border-radius:999px;box-shadow:0 0 0 8px #67e8f917}.hero-signal-a{top:30px;right:64px;background:var(--accent-mint);animation:heroPulse 4.6s ease-in-out infinite}.hero-signal-b{bottom:36px;left:52px;background:var(--accent-sky);animation:heroPulse 5.2s ease-in-out infinite .8s}.hero-signal-c{top:96px;left:18px;background:var(--accent-gold);animation:heroPulse 4.1s ease-in-out infinite .3s}.hero-kpi-grid{display:grid;gap:12px}.hero-kpi-card{position:relative;padding:14px 16px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#ffffff0f,#ffffff05),#0f172a6b;overflow:hidden}.hero-kpi-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:999px;background:linear-gradient(180deg,var(--accent-mint),var(--accent-sky))}.hero-kpi-card p{margin:6px 0 0;font-weight:700;line-height:1.45;color:#f4f8fff5}.hero-kpi-index{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#bff8ffb8}.hero-message-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.hero-focus-card{display:grid;gap:10px;padding:18px;border-radius:20px;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#ffffff0e,#ffffff05),#090e1cad}.hero-focus-card h3{margin:0;font-size:1.35rem;line-height:1.15;max-width:18ch}.hero-focus-card-primary{background:radial-gradient(circle at top left,rgba(45,212,191,.16),transparent 48%),linear-gradient(180deg,#ffffff0f,#ffffff05),#090e1cb8}.hero-focus-card-secondary{background:radial-gradient(circle at top left,rgba(251,191,36,.14),transparent 48%),linear-gradient(180deg,#ffffff0d,#ffffff05),#090e1cb3}.hero-focus-label{width:max-content;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f4f8ffd1;background:#ffffff14}.hero-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 12px;font-weight:600;font-size:12px;text-align:center;position:relative;overflow:hidden}.hero-chip-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.hero-chip-track{display:flex;width:max-content;gap:10px;animation:heroMarquee 26s linear infinite;padding:4px 0}.hero-chip:nth-child(4n+1){background:linear-gradient(135deg,rgba(103,232,249,.2),var(--panel));border-color:#67e8f959}.hero-chip:nth-child(4n+2){background:linear-gradient(135deg,rgba(139,92,246,.2),var(--panel));border-color:#8b5cf659}.hero-chip:nth-child(4n+3){background:linear-gradient(135deg,rgba(14,165,233,.2),var(--panel));border-color:#0ea5e959}.hero-chip:nth-child(4n+4){background:linear-gradient(135deg,rgba(250,204,21,.18),var(--panel));border-color:#facc1552}.feature-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#ffffff14,#ffffff08);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:13px;box-shadow:inset 0 1px #ffffff0d}.badge-row .feature-badge:nth-child(3n+1){border-color:#2dd4bf40;background:linear-gradient(135deg,#2dd4bf29,#ffffff08)}.badge-row .feature-badge:nth-child(3n+2){border-color:#38bdf840;background:linear-gradient(135deg,#38bdf829,#ffffff08)}.badge-row .feature-badge:nth-child(3n+3){border-color:#fbbf243d;background:linear-gradient(135deg,#fbbf2424,#ffffff08)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:var(--accent);background:var(--panel-strong)}.feature-icon svg{width:14px;height:14px}.promo-block{display:grid;grid-template-columns:1fr 1fr;gap:16px}.promo-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:20px;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#ffffff0d,#ffffff05),#090e1cad;min-height:136px}.promo-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--accent);background:#ffffff14;flex-shrink:0}.promo-icon svg{width:20px;height:20px}.promo-title{margin:0 0 4px;font-weight:800;font-size:1.1rem}.promo-card-feature{background:radial-gradient(circle at top left,rgba(56,189,248,.14),transparent 48%),linear-gradient(180deg,#ffffff0d,#ffffff05),#090e1cad}.promo-card-trust{background:radial-gradient(circle at top left,rgba(251,191,36,.14),transparent 48%),linear-gradient(180deg,#ffffff0d,#ffffff05),#090e1cad}@keyframes heroFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(8px,-10px,0) scale(1.04)}}@keyframes heroPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}@keyframes heroSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes heroMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.form-card{border:1px solid var(--border);border-radius:18px;padding:28px;background:var(--panel);box-shadow:none;display:flex;flex-direction:column;gap:18px}.form-header h2{margin:0;font-size:22px}.form-header p{margin:4px 0 0}.form-fields{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-weight:600}.field input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--panel-strong);color:var(--text);font-size:15px}.field input::placeholder{color:var(--muted)}.field select{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--panel-strong);color:var(--text);font-size:15px}.field select:disabled{opacity:.6;cursor:not-allowed}.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.password-input-shell{display:flex;align-items:center;width:100%;border-radius:12px;border:1px solid var(--border);background:var(--panel-strong)}.password-input-shell:focus-within{outline:2px solid var(--accent);outline-offset:1px}.password-input-shell input{width:100%;min-width:0;border:none;background:transparent;color:var(--text);font-size:15px;padding:12px 14px}.password-input-shell input:focus{outline:none}.password-input-shell input::placeholder{color:var(--muted)}.password-toggle-button{border:none;background:none;color:var(--accent);font-weight:700;cursor:pointer;padding:0 14px 0 8px;white-space:nowrap}.password-toggle-button:disabled{opacity:.55;cursor:not-allowed}.primary-button{border:none;border-radius:12px;padding:12px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--accent-mint),var(--accent-sky));color:#0b1020;box-shadow:0 16px 34px #2dd4bf38;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 20px 40px #2dd4bf42;filter:saturate(1.05)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.primary-button.loading:after{content:"…";margin-left:6px}.wide{width:100%}.error{margin:0;color:var(--error);font-weight:600}.form-footer{display:flex;flex-direction:column;align-items:stretch;gap:12px}.form-footer-row{display:flex;justify-content:flex-start}.auth-recovery-panel{display:grid;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(145deg,var(--panel-soft),var(--panel))}.auth-recovery-copy{display:grid;gap:4px}.auth-recovery-title{margin:0;font-weight:700}.auth-recovery-actions{display:flex;flex-wrap:wrap;gap:10px}.divider{width:100%;height:1px;background:var(--border)}.profile-card{margin-top:10px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel)}.profile-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:8px}.profile-panel{margin-top:18px;border:1px solid var(--border);border-radius:22px;padding:20px;background:linear-gradient(180deg,#ffffff12,#ffffff09),linear-gradient(145deg,var(--panel),var(--panel-soft));box-shadow:inset 0 1px #ffffff0a,0 22px 60px #02081729;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-action-panel{max-width:min(760px,100%);margin-left:auto;margin-right:auto;display:grid;gap:14px;background:radial-gradient(circle at top right,var(--glow-1),transparent 50%),radial-gradient(circle at 0% 80%,var(--glow-2),transparent 45%),var(--panel)}.auth-action-hero{display:grid;gap:8px}.auth-action-title{margin:0;font-size:clamp(26px,3vw,34px);line-height:1.15}.auth-action-welcome{margin:0;font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;font-size:clamp(17px,2.1vw,22px);font-weight:600;color:var(--accent)}.auth-action-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(150deg,var(--panel-soft),var(--panel));padding:16px;display:grid;gap:10px}.auth-action-form{display:grid;gap:12px}.auth-action-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.auth-action-status.loading{border:1px solid rgba(103,232,249,.4);background:#67e8f924;color:#bff8ff}.auth-action-status.success{border:1px solid rgba(52,211,153,.4);background:#34d39924;color:#7ff0ca}.auth-action-status.error{border:1px solid rgba(248,113,113,.42);background:#f8717121;color:#ffb0b0}.auth-action-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.auth-action-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.profile-panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.view-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.view-card{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--panel-soft);box-shadow:none;position:relative;overflow:hidden}.view-card h4{margin:4px 0 0}.courses-panel{position:relative;overflow:clip;isolation:isolate}.courses-panel:before{content:"";position:absolute;left:-110px;top:-120px;width:300px;height:300px;background:radial-gradient(circle,rgba(56,189,248,.16),transparent 62%);pointer-events:none;opacity:.62;animation:pulseSoft 10s ease-in-out infinite}.courses-panel:after{content:"";position:absolute;right:-120px;bottom:-150px;width:320px;height:320px;background:radial-gradient(circle,rgba(248,113,113,.12),transparent 64%);pointer-events:none;opacity:.56}.courses-shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;margin-top:18px;align-items:flex-start;min-width:0}.courses-sidebar,.courses-main{min-width:0}.courses-sidebar{display:grid;gap:14px}.courses-main{display:grid;gap:14px;align-content:start}.courses-workspace{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;min-width:0;align-items:start}.course-roster{display:grid;gap:10px;align-content:start;min-width:0}.course-roster-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel));color:var(--text);cursor:pointer;display:grid;gap:8px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.course-roster-item:hover{transform:translateY(-1px);border-color:#38bdf84d;box-shadow:0 16px 28px #0208171f}.course-roster-item.active{border-color:#2dd4bf70;background:radial-gradient(circle at top left,rgba(45,212,191,.12),transparent 52%),linear-gradient(180deg,#0f172abd,#0f172a80);box-shadow:inset 0 0 0 1px #2dd4bf2e,0 18px 32px #02081729}.course-roster-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}.course-roster-head h3{margin:0;overflow-wrap:anywhere}.course-detail-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(56, 189, 248, .024);background:radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft));min-width:0}.course-detail-description{margin:0;color:var(--text);line-height:1.55}.course-detail-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;min-width:0}.course-detail-meta{display:grid;gap:12px;min-width:0}.course-detail-meta-grid{margin-top:0}.course-detail-actions{border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:12px}.course-detail-action-stack{display:grid;gap:10px}.course-detail-action-stack .primary-button,.course-detail-action-stack .ghost-button{width:100%;justify-content:center}.course-group-list{display:grid;gap:12px}.course-group-item{border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:10px}.course-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.course-group-head h4{margin:0}.course-detail-empty{min-height:220px}.courses-summary-card{--card-accent: rgba(56, 189, 248, .36);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top right,rgba(56,189,248,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.courses-action-card{--card-accent: rgba(45, 212, 191, .36);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top left,rgba(45,212,191,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.courses-filter-card{--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .02);background:radial-gradient(circle at top right,rgba(251,191,36,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.classes-summary-card{--card-accent: rgba(248, 113, 113, .34);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:radial-gradient(circle at top right,rgba(248,113,113,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.classes-action-card{--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .02);background:radial-gradient(circle at top left,rgba(251,191,36,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.courses-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.courses-summary-metric{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:4px}.courses-summary-metric:nth-child(1){border-color:#38bdf838}.courses-summary-metric:nth-child(2){border-color:#2dd4bf38}.courses-summary-metric:nth-child(3){border-color:#fbbf243d}.courses-summary-metric:nth-child(4){border-color:#f871713d}.courses-summary-metric strong{font-size:1.1rem}.courses-tab-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:18px;border:1px solid var(--border);background:var(--panel-soft)}.courses-tab{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:10px 14px;border-radius:12px;font:inherit;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.courses-tab:hover{color:var(--text);background:#94a3b81a}.courses-tab.active{color:var(--text);background:linear-gradient(135deg,#38bdf82e,#f871711f);box-shadow:inset 0 0 0 1px var(--border)}.courses-tab-row,.professors-tab-row,.students-tab-row,.payments-tab-row,.attendance-tab-row{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff0d,0 10px 24px #02081714}.attendance-panel{position:relative;overflow:hidden;isolation:isolate}.attendance-panel:before{content:"";position:absolute;left:-120px;top:-120px;width:300px;height:300px;background:radial-gradient(circle,rgba(251,191,36,.14),transparent 62%);pointer-events:none;opacity:.6;animation:pulseSoft 10s ease-in-out infinite}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.courses-list-card{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft));min-width:0}.classes-list-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.classes-calendar-card{--card-accent: rgba(248, 113, 113, .34);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:radial-gradient(circle at top right,rgba(248,113,113,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.classes-group-list{display:flex;flex-direction:column;gap:18px;margin-top:14px}.classes-workspace{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:14px;margin-top:14px;min-width:0;align-items:start}.classes-roster{display:grid;gap:14px;min-width:0}.classes-group-card{--card-accent: rgba(56, 189, 248, .3);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top left,rgba(56,189,248,.1),transparent 54%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.classes-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel)}.class-roster-list{display:grid;gap:10px}.class-roster-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel));color:var(--text);cursor:pointer;display:grid;gap:8px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.class-roster-item:hover{transform:translateY(-1px);border-color:#38bdf84d;box-shadow:0 16px 28px #0208171f}.class-roster-item.active{border-color:#f871716b;background:radial-gradient(circle at top left,rgba(248,113,113,.1),transparent 52%),linear-gradient(180deg,#0f172abd,#0f172a80);box-shadow:inset 0 0 0 1px #f871712e,0 18px 32px #02081729}.class-detail-card{--card-accent: rgba(248, 113, 113, .32);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(251, 191, 36, .024);background:radial-gradient(circle at top right,rgba(248,113,113,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.class-detail-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.class-detail-section{border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:12px}.class-detail-subjects,.class-detail-schedule{display:grid;gap:10px}.class-detail-subject,.class-detail-session{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 75%),linear-gradient(180deg,var(--panel-strong),var(--panel));display:grid;gap:6px}.class-detail-subject h5,.class-detail-session h5{margin:0;font-size:1rem}.term-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:8px}.term-card{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--panel)}.vacations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.class-vacation-card{--card-accent: rgba(248, 113, 113, .28);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02)}.course-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.course-catalog-card{display:flex;flex-direction:column;gap:12px}.courses-main .course-detail-card,.courses-main .course-roster,.courses-main .course-roster-item,.courses-main .course-detail-actions,.courses-main .course-group-item{min-width:0}.course-catalog-card:nth-child(3n+1){--card-accent: rgba(56, 189, 248, .3);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02)}.course-catalog-card:nth-child(3n+2){--card-accent: rgba(45, 212, 191, .32);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024)}.course-catalog-card:nth-child(3n+3){--card-accent: rgba(251, 191, 36, .3);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .024)}.class-catalog-card:nth-child(3n+3){--card-accent: rgba(248, 113, 113, .3);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02)}.class-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.class-week-column{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--border);background:var(--panel)}.class-week-head{font-weight:600;font-size:13px}.class-session{border-radius:10px;padding:8px;background:var(--panel-strong);border:1px solid var(--border)}.class-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}.class-month-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.class-month-cell{min-height:92px;border-radius:10px;border:1px solid var(--border);background:var(--panel);padding:6px;display:flex;flex-direction:column;gap:4px}.class-month-cell.empty{background:transparent;border:none}.class-month-date{font-size:12px;font-weight:600}.class-month-session{display:flex;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:8px;border:1px solid var(--border);background:var(--panel-strong);font-size:11px}[data-theme=light] .courses-summary-card,[data-theme=light] .courses-list-card{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .courses-action-card,[data-theme=light] .classes-list-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .course-roster-item{background:linear-gradient(145deg,#fffffff5,#f8fafcf0)}[data-theme=light] .course-roster-item.active{background:radial-gradient(circle at top left,rgba(45,212,191,.12),transparent 52%),linear-gradient(180deg,#f0fdfafa,#f8fafcf0)}[data-theme=light] .course-detail-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .course-detail-actions,[data-theme=light] .course-group-item{background:linear-gradient(145deg,#fffffff7,#f8fafcf2)}[data-theme=light] .courses-filter-card{--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .classes-summary-card,[data-theme=light] .classes-calendar-card,[data-theme=light] .class-vacation-card{--card-bg-a: rgba(254, 242, 242, .98);--card-bg-b: rgba(255, 247, 247, .92)}[data-theme=light] .classes-action-card{--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .class-roster-item{background:linear-gradient(145deg,#fffffff7,#f8fafcf2)}[data-theme=light] .class-roster-item.active{background:radial-gradient(circle at top left,rgba(248,113,113,.1),transparent 52%),linear-gradient(180deg,#fff7f7fa,#f8fafcf0)}[data-theme=light] .class-detail-card{--card-bg-a: rgba(254, 242, 242, .98);--card-bg-b: rgba(255, 251, 235, .92)}[data-theme=light] .class-detail-section,[data-theme=light] .class-detail-subject,[data-theme=light] .class-detail-session{background:linear-gradient(145deg,#fffffff7,#f8fafcf2)}[data-theme=light] .courses-tab-row{background:#ffffffc7;box-shadow:inset 0 1px #ffffffad}[data-theme=light] .courses-tab{color:#475569}[data-theme=light] .courses-tab.active{color:#0f172a;background:linear-gradient(135deg,#e0f2fefa,#fef2f2f0)}[data-theme=light] .courses-summary-metric,[data-theme=light] .course-catalog-card,[data-theme=light] .classes-group-head,[data-theme=light] .term-card,[data-theme=light] .assignment-group{box-shadow:inset 0 1px #ffffffb8}.attendance-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.attendance-shell{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.attendance-sidebar,.attendance-main{min-width:0}.attendance-sidebar{display:grid;gap:14px}.attendance-main{display:grid;gap:14px;align-content:start}.attendance-history-workspace{display:grid;gap:14px}.attendance-control,.attendance-mode-card,.attendance-sidebar-card,.attendance-stage,.attendance-list-card,.attendance-history-filters,.attendance-history-list,.attendance-history-detail{position:relative;overflow:hidden}.attendance-control:after,.attendance-mode-card:after,.attendance-sidebar-card:after,.attendance-stage:after,.attendance-list-card:after,.attendance-history-filters:after,.attendance-history-list:after,.attendance-history-detail:after{content:"";position:absolute;inset:auto 14px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);pointer-events:none;z-index:0}.attendance-tab-row,.attendance-history-range{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:18px;border:1px solid var(--border);background:var(--panel-soft)}.attendance-tab,.attendance-history-range .chip{border-radius:12px}.attendance-tab{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:10px 14px;font:inherit;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.attendance-tab:hover{color:var(--text);background:#94a3b81a}.attendance-tab.active{color:var(--text);background:linear-gradient(135deg,#38bdf82e,#f871711f 58%,#fbbf241a);box-shadow:inset 0 0 0 1px var(--border)}.attendance-control{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .022);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 54%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-selection-summary{display:flex;flex-wrap:wrap;gap:8px}.attendance-selection-summary .pill:nth-child(1){background:#38bdf81f;border-color:#38bdf83d}.attendance-selection-summary .pill:nth-child(2){background:#2dd4bf1f;border-color:#2dd4bf3d}.attendance-selection-summary .pill:nth-child(3){background:#fbbf241f;border-color:#fbbf243d}.attendance-mode-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .022);background:radial-gradient(circle at top left,rgba(45,212,191,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attendance-mode-option{border:1px solid var(--border);border-radius:16px;padding:14px 12px;background:linear-gradient(180deg,#ffffff12,#ffffff08);color:var(--text);text-align:left;font:inherit;cursor:pointer;box-shadow:inset 0 1px #ffffff0d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.attendance-mode-option:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff14,0 12px 24px #0208171a}.attendance-mode-option.qr{border-color:#38bdf82e;background:linear-gradient(145deg,rgba(56,189,248,.08),transparent 76%),linear-gradient(180deg,#ffffff0f,#ffffff08)}.attendance-mode-option.scan{border-color:#2dd4bf2e;background:linear-gradient(145deg,rgba(45,212,191,.08),transparent 76%),linear-gradient(180deg,#ffffff0f,#ffffff08)}.attendance-mode-option.manual{border-color:#f8717138;background:linear-gradient(145deg,rgba(248,113,113,.08),transparent 76%),linear-gradient(180deg,#ffffff0f,#ffffff08)}.attendance-mode-option.active.qr{background:linear-gradient(145deg,#38bdf82e,#ffffff08);border-color:#38bdf857;box-shadow:0 12px 24px #38bdf824}.attendance-mode-option.active.scan{background:linear-gradient(145deg,#2dd4bf2e,#ffffff08);border-color:#2dd4bf57;box-shadow:0 12px 24px #2dd4bf24}.attendance-mode-option.active.manual{background:linear-gradient(145deg,#f871712e,#ffffff08);border-color:#f8717157;box-shadow:0 12px 24px #f8717124}.attendance-mode-option-title{font-weight:700}.attendance-sidebar-card{--card-accent: rgba(248, 113, 113, .28);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:radial-gradient(circle at top right,rgba(248,113,113,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-sidebar-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attendance-sidebar-metric{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(180deg,#ffffff0d,#ffffff06);display:grid;gap:4px}.attendance-sidebar-metric:nth-child(1){border-color:#38bdf833}.attendance-sidebar-metric:nth-child(2){border-color:#2dd4bf33}.attendance-sidebar-metric:nth-child(3){border-color:#f8717138}.attendance-sidebar-metric strong{font-size:1.1rem}.attendance-status-live,.attendance-status-paused,.attendance-status-closed,.attendance-status-idle{border-width:1px}.attendance-status-live{background:#22c55e29;border-color:#22c55e57;color:#16a34a}.attendance-status-paused{background:#fbbf2429;border-color:#fbbf2452;color:#d97706}.attendance-status-closed{background:#f8717129;border-color:#f8717157;color:#dc2626}.attendance-status-idle{background:#94a3b81f;border-color:#94a3b842;color:var(--muted)}.attendance-actions{display:flex;gap:10px;flex-wrap:wrap}.attendance-stage{--card-accent: rgba(56, 189, 248, .36);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .022);background:radial-gradient(circle at top right,rgba(56,189,248,.13),transparent 45%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-live-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:14px;min-width:0}.attendance-visual-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.attendance-qr,.attendance-scanner{border-radius:16px;border:1px solid var(--border);background:var(--panel-strong);min-height:260px;display:grid;place-items:center;overflow:hidden}.attendance-qr img{width:240px;height:240px;border-radius:12px;background:#fff;padding:8px}.attendance-scanner video{width:100%;height:100%;object-fit:cover}.attendance-manual-list{border-radius:16px;border:1px solid var(--border);background:var(--panel-strong);min-height:320px;padding:12px}.attendance-manual-items{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:4px}.attendance-manual-item{--card-accent: rgba(248, 113, 113, .26);display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(248,113,113,.08),transparent 72%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.attendance-manual-item h4{margin:0 0 6px}.attendance-placeholder{text-align:center;padding:20px}.attendance-feedback{background:#10b9811f;border:1px solid rgba(16,185,129,.4);color:#34d399;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600}.attendance-present-pill{background:#22c55e29;border-color:#22c55e47;color:#16a34a}.payment-manual-amount-row{display:flex;align-items:center;gap:8px;margin-top:8px}.payment-manual-amount-input{flex:1;min-width:0;max-width:140px;background:var(--input-bg, var(--panel-soft));border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:14px;color:var(--text);outline:none;transition:border-color .15s}.payment-manual-amount-input:focus{border-color:var(--accent, #6366f1)}.payment-manual-amount-input::-webkit-inner-spin-button,.payment-manual-amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.attendance-list-card{--card-accent: rgba(248, 113, 113, .32);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top right,rgba(248,113,113,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.attendance-records{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:4px}.attendance-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(145deg,rgba(248,113,113,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.attendance-record h4{margin:6px 0 0;font-size:15px}.attendance-history{display:flex;flex-direction:column;gap:14px}.attendance-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.attendance-history-range{display:inline-flex;gap:8px;padding:6px;border-radius:999px;border:1px solid var(--border);background:var(--panel-soft);flex-wrap:wrap}.attendance-history-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,2fr);gap:16px}.attendance-history-filters{--card-accent: rgba(56, 189, 248, .3);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 54%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-history-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.attendance-summary-card{border:1px solid var(--border);border-radius:14px;padding:10px;background:linear-gradient(180deg,var(--panel-soft),var(--panel));text-align:left}.attendance-summary-card:nth-child(1){border-color:#38bdf82e}.attendance-summary-card:nth-child(2){border-color:#2dd4bf2e}.attendance-summary-card:nth-child(3){border-color:#fbbf242e}.attendance-history-list{--card-accent: rgba(45, 212, 191, .3);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .02);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 56%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-history-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.attendance-history-items{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;padding-right:4px}.attendance-history-item{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(45,212,191,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel));color:var(--text);text-align:left;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:12px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.attendance-history-item-main{display:flex;flex-direction:column;gap:4px}.attendance-history-item:hover{transform:translateY(-2px);border-color:#67e8f966;box-shadow:0 10px 24px #0003}.attendance-history-item.active{border-color:#f8717180;box-shadow:0 14px 30px #f8717124}.attendance-history-item-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}.attendance-history-detail{--card-accent: rgba(248, 113, 113, .3);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at top left,rgba(248,113,113,.12),transparent 56%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.attendance-history-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.attendance-history-detail-grid>div{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(248,113,113,.06),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.attendance-history-attendees{display:flex;flex-direction:column;gap:10px}.attendance-history-attendees-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto;padding-right:4px}.attendance-history-attendee{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:linear-gradient(145deg,rgba(248,113,113,.06),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.attendance-empty-state{min-height:260px;border:1px dashed var(--border);border-radius:18px;padding:24px;background:linear-gradient(180deg,var(--panel-soft),rgba(15,23,42,.02));display:grid;place-content:center;gap:8px}.attendance-empty-state h3,.attendance-empty-state p{margin:0}.professor-results,.students-roster-list,.attendance-manual-items,.attendance-records,.attendance-history-items,.attendance-history-attendees-list{scrollbar-width:thin;scrollbar-color:rgba(103,232,249,.4) transparent}.professor-results::-webkit-scrollbar,.students-roster-list::-webkit-scrollbar,.attendance-manual-items::-webkit-scrollbar,.attendance-records::-webkit-scrollbar,.attendance-history-items::-webkit-scrollbar,.attendance-history-attendees-list::-webkit-scrollbar{width:10px}.professor-results::-webkit-scrollbar-track,.students-roster-list::-webkit-scrollbar-track,.attendance-manual-items::-webkit-scrollbar-track,.attendance-records::-webkit-scrollbar-track,.attendance-history-items::-webkit-scrollbar-track,.attendance-history-attendees-list::-webkit-scrollbar-track{background:transparent}.professor-results::-webkit-scrollbar-thumb,.students-roster-list::-webkit-scrollbar-thumb,.attendance-manual-items::-webkit-scrollbar-thumb,.attendance-records::-webkit-scrollbar-thumb,.attendance-history-items::-webkit-scrollbar-thumb,.attendance-history-attendees-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#67e8f975,#2dd4bf47);border-radius:999px;border:2px solid transparent;background-clip:padding-box}[data-theme=light] .attendance-control{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .attendance-mode-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .attendance-sidebar-card,[data-theme=light] .attendance-list-card,[data-theme=light] .attendance-history-detail{--card-bg-a: rgba(254, 242, 242, .98);--card-bg-b: rgba(255, 247, 247, .92)}[data-theme=light] .attendance-stage,[data-theme=light] .attendance-history-filters{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .attendance-history-list{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .attendance-selection-summary .pill:nth-child(1){color:#075985}[data-theme=light] .attendance-selection-summary .pill:nth-child(2){color:#0f766e}[data-theme=light] .attendance-selection-summary .pill:nth-child(3){color:#a16207}[data-theme=light] .attendance-mode-option{color:#0f172a;background:linear-gradient(180deg,#fffffffa,#f8fafcf0)}[data-theme=light] .attendance-mode-option.active.qr{background:linear-gradient(145deg,#e0f2fefa,#f0f9ffeb)}[data-theme=light] .attendance-mode-option.active.scan{background:linear-gradient(145deg,#ecfdf5fa,#f4fdfaeb)}[data-theme=light] .attendance-mode-option.active.manual{background:linear-gradient(145deg,#fef2f2fa,#fff7f7eb)}[data-theme=light] .attendance-tab-row,[data-theme=light] .attendance-history-range{background:#ffffffc7;box-shadow:inset 0 1px #ffffffad}[data-theme=light] .attendance-tab{color:#475569}[data-theme=light] .attendance-tab.active{color:#0f172a;background:linear-gradient(135deg,#e0f2fefa,#fef2f2f0)}[data-theme=light] .attendance-sidebar-metric,[data-theme=light] .attendance-summary-card,[data-theme=light] .attendance-record,[data-theme=light] .attendance-history-item,[data-theme=light] .attendance-history-attendee,[data-theme=light] .attendance-history-detail-grid>div,[data-theme=light] .attendance-manual-item{box-shadow:inset 0 1px #ffffffb8}[data-theme=light] .attendance-mode-option.manual{border-color:#f8717147}[data-theme=light] .attendance-status-live{color:#166534}[data-theme=light] .attendance-status-paused{color:#b45309}[data-theme=light] .attendance-status-closed{color:#b91c1c}[data-theme=light] .attendance-status-idle{color:#475569}.payments-panel{position:relative;overflow:hidden;isolation:isolate}.payments-panel:before{content:"";position:absolute;right:-100px;top:-120px;width:300px;height:300px;background:radial-gradient(circle,rgba(56,189,248,.16),transparent 62%);pointer-events:none;opacity:.65;animation:pulseSoft 10s ease-in-out infinite}.payments-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.payments-shell{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.payments-sidebar,.payments-main{min-width:0}.payments-sidebar,.payments-main{display:grid;gap:14px}.payment-setup{--card-accent: rgba(45, 212, 191, .4);--card-bg-a: rgba(45, 212, 191, .09);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top left,rgba(45,212,191,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.payment-summary-card{--card-accent: rgba(139, 92, 246, .38);--card-bg-a: rgba(139, 92, 246, .09);--card-bg-b: rgba(139, 92, 246, .024);background:radial-gradient(circle at top right,rgba(139,92,246,.12),transparent 56%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.payment-group-meta{display:flex;flex-direction:column;gap:8px}.payment-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.payment-metric{--payment-metric-accent: rgba(56, 189, 248, .22);border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:linear-gradient(145deg,var(--payment-metric-accent),transparent 72%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.payment-metric:nth-child(1){--payment-metric-accent: rgba(45, 212, 191, .12);border-color:#2dd4bf2e}.payment-metric:nth-child(2){--payment-metric-accent: rgba(56, 189, 248, .12);border-color:#38bdf82e}.payment-metric:nth-child(3){--payment-metric-accent: rgba(251, 191, 36, .12);border-color:#fbbf242e}.payment-summary-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.payments-tab-row{display:flex;flex-wrap:wrap;gap:10px;padding:6px;border:1px solid var(--border);border-radius:18px;background:var(--panel-soft)}.payments-tab{border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:12px;padding:10px 14px;font:inherit;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.payments-tab:hover{color:var(--text);background:#94a3b81a}.payments-tab.active{color:var(--text);background:linear-gradient(135deg,#2dd4bf2e,#fbbf241a);box-shadow:inset 0 0 0 1px var(--border)}.payments-live-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:14px;min-width:0}.payment-scanner-card{--card-accent: rgba(56, 189, 248, .4);--card-bg-a: rgba(56, 189, 248, .09);--card-bg-b: rgba(56, 189, 248, .024);background:radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 55%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.payment-course-context{display:flex;flex-wrap:wrap;gap:8px}.payment-course-context .pill:nth-child(1){background:#38bdf81f;border-color:#38bdf847}.payment-course-context .pill:nth-child(2){background:#2dd4bf1f;border-color:#2dd4bf47}.payment-scanner{position:relative;border-radius:18px;border:1px solid var(--border);background:var(--panel-strong);min-height:320px;overflow:hidden;display:grid;place-items:center}.payment-scanner video{width:100%;height:100%;object-fit:cover}.payment-scan-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(103,232,249,.35);border-radius:14px;overflow:hidden;pointer-events:none}.payment-scan-line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(103,232,249,.9),transparent);animation:paymentScan 2.4s ease-in-out infinite}.payment-scan-hint{margin:0;font-size:13px;color:var(--muted)}.payment-status-card{--card-accent: rgba(251, 191, 36, .36);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .024);background:radial-gradient(circle at top left,rgba(251,191,36,.12),transparent 55%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.payment-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:6px}.payment-message{border:1px solid rgba(103,232,249,.3);border-radius:14px;padding:10px 12px;background:#67e8f914}.payment-message p{margin:0}.payment-message p+p{margin-top:6px}.payment-steps{display:grid;gap:8px;margin-top:12px}.payment-step{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.payment-step-dot{width:10px;height:10px;border-radius:999px;border:2px solid rgba(148,163,184,.5);background:#94a3b833}.payment-step.done .payment-step-dot{border-color:var(--accent);background:var(--accent)}.payment-step.current .payment-step-dot{border-color:#f59e0b;background:#f59e0b}.payment-step.error .payment-step-dot{border-color:#f87171;background:#f87171}.payment-step.idle .payment-step-dot{border-color:#94a3b866;background:#94a3b833}.payment-status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.payment-recent-card{--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .024);display:grid;gap:14px}.payment-recent-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.payment-recent-item{--payment-recent-accent: rgba(56, 189, 248, .12);display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:linear-gradient(145deg,var(--payment-recent-accent),transparent 72%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.payment-recent-item:nth-child(odd){--payment-recent-accent: rgba(56, 189, 248, .12);border-color:#38bdf82e}.payment-recent-item:nth-child(2n){--payment-recent-accent: rgba(251, 191, 36, .12);border-color:#fbbf242e}.payments-history-workspace{display:grid;gap:14px}.payments-history-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:14px;align-items:start}.payments-history-copy{display:grid;gap:6px}.payments-history-copy h3,.payments-history-copy p{margin:0}.payments-history-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payment-history-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top right,rgba(45,212,191,.1),transparent 46%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.payment-history-list{display:flex;flex-direction:column;gap:10px;max-height:640px;overflow:auto;padding-right:4px}.payment-history-item{--payment-history-accent: rgba(45, 212, 191, .12);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(145deg,var(--payment-history-accent),transparent 75%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.payment-history-item:nth-child(3n+1){--payment-history-accent: rgba(45, 212, 191, .12);border-color:#2dd4bf2e}.payment-history-item:nth-child(3n+2){--payment-history-accent: rgba(56, 189, 248, .12);border-color:#38bdf82e}.payment-history-item:nth-child(3n+3){--payment-history-accent: rgba(139, 92, 246, .12);border-color:#8b5cf62e}[data-theme=light] .payment-setup{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .payment-summary-card{--card-bg-a: rgba(245, 243, 255, .98);--card-bg-b: rgba(250, 245, 255, .92)}[data-theme=light] .payment-scanner-card{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .payment-status-card,[data-theme=light] .payment-recent-card{--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .payment-history-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .payment-course-context .pill:nth-child(1){background:#e0f2fefa;border-color:#38bdf83d;color:#075985}[data-theme=light] .payment-course-context .pill:nth-child(2){background:#ecfdf5fa;border-color:#2dd4bf3d;color:#0f766e}[data-theme=light] .payment-recent-item:nth-child(odd){background:linear-gradient(145deg,rgba(224,242,254,.9),transparent 75%),linear-gradient(180deg,#fffffffa,#f8fafcf0)}[data-theme=light] .payment-recent-item:nth-child(2n){background:linear-gradient(145deg,rgba(255,251,235,.9),transparent 75%),linear-gradient(180deg,#fffffffa,#f8fafcf0)}[data-theme=light] .payment-history-item:nth-child(3n+1){background:linear-gradient(145deg,rgba(236,253,245,.9),transparent 75%),linear-gradient(180deg,#fffffffa,#f8fafcf0)}[data-theme=light] .payment-history-item:nth-child(3n+2){background:linear-gradient(145deg,rgba(224,242,254,.9),transparent 75%),linear-gradient(180deg,#fffffffa,#f8fafcf0)}[data-theme=light] .payment-history-item:nth-child(3n+3){background:linear-gradient(145deg,rgba(245,243,255,.9),transparent 75%),linear-gradient(180deg,#fffffffa,#f8fafcf0)}.payments-empty-workspace{min-height:220px;border:1px dashed var(--border);border-radius:18px;padding:24px;background:linear-gradient(180deg,var(--panel-soft),rgba(15,23,42,.02));display:grid;place-content:center;gap:8px}.payments-empty-workspace h3,.payments-empty-workspace p{margin:0}.payment-modal{width:min(700px,96vw)}.payment-modal-body{display:flex;flex-direction:column;gap:14px;margin-top:10px}.payment-modal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.payment-amount-input{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:4px 10px;background:var(--panel-strong)}.payment-amount-input input{border:none;background:transparent;padding:8px 4px;color:var(--text);font-size:15px;width:100%}.payment-amount-input input::placeholder{color:var(--muted)}.payment-amount-input input:focus{outline:none}.payment-currency{color:var(--muted);font-weight:600}.payment-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes paymentScan{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(calc(100% - 4px));opacity:1}to{transform:translateY(0);opacity:.6}}.course-card{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(255, 255, 255, .055);--card-bg-b: rgba(255, 255, 255, .03);--card-sheen: rgba(255, 255, 255, .035);border:1px solid var(--border);border-radius:18px;padding:15px;background:linear-gradient(180deg,var(--card-bg-a),var(--card-bg-b)),linear-gradient(145deg,var(--panel),var(--panel-soft));box-shadow:inset 0 1px #ffffff0a,0 18px 36px #0208171f;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.academic-calendar-card{margin-top:16px;margin-bottom:16px}.academic-calendar-card .section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:12px}.course-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 10% 0%,var(--card-accent),transparent 42%),linear-gradient(160deg,transparent 0%,var(--card-sheen) 35%,transparent 70%);opacity:.55;pointer-events:none;transition:opacity .3s ease;z-index:0}.course-card:after{content:"";position:absolute;inset:0 auto auto 0;width:64px;height:4px;border-radius:0 0 999px;background:linear-gradient(90deg,var(--card-accent),transparent);opacity:.95;pointer-events:none;z-index:0}.course-card>*{position:relative;z-index:1}.course-card:hover{transform:translateY(-2px);border-color:#94a3b838;box-shadow:inset 0 1px #ffffff0d,0 24px 42px #02081729}.course-card:hover:before{opacity:.72}.privacy-page{display:flex;flex-direction:column;gap:24px;max-width:1100px}.privacy-hero{display:flex;flex-direction:column;gap:8px}.privacy-policy-page{display:flex;flex-direction:column;gap:16px}.privacy-policy-frame{width:100%;min-height:78vh;border:none;border-radius:18px;background:transparent}.privacy-hero h1{margin:0;font-size:clamp(28px,3.4vw,40px)}.privacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.privacy-list{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted)}.privacy-list li{line-height:1.5}.privacy-contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.privacy-contact a{color:var(--accent);text-decoration:none;font-weight:600}.privacy-contact a:hover{text-decoration:underline}.privacy-actions{display:flex;justify-content:flex-start}.schedule-overrides{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel);display:flex;flex-direction:column;gap:10px}.schedule-overrides-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.schedule-overrides-grid{display:grid;gap:8px}.day-override-row{display:grid;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(120px,1fr)) auto;gap:8px;align-items:center}.day-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 10px;font-weight:600;text-align:center}.course-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;min-width:0}.course-card-head>div{min-width:0}.course-card-head h3,.section-headline h3,.course-card h4,.course-card p,.course-meta span{overflow-wrap:anywhere}.course-card-head .section-headline{flex:1 1 260px;min-width:0}.course-card-head .pill{flex-shrink:0;margin-left:auto}.section-headline{display:flex;align-items:flex-start;gap:12px}.section-icon{--section-icon-a: rgba(45, 212, 191, .16);--section-icon-b: rgba(56, 189, 248, .12);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#d8fbff;background:linear-gradient(135deg,var(--section-icon-a),var(--section-icon-b));box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 20px #0208171f;flex-shrink:0}.section-icon svg{width:20px;height:20px}.course-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;color:var(--muted);font-size:13px}.course-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.course-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-actions{display:flex;justify-content:flex-end;margin-top:6px}.professors-shell{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.professors-sidebar,.professors-main{min-width:0}.professors-sidebar{display:grid;gap:14px}.professors-main{display:grid;gap:14px;align-content:start}.professors-search-card{--card-accent: rgba(56, 189, 248, .36);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top right,rgba(56,189,248,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professors-summary-card{--card-accent: rgba(248, 113, 113, .34);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:radial-gradient(circle at top left,rgba(248,113,113,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professors-selected-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top right,rgba(45,212,191,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professors-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.professors-summary-metric{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:4px}.professors-summary-metric:nth-child(1){border-color:#38bdf838}.professors-summary-metric:nth-child(2){border-color:#fbbf243d}.professors-summary-metric:nth-child(3){border-color:#f8717138}.professors-summary-metric:nth-child(4){border-color:#2dd4bf38}.professors-summary-metric strong{font-size:1.1rem}.professors-selected-stats,.professors-detail-badges{display:flex;gap:8px;flex-wrap:wrap}.professors-tab-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:18px;border:1px solid var(--border);background:var(--panel-soft)}.professors-tab{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:10px 14px;border-radius:12px;font:inherit;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.professors-tab:hover{color:var(--text);background:#94a3b81a}.professors-tab.active{color:var(--text);background:linear-gradient(135deg,#38bdf82e,#f871711f);box-shadow:inset 0 0 0 1px var(--border)}.professors-directory-workspace{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:14px;min-width:0;align-items:stretch}.professor-results{display:grid;grid-auto-rows:max-content;align-content:start;gap:12px;flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding-right:6px}.professors-results-card{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft));min-height:0;max-height:calc(100vh - 170px);min-height:760px;overflow:hidden}.professors-detail-card{--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .025);background:radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professors-pipeline-card{--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .02);background:radial-gradient(circle at top right,rgba(251,191,36,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professors-pipeline-card-sent{--card-accent: rgba(248, 113, 113, .34);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:radial-gradient(circle at top right,rgba(248,113,113,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.professor-result,.professors-request-item,.professor-assignment-card{position:relative}.professors-request-item,.professor-assignment-card{overflow:hidden}.professor-result:before,.professors-request-item:before,.professor-assignment-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.professor-result>*,.professors-request-item>*,.professor-assignment-card>*{position:relative;z-index:1}.professor-result{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;flex:0 0 auto;align-self:start;min-height:0;border:1px solid var(--border);border-radius:16px;padding:14px 16px;background:linear-gradient(145deg,rgba(56,189,248,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel));gap:12px;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;text-align:left;white-space:normal;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:var(--text);font:inherit;line-height:1.35}.professor-ident{display:flex;align-items:flex-start;gap:12px}.professor-result-copy{display:grid;gap:4px;min-width:0}.professor-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2dd4bf33,#60a5fa2e);color:var(--text);font-weight:700;letter-spacing:.02em;border:1px solid var(--border);flex-shrink:0}.professor-result:hover{border-color:#67e8f973;box-shadow:0 14px 30px #67e8f91f;transform:translateY(-2px)}.professor-result.selected{border-color:#2dd4bf8c;box-shadow:0 18px 38px #2dd4bf24}.professor-result h4{margin:0;font-size:15px;line-height:1.3}.professor-result-head{display:grid;gap:8px}.professor-result-head .pill{flex-shrink:0;margin-left:auto}.professor-result-body{display:grid;gap:8px}.professor-result-body p{margin:0}.professor-result-meta{overflow-wrap:anywhere}.professor-assignments{margin-top:2px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.professor-assignments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.professor-assignment-card{padding:12px;--card-accent: rgba(248, 113, 113, .28);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);background:linear-gradient(145deg,rgba(248,113,113,.08),transparent 76%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.assignment-groups{display:grid;gap:8px;margin-top:8px}.assignment-group{border:1px dashed var(--border);border-radius:12px;padding:8px 10px;background:linear-gradient(145deg,rgba(45,212,191,.08),transparent 76%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.assignment-group h4{margin:0;font-size:14px}.professors-invite-form{display:grid;gap:12px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.professors-request-list{display:flex;flex-direction:column;gap:12px}.professors-request-item{border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(145deg,rgba(56,189,248,.05),transparent 80%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:10px}.professors-request-pending{border-color:#fbbf2447;background:linear-gradient(145deg,rgba(251,191,36,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.professors-request-approved{border-color:#2dd4bf42;background:linear-gradient(145deg,rgba(45,212,191,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.professors-request-rejected{border-color:#f8717147;background:linear-gradient(145deg,rgba(248,113,113,.08),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.professors-request-head,.professors-request-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.professors-request-meta{display:grid;gap:6px}.professors-request-meta p{margin:0}.professors-request-actions{display:flex;gap:8px;flex-wrap:wrap}.professors-empty-detail{min-height:520px}.professors-panel{position:relative;overflow:hidden;isolation:isolate}.professors-panel:before{content:"";position:absolute;top:-120px;right:-120px;width:320px;height:320px;background:radial-gradient(circle,rgba(45,212,191,.18),transparent 60%);opacity:.6;pointer-events:none;animation:pulseSoft 8s ease-in-out infinite}.professors-panel:after{content:"";position:absolute;left:-140px;bottom:-160px;width:320px;height:320px;background:radial-gradient(circle,rgba(248,113,113,.14),transparent 62%);opacity:.6;pointer-events:none}[data-theme=light] .professors-search-card{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .professors-summary-card,[data-theme=light] .professors-pipeline-card-sent,[data-theme=light] .professor-assignment-card{--card-bg-a: rgba(254, 242, 242, .98);--card-bg-b: rgba(255, 247, 247, .92)}[data-theme=light] .professors-selected-card,[data-theme=light] .professors-detail-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .professors-results-card{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .professors-pipeline-card{--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .professors-tab-row{background:#ffffffc7;box-shadow:inset 0 1px #ffffffad}[data-theme=light] .professors-tab{color:#475569}[data-theme=light] .professors-tab.active{color:#0f172a;background:linear-gradient(135deg,#e0f2fefa,#fef2f2f0)}[data-theme=light] .professors-summary-metric,[data-theme=light] .professor-result,[data-theme=light] .professors-request-item,[data-theme=light] .assignment-group{box-shadow:inset 0 1px #ffffffb8}.students-panel{position:relative;overflow:hidden;isolation:isolate}.students-panel:before{content:"";position:absolute;top:-140px;left:-120px;width:320px;height:320px;background:radial-gradient(circle,rgba(103,232,249,.18),transparent 62%);opacity:.65;pointer-events:none;animation:pulseSoft 9s ease-in-out infinite}.students-shell{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.students-sidebar,.students-main,.students-detail{min-width:0}.students-main{display:grid}.students-sidebar,.students-detail{display:grid;gap:14px}.students-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.students-header-buttons,.students-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.students-header-buttons{justify-content:flex-end}.students-sidebar-section{display:grid;gap:14px}.students-sidebar>.course-card:nth-child(1){--card-accent: rgba(56, 189, 248, .38);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02)}.students-sidebar>.course-card:nth-child(2){--card-accent: rgba(45, 212, 191, .4);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .025)}.students-sidebar>.course-card:nth-child(3){--card-accent: rgba(251, 191, 36, .36);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .025)}.students-manual-card{--card-sheen: rgba(251, 191, 36, .045);background:radial-gradient(circle at top right,rgba(251,191,36,.18),transparent 48%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.students-manual-form{display:grid;gap:14px}.students-manual-note{margin:0}.students-roster-card{--card-sheen: rgba(56, 189, 248, .04);display:grid;gap:14px;min-height:540px}.students-sidebar-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.students-sidebar-metric{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(180deg,#ffffff0d,#ffffff05);display:grid;gap:4px}.students-sidebar-metric:nth-child(1){border-color:#38bdf833}.students-sidebar-metric:nth-child(2){border-color:#fbbf2433}.students-sidebar-metric:nth-child(3){border-color:#2dd4bf33}.students-roster-list{display:flex;flex-direction:column;gap:10px;max-height:720px;overflow:auto;padding-right:4px}.students-roster-empty{border:1px dashed var(--border);border-radius:16px;padding:20px;background:var(--panel-soft)}.student-row{--student-row-accent: rgba(56, 189, 248, .22);width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(180deg,#ffffff0d,#ffffff06),linear-gradient(145deg,rgba(56,189,248,.04),transparent 65%),linear-gradient(180deg,var(--panel-soft),var(--panel));cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;font:inherit;color:var(--text);display:grid;gap:12px}.student-row:nth-child(3n+1){--student-row-accent: rgba(56, 189, 248, .22)}.student-row:nth-child(3n+2){--student-row-accent: rgba(45, 212, 191, .22)}.student-row:nth-child(3n+3){--student-row-accent: rgba(251, 191, 36, .2)}.student-row:hover{transform:translate(4px);border-color:var(--student-row-accent);box-shadow:0 14px 28px #0f172a1f}.student-row.selected{border-color:#2dd4bf8f;box-shadow:0 18px 34px #2dd4bf29;background:linear-gradient(135deg,#2dd4bf24,#0ea5e914),var(--panel)}.student-row-main{display:flex;align-items:flex-start;gap:12px}.student-row-copy{min-width:0;flex:1;display:grid;gap:4px}.student-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-row-head h4{margin:0}.student-row-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.student-avatar{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#2dd4bf33,#0ea5e92e);color:var(--text);font-weight:700;border:1px solid var(--border);flex-shrink:0}.student-avatar.large{width:68px;height:68px;border-radius:22px;font-size:18px}.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);line-height:1.2;min-height:24px;white-space:nowrap}.status-approved{background:#22c55e2e;border-color:#22c55e73;color:#22c55e}.status-pending{background:#facc152e;border-color:#facc1573;color:#facc15}.status-rejected{background:#f871712e;border-color:#f8717173;color:#f87171}.status-cancelled{background:#94a3b82e;border-color:#94a3b866;color:#cbd5f5}.student-hero-card{--card-accent: rgba(45, 212, 191, .42);--card-bg-a: rgba(45, 212, 191, .09);--card-bg-b: rgba(56, 189, 248, .02);display:grid;gap:18px;background:radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 40%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.student-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-hero-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.student-hero-copy{min-width:0;flex:1;display:grid;gap:10px}.student-hero-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-hero-title-row h3{margin-bottom:4px}.student-hero-meta{display:flex;flex-wrap:wrap;gap:8px}.student-hero-meta span{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:#94a3b814;font-size:13px}.students-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.insight-card{border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:4px}.students-kpi-grid .insight-card:nth-child(1){border-color:#2dd4bf38}.students-kpi-grid .insight-card:nth-child(2){border-color:#fbbf2438}.students-kpi-grid .insight-card:nth-child(3){border-color:#38bdf838}.students-kpi-grid .insight-card:nth-child(4){border-color:#8b5cf638}.insight-card h3{margin:0}.students-tab-row{display:flex;flex-wrap:wrap;gap:10px;padding:6px;border:1px solid var(--border);border-radius:18px;background:var(--panel-soft)}.students-tab{border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:12px;padding:10px 14px;font:inherit;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.students-tab:hover{color:var(--text);background:#94a3b81a}.students-tab.active{color:var(--text);background:linear-gradient(135deg,#2dd4bf29,#0ea5e91f);box-shadow:inset 0 0 0 1px var(--border)}.students-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.students-overview-card{display:grid;gap:14px}.students-overview-card:nth-child(1){--card-accent: rgba(56, 189, 248, .36);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02)}.students-overview-card:nth-child(2){--card-accent: rgba(139, 92, 246, .34);--card-bg-a: rgba(139, 92, 246, .08);--card-bg-b: rgba(139, 92, 246, .02)}.students-overview-card:nth-child(3){--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .02)}[data-theme=light] .students-sidebar>.course-card:nth-child(1){--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .students-sidebar>.course-card:nth-child(2){--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .students-sidebar>.course-card:nth-child(3){--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .student-hero-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(240, 253, 250, .92)}[data-theme=light] .students-overview-card:nth-child(1){--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .students-overview-card:nth-child(2){--card-bg-a: rgba(245, 243, 255, .98);--card-bg-b: rgba(250, 245, 255, .92)}[data-theme=light] .students-overview-card:nth-child(3){--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .students-course-grid .student-course-card:nth-child(3n+1),[data-theme=light] .students-enrollment-item:nth-child(odd){--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .students-course-grid .student-course-card:nth-child(3n+2),[data-theme=light] .students-enrollment-item:nth-child(2n){--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .students-course-grid .student-course-card:nth-child(3n+3){--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}.students-overview-list{display:grid;gap:12px}.students-overview-row{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--border)}.students-overview-row:last-child{padding-bottom:0;border-bottom:none}.students-status-breakdown{display:flex;flex-direction:column;gap:10px}.students-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.students-status-row:first-child{border-top:none;padding-top:0}.students-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.student-course-card{--card-bg-a: rgba(255, 255, 255, .055);--card-bg-b: rgba(255, 255, 255, .025);background:linear-gradient(180deg,var(--panel-soft),var(--panel))}.students-course-grid .student-course-card:nth-child(3n+1){--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .07);--card-bg-b: rgba(56, 189, 248, .02)}.students-course-grid .student-course-card:nth-child(3n+2){--card-accent: rgba(45, 212, 191, .34);--card-bg-a: rgba(45, 212, 191, .07);--card-bg-b: rgba(45, 212, 191, .02)}.students-course-grid .student-course-card:nth-child(3n+3){--card-accent: rgba(251, 191, 36, .32);--card-bg-a: rgba(251, 191, 36, .07);--card-bg-b: rgba(251, 191, 36, .02)}.student-course-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:10px}.students-enrollment-list{display:flex;flex-direction:column;gap:12px}.students-enrollment-item{--card-accent: rgba(56, 189, 248, .28);--card-bg-a: rgba(56, 189, 248, .07);--card-bg-b: rgba(56, 189, 248, .02);border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(180deg,var(--panel-soft),var(--panel))}.students-enrollment-item:nth-child(2n){--card-accent: rgba(45, 212, 191, .28);--card-bg-a: rgba(45, 212, 191, .07);--card-bg-b: rgba(45, 212, 191, .02)}.students-enrollment-main,.students-enrollment-foot{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.students-enrollment-foot{margin-top:12px;flex-wrap:wrap}.students-empty-detail{min-height:560px;border:1px dashed var(--border);border-radius:24px;padding:32px;background:radial-gradient(circle at top right,rgba(45,212,191,.1),transparent 44%),linear-gradient(180deg,var(--panel-soft),rgba(15,23,42,.02));display:grid;place-content:center;gap:10px}.students-empty-detail h3,.students-empty-detail p{margin:0}.students-empty-detail-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:var(--panel-strong);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.students-empty-detail-icon svg{width:30px;height:30px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.empty-state{border:1px dashed var(--border);border-radius:18px;padding:22px;text-align:center;background:radial-gradient(circle at top right,rgba(56,189,248,.08),transparent 48%),linear-gradient(180deg,var(--panel-soft),rgba(15,23,42,.02));margin-top:14px;box-shadow:inset 0 1px #ffffff0a;display:grid;place-content:center;gap:8px;min-height:220px}.fab{position:relative;padding:12px 16px;box-shadow:0 12px 32px #67e8f940}.small{font-size:13px}.profile-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.full-row{grid-column:1 / -1}.phone-list{display:flex;flex-direction:column;gap:8px}.phone-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.panel-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.profile-security-card{margin-top:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft);padding:14px}.profile-workspace-panel{position:relative;overflow:hidden;isolation:isolate}.profile-workspace-panel:before{content:"";position:absolute;left:-120px;top:-140px;width:300px;height:300px;background:radial-gradient(circle,rgba(56,189,248,.16),transparent 62%);pointer-events:none;opacity:.62}.profile-workspace-panel:after{content:"";position:absolute;right:-140px;bottom:-150px;width:320px;height:320px;background:radial-gradient(circle,rgba(248,113,113,.12),transparent 64%);pointer-events:none;opacity:.58}.profile-workspace{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.profile-sidebar,.profile-main{min-width:0}.profile-sidebar,.profile-main{display:grid;gap:14px}.profile-identity-card{--card-accent: rgba(45, 212, 191, .36);--card-bg-a: rgba(45, 212, 191, .08);--card-bg-b: rgba(45, 212, 191, .024);background:radial-gradient(circle at top right,rgba(45,212,191,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.profile-sidebar-card{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top left,rgba(56,189,248,.14),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.profile-overview-card{--card-accent: rgba(56, 189, 248, .34);--card-bg-a: rgba(56, 189, 248, .08);--card-bg-b: rgba(56, 189, 248, .02);background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.profile-edit-card{--card-accent: rgba(251, 191, 36, .34);--card-bg-a: rgba(251, 191, 36, .08);--card-bg-b: rgba(251, 191, 36, .02);background:radial-gradient(circle at top right,rgba(251,191,36,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.profile-security-shell{--card-accent: rgba(248, 113, 113, .34);--card-bg-a: rgba(248, 113, 113, .08);--card-bg-b: rgba(248, 113, 113, .02);margin-top:0;border-radius:18px;padding:15px;background:radial-gradient(circle at top right,rgba(248,113,113,.12),transparent 52%),linear-gradient(180deg,var(--panel),var(--panel-soft))}.profile-identity-head{display:flex;align-items:flex-start;gap:14px}.profile-sidebar-pills{display:flex;gap:8px;flex-wrap:wrap}.profile-sidebar-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-sidebar-metric{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel));display:grid;gap:4px}.profile-sidebar-metric:nth-child(1){border-color:#2dd4bf38}.profile-sidebar-metric:nth-child(2){border-color:#f871713d}.profile-sidebar-metric:nth-child(3){border-color:#38bdf838}.profile-sidebar-metric strong{font-size:1.1rem}.profile-overview-grid{margin-top:0}.profile-view-card{background:linear-gradient(145deg,rgba(255,255,255,.05),transparent 78%),linear-gradient(180deg,var(--panel-soft),var(--panel))}.profile-security-header{display:grid;gap:4px;margin-bottom:10px}.profile-security-header h3{margin:0;font-size:17px}.profile-security-trigger{display:flex;justify-content:flex-start;margin-bottom:10px}.profile-security-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.profile-security-form .error,.profile-security-form .success{margin:0;grid-column:1 / -1}.profile-security-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.course-actions,.search-actions,.attendance-actions,.professors-request-actions,.profile-security-actions,.signup-actions,.students-header-buttons,.students-inline-actions{gap:10px}.course-actions,.attendance-actions,.professors-request-actions,.profile-security-actions,.signup-actions{flex-wrap:wrap}.course-actions .ghost-button,.course-actions .primary-button,.attendance-actions .ghost-button,.attendance-actions .primary-button,.professors-request-actions .ghost-button,.professors-request-actions .primary-button,.profile-security-actions .ghost-button,.profile-security-actions .primary-button,.signup-actions .ghost-button,.signup-actions .primary-button{min-height:40px}[data-theme=light] .profile-identity-card{--card-bg-a: rgba(236, 253, 245, .98);--card-bg-b: rgba(244, 253, 250, .92)}[data-theme=light] .profile-sidebar-card,[data-theme=light] .profile-overview-card{--card-bg-a: rgba(224, 242, 254, .98);--card-bg-b: rgba(240, 249, 255, .92)}[data-theme=light] .profile-edit-card{--card-bg-a: rgba(255, 251, 235, .98);--card-bg-b: rgba(255, 253, 244, .92)}[data-theme=light] .profile-security-shell{--card-bg-a: rgba(254, 242, 242, .98);--card-bg-b: rgba(255, 247, 247, .92)}[data-theme=light] .profile-sidebar-metric,[data-theme=light] .profile-view-card{box-shadow:inset 0 1px #ffffffb8}[data-theme=light] .courses-tab-row,[data-theme=light] .professors-tab-row,[data-theme=light] .students-tab-row,[data-theme=light] .payments-tab-row,[data-theme=light] .attendance-tab-row{background:#ffffffc7;box-shadow:inset 0 1px #ffffffb8,0 10px 24px #94a3b81f}[data-theme=light] .empty-state,[data-theme=light] .attendance-empty-state,[data-theme=light] .payments-empty-workspace,[data-theme=light] .students-empty-detail{box-shadow:inset 0 1px #ffffffbd}.dashboard-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:flex-start;margin-top:22px}.dashboard-sidebar{position:sticky;top:16px;display:grid;gap:14px}.workspace-card,.nav-menu{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--panel-soft));overflow:hidden;position:relative}.workspace-card{padding:18px;display:grid;gap:14px;box-shadow:inset 0 1px #ffffff0d,0 18px 34px #02081724}.workspace-card:before,.nav-menu:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.workspace-card:before{background:radial-gradient(circle at top right,rgba(45,212,191,.16),transparent 42%),linear-gradient(120deg,rgba(14,165,233,.12),transparent 45%)}.workspace-card>*,.nav-menu>*{position:relative;z-index:1}.workspace-card-head{display:flex;align-items:flex-start;gap:12px}.workspace-avatar{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#2dd4bf4d,#38bdf83d);border:1px solid rgba(45,212,191,.24);color:var(--text);font-weight:800;flex-shrink:0;box-shadow:0 14px 26px #2dd4bf29}.workspace-copy{display:grid;gap:4px;min-width:0}.workspace-copy h2,.workspace-copy p{margin:0}.workspace-badge-row{display:flex;flex-wrap:wrap;gap:8px}.workspace-pill{min-height:28px}.workspace-description{margin:0}.nav-menu{padding:14px 12px;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-menu:after{background:linear-gradient(120deg,var(--glow-1),var(--glow-2));opacity:.35}.nav-label{margin:0 0 4px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.nav-item{width:100%;text-align:left;border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--panel-soft);color:var(--text);cursor:pointer;font-weight:600;transition:all .18s ease;position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:10px}.nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#2dd4bf29,#38bdf81f);color:#bff8ff;flex-shrink:0;box-shadow:inset 0 0 0 1px #2dd4bf1f}.nav-icon svg{width:18px;height:18px}.nav-item:hover{border-color:#67e8f999;transform:translate(3px);box-shadow:0 10px 26px #0f172a29}.nav-item.active{border-color:#67e8f9b3;background:linear-gradient(135deg,#2dd4bf2e,#0ea5e929);color:var(--text);box-shadow:0 14px 28px #2dd4bf2e,0 0 0 1px var(--border) inset;text-shadow:0 1px 6px rgba(15,23,42,.35)}.nav-item:before{content:"";width:8px;height:8px;border-radius:50%;background:#67e8f9cc;box-shadow:0 0 0 6px #67e8f924;transition:transform .2s ease,opacity .2s ease;opacity:.6}.nav-item.active:before{transform:scale(1.15);opacity:1}.nav-item:after{content:"";position:absolute;top:-40%;right:-10%;bottom:-40%;left:-10%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);opacity:0;transform:translate(-60%);transition:opacity .2s ease;pointer-events:none}.nav-item:hover:after{opacity:.55;animation:nav-shimmer 2.6s ease-in-out forwards}@keyframes nav-shimmer{0%{transform:translate(-60%) rotate(6deg)}55%{transform:translate(60%) rotate(6deg)}to{transform:translate(60%) rotate(6deg)}}.nav-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.nav-copy{display:grid;gap:4px;min-width:0;flex:1}.nav-item-title{line-height:1.2}.nav-item-description{line-height:1.45}.nav-badge{margin-top:0;padding:2px 6px;min-width:18px;height:18px;justify-content:center;font-size:11px;line-height:1;align-self:center;background:#ef4444;border-color:#ef4444;color:#fff}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:20px;min-width:0}.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed}.text-button,.link-button{background:none;border:none;color:var(--text);cursor:pointer;font-weight:600}.link-button{color:var(--accent)}.signup-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:18px;z-index:50}.confirm-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-modal{max-width:420px;width:min(420px,92vw);text-align:center;background:var(--panel)}.confirm-icon{width:54px;height:54px;border-radius:16px;margin:0 auto 12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f97316,#ef4444);box-shadow:0 10px 26px #ef444440}.confirm-icon svg{width:26px;height:26px}.confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}.confirm-actions .confirm-yes,.confirm-actions .confirm-no{border:none;border-radius:999px;padding:10px 16px;font-weight:700;cursor:pointer;color:#0b1020}.confirm-actions .confirm-yes{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff}.confirm-actions .confirm-no{background:linear-gradient(135deg,#34d399,#60a5fa);color:#0b1020}.custom-option-backdrop{z-index:80;background:#020817b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.custom-option-modal{width:min(620px,94vw);background:linear-gradient(180deg,#0f172afa,#0f172af5);background-color:#0f172a;border:1px solid var(--border);color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 28px 90px #00000075}.custom-option-grid{grid-template-columns:1fr}[data-theme=light] .custom-option-backdrop{background:#0f172a61}[data-theme=light] .custom-option-modal{background:linear-gradient(180deg,#fffffffc,#f8fafcfa);background-color:#fff;box-shadow:inset 0 1px #ffffffc7,0 28px 80px #0f172a38}.modal-card{background:var(--panel-strong);border:1px solid var(--border);border-radius:18px;padding:18px;width:min(1500px,98vw);box-shadow:0 18px 60px #0000004d;background-image:linear-gradient(145deg,var(--glow-1),var(--glow-2))}.course-editor-modal{border-color:#38bdf859;background-image:radial-gradient(circle at top right,var(--glow-1),transparent 50%),linear-gradient(140deg,var(--panel-strong),var(--panel))}.course-edit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.course-edit-title{margin-top:8px;font-weight:600;color:var(--text)}.signup-large{width:min(880px,98vw);background:linear-gradient(180deg,#161e30fa,#1c243af5),radial-gradient(circle at top right,rgba(103,232,249,.1),transparent 42%);background-blend-mode:normal;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.signup-large .signup-section{background:linear-gradient(180deg,#313a50f5,#293145f0)}.signup-large .consent-row{background:#272f43eb}[data-theme=light] .signup-large{background:linear-gradient(180deg,#fffffffa,#f8fafcf5),radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 42%);box-shadow:inset 0 1px #ffffffd1,0 18px 60px #0f172a29}[data-theme=light] .signup-large .signup-section{background:linear-gradient(180deg,#fffffff5,#f8fafceb);box-shadow:0 8px 26px #94a3b81f}[data-theme=light] .signup-large .consent-row{background:#f8fafcf0}.class-modal{display:flex;flex-direction:column;gap:18px;width:100%}.class-modal.rtl{direction:rtl;text-align:right}.class-modal.rtl h3,.class-modal.rtl h4,.class-modal.rtl .eyebrow,.class-modal.rtl .section-head>div,.class-modal.rtl .field-label{text-align:right}.class-modal.rtl .field,.class-modal.rtl .field-row,.class-modal.rtl .term-card,.class-modal.rtl .vacations-grid,.class-modal.rtl .courses-grid,.class-modal.rtl .chip-row{direction:rtl}.class-modal.rtl input,.class-modal.rtl select,.class-modal.rtl button{direction:rtl;text-align:right}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.modal-header h3{margin:4px 0 0}.ghost-button{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff12,#ffffff08);color:var(--text);border-radius:12px;padding:8px 12px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ghost-button:hover{transform:translateY(-1px);border-color:#94a3b842;background:linear-gradient(180deg,#ffffff17,#ffffff0a)}.signup-options{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.signup-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.signup-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--panel-strong);font-size:20px}.signup-title{margin:0;font-weight:700}.signup-form{display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow:auto;padding-right:6px}.signup-section{border:1px solid var(--border);border-radius:12px;padding:14px;background:linear-gradient(135deg,var(--panel),var(--panel-soft));display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 30px #00000026}.section-head h4{margin:0}.section-head .muted{margin-top:4px}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.category-block{display:flex;flex-direction:column;gap:10px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.category-card{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:16px;padding:12px 14px;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.category-card h5{margin:0;font-size:14px}.category-card .muted{margin:0;font-size:12px;line-height:18px}.category-card:hover{transform:translateY(-2px);border-color:#67e8f966}.category-card.active{border-color:#67e8f999;background:linear-gradient(135deg,#67e8f929,#8b5cf61f);box-shadow:0 12px 32px #0f172a40}.category-card-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.category-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;background:var(--panel-strong);color:var(--text)}.tag{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:8px 10px;cursor:pointer}.tag-active{background:#67e8f92e;border-color:#67e8f980}.tag-locked{cursor:not-allowed;opacity:.75}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:600;transition:all .12s ease}.chip-active{background:#67e8f92e;border-color:#67e8f999;color:#0b1020;box-shadow:0 10px 26px #67e8f92e}.visibility-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.checkbox-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:8px 12px;color:var(--text);font-weight:600;cursor:pointer}.checkbox-chip input{width:16px;height:16px;accent-color:var(--accent)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.consent-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft)}.consent-row input[type=checkbox]{margin-top:3px}.consent-row a{color:var(--accent);text-decoration:none}.consent-row a:hover{text-decoration:underline}.signup-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.success{margin:0;color:#22c55e;font-weight:600}textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--panel-strong);color:var(--text);font-family:Inter,Space Grotesk,system-ui,-apple-system,sans-serif;resize:vertical;min-height:120px}textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.signup-form::-webkit-scrollbar{width:8px}.signup-form::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-weight:600;font-size:12px;border:1px solid var(--border);line-height:1.2;min-height:24px;white-space:nowrap;box-shadow:inset 0 1px #ffffff0a}.pill-warning{background:#fbbf2429;border-color:#fbbf246b;color:#fbbf24;margin-top:8px}.pill-error{background:#f8717129;border-color:#f8717173;color:#f87171}.pill-muted{background:#94a3b81f;border-color:#94a3b83d;color:#dde7f6}.ghost-button.danger{border-color:#f8717173;color:#f87171}@keyframes floatSoft{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes pulseSoft{0%{transform:scale(1);opacity:.4}50%{transform:scale(1.05);opacity:.65}to{transform:scale(1);opacity:.4}}@media(max-width:1200px){.auth-shell{width:min(95vw,1320px);padding-left:22px;padding-right:22px}.courses-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.courses-workspace,.course-detail-grid{grid-template-columns:1fr}}@media(max-width:960px){.auth-grid{grid-template-columns:1fr}.hero-card{order:-1}.panel-hero{flex-direction:column;align-items:flex-start}.hero-stage-grid,.hero-message-grid,.promo-block{grid-template-columns:1fr}.hero-brand-lockup{min-height:220px}.top-bar{flex-wrap:wrap}.attendance-grid,.attendance-stage-grid,.attendance-shell,.attendance-live-grid,.attendance-record{grid-template-columns:1fr}.attendance-header-actions{align-items:flex-start}.attendance-history-grid,.attendance-history-item{grid-template-columns:1fr}.attendance-history-item-meta{align-items:flex-start;text-align:left}.attendance-history-attendee{flex-direction:column;align-items:flex-start}.payments-grid,.courses-shell,.courses-workspace,.classes-workspace,.course-catalog-grid,.profile-workspace,.payments-shell,.payments-live-grid,.payments-history-top{grid-template-columns:1fr}.payments-header-actions{align-items:flex-start;width:100%}.payments-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-status-grid,.payment-recent-item,.payment-history-item,.payment-modal-summary,.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{position:static}.workspace-card{padding:16px}.nav-menu{position:relative;flex-direction:row;flex-wrap:wrap;gap:6px}.nav-item{flex:1 1 160px}.students-shell{grid-template-columns:1fr}.students-header-actions{align-items:flex-start;width:100%}.students-header-buttons{justify-content:flex-start}.students-kpi-grid,.students-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-history-metrics{grid-template-columns:1fr}}@media(max-width:720px){.auth-shell{width:min(96vw,680px);padding:24px 16px 64px;gap:18px}.top-bar{padding:10px 12px}.brand-logo{width:96px;height:36px}.language-switcher{width:100%;justify-content:space-between}.mobile-web-cta{width:100%}.switch-group{gap:6px}.theme-toggle{padding:3px}.theme-toggle-button{width:28px;height:28px}.dashboard-layout{grid-template-columns:1fr;gap:18px}.dashboard-sidebar{gap:10px}.workspace-card{padding:14px}.nav-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}.nav-label{display:none}.nav-item{padding:10px;border-radius:14px;gap:6px;min-width:0}.nav-item:hover{transform:none}.nav-icon{width:26px;height:26px;border-radius:999px}.nav-item-description{display:none}.auth-grid{gap:18px}.hero-card,.form-card{padding:22px}.hero-card h1{max-width:none}.hero-stage{padding:18px}.hero-brand-lockup{min-height:180px}.hero-orbit-b,.hero-stage-glow-b{display:none}.badge-row{gap:6px}.feature-badge{font-size:12px;padding:6px 10px}.panel-hero{flex-direction:column;align-items:flex-start}.panel-icon{width:40px;height:40px}.section-icon{width:32px;height:32px}.courses-grid,.course-detail-grid,.class-detail-panels,.professors-shell,.professors-directory-workspace{grid-template-columns:1fr}.course-card{padding:12px}.course-card:before{opacity:.35}.privacy-page{gap:18px}.privacy-grid{grid-template-columns:1fr}.privacy-policy-frame{min-height:70vh;border-radius:14px}.course-card-head{flex-direction:column;align-items:flex-start;gap:8px}.student-row-head,.student-hero-head,.student-hero-main,.student-hero-title-row,.students-enrollment-main,.payment-summary-foot,.attendance-manual-item,.students-status-row{flex-direction:column;align-items:flex-start}.status-pill{align-self:flex-start}.students-sidebar-metrics,.students-kpi-grid,.students-overview-grid,.payments-history-metrics,.attendance-sidebar-metrics,.attendance-mode-grid,.professors-summary-grid,.courses-summary-grid,.profile-sidebar-metrics{grid-template-columns:1fr}.students-empty-detail{min-height:320px;padding:22px}.students-roster-list{max-height:none}.field-row{grid-template-columns:1fr}.modal-card{padding:14px;border-radius:16px}}@media(max-width:540px){.hero-card h1{font-size:26px}.hero-subtitle,.muted{font-size:13px}.form-header h2{font-size:20px}.hero-stage{padding:14px}.hero-image{min-height:150px;padding:18px}.hero-image img{width:min(170px,72%)}.hero-kpi-card,.hero-focus-card,.promo-card{padding:14px;border-radius:16px}.hero-chip-marquee{-webkit-mask-image:none;mask-image:none}.profile-panel{padding:12px}.course-card{padding:10px}.nav-menu{gap:6px}.nav-menu{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.hero-stage-glow,.hero-orbit,.hero-signal,.hero-chip-track{animation:none!important}}html[dir=rtl]{direction:rtl}.app-shell-loading{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(74,222,200,.14),transparent 34%),radial-gradient(circle at bottom right,rgba(244,114,182,.12),transparent 32%),var(--app-bg, #081223)}.app-shell-loading-card{width:min(420px,100%);padding:28px 30px;border-radius:28px;border:1px solid rgba(160,233,255,.18);background:linear-gradient(160deg,#0b162ae6,#111c30c7);box-shadow:0 28px 80px #040b1857}.app-shell-loading-brand{font-size:13px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:#9de8ff}.app-shell-loading-copy{margin-top:10px;font-size:28px;font-weight:700;line-height:1.2;color:#f4f8fff5}.certificates-page,.verification-page{display:grid;gap:20px}.feature-badge-row{display:flex;flex-wrap:wrap;gap:10px}.certificates-layout{display:block}.certificates-controls-card{position:static}.certificates-form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.certificates-form-grid .field{display:flex;flex-direction:column;gap:8px}.certificates-group-panel,.certificates-student-panel{margin-top:18px;padding-top:18px;border-top:1px solid rgba(148,163,184,.16)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.panel-head h4{margin:0;font-size:16px}.certificate-chip-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.certificate-chip{border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:14px 16px;background:linear-gradient(160deg,#0f172a38,#0f172a1a);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.certificate-chip:hover{transform:translateY(-1px);border-color:#67e8f957}.certificate-chip.active{border-color:#67e8f985;background:radial-gradient(circle at top right,rgba(45,212,191,.16),transparent 36%),linear-gradient(160deg,#0a364099,#081223b8)}.certificate-chip span{color:var(--muted);font-size:12px}.certificate-student-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:6px}.certificate-student-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.14);background:#0f172a2e}.certificate-student-row.selected{border-color:#67e8f957;box-shadow:inset 0 0 0 1px #67e8f914}.certificate-student-row input{width:18px;height:18px}.certificate-student-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.certificate-student-copy span{color:var(--muted);font-size:12px}.certificate-error{color:#fca5a5}.certificate-success{color:#86efac}.certificates-actions{margin-top:18px;display:flex;justify-content:flex-end}.certificate-preview-stack{display:flex;flex-direction:column;gap:32px;align-items:center}.certificate-preview-viewport{margin-top:18px;overflow-x:auto;overflow-y:visible;padding-bottom:8px}.certificate-preview-empty{min-height:240px;width:100%;display:grid;place-items:center;border-radius:22px;border:1px dashed rgba(148,163,184,.22);background:#0f172a29;padding:20px;text-align:center}.certificate-sheet{width:1123px;min-width:1123px;min-height:794px;margin:0;padding:18px;border-radius:28px;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 26%),radial-gradient(circle at bottom right,rgba(14,165,233,.08),transparent 24%),linear-gradient(180deg,#f9f4e8,#efe5cd);box-shadow:0 28px 80px #0000003d;color:#1f2937}.certificate-shell{position:relative;min-height:758px;border-radius:24px;border:1px solid rgba(180,147,72,.32);background:linear-gradient(180deg,#ffffffad,#fffbf2db),linear-gradient(135deg,#dcbe7824,#ffffff4d);overflow:hidden;padding:104px 42px 36px;display:grid;grid-template-rows:auto 1fr auto;gap:28px}.certificate-glow{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(18px);opacity:.42;pointer-events:none}.certificate-glow-top{top:-70px;right:-60px;background:#f9c44a47}.certificate-glow-bottom{bottom:-80px;left:-70px;background:#14b8a629}.certificate-header,.certificate-footer{position:relative;z-index:1}.certificate-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.certificate-brand-rail{display:flex;align-items:flex-start;gap:14px;flex-shrink:0}.certificate-corner-brand{position:absolute;top:18px;left:22px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(180,147,72,.2);box-shadow:0 10px 24px #0f172a14}.certificate-eyebrow{margin:0;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#8a6d1f;font-weight:800}.certificate-title{margin:14px 0 0;font-family:Space Grotesk,Inter,sans-serif;font-size:40px;line-height:1.05;color:#172033;max-width:560px}.certificate-draft-badge{margin-top:16px}.certificate-averroes-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8a6d1f;font-weight:800}.certificate-averroes-logo{display:block;width:104px;max-width:100%;max-height:30px;height:auto;object-fit:contain;object-position:left center}.certificate-logo-frame{width:148px;min-height:148px;border-radius:28px;background:#ffffffb8;border:1px solid rgba(180,147,72,.22);display:grid;place-items:center;flex-shrink:0;padding:16px;box-sizing:border-box}.certificate-logo{display:block;max-width:116px;max-height:116px;width:auto;height:auto;object-fit:contain;object-position:center}.certificate-main{position:relative;z-index:1;margin-top:0;min-height:0}.certificate-main-grid{display:flex;gap:28px;min-height:100%}.certificate-recipient-panel,.certificate-content-panel{display:flex;flex-direction:column}.certificate-recipient-panel{flex:0 0 38%;justify-content:center;gap:14px;padding-right:8px}.certificate-content-panel{flex:1 1 auto;gap:20px;justify-content:center}.certificate-award-label{margin:0;font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a6d1f}.certificate-recipient{margin:0;font-family:Space Grotesk,Inter,sans-serif;font-size:64px;line-height:1.02;color:#172033}.certificate-recipient-intro,.certificate-body{margin:0;font-size:18px;line-height:1.7;color:#334155}.certificate-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.certificate-detail-card{padding:16px 18px;border-radius:20px;background:#ffffffa8;border:1px solid rgba(180,147,72,.16);display:flex;flex-direction:column;gap:6px}.certificate-detail-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8a6d1f;font-weight:700}.certificate-footer{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:26px;align-items:end}.certificate-verification-panel,.certificate-signature-panel{padding:20px 22px;border-radius:22px;background:#ffffffb8;border:1px solid rgba(180,147,72,.16)}.certificate-verification-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}.certificate-qr-frame{width:132px;height:132px;border-radius:18px;background:#fff;display:grid;place-items:center;border:1px solid rgba(15,23,42,.08)}.certificate-qr{width:106px;height:106px;object-fit:contain}.certificate-qr-placeholder{width:96px;height:96px;border-radius:16px;border:1px dashed rgba(15,23,42,.22);display:grid;place-items:center;padding:10px;text-align:center;color:#64748b;font-size:11px;line-height:1.4}.certificate-verification-copy{display:flex;flex-direction:column;gap:10px}.certificate-verification-copy p{margin:0;color:#64748b;line-height:1.5}.certificate-id-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline;font-size:14px;color:#475569}.certificate-id-row strong{color:#0f172a;text-align:right}.certificate-signature-panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:180px;justify-content:flex-end}.certificate-signature-image{max-width:190px;max-height:88px;object-fit:contain}.certificate-signature-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(15,23,42,.4),transparent);margin-bottom:10px}.certificate-sheet.rtl .certificate-header,.certificate-sheet.rtl .certificate-id-row,.certificate-sheet.rtl .certificate-verification-panel{direction:rtl}.certificate-sheet.rtl .certificate-corner-brand{left:auto;right:22px;align-items:flex-end}.certificate-sheet.rtl .certificate-averroes-logo{object-position:right center}.certificate-sheet.rtl .certificate-main-grid{flex-direction:row-reverse}.certificate-sheet.rtl .certificate-recipient-panel{padding-right:0;padding-left:8px}.verification-form{display:flex;gap:12px;align-items:center;margin-top:20px}.verification-form input{flex:1}.verification-card{padding:22px;border-radius:24px;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#0f172a52,#0f172a2e)}.verification-card.valid{box-shadow:inset 0 0 0 1px #4ade801f}.verification-card.invalid{box-shadow:inset 0 0 0 1px #f871711f}.verification-status-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.verification-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.verification-item{padding:14px 16px;border-radius:18px;background:#ffffff0a;display:flex;flex-direction:column;gap:6px}.verification-item span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.pill-success{border-color:#4ade8057;color:#86efac;background:#1665343d}@media(max-width:1200px){.certificate-preview-viewport{margin-inline:-8px;padding-inline:8px}}@media(max-width:820px){.certificates-form-grid,.certificate-details-grid,.certificate-footer,.verification-grid{grid-template-columns:1fr}.verification-form{flex-direction:column;align-items:stretch}.certificate-sheet{width:1123px;min-width:1123px;min-height:794px;padding:18px}.certificate-shell{min-height:758px;padding:36px 42px}.certificate-title{font-size:40px}.certificate-recipient{font-size:64px}.certificate-header{flex-direction:row}.certificate-verification-panel{grid-template-columns:auto minmax(0,1fr)}}.sessions-panel{display:flex;flex-direction:column;gap:0}.sessions-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;margin-top:18px;align-items:flex-start;min-width:0}.sessions-sidebar{display:grid;gap:14px;min-width:0}.sessions-main{min-width:0}.sessions-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:14px;align-items:start}.sessions-list-card,.sessions-detail-card{position:sticky;top:16px}.sessions-filters-card .sessions-count-badge{display:flex;justify-content:flex-end;margin-top:4px}.sessions-list-card{display:flex;flex-direction:column;gap:0;overflow:hidden}.sessions-list{display:flex;flex-direction:column;gap:2px;max-height:480px;overflow-y:auto}.session-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:8px;text-align:start;background:transparent;border:1px solid transparent;transition:background .1s,border-color .1s;cursor:pointer;width:100%}.session-list-item:hover{background:var(--surface-hover, rgba(255,255,255,.04))}.session-list-item.active{background:var(--surface-active, rgba(99, 102, 241, .08));border-color:var(--color-accent, #6366f1)}.session-list-item.session-cancelled{opacity:.55}.session-list-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.session-list-item-main h4{font-size:.92rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-list-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.sessions-detail-card{display:flex;flex-direction:column;gap:16px}.sessions-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.sessions-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.sessions-reschedule-form,.sessions-cancel-form{border-top:1px solid var(--border-color, rgba(255,255,255,.08));padding-top:16px;display:flex;flex-direction:column;gap:12px}.sessions-form-actions{display:flex;gap:8px;flex-wrap:wrap}.sessions-empty{display:flex;flex-direction:column;gap:6px;padding:24px 0}.coming-sessions-widget{display:flex;flex-direction:column;gap:14px;padding:20px 24px;background:var(--card-bg, rgba(255,255,255,.03));border:1px solid var(--border-color, rgba(255,255,255,.08));border-radius:14px;margin-bottom:4px}.coming-sessions-widget-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coming-sessions-list{display:flex;flex-direction:column;gap:4px}.coming-session-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:start;width:100%;transition:background .1s}.coming-session-item:hover{background:var(--surface-hover, rgba(255,255,255,.04));border-color:var(--border-color, rgba(255,255,255,.08))}.coming-session-item-date{flex-shrink:0;min-width:130px}.coming-session-item-info{flex:1;min-width:0}.coming-session-item-info h4{font-size:.9rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.sessions-layout{grid-template-columns:minmax(240px,340px) minmax(0,1fr)}}@media(max-width:860px){.sessions-shell,.sessions-layout{grid-template-columns:1fr}.sessions-list-card,.sessions-detail-card{position:static}.coming-session-item{flex-wrap:wrap}}[dir=rtl] .sessions-detail-actions,[dir=rtl] .sessions-form-actions,[dir=rtl] .coming-sessions-widget-header,[dir=rtl] .coming-session-item,[dir=rtl] .session-list-item{flex-direction:row-reverse}[dir=rtl] .session-list-item-meta{align-items:flex-start}[dir=rtl] .sessions-filters-card .sessions-count-badge{justify-content:flex-start}.bem-slide-route{width:100vw;height:100vh;margin:0;overflow:hidden;background:#eaf8f3}.bem-slide-frame{display:block;width:100%;height:100%;border:0}
