:root{--surface-000:#0C1016;--surface-100:#141A22;--surface-200:#1C2430;--line:#334052;--line-strong:#5E6E84;--ink:#EEF1F5;--ink-muted:#98A3B3;--brand:#F5B23C;--brand-fill:#F5B23C;--on-brand:#1A1204;--mane:#F07A4E;--profit:#2FD0A0;--loss:#FF6B6B;--info:#6EA8FF;--profit-soft:rgba(47,208,160,.14);--loss-soft:rgba(255,107,107,.14);--brand-soft:rgba(245,178,60,.14);--focus:#F5B23C;--font-display:"Chakra Petch","Be Vietnam Pro",system-ui,sans-serif;--font-sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;color-scheme:dark}:root[data-theme=light]{--surface-000:#F6F4EF;--surface-100:#FFFFFF;--surface-200:#EFECE5;--line:#C9C3B8;--line-strong:#8C857A;--ink:#14181E;--ink-muted:#5A6370;--brand:#94600A;--mane:#B8481F;--profit:#08795D;--loss:#C42F2B;--info:#2659BD;--profit-soft:rgba(8,121,93,.1);--loss-soft:rgba(196,47,43,.1);--brand-soft:rgba(245,178,60,.18);--focus:#94600A;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--surface-000);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:22px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.top{position:sticky;top:0;z-index:5;background:var(--surface-000);border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;gap:var(--space-3);min-height:60px;flex-wrap:wrap;padding-block:8px}.logo{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--ink)}.logo img{width:40px;height:40px;object-fit:contain}.logo b{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.06em}.logo:hover{text-decoration:none}.tabs{display:flex;gap:4px;overflow-x:auto}.tabs a{padding:8px 12px;border-radius:var(--radius-full);color:var(--ink-muted);font-weight:500;white-space:nowrap}.tabs a.on{background:var(--brand-soft);color:var(--brand)}.tabs a:hover{text-decoration:none;color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:transparent;padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap}.btn:hover{background:var(--surface-200)}.btn.pri{background:var(--brand-fill);color:var(--on-brand);border-color:var(--brand-fill)}.btn.pri:hover{filter:brightness(1.05)}.btn.sm{padding:5px 10px;font-size:13px}.btn:disabled{opacity:.6;cursor:default}main{padding-block:var(--space-6) 64px;display:grid;gap:var(--space-6)}h1,h2,h3{margin:0;text-wrap:balance}.h-display{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:.01em}.h-lg{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,3.4vw,32px);line-height:1.2}.title{font-size:20px;line-height:28px;font-weight:600}.small{font-size:13px;line-height:18px}.muted{color:var(--ink-muted)}.label{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.num-xl{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:clamp(24px,3.6vw,34px);line-height:1.15}.pos{color:var(--profit)}.neg{color:var(--loss)}.card{background:var(--surface-100);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;gap:var(--space-4);min-width:0}@media (max-width:600px){.card{padding:var(--space-4)}}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:var(--surface-100);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:4px;min-width:0}.kpi .sub{font-size:13px;color:var(--ink-muted)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.row .grow{margin-right:auto}.grid2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-6)}@media (max-width:900px){.grid2{grid-template-columns:minmax(0,1fr)}}.tbl{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-200)}.r{text-align:right}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:var(--radius-full);font-size:12px;font-weight:600;white-space:nowrap}.pill.ok{background:var(--profit-soft);color:var(--profit)}.pill.bad{background:var(--loss-soft);color:var(--loss)}.pill.brand{background:var(--brand-soft);color:var(--brand)}.pill.mut{background:var(--surface-200);color:var(--ink-muted)}.pill.warn{background:var(--brand-soft);color:var(--brand)}.seg{display:inline-flex;background:var(--surface-200);border-radius:var(--radius-full);padding:3px}.seg button{border:0;background:transparent;padding:6px 14px;border-radius:var(--radius-full);cursor:pointer;color:var(--ink-muted);font-weight:500}.seg button.on{background:var(--surface-100);color:var(--ink)}.empty{padding:32px 16px;text-align:center;color:var(--ink-muted);display:grid;gap:6px;justify-items:center}.empty b{color:var(--ink)}.disclaimer{font-size:13px;color:var(--ink-muted)}.field{display:grid;gap:4px;font-size:13px;color:var(--ink-muted);min-width:0}.field input,.field select,.field textarea{background:var(--surface-200);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 10px;color:var(--ink);width:100%;min-width:0}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.form .wide{grid-column:1/-1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:32px 12px}.modal{max-height:92vh;overflow-y:auto;background:var(--surface-100);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(820px,100%);padding:var(--space-6);display:grid;gap:var(--space-4)}.tree ul{list-style:none;margin:0;padding-left:22px;border-left:1px dashed var(--line)}.tree>ul{padding-left:0;border-left:0}.tree li{margin:8px 0}.node{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;background:var(--surface-200);border-radius:var(--radius-md);padding:10px 14px}.node .n{font-weight:600;margin-right:auto}.node .s{display:flex;gap:14px;font-size:13px;color:var(--ink-muted)}.node .s b{color:var(--ink);font-family:var(--font-mono);font-weight:500}.login{min-height:calc(100vh - 61px);display:grid;place-items:center;padding-block:32px}.login .card{width:min(420px,100%)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--surface-000);padding:10px 16px;border-radius:var(--radius-md);z-index:30;font-size:14px;max-width:calc(100% - 32px)}.key{font-family:var(--font-mono);font-size:12px;word-break:break-all;background:var(--surface-200);padding:4px 8px;border-radius:var(--radius-sm)}.hero{display:grid;gap:var(--space-3);padding-block:var(--space-4)}.hero-logo{width:clamp(120px,22vw,220px);height:auto;filter:drop-shadow(0 0 24px rgba(245,180,40,.25))}@media (max-width:600px){.hero{grid-template-columns:minmax(0,1fr)!important}.hero-logo{order:-1;justify-self:center;width:140px}}
