:root{--ink:#26201c;--gold:#c8993c;--gold-hover:#b3872f;--paper:#f3ead9;--bone:#f6f0e6;--card:#fff;--border:#e4dccb;--text:#26201c;--muted:#8a7f6f;--sidebar:#2a231d;--sidebar-text:#e9dfce;--sidebar-muted:#a99e8a;--ok:#2e7d46;--warn:#b3872f;--danger:#a4453a;--radius:12px;--radius-sm:8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif}a{color:inherit}button{font-family:inherit}.shell{min-height:100%;display:flex}.sidebar{background:var(--sidebar);width:236px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;gap:4px;padding:22px 14px;display:flex}.sidebar__brand{align-items:center;gap:9px;padding:4px 8px 18px;display:flex}.sidebar__mark{background:var(--gold);width:30px;height:30px;color:var(--ink);border-radius:8px;place-items:center;font-weight:800;display:grid}.sidebar__name{letter-spacing:.02em;font-weight:700}.sidebar__tag{text-transform:uppercase;letter-spacing:.16em;color:var(--sidebar-muted);margin-left:auto;font-size:10.5px}.navlink{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.navlink:hover{background:#ffffff0f}.navlink.active{background:var(--gold);color:var(--ink)}.navlink__badge{background:var(--danger);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.navlink.active .navlink__badge{background:var(--ink);color:var(--gold)}.sidebar__spacer{flex:1}.sidebar__foot{color:var(--sidebar-muted);border-top:1px solid #ffffff1a;padding-top:12px;font-size:12.5px}.sidebar__foot strong{color:var(--sidebar-text);font-size:13px;display:block}.sidebar__signout{color:var(--sidebar-text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ffffff24;width:100%;margin-top:8px;padding:7px;font-size:12.5px}.sidebar__signout:hover{background:#ffffff0f}.main{flex:1;min-width:0;padding:28px 34px;overflow-x:hidden}.page__head{margin-bottom:20px}.page__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hover);margin:0 0 4px;font-size:11.5px;font-weight:700}.page__title{margin:0;font-size:25px}.page__desc{color:var(--muted);margin:6px 0 0;font-size:14px}.mockbar{color:#7a5f22;border-radius:var(--radius-sm);background:#c8993c24;border:1px solid #c8993c66;margin-bottom:18px;padding:8px 12px;font-size:12.5px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);padding:12px 14px;font-size:11.5px;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bone)}.t-strong{font-weight:700}.t-mut{color:var(--muted)}.t-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.table__scroll{overflow-x:auto}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.badge--pending{color:#8a6d17;background:#fbf2dd;border-color:#ecd9a6}.badge--info_requested{color:#385c8a;background:#eef3fb;border-color:#cfe0f5}.badge--approved,.badge--active{color:var(--ok);background:#e7f3ea;border-color:#bfe0c9}.badge--rejected,.badge--cancelled{color:var(--danger);background:#f7e7e5;border-color:#e6c3bd}.badge--paused{color:#7a6f5c;background:#f2ede5;border-color:#ddd2be}.badge--auto_approve{color:var(--ok);background:#e7f3ea}.badge--manual_review{color:#8a6d17;background:#fbf2dd}.badge--blocked{color:var(--danger);background:#f7e7e5}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:7px 13px;font-size:13px;font-weight:600}.btn:hover{background:var(--bone)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn--primary:hover{background:var(--gold-hover)}.btn--danger{color:var(--danger);border-color:#e6c3bd}.btn--danger:hover{background:#f7e7e5}.btn--sm{padding:5px 10px;font-size:12px}.btn-row{flex-wrap:wrap;gap:6px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px;display:grid}.tile{padding:16px 18px}.tile__label{color:var(--muted);font-size:12px;font-weight:600}.tile__value{margin-top:4px;font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:800}.grid2{grid-template-columns:1.4fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=900px){.grid2{grid-template-columns:1fr}.sidebar{width:200px}}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:14px 16px 0;font-size:13px;font-weight:700}.chart{padding:14px 16px 8px}.chart svg{width:100%;height:auto;display:block}.chart__bar{fill:var(--gold)}.chart__axis{stroke:var(--border);stroke-width:1px}.chart__lbl{fill:var(--muted);font-size:9px}.kv{grid-template-columns:190px 1fr;gap:0;font-size:13.5px;display:grid}.kv>div{border-bottom:1px solid var(--border);padding:10px 16px}.kv>div:nth-child(4n+1),.kv>div:nth-child(4n+2){background:var(--bone)}.kv__k{color:var(--muted);font-weight:600}.back{color:var(--gold-hover);margin-bottom:12px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-block}.overlay{z-index:50;background:#26201c73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:440px;padding:22px}.modal h3{margin:0 0 6px;font-size:18px}.modal p{color:var(--muted);margin:0 0 14px;font-size:13.5px}.modal textarea,.modal input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.modal textarea{resize:vertical;min-height:84px}.modal__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.auth-wrap{place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:30px 28px}.auth-brand{align-items:center;gap:10px;margin-bottom:20px;display:flex}.auth-title{margin:0 0 4px;font-size:22px}.auth-sub{color:var(--muted);margin:0 0 20px;font-size:13.5px}.field{margin-bottom:14px}.field label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;padding:0 12px;font-size:14.5px}.auth-err{color:var(--danger);border-radius:var(--radius-sm);background:#f7e7e5;border:1px solid #e6c3bd;margin-bottom:12px;padding:9px 12px;font-size:13px}.auth-note{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:18px;padding-top:14px;font-size:11.5px;line-height:1.5}.auth-alt{margin-top:18px}.auth-divider{text-align:center;color:var(--muted);align-items:center;margin-bottom:14px;font-size:12.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{padding:0 12px}.auth-google{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--text);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.auth-google:hover:not(:disabled){background:#f7f7f7;border-color:#26201c38;box-shadow:0 1px 3px #26201c14}.auth-google:disabled{opacity:.6;cursor:default}.auth-google svg{flex-shrink:0}.center-msg{text-align:center;max-width:420px}.center-msg h1{margin:0 0 8px;font-size:24px}.center-msg p{color:var(--muted);line-height:1.6}.empty{text-align:center;color:var(--muted);padding:40px;font-size:14px}.loading{text-align:center;color:var(--muted);padding:40px}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);height:38px;padding:0 12px;font-size:13.5px}.toolbar input{min-width:220px}
