:root{--brand-primary:#071f34;--brand-accent:#f28c28;--bg:#f4f7fa;--panel:#fff;--text:#13212d;--muted:#64748b;--line:#dbe4ec;--success:#13795b;--danger:#b42318;--shadow:0 16px 45px rgba(7,31,52,.09)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,var(--brand-primary),#0b4f87)}.auth-card{width:min(480px,100%);background:#fff;border-radius:24px;padding:36px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.brand-mark{width:52px;height:52px;border-radius:16px;background:var(--brand-accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:26px}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:20px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#0b4f87;margin:14px 0 6px}.muted{color:var(--muted);line-height:1.6}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#334155}input,select{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);min-width:0}.primary,.secondary,.ghost,.danger-button{border:0;border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer}.primary{background:var(--brand-primary);color:#fff}.secondary{background:#e8eef4;color:var(--brand-primary)}.danger-button{background:#fee4e2;color:var(--danger)}button:disabled{cursor:not-allowed;opacity:.55}.ghost{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;width:100%}.form-message{min-height:22px;color:var(--danger);font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--brand-primary);color:#fff;padding:24px 18px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0}.brand-row{display:flex;align-items:center;gap:12px;padding:4px 5px 22px}.brand-row strong,.brand-row small{display:block}.brand-row small{opacity:.65;margin-top:3px;font-size:11px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:11px 12px;border-radius:10px;font-weight:700;cursor:pointer}.nav button:hover,.nav button.active{background:rgba(255,255,255,.1);color:#fff}.nav button.locked{opacity:.45}.sidebar-foot{margin-top:auto}.workspace{min-width:0;padding:0 30px 40px}.topbar{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.topbar h2{margin:0}.context-controls{display:flex;gap:12px;align-items:end}.context-controls label{min-width:190px}.view{padding-top:28px}.hero-panel,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.hero-panel{padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-panel h1{margin:0;font-size:30px}.status-badge{background:#e8f5ef;color:var(--success);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.metric strong{display:block;font-size:28px;color:var(--brand-primary)}.metric span{color:var(--muted);font-size:12px;font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-head h3{margin:0}.panel-head span{font-size:12px;color:var(--muted)}.list{display:grid;gap:10px}.list-row{padding:12px 0;border-top:1px solid #edf2f6;display:flex;justify-content:space-between;gap:15px}.list-row:first-child{border-top:0}.list-row strong{display:block}.list-row small{color:var(--muted)}.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;text-align:left;cursor:pointer}.module-card strong,.module-card small{display:block}.module-card small{color:var(--muted);margin-top:5px}.module-card.disabled{cursor:not-allowed;opacity:.5}.module-card.enabled:hover{border-color:var(--brand-accent);transform:translateY(-1px)}.subscription-banner{margin-top:18px;padding:12px 15px;border:1px solid #f4c07a;background:#fff7ed;border-radius:12px;color:#8a4b08}.module-workspace{max-width:820px}.access-box{margin:24px 0;padding:18px;border-radius:13px;background:#f8fafc;border:1px solid var(--line)}.permission-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.permission{background:#edf2f7;border-radius:999px;padding:6px 9px;font-size:11px;color:#475569}.billing-summary{margin-bottom:18px}.billing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.billing-item{border:1px solid var(--line);border-radius:13px;padding:15px;background:#f8fafc}.billing-item small,.billing-item strong{display:block}.billing-item small{color:var(--muted);margin-bottom:5px}.billing-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}.billing-actions label{min-width:220px}.toast{position:fixed;right:22px;top:22px;z-index:20;background:#111827;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.toast.error{background:#8f1d18}@media(max-width:1050px){.app-shell{grid-template-columns:210px 1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}.workspace{padding:0 20px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;min-height:auto}.nav{grid-template-columns:repeat(2,1fr)}.sidebar-foot{margin-top:18px}.topbar{align-items:flex-start;flex-direction:column;padding:20px 0}.context-controls{width:100%;display:grid;grid-template-columns:1fr}.context-controls label{min-width:0}.metric-grid,.two-col,.module-grid,.billing-grid{grid-template-columns:1fr}.billing-actions{display:grid}.workspace{padding:0 16px 28px}.hero-panel{align-items:flex-start;flex-direction:column}}
