:root{--ink: #1a1714;--paper: #f3eee6;--card: #fffaf3;--line: #e4d9c8;--muted: #74685c;--danger: #9d2c2c;--serif: "Fraunces", Georgia, serif;--sans: "Outfit", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}.login{min-height:100vh;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(320px,.95fr)}.brand{background:var(--ink);color:#f6f0e6;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.brand h1{font-family:var(--serif);font-size:clamp(40px,5vw,64px);font-weight:560;letter-spacing:-.045em;line-height:.9}.eyebrow,.fine,.description,.topbar span,.roles p,.status-line{color:var(--muted)}.brand .eyebrow,.brand .fine,.brand .lede{color:#d9cfc3}.lede{margin-top:16px;font-size:20px;max-width:18ch}.panel{padding:48px 40px;display:flex;flex-direction:column;justify-content:center;gap:28px}.form,.roles{display:grid;gap:14px}.form h2{font-family:var(--serif);font-size:36px;font-weight:560}label{display:grid;gap:6px;font-size:14px;font-weight:600}input{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px;color:var(--ink)}input:focus{outline:2px solid #c4522a;border-color:transparent}.primary,.topbar button{border:0;border-radius:999px;padding:12px 18px;background:var(--ink);color:#f6f0e6;font-weight:600}.primary:disabled,.role-chip:disabled{opacity:.6;cursor:wait}.form-error{color:var(--danger)}.role-grid{display:flex;flex-wrap:wrap;gap:8px}.role-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;color:var(--ink)}.dot{width:8px;height:8px;border-radius:99px}.desk{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:var(--ink);color:#f6f0e6}.topbar strong{font-family:var(--serif);font-size:22px;font-weight:560}.topbar-actions{display:flex;align-items:center;gap:16px}.topbar span{color:#d9cfc3}.topbar button{background:transparent;border:1px solid #8a8076}.stage{width:min(880px,calc(100% - 32px));margin:0 auto;padding:36px 0 72px}.welcome h2{margin-top:28px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.feature-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.feature-card{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px;color:inherit}.feature-card strong{display:block;margin-top:6px;font-size:18px}.feature-card p{margin-top:6px;color:var(--muted)}.feature-card .state{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.feature-card.locked{background:transparent}.feature-card[aria-pressed=true]{outline:2px solid var(--ink)}.feature-note{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}.role-pill{display:inline-flex;color:#fff;border-radius:999px;padding:8px 14px;font-weight:600}.welcome h1{margin-top:18px;font-family:var(--serif);font-weight:560;font-size:clamp(36px,5vw,56px);letter-spacing:-.045em;line-height:.92}.person{margin-top:18px;font-size:22px;font-weight:600}.description{margin-top:8px;font-size:18px;max-width:36ch}.welcome .fine{margin-top:22px}.status-screen,.status-line,.status-block{padding:48px 20px;text-align:center}.status-block{display:grid;gap:14px;justify-items:center}@media(max-width:860px){.login{grid-template-columns:1fr}.brand{min-height:240px;padding:28px}.panel{padding:28px 20px 40px}.topbar{padding:14px 16px}.topbar-actions span{display:none}}
