[hidden]{display:none!important}
.theme-toggle{font-size:15px;color:#677895}
#userMenu{padding:0;cursor:pointer;border:2px solid #fff}
.editing{outline:2px solid #a9c4ff;background:#f7faff;border-radius:5px;padding:4px}
.auth-screen{min-height:100vh;background:radial-gradient(circle at 12% 15%,#e3ecff 0,transparent 30%),#f5f7fc;padding:28px 5vw 20px;display:flex;flex-direction:column;justify-content:center;color:#101b3a}
.auth-brand{width:min(1100px,100%);margin:0 auto 20px}.auth-brand .brand{padding:0}.auth-layout{width:min(1100px,100%);min-height:610px;margin:auto;display:grid;grid-template-columns:1.03fr .97fr;background:white;border:1px solid #e6ebf5;border-radius:22px;overflow:hidden;box-shadow:0 22px 70px #243c7114}
.auth-story{padding:50px 48px;position:relative;overflow:hidden;background:linear-gradient(145deg,#f8faff,#eaf1ff)}.auth-story h1{font:800 clamp(27px,3.2vw,40px)/1.16 var(--display);letter-spacing:-1.3px;max-width:480px;margin:18px 0 13px}.auth-story>p{font-size:13px;line-height:1.65;color:#75819b;max-width:440px}.auth-feature{display:flex;align-items:flex-start;gap:11px;margin-top:24px;position:relative;z-index:1}.auth-feature>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#ddf7ed;color:#0d9b6b;font-size:12px;font-weight:800}.auth-feature strong,.auth-feature small{display:block}.auth-feature strong{font-size:11px}.auth-feature small{font-size:9px;color:#8792a8;margin-top:3px}.auth-art{position:absolute;width:64%;height:260px;right:-25px;bottom:4px;opacity:.76}.auth-art svg{width:100%;height:100%}
.auth-panel{padding:52px 50px;display:flex;flex-direction:column;justify-content:center}.auth-panel-head{display:flex;align-items:center;gap:13px}.auth-mark{width:42px;height:42px;border-radius:13px;background:#eff4ff;display:grid;place-items:center}.auth-mark .brand-mark{padding:0}.auth-panel-head h2{font:800 20px var(--display);margin:0;letter-spacing:-.5px}.auth-panel-head p{font-size:10px;color:#8691a6;margin:5px 0 0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e9edf5;margin:28px 0 21px}.auth-tabs button{padding:11px 7px;border:0;border-bottom:2px solid transparent;background:none;color:#8c97aa;font-size:10px;cursor:pointer}.auth-tabs button.active{color:#2463eb;border-color:#2463eb;font-weight:800}.auth-panel form{display:grid;gap:14px}.auth-panel label{font-size:10px;font-weight:700;color:#485571;display:grid;gap:7px}.auth-panel input{width:100%;height:42px;border-radius:9px;border:1px solid #e3e8f1;background:#fff;padding:0 12px;outline:none;font:500 11px var(--font);color:#172342}.auth-panel input:focus{border-color:#8aabf4;box-shadow:0 0 0 3px #2463eb12}.password-field{display:flex;position:relative}.password-field input{padding-right:75px}.password-eye{position:absolute;right:10px;top:0;height:42px;background:none;border:0;color:#2864e7;font-size:9px;font-weight:700;cursor:pointer}.auth-submit{height:42px;margin-top:1px}.auth-error{font-size:10px;line-height:1.4;color:#c6484c;min-height:0}.auth-error:empty{display:none}.demo-login{display:grid;gap:6px;border:1px solid #e8edf6;background:#f9faff;border-radius:11px;padding:13px;margin-top:16px;font-size:9px;color:#78849b}.demo-login strong{font-size:10px;color:#394966}.demo-login code{font:700 9px var(--font);color:#1757ce;background:#edf3ff;padding:3px 5px;border-radius:4px}.demo-login>button{border:0;background:none;padding:4px 0 0;text-align:left;color:#2463eb;font-size:9px;font-weight:700;cursor:pointer}.demo-login details{padding-top:5px}.demo-login summary{cursor:pointer;color:#52617c;font-weight:700}.demo-account-list{display:grid;gap:5px;max-height:120px;overflow:auto;margin-top:7px}.demo-account{display:flex;justify-content:space-between;gap:6px;padding:6px 7px;border-radius:6px;background:#fff;text-align:left;border:1px solid #edf0f6;color:#56647f;font-size:8px;cursor:pointer}.demo-account:hover{border-color:#b8ccfa}.auth-legal{font-size:8px;line-height:1.5;color:#a0a9b8;text-align:center;margin-top:15px}.auth-footer{text-align:center;color:#9aa4b7;font-size:9px;padding-top:18px}
.modal-backdrop{position:fixed;inset:0;background:#0e1a36a8;z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.detail-modal{position:relative;width:min(900px,100%);max-height:min(85vh,760px);overflow:auto;background:#fff;border-radius:18px;padding:27px 30px;box-shadow:0 24px 80px #0b18363b}.modal-close{position:absolute;top:17px;right:18px;width:32px;height:32px;background:#f2f5fb;border:0;border-radius:9px;font-size:22px;color:#72809a;cursor:pointer}.detail-modal h2{font:800 23px var(--display);letter-spacing:-.6px;margin:0 45px 7px 0}.module-intro{font-size:11px;color:#7e8aa2;line-height:1.55;margin:0 0 18px}.module-modal-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.module-modal-grid h3{font:800 12px var(--display);margin:0 0 10px}.resource-row,.task-row{padding:10px 0;border-top:1px solid #edf0f5;display:flex;align-items:center;gap:9px}.resource-row{flex-wrap:wrap}.resource-row strong,.task-row strong{font-size:9px}.resource-row small,.task-row small{display:block;width:100%;color:#929caf;font-size:8px;margin-top:3px}.resource-type{padding:4px 6px;background:#edf3ff;color:#2864e7;border-radius:5px;font-size:8px;font-weight:700}.task-row{justify-content:space-between}.task-row>div{max-width:68%}.task-state{border:1px solid #dbe5f8;background:#f7f9ff;border-radius:7px;color:#2864e7;font-size:8px;font-weight:700;padding:7px 8px;white-space:nowrap;cursor:pointer}.task-state.done{background:#e8f8f1;color:#128e64;border-color:#d2f0e4}.modal-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f5;margin-top:18px;padding-top:14px}
body[data-theme=dark]{--ink:#eef3ff;--muted:#a3aec4;--pale:#101827;--line:#2c374b;--shadow:0 10px 32px #0003;background:#101827;color:#eef3ff;color-scheme:dark}
body[data-theme=dark] .sidebar,body[data-theme=dark] .panel,body[data-theme=dark] .stat-card,body[data-theme=dark] .module-card,body[data-theme=dark] .topbar,body[data-theme=dark] .portfolio-tile,body[data-theme=dark] .detail-modal{background:#172235;border-color:#2a374d;color:#eef3ff}
body[data-theme=dark] .sidebar{border-right-color:#29354a}body[data-theme=dark] .topbar{background:#131e30;border-bottom-color:#29354a}body[data-theme=dark] .nav-item{color:#aeb9ce}body[data-theme=dark] .nav-item:hover{background:#202d43}body[data-theme=dark] .nav-item.active{background:#203458;color:#8db5ff}body[data-theme=dark] .brand-name,body[data-theme=dark] h1,body[data-theme=dark] h2,body[data-theme=dark] h3,body[data-theme=dark] h4,body[data-theme=dark] strong{color:#eef3ff}body[data-theme=dark] .hero,body[data-theme=dark] .database-hero{background:linear-gradient(110deg,#172235,#1b2d4a);border-color:#2c3b54}body[data-theme=dark] .help-card,body[data-theme=dark] .news-card,body[data-theme=dark] .auth-panel,body[data-theme=dark] .readiness-ring:before{background:#1c2a40;border-color:#2c3b54}body[data-theme=dark] .auth-panel input,body[data-theme=dark] .search-input,body[data-theme=dark] .select-input{background:#111c2e;color:#eef3ff;border-color:#35435a}body[data-theme=dark] .semester-chip,body[data-theme=dark] .icon-button,body[data-theme=dark] .button-light{background:#202d42;color:#d6e0f3;border-color:#35435a}body[data-theme=dark] .panel-head p,body[data-theme=dark] .stat-label,body[data-theme=dark] .detail-row span,body[data-theme=dark] .subtle,body[data-theme=dark] .module-card p,body[data-theme=dark] .breadcrumb{color:#a3aec4}body[data-theme=dark] .detail-row,body[data-theme=dark] .data-table td,body[data-theme=dark] .data-table th,body[data-theme=dark] .tabs,body[data-theme=dark] .deadline-row,body[data-theme=dark] .profile-mini{border-color:#2b374b}body[data-theme=dark] .data-table th{background:#1b293e;color:#a4b0c5}body[data-theme=dark] .module-icon{filter:brightness(.75)}body[data-theme=dark] .score-ring:before{background:#172235}body[data-theme=dark] .detail-modal{background:#172235}body[data-theme=dark] .resource-row,body[data-theme=dark] .task-row{border-color:#2b374b}
@media(max-width:750px){.auth-screen{padding:18px 12px}.auth-brand{margin-bottom:12px}.auth-layout{grid-template-columns:1fr;min-height:0;max-width:500px}.auth-story{padding:26px 24px 22px;min-height:260px}.auth-story h1{font-size:25px;max-width:400px;margin:12px 0 8px}.auth-story>p{font-size:10px;max-width:400px}.auth-feature{display:inline-flex;margin:14px 12px 0 0}.auth-feature small{max-width:175px}.auth-art{width:37%;height:140px;right:-12px;bottom:-15px;opacity:.35}.auth-panel{padding:26px 24px}.auth-tabs{margin:20px 0 16px}.module-modal-grid{grid-template-columns:1fr}.detail-modal{padding:24px 20px}.detail-modal h2{font-size:20px}.modal-footer{align-items:flex-start;gap:10px;flex-direction:column}}
