:root{--cream: #f8fafc;--cream-deep: #f1f5f9;--white: #ffffff;--board: #07091e;--navy: #080a21;--navy-2: #101438;--navy-3: #1a1f52;--navy-surface: #0e1235;--magenta: #312ecb;--magenta-2: #2623b5;--magenta-hover: #2623b5;--magenta-light: #eef0ff;--magenta-ink: #1a187a;--mint: #ecfdf5;--mint-2: #d1fae5;--mint-line: #a7f3d0;--mint-text: #065f46;--lime: #10b981;--sky: #f0f9ff;--sky-2: #0284c7;--sky-line: #bae6fd;--sky-text: #0369a1;--amber: #fffbeb;--amber-line: #fde68a;--amber-text: #92400e;--rose: #fef2f2;--rose-line: #fecaca;--rose-text: #991b1b;--ink: #0f172a;--ink-soft: #475569;--ink-muted: #64748b;--ink-faint: #94a3b8;--line: #e2e8f0;--line-subtle: #edf2f7;--line-focus: #cbd5e1;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .03);--shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .07), 0 2px 6px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 28px -4px rgba(15, 23, 42, .09), 0 4px 10px -2px rgba(15, 23, 42, .03);--shadow-magenta: 0 4px 14px rgba(49, 46, 203, .22);--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{overflow-x:hidden;max-width:100%}body{margin:0;font-family:var(--font-body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5{font-family:var(--font-display);margin:0;color:var(--navy);letter-spacing:-.02em;font-weight:700;line-height:1.25}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-md);padding:9px 16px;font-weight:600;font-size:14px;letter-spacing:-.01em;line-height:1.4;transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--magenta);color:#fff;box-shadow:0 1px 2px #0f172a1f,inset 0 1px #ffffff26}.btn-primary:hover:not(:disabled){background:var(--magenta-hover);box-shadow:0 3px 8px #312ecb47,inset 0 1px #fff3}.btn-navy{background:var(--navy);color:#fff;box-shadow:0 1px 2px #00000026}.btn-navy:hover:not(:disabled){background:var(--navy-2);box-shadow:0 2px 6px #080a2140}.btn-mint{background:var(--mint-2);color:var(--mint-text);border-color:var(--mint-line)}.btn-mint:hover:not(:disabled){background:#bbf7d0}.btn-ghost{background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-xs)}.btn-ghost:hover:not(:disabled){background:var(--cream-deep);border-color:var(--line-focus)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--r-sm)}.btn-lg{padding:12px 24px;font-size:15px;border-radius:var(--r-md)}.btn-block{width:100%}.card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:20px}.panel{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-md)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-sm);font-size:12px;font-weight:600;background:var(--cream-deep);color:var(--ink-soft);border:1px solid var(--line);letter-spacing:-.01em}.chip-navy{background:var(--navy);color:#fff;border-color:var(--navy)}.chip-magenta{background:var(--magenta-light);color:var(--magenta);border-color:#312ecb33}.chip-mint{background:var(--mint);color:var(--mint-text);border-color:var(--mint-line)}.chip-sky{background:var(--sky);color:var(--sky-text);border-color:var(--sky-line)}.chip-amber{background:var(--amber);color:var(--amber-text);border-color:var(--amber-line)}.chip-rose{background:var(--rose);color:var(--rose-text);border-color:var(--rose-line)}.chip-live{background:#dc2626;color:#fff;border-color:#dc2626}.field{display:block;margin-bottom:16px}.field>label,.field>span{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;color:var(--navy);letter-spacing:-.01em}.input,.select,.textarea{width:100%;padding:10px 13px;border:1px solid var(--line-focus);border-radius:var(--r-md);font-family:inherit;font-size:14.5px;background:var(--white);color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px #312ecb1f}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.textarea{resize:vertical;min-height:90px}.hint{font-size:12px;color:var(--ink-muted);margin-top:5px}.error-text{font-size:12.5px;color:#b91c1c;font-weight:600;margin-top:5px}.alert{border-radius:var(--r-md);padding:12px 16px;font-size:13.5px;font-weight:500;margin-bottom:16px;border:1px solid transparent;line-height:1.45}.alert-error{background:var(--rose);color:var(--rose-text);border-color:var(--rose-line)}.alert-ok{background:var(--mint);color:var(--mint-text);border-color:var(--mint-line)}.alert-info{background:var(--sky);color:var(--sky-text);border-color:var(--sky-line)}.avatar{border-radius:999px;display:grid;place-items:center;font-weight:700;color:#fff;flex:0 0 auto;border:2px solid var(--white);box-shadow:var(--shadow-xs);-webkit-user-select:none;user-select:none;font-size:13px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--ink-muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pulse-dot{width:8px;height:8px;border-radius:999px;background:currentColor;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:0 24px;height:64px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand-mark{width:40px;height:40px;border-radius:var(--r-md);background:#fff url(/images/logo-mark-transparent.png) center center / 88% 88% no-repeat;border:1px solid var(--line);box-shadow:var(--shadow-xs);flex:0 0 auto;display:flex;align-items:center;justify-content:center}.brand-mark i{display:none}.brand-name{font-family:var(--font-display);font-weight:700;font-size:16.5px;color:var(--navy);line-height:1.1;letter-spacing:-.02em}.brand-sub{font-size:10.5px;font-weight:600;color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase}.nav-pill{display:flex;align-items:center;gap:4px;background:transparent;border-radius:var(--r-md);padding:0;box-shadow:none;overflow:visible}.nav-item{display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-sm);color:var(--ink-soft);font-weight:500;font-size:13.5px;background:transparent;border:0;transition:all .15s ease;white-space:nowrap}.nav-item:hover{background:var(--cream-deep);color:var(--navy)}.nav-item.active{background:var(--magenta-light);color:var(--magenta);font-weight:600;box-shadow:none}.nav-item svg{width:16px;height:16px;flex:0 0 auto}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}.icon-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--white);display:grid;place-items:center;color:var(--ink-soft);position:relative;transition:all .15s ease}.icon-btn:hover{border-color:var(--line-focus);color:var(--navy);background:var(--cream-deep)}.icon-btn svg{width:17px;height:17px}.icon-btn .badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:999px;background:var(--magenta);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 3px;border:2px solid var(--white)}.user-chip{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:4px 10px 4px 5px;box-shadow:var(--shadow-xs)}.user-chip .who{line-height:1.2}.user-chip .who b{display:block;font-size:13px;color:var(--navy);font-weight:600}.user-chip .who span{font-size:11px;font-weight:500;color:var(--ink-muted);text-transform:capitalize}.page{flex:1 1 auto;padding:4px 18px 28px;max-width:1500px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:10px 0 20px}.page-head h1{font-size:30px;color:var(--navy)}.page-head p{margin:4px 0 0;color:var(--ink-soft);font-weight:600}.grid{display:grid;gap:16px}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat{background:var(--white);border-radius:var(--r-lg);padding:17px 19px;box-shadow:var(--shadow-sm);border-left:6px solid var(--navy)}.stat.magenta{border-left-color:var(--magenta)}.stat.mint{border-left-color:var(--lime)}.stat.sky{border-left-color:var(--sky-2)}.stat.amber{border-left-color:#f59e0b}.stat .label{font-size:12.5px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.stat .value{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--navy);line-height:1.15}.stat .foot{font-size:12.5px;color:var(--ink-soft);font-weight:600}.course-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:transform .12s ease,box-shadow .15s ease}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.course-top{height:72px;padding:12px 16px;display:flex;align-items:flex-start;justify-content:space-between;color:#fff;background:var(--navy)}.course-top.magenta{background:linear-gradient(135deg,var(--magenta),#ff6cb8)}.course-top.mint{background:linear-gradient(135deg,#55b93f,var(--lime))}.course-top.sky{background:linear-gradient(135deg,var(--sky-2),var(--sky))}.course-top.navy{background:linear-gradient(135deg,var(--navy),var(--navy-3))}.course-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:9px;flex:1 1 auto}.course-body h3{font-size:17.5px;color:var(--navy)}.table-wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow-sm)}table.data{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}table.data th{text-align:left;padding:13px 16px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--cream-deep);white-space:nowrap}table.data td{padding:12px 16px;border-top:1.5px solid var(--cream-deep);vertical-align:middle}table.data tbody tr:hover{background:#fcf6e3b3}.meter{height:9px;border-radius:999px;background:var(--cream-deep);overflow:hidden;min-width:70px}.meter>span{display:block;height:100%;border-radius:999px;background:var(--lime)}.meter.warn>span{background:var(--amber)}.meter.bad>span{background:var(--rose)}.empty{text-align:center;padding:44px 20px;color:var(--ink-soft)}.empty h3{color:var(--navy);margin-bottom:6px;font-size:19px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:8px 15px;border-radius:999px;border:2px solid var(--line);background:var(--white);font-weight:800;font-size:13.5px;color:var(--ink-soft)}.tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.hamburger-btn{display:none;width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--white);color:var(--navy);align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-xs);padding:0;flex:0 0 auto}.hamburger-btn:hover{background:var(--cream-deep);border-color:var(--line-focus);color:var(--magenta)}.hamburger-btn svg{width:20px;height:20px}.hamburger-btn.open,.hamburger-btn:active{background:var(--magenta-light);border-color:var(--magenta);color:var(--magenta)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14174873;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;animation:fadeIn .2s ease-out}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:var(--white);box-shadow:-8px 0 32px #14174838;display:flex;flex-direction:column;z-index:101;animation:slideInRight .25s cubic-bezier(.16,1,.3,1);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav-header{padding:20px 18px 16px;background:var(--cream);border-bottom:2px solid var(--line)}.mobile-user-card{display:flex;align-items:center;gap:12px}.mobile-user-card .who b{display:block;font-size:15px;color:var(--navy);line-height:1.2}.mobile-user-card .role-badge{display:inline-block;margin-top:3px;font-size:11.5px;font-weight:800;color:var(--navy);background:#14174814;padding:2px 8px;border-radius:999px;text-transform:capitalize}.mobile-nav-list{flex:1 1 auto;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.mobile-nav-item{display:flex;align-items:center;gap:13px;padding:11px 15px;border-radius:12px;color:var(--navy);font-weight:700;font-size:14px;text-decoration:none;transition:all .15s ease}.mobile-nav-item:hover{background:var(--cream);color:var(--magenta)}.mobile-nav-item.active{background:var(--magenta);color:#fff;box-shadow:0 3px 0 var(--magenta-ink)}.mobile-nav-icon svg{width:20px;height:20px;display:block}.mobile-nav-footer{padding:16px 18px;border-top:2px solid var(--line);background:var(--white)}@media(max-width:1100px){.desktop-nav,.desktop-only{display:none!important}.hamburger-btn{display:flex}.topbar{padding:0 16px;gap:12px}}@media(max-width:640px){.topbar{padding:0 12px;height:58px}.user-chip .who{display:none}.user-chip{padding:3px;border-radius:999px;border-width:1px}.brand-sub{display:none}.brand-name{font-size:15.5px}.brand-mark{width:35px;height:35px;border-radius:var(--r-sm)}.page{padding:10px 12px 24px}.page-head h1{font-size:22px}.grid-stats,.grid-2{grid-template-columns:1fr}.grid-form-3,.grid-form-2{grid-template-columns:1fr!important}}.nav-group-btn{cursor:pointer;background:transparent;border:none;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--navy);padding:8px 14px;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.nav-group-btn:hover{background:#312ecb0d;color:var(--magenta)}.nav-group-btn.active{background:#312ecb14;color:var(--magenta);font-weight:700}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a2173;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease-out}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:#fff;box-shadow:-8px 0 32px #080a2133;display:flex;flex-direction:column;z-index:9999;animation:slideInRight .24s cubic-bezier(.16,1,.3,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.grid-form-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-form-3>*,.grid-form-2>*{min-width:0;max-width:100%}.grid-form-3 select,.grid-form-2 select,.grid-form-3 input,.grid-form-2 input,.grid-form-3 textarea,.grid-form-2 textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}select.input{max-width:100%;text-overflow:ellipsis;overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a218c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out;box-sizing:border-box;overflow-y:auto}.modal-card{position:relative;background:var(--white);border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:0 20px 48px -8px #080a2147;width:100%;max-width:580px;max-height:min(90vh,800px);padding:28px 24px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.modal-card-lg{max-width:680px}.modal-card-sm{max-width:440px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-shrink:0}.modal-header h3{margin:0;color:var(--navy);font-size:19px;line-height:1.3}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap;width:100%;box-sizing:border-box;flex-shrink:0}@media(max-width:860px){.exam-split-grid{grid-template-columns:1fr!important}}@media(max-width:640px){.modal-backdrop{padding:12px 10px}.modal-card{padding:20px 16px;border-radius:var(--r-lg);max-height:94vh}.modal-actions{flex-direction:column-reverse;gap:8px;margin-top:20px}.modal-actions .btn{width:100%;justify-content:center;text-align:center}.grid-form-3,.grid-form-2{grid-template-columns:1fr!important;gap:12px}}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-story{background:var(--navy);color:#fff;padding:48px;display:flex;flex-direction:column;position:relative;border-right:1px solid var(--navy-border)}.auth-story h1{font-size:38px;line-height:1.15;margin:36px 0 16px;max-width:14ch;color:#fff;font-weight:700;letter-spacing:-.025em}.auth-story h1 em{font-style:normal;color:#93c5fd}.auth-story .lede{font-size:15px;line-height:1.6;color:#ffffffbf;max-width:44ch;margin:0 0 32px}.role-notes{margin-top:auto;display:grid;gap:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.role-note{display:flex;gap:12px;align-items:flex-start;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--r-md);padding:10px 14px}.role-note .ico{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex:0 0 auto;background:var(--magenta);color:#fff}.role-note .ico.mint{background:var(--lime);color:var(--navy)}.role-note .ico.sky{background:var(--sky-2);color:#fff}.role-note .ico.amber{background:#d97706;color:#fff}.role-note b{display:block;font-size:13.5px;color:#fff;font-weight:600}.role-note span{font-size:12px;color:#ffffffa6;line-height:1.4}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--cream);overflow-y:auto}.auth-card{width:100%;max-width:440px;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:34px 30px}.auth-card h2{font-size:24px;color:var(--navy);margin-bottom:4px;letter-spacing:-.02em}.auth-card .sub{font-size:14px;color:var(--ink-muted);margin:0 0 24px}.role-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.role-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);font-size:13px;font-weight:600;color:var(--ink-soft);transition:all .15s ease}.role-btn:hover{background:var(--white);border-color:var(--line-focus);color:var(--navy)}.role-btn.active{background:var(--white);border-color:var(--magenta);color:var(--magenta);box-shadow:0 0 0 1px var(--magenta)}.role-btn svg{width:18px;height:18px}.link-row{display:flex;justify-content:flex-end;margin:-6px 0 18px;font-size:13px}.link-row a{color:var(--magenta);font-weight:500}.link-row a:hover{text-decoration:underline}.auth-foot{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-soft)}.auth-foot a{color:var(--magenta);font-weight:600}.auth-foot a:hover{text-decoration:underline}.demo-box{margin-top:24px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.demo-box b{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:10px}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-row{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:12px;color:var(--navy);text-align:left;transition:all .15s ease}.demo-row:hover{border-color:var(--magenta);background:var(--magenta-light)}.demo-row span{font-weight:600;color:var(--navy)}.demo-row code{font-size:11px;color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,monospace;margin-top:2px}.auth-clean-center{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:36px 18px}.auth-clean-card-wrapper{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}.auth-clean-header{display:flex;align-items:center;justify-content:space-between}.auth-clean-main .auth-card{margin:0 auto}@media(max-width:940px){.auth{grid-template-columns:1fr}.auth-story{padding:32px 24px}.auth-story h1{font-size:28px;margin-top:20px}.role-notes{display:none}}.classroom{display:grid;grid-template-columns:268px minmax(0,1fr);gap:16px;padding:4px 18px 22px;max-width:1600px;margin:0 auto;width:100%;align-items:start}.prep-rail{background:var(--navy);border-radius:var(--r-xl);padding:16px 14px;box-shadow:var(--shadow-lg);position:sticky;top:74px;max-height:calc(100vh - 96px);display:flex;flex-direction:column;gap:14px;overflow:hidden}.prep-rail h2{color:#fff;font-size:17px;padding:0 4px}.prep-scroll{overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--navy-3) transparent}.prep-scroll::-webkit-scrollbar{width:7px}.prep-scroll::-webkit-scrollbar-thumb{background:var(--navy-3);border-radius:999px}.note-card{border-radius:var(--r-md);padding:12px 13px;box-shadow:0 3px #00000024;cursor:grab;position:relative;transition:transform .1s ease,box-shadow .15s ease;border:0;text-align:left;width:100%;display:block;user-select:none;-webkit-user-select:none}.note-card:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.note-card:hover{transform:translateY(-2px);box-shadow:0 5px #00000029}.note-card:active{cursor:grabbing}.note-card.dragging{opacity:.5}.note-card h4{font-size:14.5px;margin-bottom:3px}.note-card p{margin:0;font-size:12.5px;line-height:1.4;font-weight:600}.note-card.white{background:var(--white);color:var(--ink)}.note-card.white h4{color:var(--navy)}.note-card.magenta{background:var(--magenta);color:#fff}.note-card.mint{background:var(--mint-2);color:var(--navy)}.note-card.sky{background:var(--sky);color:var(--navy)}.card-compose{display:grid;gap:7px;padding:10px;margin-top:4px;border-radius:var(--r-md);background:#ffffff0d;border:1px dashed rgba(255,255,255,.18)}.card-compose input,.card-compose textarea{width:100%;border-radius:var(--r-sm, 8px);border:1px solid rgba(255,255,255,.16);background:#00000038;color:#fff;font:inherit;font-size:13px;font-weight:600;padding:8px 9px;resize:vertical}.card-compose input::placeholder,.card-compose textarea::placeholder{color:#fff6}.card-compose input:focus-visible,.card-compose textarea:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.card-compose button[type=submit]{border:0;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;background:var(--lime);color:var(--navy);cursor:pointer}.card-compose button[type=submit]:disabled{opacity:.45;cursor:default}.card-colors{display:flex;gap:7px}.card-color{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.35);cursor:pointer;padding:0}.card-color.white{background:var(--white)}.card-color.magenta{background:var(--magenta)}.card-color.mint{background:var(--mint-2)}.card-color.sky{background:var(--sky)}.card-color.active{border-color:var(--lime);box-shadow:0 0 0 2px var(--navy),0 0 0 4px var(--lime)}.card-color:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.rail-section-title{color:var(--sky);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:0 4px}.slide-thumb{background:var(--white);border-radius:var(--r-sm);padding:9px 10px;box-shadow:0 2px #0000001f;border:0;text-align:left;width:100%;cursor:pointer;position:relative;transition:transform .1s ease}.slide-thumb:hover{transform:translateY(-2px)}.slide-thumb.active{outline:3px solid var(--lime)}.slide-thumb b{display:block;font-size:11.5px;color:var(--navy);margin-bottom:5px}.slide-thumb ul{margin:0;padding-left:13px;display:flex;flex-direction:column;gap:2px}.slide-thumb li{font-size:9.5px;color:var(--ink-soft);line-height:1.3}.slide-thumb .corner{position:absolute;right:7px;bottom:7px;color:var(--magenta);opacity:.8}.stage{display:flex;flex-direction:column;gap:16px;min-width:0}.board-frame{background:var(--navy);border-radius:var(--r-xl);padding:14px;box-shadow:var(--shadow-lg)}.board-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:480px;align-items:stretch}.reader{background:var(--white);border-radius:var(--r-md);padding:22px 24px;overflow-y:auto;max-height:74vh;font-size:13px;color:#333}.reader-head{display:flex;justify-content:space-between;font-size:10.5px;color:#888;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #eee;padding-bottom:5px;margin-bottom:14px}.reader h3{font-family:var(--font-body);font-size:17px;font-weight:800;color:#111;margin-bottom:4px}.reader .unit-no{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--magenta);color:#fff;border-radius:6px;font-weight:800;font-size:15px;margin-right:8px}.toc{list-style:none;padding:0;margin:14px 0 0}.toc li{display:flex;align-items:baseline;gap:6px;padding:3px 0;font-size:12px}.toc .no{color:var(--magenta);font-weight:800;flex:0 0 auto}.toc .dots{flex:1 1 auto;border-bottom:1.5px dotted #ccc;transform:translateY(-3px)}.toc .pg{color:#666;font-weight:700;flex:0 0 auto}.reader p{line-height:1.55;color:#444;font-size:11.5px}.chalkboard{background:var(--board);border:5px solid var(--lime);border-radius:var(--r-md);position:relative;overflow:hidden;min-height:460px}.chalkboard canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.chalkboard.drawable canvas{cursor:crosshair}.board-home{position:absolute;right:12px;bottom:12px;padding:7px 13px;font-size:12px;font-weight:800;color:var(--navy);background:var(--mint-2);border:0;border-radius:999px;box-shadow:var(--shadow-sm);z-index:3}.board-home:hover{background:var(--lime)}.chalkboard.drop-active{border-color:var(--magenta)}.drop-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ec1c8c2e;border:3px dashed var(--magenta);border-radius:var(--r-sm);pointer-events:none}.drop-veil span{background:var(--white);color:var(--magenta);font-weight:800;font-size:14px;padding:10px 20px;border-radius:999px;box-shadow:var(--shadow-md)}.board-title{position:absolute;top:14px;left:18px;color:var(--mint);font-family:var(--font-display);font-size:26px;font-weight:700;pointer-events:none;text-shadow:0 0 14px rgba(200,239,192,.3)}.board-title u{text-decoration-color:var(--magenta-2);text-decoration-thickness:3px}.board-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#c8efc059;font-weight:700;font-size:14px;pointer-events:none;text-align:center;padding:20px}.board-people{position:absolute;left:14px;right:14px;bottom:14px;display:flex;flex-direction:column;gap:12px;pointer-events:none}.spotlight-tile{display:flex;align-items:center;gap:10px;align-self:flex-start}.spotlight-name{background:var(--white);color:var(--navy);font-weight:800;font-size:15px;padding:7px 16px;border-radius:999px;box-shadow:var(--shadow-sm)}.people-strip{display:flex;gap:12px;flex-wrap:wrap}.people-strip .avatar{transition:transform .15s ease}.tile-hand{position:relative}.tile-hand:after{content:"✋";position:absolute;top:-6px;right:-6px;font-size:15px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.board-toolbar{display:flex;align-items:center;gap:6px;padding:10px 4px 2px;flex-wrap:wrap}.tool{display:inline-flex;flex-direction:column;align-items:center;gap:1px;border:0;background:transparent;color:var(--sky);font-weight:700;font-size:11.5px;padding:7px 12px;border-radius:12px;transition:background .15s ease,color .15s ease}.tool:hover:not(:disabled){background:#ffffff17;color:#fff}.tool.active{background:var(--magenta);color:#fff}.tool:disabled{opacity:.4;cursor:not-allowed}.tool svg{width:20px;height:20px}.tool.rec.on{background:var(--magenta);color:#fff;box-shadow:0 0 0 4px #ec1c8c40}.swatches{display:flex;gap:5px;margin-left:auto;align-items:center}.swatch{width:24px;height:24px;border-radius:999px;border:2.5px solid rgba(255,255,255,.25);padding:0}.swatch.active{border-color:#fff;transform:scale(1.15)}.participants{background:var(--mint);border-radius:var(--r-xl);padding:18px 20px 20px;box-shadow:var(--shadow-md)}.participants-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.participants-head h2{color:var(--navy);font-size:21px}.hands-toggle{background:var(--white);border:2px solid transparent;border-radius:12px;padding:8px 15px;font-weight:800;font-size:13.5px;color:var(--navy);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;gap:7px}.hands-toggle.active{background:var(--magenta);color:#fff}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}.person{background:var(--white);border-radius:var(--r-md);padding:6px 8px 6px 6px;display:flex;align-items:center;gap:6px;box-shadow:0 2px #14174814;transition:transform .1s ease,box-shadow .15s ease}.person:hover{transform:translateY(-2px)}.person-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:11px;border:0;background:transparent;text-align:left;padding:3px 4px 3px 3px;border-radius:var(--r-sm)}.person-main:disabled{cursor:default}.person.speaking{background:var(--magenta);box-shadow:0 3px 0 var(--magenta-ink)}.person.speaking .person-name{color:#fff}.person.on-air{box-shadow:0 0 0 3px var(--mint-2),0 2px #14174814}.person-controls{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.icon-btn{width:30px;height:30px;display:inline-grid;place-items:center;border:0;border-radius:9px;background:var(--cream);color:var(--ink-soft);transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--sky);color:var(--navy)}.icon-btn.on{background:var(--navy);color:#fff}.icon-btn.mic.on{background:var(--mint-2);color:#2f6b1d}.person-tag{flex:0 0 auto;font-size:14px;color:var(--magenta)}.person.speaking .person-tag{color:#fff}.person-name{font-weight:800;font-size:15px;color:var(--navy);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person .hand{font-size:20px;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.dock{display:flex;flex-direction:column;gap:12px}.qa-list{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto}.qa{background:var(--cream);border-radius:var(--r-md);padding:11px 13px;border-left:4px solid var(--sky-2)}.qa.answered{border-left-color:var(--lime)}.qa p{margin:0 0 6px;font-size:13.5px;font-weight:600;line-height:1.4}.qa .who{font-size:11.5px;font-weight:800;color:var(--ink-soft)}.qa .answer{margin-top:7px;padding-top:7px;border-top:1.5px dashed var(--line);font-size:13px;color:#2f6b1d;font-weight:700}.conn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;padding:5px 11px;border-radius:999px}.conn.live{background:#7ce04f38;color:#2f6b1d}.conn.connecting{background:#ffc85747;color:#7a5410}.conn.down{background:#ff6b6b33;color:#9c2b2b}.on-air{display:flex;align-items:center;gap:12px;background:var(--mint-2);color:var(--navy);border-radius:var(--r-lg);padding:12px 16px;box-shadow:var(--shadow-sm);border-left:6px solid var(--magenta)}.on-air-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.on-air-text b{font-size:15px}.on-air-text span{font-size:12.5px;font-weight:600;opacity:.75}.rail-hint{color:#ffffff8c;font-size:11.5px;font-weight:600;line-height:1.4;padding:0 4px;margin:0}.file-tray{position:absolute;top:12px;right:12px;width:min(330px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;background:var(--white);border-radius:var(--r-md);padding:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:8px;z-index:3}.file-tray-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.file-tray-head b{font-size:13.5px;color:var(--navy)}.file-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-sm);background:var(--cream)}.file-row.open{background:var(--mint-2);box-shadow:inset 0 0 0 2px var(--lime)}.file-icon{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--navy);color:var(--sky)}.file-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.file-meta b{font-size:12.5px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.file-media{width:100%;margin-top:12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--cream);min-height:260px}.lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.chat-panel{display:flex;flex-direction:column}.nick-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}.nick-row span{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);flex:0 0 auto}.chat-scroll{display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto;padding-right:4px}.chat-line{display:flex;flex-direction:column;gap:2px;background:var(--cream);border-radius:var(--r-md);padding:8px 11px;border-left:4px solid var(--sky-2)}.chat-line.mine{border-left-color:var(--magenta);background:#ec1c8c12}.chat-who{font-size:11px;font-weight:800;color:var(--ink-soft)}.chat-body{font-size:13.5px;font-weight:600;line-height:1.4;word-break:break-word}.hands-toggle.mute-all{background:var(--navy);color:#fff}.tool.mic-live.active{background:var(--magenta);color:#fff}@media(max-width:1080px){.classroom{grid-template-columns:minmax(0,1fr)}.prep-rail{position:static;max-height:none;order:2}.stage{order:1}.board-split{grid-template-columns:minmax(0,1fr);min-height:0}.reader{max-height:340px}.chalkboard{min-height:360px}.lower-grid{grid-template-columns:minmax(0,1fr)}}.note-body{display:block;width:100%;padding:0 26px 0 0;font:inherit;color:inherit;text-align:left;background:none;border:0;cursor:grab}.note-body:active{cursor:grabbing}.note-body:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}.note-card.selected{box-shadow:0 0 0 3px var(--lime),0 3px #00000024}.note-card.drop-before:before{content:"";position:absolute;top:-5px;left:0;right:0;height:3px;border-radius:2px;background:var(--lime)}.note-pick{position:absolute;top:9px;right:8px;display:grid;place-items:center;width:20px;height:20px;padding:0;color:inherit;background:#ffffff73;border:0;border-radius:5px;cursor:pointer;opacity:.55;transition:opacity .12s ease}.note-card:hover .note-pick,.note-card.selected .note-pick,.note-pick:focus-within{opacity:1}.note-pick input{width:13px;height:13px;margin:0;accent-color:var(--magenta);cursor:pointer}.note-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px 10px;font-size:12px;color:#fff;background:#ffffff1f;border-radius:var(--r-sm)}.note-actions b{margin-right:2px;font-size:12.5px}.note-actions button{padding:4px 9px;font-size:11.5px;font-weight:800;color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:999px}.note-actions button:hover{background:#ffffff4d}.note-drop-end{height:10px;margin-top:-4px;border-radius:3px}.note-drop-end.active{height:14px;background:#7ce04f59}.note-bin{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;padding:14px 10px;font-size:12.5px;font-weight:800;color:#ffffffbf;background:#ff6b6b29;border:2px dashed rgba(255,107,107,.55);border-radius:var(--r-md);pointer-events:auto}.note-bin>*{pointer-events:none}.note-bin.hot{color:#fff;background:var(--rose);border-style:solid;border-color:#fff;transform:scale(1.02)}.tool.mic.on{color:var(--navy);background:var(--mint-2)}.tool.mic:disabled{opacity:.4}.audio-sink{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.sound-prompt{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:4;padding:10px 18px;font-size:13px;font-weight:800;color:var(--navy);background:var(--amber);border:0;border-radius:999px;box-shadow:var(--shadow-md)}.mic-error{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:4;max-width:80%;padding:9px 15px;font-size:12.5px;font-weight:700;text-align:center;color:#fff;background:var(--rose);border-radius:var(--r-md)}.board-bin{position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:4;display:flex;align-items:center;justify-content:center;gap:9px;width:32%;height:18%;font-size:13px;font-weight:800;color:#ffffffd9;background:#ff6b6b33;border:2px dashed rgba(255,107,107,.65);border-radius:var(--r-md) var(--r-md) 0 0;pointer-events:none}.board-bin.hot{color:#fff;background:var(--rose);border-style:solid;border-color:#fff}.leave-wrap{position:relative}.leave-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:290px;padding:8px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.leave-menu button{display:block;width:100%;padding:10px 11px;text-align:left;background:none;border:0;border-radius:var(--r-sm)}.leave-menu button:hover:not(:disabled){background:var(--cream)}.leave-menu button b{display:block;font-family:var(--font-display);font-size:14px;color:var(--navy)}.leave-menu button span{display:block;margin-top:2px;font-size:11.5px;font-weight:600;line-height:1.35;color:var(--ink-soft)}.leave-menu button.danger b{color:var(--magenta-ink)}.leave-menu button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--rose) 14%,var(--white))}.leave-menu button.cancel{margin-top:4px;padding-top:9px;font-size:12.5px;font-weight:800;color:var(--ink-soft);text-align:center;border-top:1px solid var(--line);border-radius:0}.session-over{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;margin-bottom:12px;background:var(--amber);border-radius:var(--r-md)}.session-over b{font-family:var(--font-display);font-size:15px;color:var(--navy)}.session-over span{flex:1;min-width:200px;font-size:12.5px;font-weight:700;color:var(--navy)}.preclass-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr) minmax(0,1fr);gap:16px;background:var(--navy);border-radius:var(--r-xl);padding:16px;box-shadow:var(--shadow-lg);margin-bottom:16px}.preclass-hero>.class-card:only-of-type{grid-column:1 / 2}.class-card{background:var(--white);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:12px;border:4px solid transparent;box-shadow:var(--shadow-sm)}.class-card.magenta{border-color:var(--magenta)}.class-card.mint{border-color:#3fa52c}.class-card.sky{border-color:var(--sky-2)}.class-card.navy{border-color:var(--navy-3)}.class-card.compact{cursor:pointer;transition:transform .12s ease,box-shadow .15s ease}.class-card.compact:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.class-card.selected{outline:3px solid var(--lime);outline-offset:2px}.class-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.class-card h2{font-size:18px;color:var(--navy);line-height:1.15}.class-card-body{display:flex;flex-direction:column;gap:7px;flex:1 1 auto}.class-line{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-soft)}.class-line svg{flex:0 0 auto;color:var(--navy-3)}.class-line b{color:var(--navy)}.waiting-area{background:#e9e9ef;border-radius:var(--r-lg);padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:210px}.waiting-area h3{font-size:16px;color:var(--navy);margin-bottom:12px}.waiting-figures{display:flex;gap:8px;margin-bottom:12px}.waiting-figures span{width:30px;height:38px;border-radius:14px 14px 6px 6px;background:var(--navy-3);opacity:.55;position:relative}.waiting-figures span:before{content:"";position:absolute;top:-11px;left:50%;transform:translate(-50%);width:15px;height:15px;border-radius:999px;background:inherit}.waiting-state{font-weight:800;font-size:13.5px;color:var(--navy);line-height:1.45;margin:0;letter-spacing:.02em}.waiting-count{font-size:12.5px;color:var(--ink-soft);font-weight:700;margin:6px 0 0}.waiting-count.strong{color:var(--magenta-ink);font-size:15px;font-weight:800}.waiting-list{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:10px}.waiting-chip{display:inline-flex;align-items:center;gap:7px;background:var(--white);border-radius:999px;padding:4px 12px 4px 4px;font-size:12.5px;font-weight:800;color:var(--navy);box-shadow:var(--shadow-sm)}.select-strip{background:var(--navy);color:#fff;border-radius:var(--r-md);padding:11px 18px;font-weight:800;font-size:14px;text-align:center;margin-bottom:16px}.today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.today-card{border-radius:var(--r-lg);padding:18px;background:var(--white);border:4px solid var(--mint-line);display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm)}.today-card.waiting{border-color:var(--sky-2)}.today-card h3{font-size:18px;color:var(--navy)}.today-card .when{font-size:19px;font-weight:800;color:var(--navy)}.today-card .sub{font-size:12.5px;font-weight:700;color:var(--ink-soft)}.join-now{width:100%;border:0;border-radius:var(--r-md);padding:15px;font-size:17px;font-weight:800;color:#fff;background:var(--magenta);box-shadow:var(--shadow-magenta);letter-spacing:.02em}.join-now:hover{background:var(--magenta-2)}.join-waiting{width:100%;border:0;border-radius:var(--r-md);padding:15px;font-weight:800;font-size:15px;background:#b9bcc9;color:#fff;cursor:not-allowed}.join-waiting small{display:block;font-size:11.5px;font-weight:700;opacity:.9;margin-top:2px}.teacher-line{display:flex;align-items:center;gap:9px;background:var(--cream);border-radius:999px;padding:5px 13px 5px 5px;align-self:flex-start;font-weight:800;font-size:13.5px;color:var(--navy)}.teacher-line .state{font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px}.teacher-line .state.live{background:var(--lime);color:#204d12}.teacher-line .state.off{background:#d8dae3;color:#5a5f7d}.classmates{font-size:12.5px;color:var(--ink-soft);font-weight:600}.classmates b{display:block;color:var(--navy);font-size:12.5px;margin-bottom:3px}.announce-panel{background:#fbe3f1;border-radius:var(--r-xl);padding:20px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:16px}.announce-panel h2{font-size:18px;color:var(--navy);margin-bottom:12px}.announce-item{background:var(--white);border-radius:var(--r-md);padding:12px 14px;margin-bottom:9px;box-shadow:var(--shadow-sm)}.announce-item b{display:block;color:var(--navy);font-size:14px;margin-bottom:3px}.announce-item p{margin:0;font-size:12.5px;color:var(--ink-soft);font-weight:600;line-height:1.45}.chat-dock{background:var(--navy);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:10px;max-height:340px}.chat-dock h3{color:#fff;font-size:15px}.chat-dock .hint{color:var(--sky);font-size:11.5px;font-weight:700;margin:0}.chat-log{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:7px;min-height:120px}.chat-line{background:#ffffff12;border-radius:10px;padding:7px 10px}.chat-line b{color:var(--lime);font-size:11.5px;display:block}.chat-line.mine b{color:var(--magenta-2)}.chat-line span{color:#ffffffdb;font-size:13px;font-weight:600;line-height:1.4;word-break:break-word}.wallet-hero{background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;border-radius:var(--r-xl);padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;box-shadow:var(--shadow-lg);margin-bottom:18px}.wallet-hero .label{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#ffffff9e}.wallet-hero .amount{font-family:var(--font-display);font-size:36px;font-weight:800;line-height:1.1}.referral-code{display:inline-flex;align-items:center;gap:10px;background:#ffffff1f;border-radius:var(--r-md);padding:10px 14px;font-size:21px;font-weight:800;letter-spacing:.22em;margin-top:4px}.copy-btn{background:var(--magenta);border:0;border-radius:8px;color:#fff;font-size:12px;font-weight:800;padding:6px 11px;letter-spacing:0}.tx-amount{font-weight:800;font-variant-numeric:tabular-nums}.tx-amount.credit{color:#2f6b1d}.tx-amount.debit{color:#9c2b2b}.archive-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.archive-thumb{height:118px;background:var(--board);display:grid;place-items:center;color:var(--mint);position:relative}.archive-thumb .dur{position:absolute;right:8px;bottom:8px;background:#0009;color:#fff;font-size:11.5px;font-weight:800;padding:2px 7px;border-radius:6px}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--cream);padding:24px;text-align:center}.boot>p{margin:0;font-weight:800;font-size:14px;color:var(--navy-3);letter-spacing:.02em}.media-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.media-tile{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-md);overflow:hidden;background:var(--board)}.media-tile video{display:block;width:100%;height:100%;object-fit:cover}.media-tile .who{position:absolute;left:8px;bottom:8px;background:#0000008c;color:#fff;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:6px}.roster{border-top:1px solid var(--line);padding-top:12px}.roster-pick{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.roster-option{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:0;border-radius:var(--r-sm);padding:7px 9px;font:inherit;font-weight:700;font-size:13px;color:var(--navy);cursor:pointer}.roster-option:hover{background:var(--cream)}.roster-option input[type=checkbox]{width:auto;flex:0 0 auto}.roster-option span{display:block;min-width:0}.roster-option small{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-x{background:transparent;border:0;padding:0 2px;margin-left:2px;font-size:15px;line-height:1;font-weight:800;color:var(--ink-soft);cursor:pointer}.chip-x:hover{color:var(--magenta-ink)}@media(max-width:1100px){.preclass-hero,.announce-panel{grid-template-columns:minmax(0,1fr)}}.panel-title{display:flex;align-items:center;gap:7px;font-size:18px;color:var(--navy);margin:0 0 14px}.sub-title{font-size:14px;color:var(--navy);margin:22px 0 10px}.err{display:block;margin-top:4px;font-size:12px;font-weight:800;color:var(--magenta-ink)}.mono-hint{font-size:11.5px;font-weight:700;letter-spacing:.05em}.row-link{font-family:var(--font-display);font-size:15px;color:var(--navy);border-bottom:2px solid transparent}.row-link:hover{color:var(--magenta-ink);border-bottom-color:var(--magenta)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;margin-bottom:14px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.filter-bar select{width:auto;min-width:132px}.bulk-bar{position:sticky;top:10px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 14px;margin-bottom:12px;background:var(--navy);color:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.bulk-bar b{font-family:var(--font-display);margin-right:4px}.bulk-bar select{width:auto;min-width:150px;padding:7px 10px;font-size:13px}.bulk-bar .btn-ghost{background:#ffffff1f;border-color:#ffffff47;color:var(--white)}.bulk-bar .btn-ghost:hover:not(:disabled){background:#ffffff38}table.data tr.picked{background:color-mix(in srgb,var(--sky) 18%,transparent)}table.data input[type=checkbox]{width:17px;height:17px;accent-color:var(--magenta)}.form-panel{padding:22px;margin-bottom:16px;border-color:var(--magenta)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 14px}.form-grid .field.wide{grid-column:1 / -1}.pick-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:800;color:var(--navy);background:var(--white);border:2px solid var(--line);border-radius:999px;cursor:pointer}.pick-chip.on{background:var(--mint);border-color:var(--mint-line)}.pick-chip input{width:auto;accent-color:var(--magenta)}.student-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;margin-bottom:16px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.student-head h1{font-size:26px;color:var(--navy)}dl.record{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:8px 16px;margin:0}dl.record dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);align-self:center}dl.record dd{margin:0;font-weight:700;color:var(--navy)}.share-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,320px);gap:20px;padding:26px;background:linear-gradient(135deg,#080a21,#101438,#1a1f52);color:var(--white);border-radius:var(--r-xl);box-shadow:0 12px 32px -4px #080a2159;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.share-hero:before{content:"";position:absolute;top:-100px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(49,46,203,.35) 0%,transparent 70%);pointer-events:none}.share-hero .label{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.82;color:#cbd5e1}.share-url{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px 14px;font-family:var(--font-display);font-size:15px;background:#ffffff14;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-url .truncate{flex:1;min-width:0;color:#fff;font-weight:600;letter-spacing:.01em}.copy-btn{background:var(--magenta);border:0;border-radius:var(--r-sm);color:#fff;font-size:12.5px;font-weight:700;padding:7px 14px;letter-spacing:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.copy-btn:hover{background:var(--magenta-hover);transform:translateY(-1px)}.copy-btn.copied{background:#10b981}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.share-actions .btn{font-size:13px;padding:8px 14px;border-radius:var(--r-md);display:inline-flex;align-items:center;gap:8px;font-weight:600;transition:all .15s ease}.share-actions .btn-ghost{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.25)!important;color:#fff!important}.share-actions .btn-ghost:hover{background:#ffffff38!important;border-color:#ffffff73!important;transform:translateY(-1px)}.share-note{margin:16px 0 0;font-size:13px;font-weight:500;line-height:1.5;color:#ffffffd9}.share-note b{color:var(--white)}.share-score{display:flex;flex-direction:column;justify-content:center;padding:22px 18px;text-align:center;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.share-score .meter{background:#ffffff2e;height:8px;border-radius:999px;overflow:hidden}.share-score .meter>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease}.points-value{font-family:var(--font-display);font-size:42px;font-weight:800;line-height:1.05;margin:10px 0 2px;color:#fff;letter-spacing:-.02em}.tier-badge{align-self:center;padding:5px 14px;font-family:var(--font-display);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border-radius:999px;box-shadow:0 2px 6px #00000026}.tier-chip{display:inline-flex;align-items:baseline;gap:5px;padding:5px 11px;font-size:12px;font-weight:800;color:var(--navy);background:var(--white);border:2px solid var(--line);border-radius:999px}.tier-chip small{font-size:10.5px;opacity:.7}.tier-chip.active{border-color:transparent}.tier-bronze{background:linear-gradient(135deg,#e8b58a,#cf9364);color:#4a2810!important}.tier-silver{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);color:#1e293b!important}.tier-gold{background:linear-gradient(135deg,#fef08a,#f59e0b);color:#78350f!important}.tier-platinum{background:linear-gradient(135deg,#a7f3d0,#34d399);color:#064e3b!important}.share-link-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-md)}.share-link-row.off{opacity:.6;border-style:dashed}.share-link-url{font-size:12px;font-weight:700;letter-spacing:.02em}.board-row{display:flex;align-items:center;gap:11px;padding:9px 12px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-md)}.board-row.you{border-color:var(--magenta);background:color-mix(in srgb,var(--magenta) 7%,var(--white))}.board-row .rank{width:24px;font-family:var(--font-display);font-size:15px;text-align:center;color:var(--ink-soft)}.board-row>b:last-child{font-family:var(--font-display);font-size:16px;color:var(--navy)}.invite-banner{padding:11px 14px;margin-bottom:14px;font-size:13.5px;font-weight:700;color:var(--navy);background:var(--mint);border:2px solid var(--mint-line);border-radius:var(--r-md)}@media(max-width:900px){.share-hero{grid-template-columns:1fr;padding:20px 16px}.share-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));width:100%}.share-actions .btn{justify-content:center}.share-link-row{flex-wrap:wrap;gap:12px}.share-link-row>.row{width:100%;justify-content:flex-start;flex-wrap:wrap}.bulk-bar{position:static}dl.record{grid-template-columns:1fr;gap:2px 0}dl.record dd{margin-bottom:8px}}.field>span{display:block;margin-bottom:6px;font-size:13.5px;font-weight:800;color:var(--navy)}.field>input,.field>select,.field>textarea{width:100%;padding:12px 14px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:var(--r-md);transition:border-color .15s ease}.field>input:focus,.field>select:focus,.field>textarea:focus{outline:none;border-color:var(--magenta)}.field>small{display:block;margin-top:5px;font-size:12.5px;font-weight:600}.module-card{padding:18px 20px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.module-card.draft{border-style:dashed;background:color-mix(in srgb,var(--amber) 7%,var(--white))}.module-card.unfiled{background:var(--cream-deep)}.module-card>header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.module-card h2{font-size:19px;color:var(--navy)}.module-summary{margin:5px 0 0;font-size:13px;font-weight:600;color:var(--ink-soft)}.back-link{font-weight:700;font-size:13.5px}.item-list{list-style:none;margin:14px 0 0;padding:0}.item-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 2px;border-top:1px solid var(--line)}.item-name{flex:1;min-width:140px;padding:0;font-family:var(--font-display);font-size:15px;text-align:left;color:var(--navy);background:none;border:0;border-bottom:2px solid transparent}.item-name:hover{color:var(--magenta-ink);border-bottom-color:var(--magenta)}.item-meta{font-size:11.5px;font-weight:700;color:var(--ink-soft)}.file-tag{min-width:58px;padding:4px 8px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--navy);background:var(--cream-deep);border-radius:6px}.file-tag.kind-pdf{background:color-mix(in srgb,var(--rose) 30%,var(--white))}.file-tag.kind-video{background:color-mix(in srgb,var(--sky) 45%,var(--white))}.file-tag.kind-slide{background:color-mix(in srgb,var(--amber) 45%,var(--white))}.file-tag.kind-link{background:color-mix(in srgb,var(--mint) 60%,var(--white))}.dropzone{margin-top:14px;padding:13px 14px;background:var(--cream);border:2px dashed var(--line);border-radius:var(--r-md);transition:border-color .15s ease,background .15s ease}.dropzone.over{background:color-mix(in srgb,var(--mint) 35%,var(--white));border-color:var(--mint-line)}.upload-row{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--navy)}.upload-row .truncate{flex:0 1 190px}@media(max-width:700px){.item-list li{align-items:flex-start}.upload-row .truncate{flex-basis:120px}}.landing-wrap{min-height:100vh;background:var(--cream);color:var(--ink);display:flex;flex-direction:column}.landing-container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.landing-nav{position:sticky;top:0;z-index:50;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.landing-nav-inner{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-links{display:flex;align-items:center;gap:24px}.landing-links button{background:transparent;border:0;color:var(--ink-soft);font-weight:700;font-size:15px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:color .15s ease,background .15s ease}.landing-links button:hover{color:var(--magenta);background:#312ecb0f}.landing-nav-actions,.landing-user-badge{display:flex;align-items:center;gap:12px}.landing-user-badge .user-label{font-size:14px;color:var(--ink-soft)}.landing-hero{position:relative;background:radial-gradient(circle at 50% 0%,rgba(49,46,203,.15),transparent 70%),radial-gradient(circle at 85% 30%,rgba(61,58,224,.1),transparent 50%),var(--cream);padding:80px 24px 60px;text-align:center;overflow:hidden}.landing-hero-content{max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#312ecb14;border:1px solid rgba(49,46,203,.2);border-radius:999px;color:var(--magenta);font-weight:800;font-size:13.5px;letter-spacing:.02em;margin-bottom:22px}.hero-title{font-size:48px;line-height:1.15;color:var(--navy);font-weight:800;margin-bottom:18px;letter-spacing:-.02em}.hero-subtitle{font-size:19px;line-height:1.5;color:var(--ink-soft);max-width:680px;margin:0 auto 32px;font-weight:600}.hero-cta-group{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:48px}.btn-lg{padding:14px 28px;font-size:16.5px;border-radius:var(--r-md)}.hero-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:780px;padding-top:24px;border-top:1px solid var(--line)}.hero-stat{display:flex;align-items:center;gap:12px;text-align:left;background:var(--white);padding:14px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.stat-icon{font-size:20px;color:var(--magenta);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-sm);background:#312ecb14;flex:0 0 auto}.hero-stat b{display:block;font-size:15px;color:var(--navy)}.hero-stat span{font-size:12px;color:var(--ink-soft)}.landing-section{padding:72px 0}.landing-section.bg-alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:700px;margin:0 auto 48px}.section-head.text-center{text-align:center}.section-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--magenta);text-transform:uppercase;margin-bottom:8px}.section-head h2{font-size:34px;color:var(--navy);margin-bottom:12px;letter-spacing:-.01em}.section-desc{font-size:16.5px;line-height:1.55;color:var(--ink-soft);margin:0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:var(--white);border-radius:var(--r-xl);padding:28px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;color:#fff}.feature-icon.magenta{background:var(--magenta)}.feature-icon.lime{background:var(--lime);color:var(--navy)}.feature-icon.sky{background:var(--sky-2)}.feature-card h3{font-size:20px;color:var(--navy);margin-bottom:10px}.feature-card p{font-size:14.5px;line-height:1.5;color:var(--ink-soft);margin:0}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.plan-card{background:var(--white);border-radius:var(--r-xl);padding:32px 26px;border:2px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;position:relative;transition:transform .15s ease,box-shadow .15s ease}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.plan-card.popular{border-color:var(--magenta);box-shadow:0 0 0 2px var(--magenta),var(--shadow-md)}.plan-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--magenta);color:#fff;padding:4px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.plan-header{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.plan-name{font-size:22px;color:var(--navy);margin-bottom:8px}.plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.plan-price .amount{font-size:38px;font-weight:800;color:var(--navy);font-family:var(--font-display)}.plan-price .currency{font-size:16px;font-weight:800;color:var(--magenta)}.plan-price .period{font-size:14px;color:var(--ink-soft)}.plan-desc{font-size:13.5px;color:var(--ink-soft);margin:0;min-height:40px}.plan-features{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:12px;flex:1 0 auto}.plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink)}.check-ico{color:#10b981;font-weight:800;font-size:15px}.steps-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.step-item{flex:1;background:var(--white);border-radius:var(--r-lg);padding:24px 20px;border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:center}.step-num{width:40px;height:40px;background:var(--navy);color:#fff;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:18px;margin:0 auto 14px}.step-item h4{font-size:17px;color:var(--navy);margin-bottom:8px}.step-item p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.45}.step-arrow{font-size:22px;color:var(--magenta);font-weight:800;flex:0 0 auto}.banks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bank-card{background:var(--cream);border-radius:var(--r-lg);padding:22px 20px;border:1px solid var(--line)}.bank-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.bank-icon{font-size:26px}.bank-header h4{font-size:16px;color:var(--navy);margin:0}.branch-label{font-size:12px;color:var(--ink-soft)}.bank-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px}.detail-label{color:var(--ink-soft)}.detail-val{font-weight:700;color:var(--ink)}.detail-val.highlight{color:var(--magenta);font-family:ui-monospace,SFMono-Regular,monospace;font-size:14.5px}.detail-instruction{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);color:var(--ink-soft);font-size:12px}.landing-footer{background:var(--navy);color:#fff;padding:60px 0 28px;margin-top:auto}.footer-top{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.3fr;gap:36px;margin-bottom:48px}.footer-tagline{font-size:14px;line-height:1.5;color:#ffffffb3;max-width:340px;margin-top:14px}.footer-links-col h5{font-size:15px;color:#fff;margin-bottom:16px;letter-spacing:.02em}.footer-links-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links-col button,.footer-links-col a{background:transparent;border:0;color:#ffffffb3;font-size:14px;text-decoration:none;cursor:pointer;text-align:left;padding:0;transition:color .15s ease}.footer-links-col button:hover,.footer-links-col a:hover{color:#fff}.contact-list li{font-size:13.5px;color:#ffffffbf}.social-links-grid{display:flex;flex-direction:column;gap:8px}.social-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff14;border-radius:8px;color:#fff!important;font-size:13px;font-weight:700;transition:background .15s ease}.social-btn:hover{background:#ffffff2e}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#ffffff80}.footer-sub-links{display:flex;gap:18px}.landing-hamburger{display:none}.mobile-nav-link{display:block;width:100%;text-align:left;background:transparent;border:none;padding:12px 14px;font-size:15px;font-weight:600;color:var(--navy);border-radius:var(--r-md);cursor:pointer;transition:all .15s ease}.mobile-nav-link:hover{background:#312ecb14;color:var(--magenta)}@media(max-width:960px){.landing-hamburger{display:flex}.desktop-only{display:none!important}.hero-title{font-size:36px}.features-grid,.plans-grid,.banks-grid,.hero-stats-row{grid-template-columns:1fr}.steps-row{flex-direction:column}.step-arrow{transform:rotate(90deg)}.footer-top{grid-template-columns:1fr;gap:30px}.landing-links{display:none}}.payment-page-wrap{min-height:100vh;background:var(--cream);display:flex;flex-direction:column}.payment-topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 24px;display:flex;align-items:center;justify-content:space-between}.payment-main-content{flex:1;padding:40px 20px}.payment-container{max-width:1020px;margin:0 auto}.payment-split-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:start}.plan-summary-card{padding:24px 22px;margin-bottom:20px;border:1px solid var(--line)}.plan-summary-card h3{color:var(--navy);font-size:22px;margin:6px 0 10px}.plan-amount-pill{display:inline-block;background:#312ecb17;color:var(--magenta);font-weight:800;font-size:24px;padding:6px 14px;border-radius:10px;font-family:var(--font-display)}.bank-accounts-card{padding:24px 22px;border:1px solid var(--line)}.bank-list{display:flex;flex-direction:column;gap:14px}.bank-item-box{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}.bank-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14.5px;color:var(--navy)}.branch-tag{font-size:11.5px;color:var(--ink-soft);background:#0000000d;padding:2px 8px;border-radius:6px}.bank-account-num-row{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:6px 10px;border-radius:8px;border:1px solid var(--line);margin-bottom:8px}.acc-num{font-family:ui-monospace,SFMono-Regular,monospace;font-size:15px;font-weight:700;color:var(--magenta)}.bank-note{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);color:var(--ink-soft)}.upload-slip-card{padding:28px 24px;border:1px solid var(--line);box-shadow:var(--shadow-md)}.pending-card{border:2px solid rgba(49,46,203,.2);box-shadow:var(--shadow-md)}.status-badge-pending{display:inline-block;background:#ffc85733;color:#b45309;font-weight:800;font-size:13px;letter-spacing:.06em;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,200,87,.4)}.slip-meta-box{background:var(--cream);border-radius:var(--r-md);padding:16px 20px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line)}.meta-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.meta-label{color:var(--ink-soft)}.meta-val{font-weight:700;color:var(--navy)}.meta-val.highlight{color:var(--magenta);font-size:16px}.meta-val.code{font-family:ui-monospace,SFMono-Regular,monospace;background:#fff;padding:2px 8px;border-radius:6px;border:1px solid var(--line)}@media(max-width:860px){.payment-split-grid{grid-template-columns:1fr}}
