:root{--ground: #EBE7DC;--panel: #F5F1E7;--panel-2: #EFEADE;--raise: #FBF8F0;--ink: #1C2230;--ink-soft: #565C6B;--ink-faint: #8B8F9C;--hair: #DAD3C4;--hair-strong: #C7BDA6;--gold: #8C6D28;--gold-bright: #A9852F;--pos: #2F7A5A;--neg: #9C5645;--serif: "Hoefler Text","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans: "Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono: ui-monospace,"SF Mono","SFMono-Regular",Menlo,Consolas,monospace;--shadow: 0 1px 2px rgba(0,0,0,.04)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #0C1119;--panel: #141B27;--panel-2: #101722;--raise: #1B2434;--ink: #ECE7D8;--ink-soft: #A2A8B6;--ink-faint: #6E7686;--hair: #232D3D;--hair-strong: #324056;--gold: #C6A15B;--gold-bright: #D8B570;--pos: #5FB08A;--neg: #C88A5C;--shadow: 0 1px 2px rgba(0,0,0,.3)}}:root[data-theme=dark]{--ground: #0C1119;--panel: #141B27;--panel-2: #101722;--raise: #1B2434;--ink: #ECE7D8;--ink-soft: #A2A8B6;--ink-faint: #6E7686;--hair: #232D3D;--hair-strong: #324056;--gold: #C6A15B;--gold-bright: #D8B570;--pos: #5FB08A;--neg: #C88A5C;--shadow: 0 1px 2px rgba(0,0,0,.3)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.pos{color:var(--pos)}.neg{color:var(--neg)}.eyebrow{font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);font-weight:500}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100%}.side{background:var(--panel-2);border-right:1px solid var(--hair);padding:1.3rem 1rem;display:flex;flex-direction:column;gap:1.4rem;position:sticky;top:0;height:100vh}.brand{font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:.01em}.brand .dot{color:var(--gold)}.brand small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-top:.25rem}.hh-switch{display:flex;flex-direction:column;gap:.3rem}.hh-switch button{text-align:left;background:transparent;border:1px solid var(--hair);color:var(--ink-soft);padding:.5rem .6rem;border-radius:6px;cursor:pointer;font-family:var(--sans);font-size:.82rem}.hh-switch button.on{background:var(--gold);color:#1a1400;border-color:var(--gold);font-weight:500}.nav{display:flex;flex-direction:column;gap:.1rem}.nav a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:6px;color:var(--ink-soft);font-size:.88rem}.nav a.on{background:var(--panel);color:var(--ink);box-shadow:inset 2px 0 0 var(--gold)}.nav a:hover{background:var(--panel)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.side-foot button{background:transparent;border:1px solid var(--hair);color:var(--ink-soft);padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.74rem}.main{padding:1.8rem clamp(1rem,3vw,2.6rem) 4rem;max-width:1180px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;border-bottom:1px solid var(--hair-strong);padding-bottom:.8rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-title{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin:0}.page-sub{font-size:.82rem;color:var(--ink-soft)}.grid{display:grid;gap:1rem}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.3rem}.kpi{background:var(--panel);border:1px solid var(--hair);border-top:2px solid var(--gold);border-radius:8px;padding:1rem 1.1rem;box-shadow:var(--shadow)}.kpi .k{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.kpi .v{font-family:var(--serif);font-size:1.7rem;margin-top:.3rem;font-variant-numeric:tabular-nums}.kpi .sub{font-size:.74rem;color:var(--ink-soft);margin-top:.15rem}.card{background:var(--panel);border:1px solid var(--hair);border-radius:8px;box-shadow:var(--shadow)}.card>h3{font-family:var(--serif);font-weight:500;font-size:1.05rem;margin:0;padding:.9rem 1.1rem;border-bottom:1px solid var(--hair)}.card .body{padding:1.1rem}.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 820px){.cols-2,.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}}table.tbl{width:100%;border-collapse:collapse;font-size:.84rem}table.tbl th{text-align:left;font-family:var(--sans);font-weight:500;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);padding:.5rem .7rem;border-bottom:1px solid var(--hair-strong)}table.tbl td{padding:.5rem .7rem;border-bottom:1px solid var(--hair)}table.tbl tr:last-child td{border-bottom:0}table.tbl td.r,table.tbl th.r{text-align:right;font-variant-numeric:tabular-nums}.row-click{cursor:pointer}.row-click:hover{background:var(--panel-2)}.sub-row td{background:var(--panel-2);font-size:.8rem;color:var(--ink-soft)}.sub-row td:first-child{padding-left:1.8rem}.pill{display:inline-block;font-size:.62rem;letter-spacing:.04em;padding:.12rem .45rem;border-radius:4px;border:1px solid var(--hair-strong);color:var(--ink-soft)}.pill.gold{background:var(--gold);color:#1a1400;border-color:var(--gold)}.pill.pos{color:var(--pos);border-color:var(--pos)}.pill.neg{color:var(--neg);border-color:var(--neg)}.legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem}.legend span{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--ink-soft)}.legend i{width:.7rem;height:.7rem;border-radius:2px;display:inline-block}.empty{color:var(--ink-faint);font-size:.85rem;padding:1.4rem;text-align:center}.btn{background:var(--gold);color:#1a1400;border:none;padding:.55rem .9rem;border-radius:6px;font-weight:500;cursor:pointer;font-family:var(--sans);font-size:.85rem}.btn.ghost{background:transparent;border:1px solid var(--hair-strong);color:var(--ink)}.tag-row{display:flex;gap:.4rem;flex-wrap:wrap}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--hair);border-top:3px solid var(--gold);border-radius:10px;padding:2rem 1.8rem;box-shadow:var(--shadow)}.auth-card h1{font-family:var(--serif);font-weight:500;font-size:2rem;margin:0}.auth-card h1 .dot{color:var(--gold)}.auth-card p.lede{color:var(--ink-soft);font-size:.85rem;margin:.3rem 0 1.4rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}.field input{background:var(--raise);border:1px solid var(--hair-strong);border-radius:6px;padding:.6rem .7rem;color:var(--ink);font-family:var(--sans);font-size:.9rem}.field input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}.auth-msg{font-size:.8rem;padding:.5rem .6rem;border-radius:6px;margin-bottom:.8rem}.auth-msg.err{background:color-mix(in srgb,var(--neg) 16%,transparent);color:var(--neg)}.auth-msg.ok{background:color-mix(in srgb,var(--pos) 16%,transparent);color:var(--pos)}.link-btn{background:none;border:none;color:var(--gold-bright);cursor:pointer;font-size:.8rem;padding:0}.spinner{padding:3rem;text-align:center;color:var(--ink-faint);font-size:.9rem}
