:root{--ink:#1a1410;--paper:#f4efe6;--card:#fffdf8;--brand:#b3541e;--brand2:#d97b3f;--line:#e3dac8;--muted:#8a7d68;--ok:#2f7d4f;--ok-bg:#e2f0e6;--warn:#b07d18;--warn-bg:#f6ecd2;--bad:#b3361e;--bad-bg:#f6ddd6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,system-ui,sans-serif;background:var(--paper);color:var(--ink)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}aside{width:248px;flex-shrink:0;background:var(--ink);color:#f4efe6;padding:24px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.logo{display:flex;align-items:center;gap:11px;padding:0 8px 20px}.logo-mark{width:40px;height:40px;border-radius:11px;background:var(--brand);display:grid;place-items:center;flex-shrink:0;color:#fff;font-family:Fraunces,serif;font-weight:700;font-size:22px}.logo-name{font-family:Fraunces,serif;font-weight:700;font-size:19px;line-height:1}.logo-sub{font-size:11px;color:#b6a98f;margin-top:3px;letter-spacing:.04em}.nav-group{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#857964;padding:14px 14px 6px}.nav-btn{display:flex;align-items:center;gap:11px;padding:9px 14px;border-radius:9px;border:none;cursor:pointer;text-align:left;font-size:13.5px;font-weight:500;font-family:inherit;background:transparent;color:#d8cdb6;width:100%}.nav-btn:hover{background:#b3541e1f}.nav-btn.active{background:var(--brand);color:#fff}.side-foot{margin-top:auto;padding:14px 12px 4px;border-top:1px solid #2e271f;font-size:12px;color:#9b8e75}.side-foot b{color:#cdbfa6;display:block}.signout{margin-top:10px;background:#ffffff0f;border:1px solid #2e271f;color:#d8cdb6;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;width:100%}main{flex:1;padding:26px 34px;overflow-y:auto;height:100vh}.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:12px;flex-wrap:wrap}h1{font-family:Fraunces,serif;font-size:28px;font-weight:700}.sub{color:var(--muted);margin-top:4px;font-size:14px}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none}.btn.outline{background:transparent;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2-wide{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.col{display:flex;flex-direction:column;gap:22px}.mini-label{font-size:13px;color:var(--muted);font-weight:500}.mini-val{font-family:Fraunces,serif;font-size:27px;font-weight:700;margin-top:12px}.mini-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.sec-title{font-family:Fraunces,serif;font-size:17px;font-weight:600;margin-bottom:6px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:9px 12px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid var(--line)}tbody tr:hover{background:#faf6ee}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.avatar{width:34px;height:34px;border-radius:9px;background:var(--brand2);color:#fff;display:grid;place-items:center;font-size:12.5px;font-weight:700;flex-shrink:0}.icon-btn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 9px;cursor:pointer;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}.icon-btn.danger:hover{border-color:var(--bad);color:var(--bad)}label{font-size:12.5px;font-weight:600;color:var(--muted);display:block;margin-bottom:5px}input.f,select.f{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line);font-size:14px;font-family:inherit;background:var(--paper);margin-bottom:12px}.row2{display:flex;gap:12px}.row2>div{flex:1}.form-sec{font-family:Fraunces,serif;font-size:14px;font-weight:600;color:var(--brand);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.form-sec:first-child{margin-top:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a141073;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--card);border-radius:16px;padding:26px;width:100%;max-width:440px;box-shadow:0 24px 60px #1a14104d}.modal.lg{max-width:560px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h3{font-family:Fraunces,serif;font-size:21px;font-weight:700}.x-btn{border:none;background:var(--paper);border-radius:8px;padding:7px 10px;cursor:pointer;font-size:15px}.modal-scroll{max-height:62vh;overflow-y:auto;padding-right:6px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#2a2018,#1a1410 70%)}.auth-card{background:var(--card);border-radius:18px;padding:34px 30px;width:100%;max-width:440px;box-shadow:0 30px 80px #00000073}.auth-card.lg{max-width:520px}.auth-brand{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:6px}.auth-brand .logo-mark{width:44px;height:44px;font-size:22px}.auth-brand-name{font-family:Fraunces,serif;font-weight:700;font-size:24px}.auth-sub{text-align:center;color:var(--muted);font-size:13.5px;margin-bottom:22px}.auth-title{font-family:Fraunces,serif;font-size:22px;font-weight:700;margin-bottom:4px}.auth-note{font-size:12px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:18px;line-height:1.5}.auth-link{color:var(--brand);font-weight:600;cursor:pointer}.auth-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13.5px;flex-wrap:wrap;gap:8px}.auth-divider{text-align:center;color:var(--muted);font-size:12px;margin:16px 0 12px}.auth-err{color:var(--bad);font-size:12.5px;margin:-4px 0 10px}.auth-scroll{max-height:48vh;overflow-y:auto;padding-right:6px}.trial-banner{background:var(--warn-bg);color:var(--warn);border:1px solid #ecdca8;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:600;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.trial-banner.grace{background:var(--bad-bg);color:var(--bad);border-color:#e7b8ad}.trial-banner .btn{padding:7px 13px;font-size:13px}.bars{display:flex;align-items:flex-end;gap:18px;height:200px;padding:24px 6px 0}.dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.topbar{display:none;align-items:center;gap:14px;background:var(--ink);color:#f4efe6;padding:12px 16px;position:sticky;top:0;z-index:40}.topbar-title{font-family:Fraunces,serif;font-weight:700;font-size:18px;display:flex;align-items:center;gap:9px}.logo-mark.sm{width:30px;height:30px;font-size:16px;border-radius:8px}.hamburger{background:#ffffff14;border:none;color:#f4efe6;border-radius:9px;padding:7px 9px;cursor:pointer;font-size:18px}.backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a141080;z-index:45}.backdrop.show{display:block}@media (max-width:1024px){main{padding:22px}.grid4{grid-template-columns:repeat(2,1fr)}.grid-2-wide{grid-template-columns:1fr}}@media (max-width:760px){.topbar{display:flex}aside{position:fixed;left:0;top:0;height:100vh;width:264px;max-width:84vw;z-index:50;transform:translate(-100%);transition:transform .26s ease}aside.open{transform:translate(0)}main{padding:18px 16px}.grid4,.grid3{grid-template-columns:1fr}.row2{flex-direction:column;gap:0}.card table{display:block;overflow-x:auto;white-space:nowrap}}
