:root{--navy:#0b2a63;--navy-light:#16408f;--sky:#18a6fb;--sky-soft:#18a6fb1a;--bg:#f4f7fb;--surface:#fff;--border:#dfe6f0;--text:#1c2b45;--text-muted:#64748b;--danger:#d92d20;--danger-bg:#fdecea;--sans:"Segoe UI", system-ui, Roboto, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}.login-screen{background:linear-gradient(135deg, #071b45 0%, var(--navy) 45%, var(--navy-light) 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:var(--surface);border-radius:20px;grid-template-columns:1fr 1fr;width:100%;max-width:1080px;min-height:680px;display:grid;overflow:hidden;box-shadow:0 30px 70px #06143073}.login-brand-side{background:linear-gradient(135deg, var(--navy-light) 0%, var(--navy) 55%, #071b45 100%);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:44px 40px;display:flex;position:relative;overflow:hidden}.brand-mark{justify-content:center;align-items:center;width:440px;max-width:100%;margin:0 auto 6px;display:flex;position:relative}.brand-mark:before{content:"";filter:blur(6px);z-index:0;background:radial-gradient(circle,#fffffff2 0%,#ffffff59 55%,#0000 78%);position:absolute;inset:-20% -10%}.brand-mark img{z-index:1;object-fit:contain;filter:drop-shadow(0 20px 30px #00000073);width:100%;height:auto;position:relative}.brand-tagline{letter-spacing:-.3px;color:#fff;margin:0;font-size:24px;font-weight:800}.brand-copy{color:#ffffffc7;max-width:320px;margin:0;font-size:14px;line-height:1.6}.brand-footer{letter-spacing:.4px;color:#fff9;text-transform:uppercase;margin-top:30px;font-size:12px;font-weight:700}.login-form-side{justify-content:center;align-items:center;padding:40px;display:flex}.login-card{flex-direction:column;gap:16px;width:100%;max-width:360px;display:flex}.login-eyebrow{letter-spacing:.6px;text-transform:uppercase;color:var(--sky);font-size:11.5px;font-weight:800}.login-card h1{color:var(--navy);margin:2px 0 0;font-size:25px}.login-card .subtitle{color:var(--text-muted);margin:0 0 8px;font-size:13.5px}.login-card label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.login-card input{border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.login-card input:focus{outline:2px solid var(--sky);outline-offset:1px}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:56px}.toggle-visibility{color:var(--sky);background:0 0;border:none;padding:6px 8px;font-size:12px;font-weight:700;position:absolute;right:6px}.submit-btn{background:var(--navy);color:#fff;border:none;border-radius:8px;margin-top:8px;padding:12px;font-size:14.5px;font-weight:700;transition:background .15s}.submit-btn:hover:not(:disabled){background:var(--navy-light)}.submit-btn:disabled{opacity:.6;cursor:default}.login-hint{color:var(--text-muted);margin:4px 0 0;font-size:11.5px;line-height:1.5}.error-text{color:var(--danger);background:var(--danger-bg);border-radius:7px;margin:0;padding:8px 10px;font-size:12.5px}@media (width<=720px){.login-panel{grid-template-columns:1fr}.login-brand-side{padding:32px 28px}.brand-copy{max-width:none}}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#fff;flex-direction:column;flex-shrink:0;width:220px;padding:22px 16px;display:flex}.brand-name{font-size:17px;font-weight:800}.brand-sub{opacity:.7;margin-top:2px;font-size:11.5px}.sidebar nav{flex-direction:column;gap:4px;margin-top:30px;display:flex}.nav-link{color:#fffc;border-radius:8px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none}.nav-link.active,.nav-link:hover{color:#fff;background:#ffffff1f}.sidebar-footer{border-top:1px solid #ffffff26;margin-top:auto;padding-top:16px}.user-name{font-size:13px;font-weight:700}.user-email{opacity:.7;word-break:break-all;margin-top:2px;font-size:11.5px}.logout-btn{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:7px;width:100%;margin-top:12px;padding:8px;font-size:12.5px}.logout-btn:hover{background:#ffffff1a}.content{flex:1;padding:28px 32px;overflow-x:auto}.loading-screen{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.page h1{color:var(--navy);margin:0 0 4px;font-size:22px}.page-subtitle{color:var(--text-muted);margin:0 0 20px;font-size:13.5px}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.columns{grid-template-columns:repeat(3,minmax(210px,1fr)) minmax(320px,1.6fr);align-items:start;gap:16px;display:grid}.column{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.column h2{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 10px;font-size:13px}.item-list,.question-list{flex-direction:column;gap:6px;max-height:420px;margin:0 0 12px;padding:0;list-style:none;display:flex;overflow-y:auto}.item-btn{text-align:left;background:var(--bg);border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.item-btn.active{border-color:var(--sky);background:var(--sky-soft)}.item-title{color:var(--text);font-size:13.5px;font-weight:700}.item-meta{color:var(--text-muted);font-size:11px}.empty-hint{color:var(--text-muted);padding:6px 0;font-size:12.5px}.add-form{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.add-form input,.add-form select,.add-form textarea{border:1px solid var(--border);border-radius:7px;width:100%;padding:8px 10px}.add-form button{background:var(--sky);color:#fff;border:none;border-radius:7px;padding:9px;font-size:13px;font-weight:700}.add-form button:hover{background:var(--navy-light)}.column-wide{min-width:320px}.question-card{background:var(--bg);border-radius:8px;padding:10px 12px}.question-body{margin-bottom:6px;font-size:13.5px;font-weight:600}.option-list{color:var(--text-muted);flex-direction:column;gap:2px;margin:0 0 6px;padding:0;font-size:12.5px;list-style:none;display:flex}.question-meta{color:var(--sky);text-transform:uppercase;font-size:11px;font-weight:700}.option-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.question-form textarea{resize:vertical}.dropzone{background:var(--surface);border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:20px;padding:36px 20px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone-active{border-color:var(--sky);background:var(--sky-soft)}.dropzone-icon{color:var(--sky);margin-bottom:6px;font-size:22px}.dropzone-text{color:var(--text);font-size:14px;font-weight:700}.dropzone-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.doc-list{flex-direction:column;gap:8px;max-width:640px;display:flex}.doc-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.doc-name{color:var(--navy);font-size:13.5px;font-weight:700;text-decoration:none}.doc-name:hover{text-decoration:underline}.doc-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}.doc-delete{border:1px solid var(--border);color:var(--danger);background:0 0;border-radius:7px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700}.doc-delete:hover{background:var(--danger-bg)}.plan-list{flex-direction:column;gap:8px;max-width:640px;margin-bottom:24px;display:flex}.plan-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.plan-row-inactive{opacity:.6}.plan-name{color:var(--navy);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.plan-code{color:var(--text-muted);background:var(--bg);border-radius:100px;padding:2px 8px;font-size:10.5px;font-weight:700}.plan-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}.plan-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.plan-status{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:10.5px;font-weight:800}.plan-status-active{color:#12805c}.plan-toggle{border:1px solid var(--border);color:var(--navy);background:0 0;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:700}.plan-toggle:hover{background:var(--bg)}.plan-form-title{color:var(--navy);margin:0 0 10px;font-size:15px}.plan-form{max-width:320px}.candidate-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.candidate-table{border-collapse:collapse;width:100%;font-size:13px}.candidate-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px}.candidate-table td{border-bottom:1px solid var(--border);color:var(--text);padding:10px 14px}.candidate-table tr:last-child td{border-bottom:none}.candidate-id{color:var(--navy);font-variant-numeric:tabular-nums;font-weight:700}.candidate-status-pill{text-transform:uppercase;letter-spacing:.4px;background:var(--danger-bg);color:var(--danger);border-radius:100px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-block}.candidate-status-pill.active{color:#12805c;background:#12805c1f}.candidate-search{border:1px solid var(--border);border-radius:8px;width:100%;max-width:320px;margin-bottom:14px;padding:9px 12px}.section-title{color:var(--navy);margin:28px 0 12px;font-size:15px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;max-width:900px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.stat-card-accent{background:var(--navy);border-color:var(--navy)}.stat-card-accent .stat-label{color:#ffffffb3}.stat-card-accent .stat-value{color:#fff}.stat-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:6px;font-size:11.5px;font-weight:700}.stat-value{color:var(--navy);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.stat-value-good{color:#12805c}.stat-value-muted{color:var(--text-muted)}.add-form fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.add-form label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.add-form .state-select{min-height:56px;font-size:16px}.edit-exam{background:var(--sky-soft);color:var(--navy);border:1px solid var(--border);border-radius:8px;margin:6px 10px 12px;padding:8px 12px}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.learning-editor{background:#fff;border:1px solid #dce4ef;border-radius:16px;gap:16px;max-width:760px;margin:24px 0;padding:24px;display:grid}.learning-editor label{gap:7px;font-weight:600;display:grid}.learning-editor input,.learning-editor select,.learning-editor textarea{width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.learning-editor button{cursor:pointer;padding:12px 20px}button.doc-name{cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:0}.folder-breadcrumb{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.course-folders{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:24px 0;display:grid}.course-folder{color:#163555;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e3ed;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;display:flex}.course-folder:hover{background:#f3f9ff;border-color:#2381d4}.course-fields{border:0;min-width:0;padding:0}.course-fields label{flex-direction:column;gap:6px;margin:14px 0;display:flex}.roadmap-editor-step{background:#f4f8fc;border-radius:12px;margin:16px 0;padding:18px}.course-fields button{margin:6px}
