:root{--ink:#102a43;--navy:#071d35;--blue:#0f5ea8;--cyan:#09b9d2;--paper:#f4f7fa;--line:#dbe4ec;--muted:#60758a;--danger:#b42318;--success:#087a55}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--blue)}button,input{font:inherit}.auth-page{background:linear-gradient(135deg,#06182d,#0b3459)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:6vw;max-width:1180px;margin:auto;padding:6vw}.auth-shell.single{grid-template-columns:minmax(300px,520px);justify-content:center}.auth-brand{color:white}.brand-mark{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,var(--cyan),#1476c7);font-size:36px;font-weight:800;box-shadow:0 20px 60px #00152b}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:var(--cyan)}.auth-brand h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:.35em 0}.auth-brand p{max-width:580px;line-height:1.7;color:#b8cfdf}.auth-card,.settings-card{background:white;border-radius:24px;padding:clamp(26px,4vw,48px);box-shadow:0 28px 80px #00152b66}.brand-inline{display:flex;align-items:center;gap:9px;margin-bottom:32px}.brand-inline span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:white;font-weight:800}.brand-inline strong{font-size:20px}.brand-inline small{color:var(--muted);border-left:1px solid var(--line);padding-left:9px}.auth-card h2,.settings-card h1{font-size:30px;margin:0 0 8px}.muted{color:var(--muted);line-height:1.55}.form-stack{display:grid;gap:18px;margin:26px 0 18px}.form-stack.compact{margin-top:14px}.form-stack.narrow{max-width:360px}.form-stack label{display:grid;gap:8px;font-weight:700;font-size:14px}.form-stack input{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;outline:none}.form-stack input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #09b9d220}.form-stack .check{display:flex;align-items:center;font-weight:500;color:var(--muted)}.check input{width:auto}.primary{border:0;border-radius:10px;padding:14px 20px;background:linear-gradient(135deg,var(--blue),#087fae);color:white;font-weight:800;cursor:pointer}.text-link{display:inline-block;margin-top:8px}.security-note{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.notice{padding:12px 14px;border-radius:10px;margin:18px 0}.notice.error{background:#fef3f2;color:var(--danger)}.notice.success{background:#ecfdf3;color:var(--success)}.otp{font-size:24px!important;letter-spacing:.3em;text-align:center}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--navy);color:white;padding:32px 24px;display:flex;flex-direction:column}.brand-inline.light strong{color:white}.brand-inline.light small{color:#91adc2}.sidebar nav{display:grid;gap:6px;margin-top:24px}.sidebar nav a,.sidebar nav span{padding:12px 14px;border-radius:9px;color:#a9bfd1;text-decoration:none}.sidebar nav .active{background:#123b60;color:white}.logout{margin-top:auto;background:transparent;border:1px solid #32516c;color:#bcd0df;padding:11px;width:100%;border-radius:9px}.workspace{padding:38px clamp(24px,5vw,72px)}.workspace-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.workspace-head h1{margin:4px 0;font-size:34px}.user-pill{display:flex;align-items:center;gap:12px;background:white;padding:10px 14px;border-radius:14px;border:1px solid var(--line)}.user-pill>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e5f7fb;color:var(--blue);font-weight:800}.user-pill div{display:grid}.user-pill small{color:var(--muted)}.status-banner{margin:32px 0;background:linear-gradient(120deg,#083054,#0c6c92);color:white;border-radius:20px;padding:25px 28px;display:flex;justify-content:space-between;align-items:center}.status-banner p{margin:6px 0;color:#cae2ef}.status-banner i{background:#0dd0b1;color:#052b2b;padding:8px 12px;border-radius:999px;font-style:normal;font-weight:800}.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-cards article,.modules-placeholder{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.grid-cards article>span{color:var(--cyan);font-weight:900}.grid-cards h2{margin:12px 0 6px}.grid-cards p{color:var(--muted);line-height:1.5}.grid-cards em{color:var(--success);font-style:normal;font-weight:700}.modules-placeholder{margin-top:20px}.modules-placeholder div{display:flex;flex-wrap:wrap;gap:10px}.modules-placeholder span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.settings-shell{max-width:880px;margin:40px auto;padding:20px}.back{text-decoration:none}.settings-card{margin-top:20px}.security-state{border:1px solid var(--line);border-left:4px solid var(--cyan);padding:18px;margin:24px 0;border-radius:10px}.security-state.success{border-left-color:var(--success);background:#f1fbf6}.security-state p{margin:6px 0;color:var(--muted)}.qr-box{display:inline-block;background:white;border:1px solid var(--line);padding:18px;border-radius:14px;margin:20px 0}.qr-box svg{width:220px;height:220px}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;background:var(--paper);padding:18px;border-radius:12px}.recovery-grid code{background:white;padding:9px;border-radius:6px}.action-row{display:flex;gap:12px;margin-top:22px}.action-row button{padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:white}.action-row .danger{color:var(--danger);border-color:#f0b6b2}@media(max-width:820px){.auth-shell{grid-template-columns:1fr;padding:28px}.auth-brand{display:none}.app-shell{grid-template-columns:1fr}.sidebar{padding:18px;flex-direction:row;align-items:center;gap:15px}.sidebar nav{display:none}.sidebar form{margin-left:auto}.logout{margin:0}.workspace-head{align-items:flex-start;flex-direction:column}.grid-cards{grid-template-columns:1fr}.recovery-grid{grid-template-columns:1fr}}
