:root{--navy:#0a2040;--navy2:#113865;--blue:#2167ed;--blue-soft:#edf3ff;--gold:#f8bf40;--ink:#182c4b;--muted:#728198;--border:#e3e9f2;--bg:#f5f7fb;--white:#fff;--good:#158465;--bad:#bd3b49;--shadow:0 5px 25px #15345b06;--side:258px;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{text-decoration:none;color:var(--blue)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.23}h1{font-size:32px;font-weight:800;margin-bottom:9px}h2{font-size:23px;font-weight:750}h3{font-size:17px;font-weight:700}p{color:var(--muted);margin-bottom:16px}img{max-width:100%;height:auto;display:block}.ico{width:21px;height:21px;vertical-align:middle;flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #5b91fb;outline-offset:3px}.skip{position:fixed;left:8px;top:-80px;padding:12px;background:#fff;z-index:100}.skip:focus{top:8px}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;background:var(--blue);color:white;font-size:14px;font-weight:650;line-height:1.4;min-height:44px;padding:11px 18px;transition:background .15s,transform .15s}.btn:hover{background:#1155cf;transform:translateY(-1px)}.btn.secondary{background:white;border-color:#dbe3ef;color:var(--ink)}.btn.secondary:hover{background:#f5f8ff}.btn.gold{background:var(--gold);color:#15294c}.btn.danger{background:#fff0f1;color:var(--bad);border-color:#f0d4d8}.btn.sm{padding:8px 12px;min-height:36px;font-size:13px}.btn.full{width:100%}.btn .ico{width:18px;height:18px}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted)}.icon-button:hover{background:var(--blue-soft);color:var(--blue)}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;background:#eef2f8;color:#65748b;font-size:11px;font-weight:650;white-space:nowrap;text-transform:capitalize}.pill.good{background:#e7f6f0;color:#158465}.pill.warn{background:#fff4dc;color:#9f7217}.pill.bad{background:#fff0f2;color:#bb4054}.pill.blue{background:#eaf1ff;color:#2a65d1}.small{font-size:13px}.tiny{font-size:11px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.label{font-size:11px;letter-spacing:.12em;font-weight:750;text-transform:uppercase;color:var(--blue);margin-bottom:12px}.error{padding:12px 14px;background:#fff0f2;border:1px solid #f2d1d8;border-radius:9px;color:#a23247;font-size:13px;margin:12px 0}.notice{background:#eff5ff;border:1px solid #dbe7ff;border-radius:10px;padding:14px 16px;font-size:13px;color:#355585;margin:18px 0}.notice.warn{background:#fff8e9;border-color:#f8e7bc;color:#926a25}.notice.good{background:#edf9f4;border-color:#cdeade;color:#20745a}.notice p:last-child{margin:0}.flex{display:flex;align-items:center;gap:12px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:16px}.gap-top{margin-top:24px}.empty{padding:42px 24px;text-align:center;color:var(--muted)}.empty .ico{width:38px;height:38px;color:#99b3d8;margin-bottom:16px}.empty h3{color:var(--ink);margin-bottom:9px}.empty p{font-size:14px;max-width:420px;margin:0 auto 16px}.boot{min-height:100vh;display:grid;align-content:center;justify-items:center;text-align:center;padding:32px}.boot img{width:70px;border-radius:16px;margin-bottom:20px}.boot h1{font-size:26px}.spinner{width:27px;height:27px;border:3px solid #d6e4f5;border-top-color:var(--blue);border-radius:50%;display:inline-block;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}#busy{position:fixed;inset:0;background:#ffffff60;backdrop-filter:blur(1px);display:grid;place-items:center;z-index:110}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:11px;max-width:calc(100% - 32px);width:max-content;font-size:14px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 30px #0002;z-index:300}#toast.show{transform:translate(-50%,0);opacity:1}dialog{border:0;border-radius:20px;padding:32px;width:min(800px,calc(100% - 24px));max-height:90dvh;overflow:auto;color:var(--ink);box-shadow:0 30px 100px #001c4940}dialog::backdrop{background:#061c3e66;backdrop-filter:blur(3px)}.close-dialog{float:right;width:34px;height:34px;font-size:25px;border:0;border-radius:10px;background:#f0f4fa;color:#6f7e94}.dialog-head{padding-right:32px;margin-bottom:25px}.dialog-head h2{margin:6px 0 10px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.qr-code{display:block;width:160px;background:white;padding:8px;border-radius:12px}
/* Authentication */
.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(390px,44%) 1fr;background:#fff}.auth-aside{background:radial-gradient(ellipse at 10% 0,#2458aa80,transparent 55%),radial-gradient(ellipse at 100% 100%,#188ace50,transparent 55%),linear-gradient(150deg,#071b37,#123969);color:white;padding:40px 52px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.brand{display:flex;gap:11px;align-items:center;color:inherit}.brand img{width:47px;height:47px;object-fit:contain;border-radius:11px}.brand strong{font-size:20px;font-weight:800;letter-spacing:-.7px;display:block;line-height:1.3}.brand strong em{font-style:normal;color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:4px;opacity:.65}.auth-message{position:relative;z-index:2;max-width:440px;padding:65px 0 40px}.auth-message .label{color:#a8c8ff}.auth-message h1{font-size:clamp(36px,3.8vw,53px);line-height:1.13;letter-spacing:-1.9px;margin-bottom:25px}.auth-message h1 span{color:#ffd479}.auth-message p{color:#b8cbe5;font-size:16px;line-height:1.8;max-width:380px}.auth-features{display:grid;gap:18px;margin-top:28px}.auth-feature{display:flex;align-items:center;gap:12px;color:#e7effc;font-size:14px}.auth-feature .ico{padding:9px;width:40px;height:40px;border-radius:11px;background:#ffffff12;color:#f3cf74}.auth-footer{font-size:11px;color:#94afcf;display:flex;align-items:center;gap:12px}.auth-orbit{position:absolute;width:500px;height:500px;right:-270px;top:25%;border:1px solid #ffffff13;border-radius:50%}.auth-orbit:before,.auth-orbit:after{content:'';position:absolute;inset:44px;border:1px solid #ffffff16;border-radius:50%}.auth-orbit:after{inset:88px;border-color:#f5c65a2b}.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 40px;background:radial-gradient(at 100% 0,#edf4ff,transparent 45%)}.auth-card{width:min(560px,100%)}.auth-card h1{font-size:32px;margin-bottom:12px}.auth-card>.muted{margin-bottom:28px;font-size:15px}.auth-card .label{margin-bottom:12px}.auth-tabs{display:flex;gap:5px;padding:5px;background:#f0f4f9;border:1px solid var(--border);border-radius:12px;margin:25px 0}.auth-tabs button{flex:1;padding:9px 8px;border:0;border-radius:8px;font-size:12px;font-weight:650;color:#718098;background:transparent}.auth-tabs .active{background:#fff;color:var(--blue);box-shadow:0 3px 12px #0a204010}.auth-switch{text-align:center;font-size:14px;margin:25px 0 0;color:var(--muted)}.auth-switch a{font-weight:650}.auth-back{font-size:13px;display:flex;gap:6px;align-items:center;margin-top:28px;color:var(--muted)}.auth-hint{font-size:12px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:25px;color:#92a0b3}.auth-hint .ico{width:15px;height:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid .full{grid-column:1/-1}.field{display:grid;gap:7px;min-width:0}.field>span{font-size:13px;font-weight:650;color:#3b4f6d}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:45px;padding:11px 12px;background:#fff;border:1px solid #dce4ef;border-radius:9px;color:var(--ink);font-size:14px;line-height:1.5;outline-offset:2px}.field input::placeholder,.field textarea::placeholder{color:#a2adbe}.field textarea{min-height:100px;resize:vertical}.field small{font-size:11px;color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#75a0f4;box-shadow:0 0 0 3px #2167ed0c}.field input[readonly]{background:#f6f8fb}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-wrap button{position:absolute;right:6px;top:4px;border:0;background:none;color:#7e8fa8;height:36px;width:36px}.check-row{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#5f718b;margin:19px 0}.check-row input{width:17px;height:17px;accent-color:var(--blue);margin:2px 0 0;flex-shrink:0}.form-steps{display:flex;margin:27px 0;gap:12px}.form-steps div{flex:1;font-size:11px;color:#8391a8;display:grid;gap:8px;border-bottom:2px solid var(--border);padding-bottom:12px}.form-steps b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#edf1f7;color:#72839b}.form-steps .active{border-color:var(--blue);color:var(--blue);font-weight:700}.form-steps .active b{background:var(--blue);color:white}
/* Workspace */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--navy);color:#aabbd3;z-index:50;display:flex;flex-direction:column}.sidebar .brand{color:#fff;padding:24px 23px 23px}.sidebar .brand strong{font-size:19px}.sidebar .brand img{width:41px;height:41px}.sidebar .brand small{font-size:7px;letter-spacing:1.2px}.workspace-label{margin:0 18px 18px;padding:11px 13px;display:flex;align-items:center;gap:9px;background:#ffffff0b;border:1px solid #ffffff11;border-radius:11px;color:#ccdaee;font-size:12px}.workspace-label .ico{width:16px;height:16px;color:#eac268}.nav-scroll{overflow-y:auto;flex:1;padding:0 14px 15px;scrollbar-width:thin;scrollbar-color:#334a67 transparent}.nav-group{margin:18px 9px 8px;font-size:9px;font-weight:650;letter-spacing:1.8px;color:#7089ab}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-bottom:3px;border-radius:9px;font-size:12.5px;color:#aebed6;transition:.16s}.nav-link .ico{width:18px;height:18px}.nav-link:hover{background:#ffffff09;color:white}.nav-link.active{background:var(--blue);color:white;font-weight:650;box-shadow:0 5px 16px #04173540}.nav-link.active:after{content:'';width:5px;height:5px;border-radius:50%;background:#fff;margin-left:auto}.sidebar-footer{border-top:1px solid #ffffff0d;padding:17px 21px;font-size:11px;display:flex;align-items:center;gap:9px}.sidebar-footer .ico{color:#dfbc69;width:16px;height:16px}.sidebar-footer small{display:block;font-size:9px;color:#6f87a7;margin-top:2px}.shell{margin-left:var(--side);min-height:100vh;min-width:0}.topbar{height:82px;border-bottom:1px solid var(--border);background:#fffffff5;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px;position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:18px;min-width:0}.breadcrumb{font-size:12px;color:#8b99ad;display:flex;align-items:center;gap:10px}.breadcrumb strong{font-weight:550;color:#3d5575}.breadcrumb .ico{width:16px;height:16px}.topbar-actions{display:flex;align-items:center;gap:13px}.top-search{display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;background:#f8fafc;padding:8px 12px;color:#9ba9bc;gap:9px}.top-search input{border:0;background:transparent;width:180px;outline:none;font-size:12px;color:var(--ink)}.top-search .ico{width:16px;height:16px}.user-badge{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:0}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,#347fec,#154cb2);font-size:12px;font-weight:750;flex-shrink:0}.user-badge strong{display:block;font-size:12px;color:var(--ink)}.user-badge small{display:block;font-size:10px;color:#94a0b2;margin-top:1px;text-transform:capitalize}.notification-button{position:relative;border:0}.notification-button .dot{position:absolute;top:5px;right:7px;width:6px;height:6px;background:#ee9b38;border:1px solid white;border-radius:50%}.menu-toggle{display:none}.main{padding:30px 32px 35px;max-width:1700px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:27px}.page-head h1{font-size:28px}.page-head p{font-size:13px;margin:6px 0 0}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.date-chip{padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:9px;color:#6d7f97;font-size:11px;display:flex;gap:9px;align-items:center}.date-chip .ico{width:15px;height:15px}.card{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);min-width:0}.card-pad{padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 23px;border-bottom:1px solid var(--border)}.card-head h2{font-size:16px;margin:0;font-weight:700}.card-head a{font-size:12px;font-weight:650}.card-head p{font-size:12px;margin:5px 0 0}.welcome{padding:29px 32px;border-radius:17px;background:linear-gradient(112deg,#0d3469,#1651a6 70%,#2769c6);position:relative;overflow:hidden;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;min-height:186px}.welcome .label{font-size:10px;color:#accbfb;margin-bottom:12px}.welcome h2{font-size:26px;max-width:550px;margin-bottom:12px}.welcome h2 span{color:#fdd66d}.welcome p{color:#b9cfee;font-size:13px;max-width:560px;line-height:1.7;margin-bottom:20px}.welcome .btn{font-size:12px;min-height:37px;padding:9px 14px}.welcome-copy{position:relative;z-index:2}.welcome-art{width:185px;min-width:145px;position:relative;z-index:1}.welcome:after{content:'';position:absolute;width:390px;height:390px;border:1px solid #ffffff18;border-radius:50%;right:-100px;top:-110px}.welcome-art .ico{width:76px;height:76px;color:#bdddff;display:block;margin:auto;filter:drop-shadow(0 10px 16px #102d6870)}.orb{position:absolute;border-radius:20px;border:1px solid #ffffff33;background:linear-gradient(140deg,#ffffff30,#ffffff0b);width:58px;height:58px;display:grid;place-items:center;transform:rotate(-12deg)}.orb .ico{width:30px;height:30px;color:#fadc83;filter:none}.orb.a{top:-43px;right:0}.orb.b{bottom:-48px;left:0;transform:rotate(13deg)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{padding:21px 20px;background:#fff;border:1px solid var(--border);border-radius:14px;display:flex;justify-content:space-between;gap:12px;box-shadow:var(--shadow)}.stat-label{font-size:11px;color:#7c8da4;display:block;margin-bottom:11px;font-weight:550}.stat strong{font-size:28px;letter-spacing:-1px;font-weight:750;line-height:1.2;display:block}.stat small{font-size:10px;color:#93a2b6;display:block;margin-top:10px}.stat-icon{height:43px;width:43px;border-radius:12px;display:grid;place-items:center;background:#edf2ff;color:#3d6fe4;flex-shrink:0}.stat-icon.green{background:#e8f6f0;color:#319577}.stat-icon.gold{background:#fff4db;color:#bc912c}.stat-icon.purple{background:#f0edfc;color:#8b6ec9}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:24px}.dashboard-grid .full-span{grid-column:1/-1}.learning-item{padding:20px 23px;border-bottom:1px solid var(--border)}.learning-item:last-child{border:0}.learning-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.learning-top h3{font-size:14px;margin:0 0 5px}.learning-top p{font-size:11px;margin:0}.progress{height:6px;border-radius:50px;background:#eaf0f8;overflow:hidden;min-width:60px}.progress span{display:block;height:100%;border-radius:50px;background:linear-gradient(90deg,#2065e7,#6aa5ff)}.progress-line{display:flex;gap:12px;align-items:center}.progress-line .progress{flex:1}.progress-line span{font-size:10px;color:#8899b0}.list-row{display:flex;align-items:flex-start;gap:12px;padding:17px 22px;border-bottom:1px solid #edf0f6}.list-row:last-child{border:0}.list-row .row-icon{display:grid;place-items:center;width:37px;height:37px;background:#eff4fd;border-radius:10px;color:#6489c8;flex-shrink:0}.list-row .row-icon .ico{width:17px;height:17px}.list-row h3{font-size:13px;margin:0 0 4px;font-weight:650}.list-row p{font-size:11px;margin:0;color:#8898ad}.list-row .grow{flex:1;min-width:0}.list-row .mini-link{font-size:11px;margin-top:3px;display:inline-block}.time-tag{font-size:9px;color:#9ba9ba;margin-left:auto;white-space:nowrap}.trend{padding:23px}.trend svg{width:100%;height:auto;max-height:165px;overflow:visible}.trend text{font-family:var(--font);font-size:10px;fill:#9aa8bb}.chart-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:11px;color:#8392a7}.chart-summary strong{font-size:24px;color:var(--ink);letter-spacing:-1px}.main-footer{display:flex;justify-content:space-between;font-size:10px;color:#98a6b8;margin-top:32px;padding-top:18px;border-top:1px solid var(--border)}
/* Listings, details & data entry */
.toolbar{padding:18px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--border)}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:9px 12px;background:#fafbfd;color:#94a4b9;max-width:380px;flex:1}.search-box input{border:0;background:transparent;outline:none;width:100%;font-size:13px;min-width:0}.search-box .ico{width:18px;height:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.04em;font-weight:650;background:#f8fafc;color:#8292a9;padding:13px 18px;border-bottom:1px solid var(--border);text-transform:uppercase}td{font-size:12px;padding:16px 18px;border-bottom:1px solid #edf1f7;max-width:330px;overflow:hidden;text-overflow:ellipsis;color:#4b607e}tbody tr:hover{background:#fbfcff}td strong{font-weight:650;color:#273e5f}td .btn{min-height:30px;padding:6px 10px;font-size:11px;border-radius:7px}td .ico{width:14px;height:14px}tbody tr:last-child td{border-bottom:0}.pagination{padding:15px 22px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#92a1b5;border-top:1px solid var(--border)}.pagination select{border:1px solid var(--border);padding:5px;border-radius:6px;color:#5c7292;background:#fff}.data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{padding:24px;display:flex;flex-direction:column;min-width:0}.course-card h2{font-size:18px;margin:17px 0 10px}.course-card p{font-size:13px;line-height:1.7;flex:1}.course-meta{display:flex;gap:15px;color:#8393aa;font-size:11px;margin-bottom:22px}.course-meta span{display:flex;align-items:center;gap:5px}.course-meta .ico{width:14px;height:14px}.course-bottom{border-top:1px solid var(--border);padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.course-bottom strong{font-size:17px}.course-bottom .btn{min-height:34px;padding:8px 11px;font-size:11px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px}.detail-hero{border:1px solid #d9e5fa;border-radius:15px;background:linear-gradient(120deg,#edf4ff,#fff);padding:30px;margin-bottom:24px}.detail-hero h1{font-size:30px;max-width:750px;margin:12px 0}.detail-hero .meta-row{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#7387a2;margin-top:20px}.detail-hero .meta-row span{display:flex;align-items:center;gap:7px}.detail-hero .meta-row .ico{width:16px;height:16px}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0}.details>div{min-width:0}.details dt{font-size:11px;color:#8e9cb1;margin-bottom:7px}.details dd{margin:0;font-size:14px;color:#354e70;overflow-wrap:anywhere;white-space:pre-wrap}.details .full{grid-column:1/-1}.prose{font-size:15px;line-height:1.8;color:#506686;white-space:pre-wrap;overflow-wrap:anywhere}.detail-card-title{font-size:16px;margin:0 0 20px}.actions-stack{display:grid;gap:10px}.actions-stack .btn{width:100%;font-size:13px}.attachments{margin-top:24px}.attachment{padding:11px 13px;display:flex;gap:10px;align-items:center;background:#f7f9fd;border-radius:9px;border:1px solid var(--border);font-size:12px;color:#5c7696;margin-bottom:9px}.attachment .ico{width:17px;height:17px}.attachment small{margin-left:auto;color:#98a5b5}.timeline{margin-top:22px}.timeline-step{border-left:2px solid #e2eafa;padding:0 0 22px 20px;position:relative}.timeline-step:before{content:'';position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background:#5d91ef;border:2px solid white}.timeline-step strong{font-size:12px;text-transform:capitalize}.timeline-step p{font-size:12px;margin:5px 0;color:#7588a2}.timeline-step small{font-size:10px;color:#a0adbe}.checks{list-style:none;margin:0;padding:0}.checks li{display:flex;gap:9px;font-size:13px;color:#58708e;margin:11px 0}.checks .ico{width:17px;height:17px;color:#29826a}.checks li.warn .ico{color:#cc9232}.message-bubble{border:1px solid var(--border);background:#fafcff;border-radius:12px;padding:18px;margin-bottom:15px}.message-bubble strong{font-size:12px}.message-bubble p{font-size:14px;line-height:1.7;color:#526b8b;white-space:pre-wrap;margin:8px 0 0}.message-bubble small{font-size:10px;color:#9ba9bb}.assessment-timer{padding:10px 16px;border:1px solid #efdca8;border-radius:10px;background:#fff8e8;color:#9b751f;font-weight:750;font-size:16px;font-variant-numeric:tabular-nums}.question{background:#fff;border:1px solid var(--border);border-radius:14px;padding:25px;margin-bottom:18px}.question h3{font-size:16px;line-height:1.6;margin:10px 0 18px;white-space:pre-wrap}.question-label{font-size:11px;color:#96a2b4;font-weight:650;display:flex;justify-content:space-between}.option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:9px;margin:9px 0;font-size:14px;cursor:pointer}.option:has(input:checked){background:#edf4ff;border-color:#a1bef6;color:#275db5}.option input{accent-color:var(--blue)}.sticky-exam{position:sticky;bottom:14px;background:#fffffff2;border:1px solid var(--border);border-radius:13px;padding:16px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 30px #0b326319;backdrop-filter:blur(10px)}.student-avatar{width:65px;height:65px;border-radius:18px;font-size:23px}.mobile-overlay{display:none}.editor-form .field textarea{min-height:100px}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Readable mobile sizing */
@media(min-width:1750px){:root{--side:280px}.main{padding:36px 42px}.nav-link{font-size:14px}.stat{padding:25px}.stat-label{font-size:13px}.stat strong{font-size:32px}}
@media(max-width:1200px){:root{--side:228px}.sidebar .brand{padding:23px 16px}.sidebar .brand strong{font-size:17px}.nav-link{font-size:12px;padding:11px}.main{padding:25px 22px}.topbar{padding:0 22px}.top-search{display:none}.stats{gap:12px}.stat{padding:18px 16px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.auth-aside{padding:35px}.auth{grid-template-columns:42% 1fr}}
@media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:258px}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.menu-toggle{display:inline-grid}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#071b375e;z-index:45}.topbar{height:72px}.main{padding:25px}.auth{grid-template-columns:38% 1fr}.auth-aside{padding:30px 24px}.auth-message h1{font-size:37px}.auth-feature{font-size:12px}.auth-main{padding:32px}.auth-aside .brand strong{font-size:18px}}
@media(max-width:760px){body{font-size:15px}.auth{grid-template-columns:1fr}.auth-aside{min-height:0;padding:24px;display:block}.auth-message{padding:27px 0 0}.auth-message h1{font-size:29px;margin:0 0 9px;letter-spacing:-.8px}.auth-message p{font-size:13px;margin:0;max-width:none}.auth-features,.auth-footer,.auth-orbit{display:none}.auth-message .label{display:none}.auth-main{padding:30px 24px}.auth-card{max-width:600px}.auth-card h1{font-size:29px}.auth-card>.muted{font-size:14px}.auth-tabs{margin:22px 0}.auth-tabs button{font-size:11px}.field input,.field select,.field textarea{font-size:16px;min-height:47px}.field>span{font-size:13px}.main{padding:22px 17px}.topbar{padding:0 17px;gap:10px;height:66px}.topbar-left{gap:11px}.topbar-actions{gap:6px}.user-badge div:not(.avatar){display:none}.user-badge .avatar{width:34px;height:34px;font-size:11px}.breadcrumb{font-size:11px;gap:6px}.topbar .icon-button{width:34px;height:34px}.page-head{margin-bottom:22px;gap:16px;flex-wrap:wrap}.page-head h1{font-size:25px}.page-head p{font-size:13px}.date-chip{display:none}.head-actions{width:100%}.welcome{padding:25px;min-height:200px}.welcome h2{font-size:24px}.welcome p{font-size:13px;margin-bottom:17px}.welcome-art{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:21px}.stat{padding:18px 15px}.stat-label{font-size:11px;margin-bottom:8px}.stat strong{font-size:26px}.stat small{font-size:10px;margin-top:8px}.stat-icon{width:33px;height:33px;border-radius:10px}.stat-icon .ico{width:17px;height:17px}.dashboard-grid,.detail-layout{grid-template-columns:1fr;gap:19px}.card-head{padding:18px}.card-head h2{font-size:16px}.card-pad{padding:20px}.list-row{padding:16px 18px}.list-row h3{font-size:14px}.list-row p{font-size:12px}.learning-item{padding:20px}.learning-top h3{font-size:15px}.learning-top p{font-size:12px}.main-footer{font-size:10px;gap:12px;flex-wrap:wrap}.toolbar{padding:16px;flex-wrap:wrap}.search-box{max-width:none;width:100%}.toolbar .btn{min-height:38px;font-size:12px}.data-grid{grid-template-columns:1fr;gap:16px}.course-card{padding:23px}.course-card h2{font-size:21px}.course-card p{font-size:14px}.course-meta{font-size:12px}.course-bottom .btn{font-size:13px;min-height:39px}th{padding:12px 15px;font-size:10px}td{padding:15px;font-size:13px}.pagination{padding:14px 16px;flex-wrap:wrap;font-size:12px}.pagination .btn{font-size:12px}.detail-hero{padding:23px}.detail-hero h1{font-size:26px}.detail-hero .meta-row{gap:12px;font-size:12px}.details{gap:20px}.details dt{font-size:12px}.details dd{font-size:14px}.detail-layout>aside{order:2}.form-grid{gap:17px;grid-template-columns:1fr}.form-grid .full{grid-column:auto}.check-row{font-size:13px}.form-steps{gap:8px}.form-steps div{font-size:11px}.dialog-actions{flex-wrap:wrap}dialog{padding:26px 20px;border-radius:16px}.question{padding:21px}.question h3{font-size:16px}.sticky-exam{padding:13px;gap:10px}.sticky-exam .btn{font-size:12px}.assessment-timer{font-size:15px;padding:9px 12px}.auth-switch{font-size:14px}.detail-hero .head-actions{margin-top:18px}.welcome .btn{font-size:13px}.prose{font-size:15px}.actions-stack .btn{font-size:14px}}
@media(max-width:380px){.brand strong{font-size:18px}.stats{gap:9px}.stat{padding:14px 12px}.stat-icon{display:none}.breadcrumb>span:first-child{display:none}.main{padding:20px 13px}.auth-main{padding:26px 19px}.details{grid-template-columns:1fr}.details .full{grid-column:auto}.welcome{padding:22px}.welcome h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.head-actions,.btn,.main-footer,.toolbar,.pagination{display:none!important}.shell{margin:0}.main{padding:0;max-width:none}body{background:white;color:#000}.card{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}table{white-space:normal}.page-head h1{font-size:24pt}}
.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field select[multiple]{min-height:100px}.roster-table input{max-width:230px}@media(max-width:850px){.two-grid{grid-template-columns:1fr}}
