@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#FAF9F5;--surface:#FFFFFF;--surface-muted:#F0EEE6;--surface-sunken:#E9E6DB;--border-subtle:rgba(15,17,22,.06);--border:rgba(15,17,22,.1);--border-strong:rgba(15,17,22,.16);--text:rgba(15,17,22,.92);--text-muted:#615D59;--text-subtle:#6F6B65;--text-disabled:#BAB6B0;--primary:#C96442;--primary-hover:#B5543A;--primary-soft:#F7E6DE;--primary-soft-text:#9A3F22;--success-accent:#0F9D58;--success-soft:#E6F6EC;--success-text:#15803D;--info-accent:#0284C7;--info-soft:#E0F2FE;--info-text:#075985;--warning-accent:#D97706;--warning-soft:#FEF3E2;--warning-text:#9A3412;--danger-accent:#DC2626;--danger-soft:#FEE7E7;--danger-text:#991B1B;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 1px rgba(15,17,22,.02);--shadow-sm:0 1px 2px rgba(15,17,22,.03), 0 1px 1px rgba(15,17,22,.02);--shadow-md:0 4px 12px rgba(15,17,22,.04), 0 1px 3px rgba(15,17,22,.03);--shadow-lg:0 14px 28px rgba(15,17,22,.05), 0 4px 12px rgba(15,17,22,.03);--motion:.15s;--ease:cubic-bezier(.2,0,.2,1);--backdrop:rgba(15,17,22,.4);--bg:var(--canvas);--card:var(--surface);--soft:var(--surface-muted);--ink:var(--text);--muted:var(--text-muted);--line:var(--border);--accent:#C15F3C;--accent-h:#A94E2D;--on-accent:#fff;--accent-soft:var(--primary-soft);--accent-text:var(--primary-soft-text);--red:var(--danger-accent);--green:var(--success-text);--amber:#B45309;--blue:var(--accent);--radius:12px;--shadow:var(--shadow-sm);--side:240px;--serif:"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","tnum";font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-theme=dark]{--canvas:#262624;--surface:#30302E;--surface-muted:#3A3938;--surface-sunken:#1F1E1D;--border-subtle:rgba(255,250,240,.06);--border:rgba(255,250,240,.1);--border-strong:rgba(255,250,240,.18);--text:rgba(255,250,240,.92);--text-muted:#A39E97;--text-subtle:#8D8983;--text-disabled:#525049;--primary:#D97757;--primary-hover:#E8967A;--primary-soft:rgba(217,119,87,.16);--primary-soft-text:#F0A98F;--success-accent:#34D399;--success-soft:rgba(52,211,153,.1);--success-text:#86EFAC;--info-accent:#7DD3FC;--info-soft:rgba(125,211,252,.1);--info-text:#BAE6FD;--warning-accent:#F59E0B;--warning-soft:rgba(245,158,11,.12);--warning-text:#FCD34D;--danger-accent:#F87171;--danger-soft:rgba(248,113,113,.12);--danger-text:#FCA5A5;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--backdrop:rgba(0,0,0,.55);--accent:#D97757;--accent-h:#E8967A;--on-accent:#1F1E1D;--amber:#FCD34D;--green:#86EFAC;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--canvas:#262624;--surface:#30302E;--surface-muted:#3A3938;--surface-sunken:#1F1E1D;--border-subtle:rgba(255,250,240,.06);--border:rgba(255,250,240,.1);--border-strong:rgba(255,250,240,.18);--text:rgba(255,250,240,.92);--text-muted:#A39E97;--text-subtle:#8D8983;--text-disabled:#525049;--primary:#D97757;--primary-hover:#E8967A;--primary-soft:rgba(217,119,87,.16);--primary-soft-text:#F0A98F;--success-accent:#34D399;--success-soft:rgba(52,211,153,.1);--success-text:#86EFAC;--info-accent:#7DD3FC;--info-soft:rgba(125,211,252,.1);--info-text:#BAE6FD;--warning-accent:#F59E0B;--warning-soft:rgba(245,158,11,.12);--warning-text:#FCD34D;--danger-accent:#F87171;--danger-soft:rgba(248,113,113,.12);--danger-text:#FCA5A5;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--backdrop:rgba(0,0,0,.55);--accent:#D97757;--accent-h:#E8967A;--on-accent:#1F1E1D;--amber:#FCD34D;--green:#86EFAC;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg)}a{color:var(--accent);text-underline-offset:2px}h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.015em;margin:0}h3{font-size:18px}h4{margin:16px 0 6px;font-size:13px;color:var(--muted);font-weight:600}button{font-family:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ic{flex:none;vertical-align:middle}.muted{color:var(--muted);font-size:13px}.right{text-align:right;flex:none}.err{color:var(--red);margin-top:8px;font-size:14px}.pos{color:var(--green)}.neg{color:var(--red)}.grow{flex:1;min-width:0}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.shell{min-height:100vh}.side{display:none}.page{max-width:1180px;margin:0 auto;padding:14px 14px 110px}main.narrow{max-width:420px;margin:0 auto;padding:14vh 16px 40px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand .logo{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent-h),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 2px 8px #c6613f55}.brand-t{line-height:1.15;min-width:0}.brand-t b{display:block;font-family:var(--serif);font-weight:500;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-t small{color:var(--muted);font-size:11.5px}.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top h1{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .brand{display:flex}.top h1{display:none}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer;transition:background .15s}.icon-btn:hover{background:var(--soft)}.icon-btn .dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:14.5px;font-weight:500;cursor:pointer;transition:background .15s,transform .05s}.btn:hover{background:var(--soft)}.btn:active{transform:scale(.98)}.btn.accent{background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:600}.btn.accent:hover{background:var(--accent-h)}.btn.sm{min-height:34px;padding:0 12px;font-size:13.5px;border-radius:10px}.btn.ghost{background:none;border-color:transparent}.btn.danger{color:var(--red)}.search-btn{display:none;align-items:center;gap:8px;min-width:220px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);cursor:pointer;font-size:14px}.search-btn kbd{margin-left:auto;font:inherit;font-size:11px;padding:1px 6px;border:1px solid var(--line);border-radius:6px}.me{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:3px 10px 3px 3px;background:var(--card);cursor:pointer;font-size:13.5px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;flex:none;letter-spacing:.02em}.bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:color-mix(in srgb,var(--card) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;min-height:58px;border:0;background:none;color:var(--muted);font-size:10.5px;cursor:pointer;white-space:nowrap}.bottom button.on{color:var(--accent);font-weight:600}.bottom button.add span{width:46px;height:46px;margin-top:-20px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #c6613f66;border:3px solid var(--bg)}@media (min-width: 900px){.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr)}.side{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 12px 14px;background:var(--soft);border-right:1px solid var(--line);overflow-y:auto}.side .brand{padding:4px 8px 18px}.side .group{margin:14px 0 4px;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.side nav button{display:flex;width:100%;align-items:center;gap:12px;padding:9px 12px;border:0;border-radius:11px;background:none;color:var(--ink);font-size:14.5px;text-align:left;cursor:pointer;position:relative;transition:background .12s}.side nav button:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.side nav button.on{background:var(--card);font-weight:600;box-shadow:0 0 0 1px var(--line),0 1px 3px #1414130a}.side nav button.on .ic{color:var(--accent)}.side nav .count{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;font-weight:700;text-align:center}.side .foot{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.top{padding:14px 32px}.top h1{display:block}.top .brand{display:none}.search-btn{display:flex}.page{padding:26px 32px 60px}.bottom{display:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0;box-shadow:var(--shadow);min-width:0}.card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.card-h h3{font-size:18px}.card-sub{color:var(--muted);font-size:13px;margin:-6px 0 10px}.stack{display:grid;gap:14px}.stack>.card,.stack>.periodbar{margin:0}.g2,.g3{display:grid;gap:14px;grid-template-columns:1fr}.g4{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 760px){.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-hero{grid-template-columns:1.6fr 1fr}.g-21{grid-template-columns:2fr 1fr}.g-12{grid-template-columns:1fr 2fr}}.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 16px}.ph h2{font-size:26px}.ph p{margin:2px 0 0;color:var(--muted);font-size:14px}.ph-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty{color:var(--muted);padding:26px 8px;text-align:center;font-size:14px}.empty .ic{display:block;margin:0 auto 8px;opacity:.5}.ok-line{color:var(--green);padding:4px 0}.divider{height:1px;background:var(--line);margin:12px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.stat.click{cursor:pointer;transition:border-color .15s,transform .08s}.stat.click:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.stat-h{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.stat-ic{display:inline-flex;width:26px;height:26px;border-radius:8px;background:var(--accent-soft);color:var(--accent);align-items:center;justify-content:center}.stat-v{font-family:var(--serif);font-size:26px;line-height:1.15;font-weight:500;letter-spacing:-.015em;overflow-wrap:anywhere}.stat-v.neg{color:var(--red)}.stat-v.pos{color:var(--green)}.stat-v.warn{color:var(--amber)}.stat-d{font-size:12.5px}.spark{width:100%;display:block;margin-top:4px}.spark-empty{margin-top:4px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpis.small{gap:10px}.kpi{background:var(--soft);border-radius:12px;padding:10px 12px}.kpi-l{font-size:12.5px;color:var(--muted)}.kpi-v{font-family:var(--serif);font-size:20px;margin:2px 0;overflow-wrap:anywhere}.kpi-v.neg{color:var(--red)}.kpi-v.pos{color:var(--green)}.kpi-v.warn{color:var(--amber)}.kpi-d{font-size:12px}.chip-d{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:99px;font-size:12px;font-weight:600;background:var(--soft)}.chip-d.up{color:var(--green)}.chip-d.dn{color:var(--red)}.hero{position:relative;overflow:hidden}.hero-v{font-family:var(--serif);font-size:38px;letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px}.hero-v.neg{color:var(--red)}.hero-v.pos{color:var(--green)}.hero-k{color:var(--muted);font-size:13.5px}@media (max-width: 899px){.hero-v{font-size:32px}}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1}.chart .zero{stroke:var(--muted);stroke-width:1;opacity:.5}.chart .tick{fill:var(--muted);font-size:10px}.chart .cursor{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.trend{position:relative;touch-action:pan-y}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;pointer-events:none}.tip{position:absolute;top:6px;z-index:3;min-width:150px;padding:8px 10px;background:var(--ink);color:var(--bg);border-radius:10px;font-size:12.5px;pointer-events:none;box-shadow:0 6px 18px #0004}.tip b{display:block;margin-bottom:4px}.tip div{display:flex;align-items:center;gap:6px}.tip div span{margin-left:auto;font-weight:600;padding-left:10px}.tip i,.legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}.legend span{display:inline-flex;align-items:center;gap:5px}.donut-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut{position:relative;flex:none}.donut svg{display:block}.donut-c{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22%;pointer-events:none}.donut-c b{font-family:var(--serif);font-size:21px;font-weight:500}.donut-c span{font-size:11.5px;color:var(--muted);line-height:1.2}.donut-l{list-style:none;margin:0;padding:0;flex:1;min-width:180px}.donut-l li{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:13.5px;cursor:default;transition:background .12s}.donut-l li.on,.donut-l li:hover{background:var(--soft)}.donut-l i{width:10px;height:10px;border-radius:3px;flex:none}.donut-l span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-l em{color:var(--muted);font-style:normal;width:36px;text-align:right;font-size:12px}.split-bar{display:flex;border-radius:99px;overflow:hidden;background:var(--soft);gap:2px}.split-bar div{transition:width .3s}.split-l{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--muted)}.split-l span{display:inline-flex;align-items:center;gap:6px}.split-l i{width:9px;height:9px;border-radius:3px}.split-l b{color:var(--ink);font-weight:600}.split-l b.neg{color:var(--red)}.gauge{position:relative;height:8px;border-radius:99px;background:var(--soft);overflow:visible}.gauge-fill{height:100%;border-radius:99px;transition:width .3s}.gauge-min{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink);opacity:.55;border-radius:1px}.hbar{margin:8px 0}.hbar-top{display:flex;justify-content:space-between;font-size:13.5px}.track{height:8px;background:var(--soft);border-radius:99px;overflow:hidden;margin-top:4px}.track div{height:100%;border-radius:99px}.flow-svg{width:100%;max-width:420px;display:block;margin:0 auto}.flow-base{stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 4}.flow-edge{stroke:var(--accent);stroke-width:2.2}.flow-lbl{fill:var(--card);stroke:var(--accent);stroke-width:1.2}.flow-t{font-size:11.5px;font-weight:700;fill:var(--ink)}.node{fill:var(--soft);stroke:var(--line);stroke-width:1.5}.node.XUONG{fill:var(--accent-soft);stroke:var(--accent)}.node-t{font-size:12.5px;font-weight:700;fill:var(--ink)}.flow-list{list-style:none;margin:8px 0 0;padding:0;font-size:14px}.flow-list li{padding:5px 0}.alert-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-bottom:14px}.alert-strip::-webkit-scrollbar{display:none}.alert-chip{flex:none;max-width:340px;display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;font-size:13.5px;box-shadow:var(--shadow)}.alert-chip .ic{margin-top:1px}.alert-chip b{display:block;font-weight:600}.alert-chip small{color:var(--muted);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.alert-chip.high{border-color:color-mix(in srgb,var(--red) 55%,var(--line));background:color-mix(in srgb,var(--red) 7%,var(--card))}.alert-chip.high .ic{color:var(--red)}.alert-chip.warn .ic{color:var(--amber)}.alert-chip.info .ic{color:var(--muted)}.alert{border-left:4px solid var(--line);padding:8px 12px;margin:8px 0;border-radius:8px;background:var(--soft)}.alert.high{border-color:var(--red)}.alert.warn{border-color:var(--amber)}.alert.info{border-color:var(--muted)}.alert-sum{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:99px;font-weight:500;white-space:nowrap}.badge.high{background:#f8e0dc;color:#8f2a1f}.badge.warn{background:#f6e8c8;color:#7a4a06}.badge.info{background:#ece9dd;color:#5a584f}.badge.ok{background:#dcebd9;color:#2f5a2d}.badge.pub{background:#f6dfd3;color:#8a3a1c}.badge.int{background:#e9e4f2;color:#4c3a75}@media (prefers-color-scheme: dark){.badge.high{background:#4a2420;color:#f1b3aa}.badge.warn{background:#46361a;color:#f0cc8c}.badge.info{background:#3d3b36;color:#cfcbbf}.badge.ok{background:#28392a;color:#b4d7b1}.badge.pub{background:#4a3023;color:#f0bfa6}.badge.int{background:#38324a;color:#cbbfe6}.late-hint{background:#46361a;color:#f0cc8c}}.late-hint{background:#f6e8c8;color:#7a4a06;border-radius:10px;padding:6px 10px;font-size:13px;margin-top:6px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;min-height:34px;padding:4px 13px;font-size:13.5px;cursor:pointer;transition:background .12s}.chips button:hover:not(.on){background:var(--soft)}.chips button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.chips.pick button{min-height:40px;padding:6px 15px;font-size:14.5px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden;flex-wrap:wrap;background:var(--card)}.seg button{border:0;background:none;color:var(--ink);min-height:38px;padding:6px 13px;font-size:13.5px;cursor:pointer}.seg button.on{background:var(--accent);color:#fff}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px;overflow-x:auto;scrollbar-width:none}.tabs button{flex:none;border:0;background:none;color:var(--muted);padding:10px 14px;font-size:14.5px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row.click{cursor:pointer;transition:background .12s;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px;border-bottom-color:transparent}.row.click:hover{background:var(--soft)}.row.log{align-items:flex-start}.changes{margin:4px 0;padding-left:18px;font-size:13px}.li{display:flex;align-items:center;gap:12px;padding:10px 8px;margin:0 -8px;border-radius:12px;cursor:pointer;transition:background .12s;width:calc(100% + 16px);border:0;background:none;text-align:left;color:inherit;font-size:inherit}.li:hover{background:var(--soft)}.li-m{flex:1;min-width:0}.li-m b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li-m small{color:var(--muted);font-size:12.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li-r{text-align:right;flex:none;font-weight:600}.li-r small{display:block;font-weight:400;color:var(--muted);font-size:12px}.feed{position:relative;margin:0;padding:0;list-style:none}.feed li{position:relative}.feed-ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--soft);color:var(--muted)}.feed-ic.out{background:#f8e0dc;color:var(--red)}.feed-ic.in,.feed-ic.sale{background:#dcebd9;color:var(--green)}.feed-ic.purchase{background:#f6e8c8;color:var(--amber)}.feed-ic.prod{background:#e9e4f2;color:#6a58a0}.feed-ic.loan,.feed-ic.transfer{background:#e3ebf3;color:#4f7fa8}.feed-ic.reverse{background:var(--soft);color:var(--muted)}@media (prefers-color-scheme: dark){.feed-ic.out{background:#4a2420}.feed-ic.in,.feed-ic.sale{background:#28392a}.feed-ic.purchase{background:#46361a}.feed-ic.prod{background:#38324a;color:#cbbfe6}.feed-ic.loan,.feed-ic.transfer{background:#263341;color:#9cc0e0}}.tbl-wrap,.tablewrap{overflow-x:auto}.tbl,.tablewrap table{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th,.tablewrap th{text-align:left;color:var(--muted);font-weight:500;padding:7px 8px;white-space:nowrap;font-size:12.5px}.tbl td,.tablewrap td{padding:9px 8px;border-top:1px solid var(--line);vertical-align:top}.tablewrap td{white-space:nowrap}.tablewrap .right{text-align:right}.tbl tbody tr.sel td{background:var(--soft)}.tbl tbody tr{cursor:default}.pgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:pointer;text-align:left;font-size:inherit;color:inherit;box-shadow:var(--shadow);transition:border-color .15s,transform .08s;min-width:0}.pcard:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.pcard:active{transform:scale(.995)}.pcard-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pcard-h b{display:block;font-weight:600}.pcard-h small{color:var(--muted);font-size:12.5px}.pcard-v{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--muted);margin:6px 0 4px}.pcard-v b{color:var(--ink);font-size:15px}label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted)}input,select,textarea{width:100%;padding:9px 12px;font-size:16px;font-family:inherit;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);min-height:44px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.filters select,.filters input{width:auto;flex:1 1 150px}.big-amount{font-family:var(--serif);font-size:34px;font-weight:500;text-align:center;min-height:64px;letter-spacing:-.01em}.amount-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:4px;min-height:18px}button.primary{width:100%;padding:12px;font-size:16px;background:var(--accent);color:var(--on-accent);border:0;border-radius:12px;margin-top:16px;cursor:pointer;font-weight:600;min-height:48px;transition:background .15s}button.primary:hover:not(:disabled){background:var(--accent-h)}button.primary:disabled{opacity:.5}button.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:8px 0;font-size:14px;text-align:left;min-height:40px}.check{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;margin:10px 0}.check input{width:auto}.preview{background:var(--soft);border-radius:12px;padding:10px 14px;margin-top:12px;font-size:13.5px}.preview ul{margin:4px 0 6px;padding-left:18px}details.more{margin-top:12px;border-top:1px solid var(--line);padding-top:4px}details.more summary{cursor:pointer;color:var(--accent);font-size:14px;padding:10px 0;list-style:none}details.more summary::-webkit-details-marker{display:none}.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.thumb{position:relative;width:92px;font-size:11px}.thumb img,.thumb .ph{width:92px;height:92px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:zoom-in;display:flex;align-items:center;justify-content:center}.thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:#000b;color:#fff;cursor:pointer;line-height:1}.thumb span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach{margin-top:2px;font-size:13px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000d;z-index:200;display:flex;align-items:center;justify-content:center;padding:12px}.lightbox img{max-width:100%;max-height:100%;border-radius:8px}.errbox{border-color:var(--red)}.preview-msg{margin-top:8px}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;text-align:left;font-size:15px;color:var(--ink);transition:border-color .12s,background .12s,transform .06s}.tile:hover{border-color:var(--accent);background:var(--accent-soft)}.tile:active{transform:scale(.98)}.tile .ti{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.tile b{font-weight:600}.tile small{color:var(--muted);font-size:12.5px;margin-top:-4px}@media (min-width: 640px){.tiles{grid-template-columns:repeat(3,1fr)}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14141366;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.modal{position:relative;width:100%;max-height:92vh;display:flex;flex-direction:column;background:var(--bg);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #0004;animation:rise .22s cubic-bezier(.2,.8,.2,1);outline:0;padding-bottom:env(safe-area-inset-bottom)}.modal .grab,.pop-panel .grab{width:38px;height:4px;border-radius:4px;background:var(--line);margin:8px auto 0;flex:none}.modal-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 18px 8px}.modal-h h2{font-size:22px}.modal-b{padding:4px 18px 20px;overflow-y:auto;overscroll-behavior:contain}.modal-f{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.modal .card{border:0;box-shadow:none;padding:0;background:none}.modal form.card{margin:0}.modal .card h3{display:none}@media (min-width: 700px){.modal-bg{align-items:center;padding:24px}.modal{max-width:640px;border-radius:22px;max-height:88vh;animation:pop .18s cubic-bezier(.2,.8,.2,1)}.modal .grab{display:none}.modal-h{padding:20px 24px 8px}.modal-b{padding:6px 24px 24px}.modal-f{padding:14px 24px}.modal-bg.drawer{align-items:stretch;justify-content:flex-end;padding:0}.modal-bg.drawer .modal{max-width:560px;height:100vh;max-height:none;border-radius:22px 0 0 22px;animation:slide .22s cubic-bezier(.2,.8,.2,1)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@keyframes pop{0%{transform:scale(.96);opacity:0}}@keyframes slide{0%{transform:translate(40px);opacity:0}}.pop{position:relative;display:inline-block}.pop.block{display:block}.pop-dim{display:none}.pop-panel{position:absolute;top:calc(100% + 8px);z-index:60;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #14141324;padding:14px;animation:pop .14s ease-out}.pop-panel.left{left:0}.pop-panel.right{right:0}.pop-panel .grab{display:none}.pop-t{font-family:var(--serif);font-size:17px;margin:0 0 8px}.pop-i{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;margin:0;border:0;border-radius:10px;background:none;color:var(--ink);font-size:14.5px;cursor:pointer;text-align:left}.pop-i:hover{background:var(--soft)}.pop-i.on{background:var(--accent-soft);font-weight:600}@media (max-width: 699px){.pop-dim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;background:#14141355}.pop-panel,.pop-panel.left,.pop-panel.right{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%!important;max-width:none;z-index:61;border-radius:22px 22px 0 0;max-height:80vh;overflow-y:auto;padding:8px 16px calc(18px + env(safe-area-inset-bottom));animation:rise .2s}.pop-panel .grab{display:block;margin-bottom:8px}}.hint{position:relative;display:inline-flex;cursor:help}.hint-tip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:240px;padding:7px 10px;border-radius:9px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:400;z-index:70;transition:opacity .12s;pointer-events:none}.hint:hover .hint-tip,.hint:focus .hint-tip{visibility:visible;opacity:1}.cmd-in{display:flex;align-items:center;gap:10px;padding:4px 4px 10px;border-bottom:1px solid var(--line);margin-bottom:8px}.cmd-in input{border:0;box-shadow:none!important;padding:8px 0;min-height:40px;background:none}.cmd-g{padding:10px 8px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.cmd-list{max-height:52vh;overflow-y:auto}.skeleton{background:linear-gradient(90deg,var(--soft) 25%,var(--line) 50%,var(--soft) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:12px}@keyframes sk{to{background-position:-200% 0}}.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:300;background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:14px;box-shadow:0 8px 24px #0004;animation:rise .2s}@media (min-width: 900px){.toast{bottom:28px}}@media (max-width: 899px){.card{padding:15px}.stat-v{font-size:23px}.chips:not(.pick){flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips:not(.pick)::-webkit-scrollbar{display:none}.chips:not(.pick) button{flex:none}.filters select,.filters input{flex:1 1 100%}.ph h2{font-size:23px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 899px){.hide-sm{display:none}.search-icon{display:inline-flex!important}.top .brand-t small{display:none}.top .brand-t b{max-width:42vw}}.side nav .nav-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}.side nav .nav-t b{font-weight:600}.side nav .nav-t small{color:var(--muted);font-size:11.5px;font-weight:400;white-space:normal}.side nav button{align-items:flex-start!important;padding:11px 12px!important}.side nav button .ic{margin-top:2px}.tabs button{display:inline-flex;align-items:center;gap:7px}.verdicts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 1000px){.verdicts{grid-template-columns:repeat(4,minmax(0,1fr))}}.verdict{--tone: var(--muted);display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);border-top:4px solid var(--tone);background:var(--card);box-shadow:var(--shadow);cursor:pointer;color:inherit;font-size:inherit;transition:transform .08s,border-color .15s;min-width:0}.verdict:hover{transform:translateY(-1px)}.verdict.good{--tone: var(--green) }.verdict.warn{--tone: var(--amber) }.verdict.bad{--tone: var(--red) }.verdict.neutral{--tone: var(--muted) }.verdict-h{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.verdict-ic{display:inline-flex;width:26px;height:26px;border-radius:8px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone)}.verdict-tag{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone);white-space:nowrap}.verdict-v{font-family:var(--serif);font-size:26px;line-height:1.15;letter-spacing:-.015em;overflow-wrap:anywhere}.verdict.bad .verdict-v{color:var(--red)}.verdict-t{display:flex;align-items:center;gap:6px;color:var(--tone);font-size:14px}.verdict small{color:var(--muted);font-size:12.5px;line-height:1.4}@media (max-width: 899px){.verdict{padding:12px 13px}.verdict-v{font-size:21px}.verdict-tag{display:none}}.g2.one{grid-template-columns:1fr}kbd{font:inherit;font-size:12px;padding:1px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card)}.stamp{display:inline-block;margin-bottom:14px;padding:3px 10px;border:1.5px solid var(--red);color:var(--red);font-size:12px;font-weight:600;letter-spacing:.03em}.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:6px 0 18px}.fig{background:var(--card);padding:18px 16px}.fig .n{font-family:var(--serif);font-weight:700;font-size:29px;line-height:1.1;letter-spacing:-.02em}.fig .l{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.35}.fig .u{font-size:12px}.fig.pos .n{color:var(--green)}.fig.neg .n{color:var(--red)}@media (max-width: 899px){.fig .n{font-size:23px}.fig{padding:14px 12px}}.sect-h{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:-.01em;padding-bottom:8px;border-bottom:2px solid var(--ink);margin:34px 0 16px}.sect-p{max-width:72ch;color:var(--muted);margin:-4px 0 14px;font-size:14.5px}.callout{border-left:4px solid var(--red);padding:14px 18px;margin:18px 0;background:var(--soft)}.callout.good{border-left-color:var(--green)}.callout.mid{border-left-color:var(--amber)}.callout .k{display:block;font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.3;margin-bottom:6px}.callout p{margin:0;max-width:70ch}.costbars{margin:6px 0 4px}.costrow{margin-bottom:20px}.costhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.costhead .t{font-weight:600;font-size:15px}.costhead .v{font-size:13.5px;color:var(--muted)}.costbar{display:flex;height:46px;border:1px solid var(--ink);overflow:hidden}.costseg{display:flex;align-items:center;justify-content:center;font-size:0;font-weight:600;color:#fff;min-width:0;padding:0 3px;text-align:center;line-height:1.15;overflow:hidden}.costseg.wide{font-size:11.5px}@media (max-width: 620px){.costseg.wide{font-size:10.5px}}.cb-material{background:#3d566b}.cb-eva{background:#8fa0ac}.cb-labor,.cb-power,.cb-freight{background:#b7bec2;color:var(--ink)}.cb-glue{background:var(--red)}.cb-other{background:#8a7a5c}.cb-profit{background:var(--green)}.cb-loss{background:var(--amber)}.costlegend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px}.costlegend span{display:flex;align-items:center;gap:7px}.sw{width:13px;height:13px;flex:none;border:1px solid #0003}.rt-wrap{overflow-x:auto;margin:4px 0}.rt{border-collapse:collapse;width:100%;font-size:14.5px;min-width:460px}.rt caption{text-align:left;font-weight:600;padding-bottom:8px}.rt th,.rt td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.rt th:first-child,.rt td:first-child{text-align:left;white-space:normal}.rt thead th{border-bottom:2px solid var(--ink);font-weight:600;font-size:13.5px;vertical-align:bottom}.rt tbody tr:nth-child(2n){background:color-mix(in srgb,var(--ink) 3%,transparent)}.rt tr.total td{font-weight:700;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--soft)}.rt tr.sum td{font-weight:600;background:color-mix(in srgb,var(--ink) 6%,transparent)}.rt tr.hi td{background:color-mix(in srgb,var(--green) 12%,transparent);font-weight:600}.rt td.pos{color:var(--green);font-weight:600}.rt td.neg{color:var(--red)}.rt .unit{font-size:12px;color:var(--muted);font-weight:400}.range{width:100%;accent-color:var(--accent);min-height:32px;padding:0;border:0}.lever{margin:14px 0}.lever-h{display:flex;justify-content:space-between;gap:10px;font-size:14px}.lever-h b{font-family:var(--serif)}.sim-out{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}@media (max-width: 899px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.fig .l{font-size:12px}.card-h .btn.ghost{padding:0 6px}}.vis-dot{width:12px;height:12px;border-radius:50%;flex:none;background:var(--muted)}.vis-dot.PUBLIC{background:var(--green)}.vis-dot.INTERNAL{background:var(--amber)}.vis-dot.ALL{background:linear-gradient(90deg,var(--green) 50%,var(--amber) 50%)}.scope-btn.on{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 30%,transparent)}.scope-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:14px;border:1px solid var(--line);border-left-width:4px;border-radius:6px;background:var(--soft);font-size:14px}.scope-banner span{flex:1;min-width:200px}.scope-banner.PUBLIC{border-left-color:var(--green)}.scope-banner.INTERNAL{border-left-color:var(--amber)}.vis-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 10px}.vis-opt{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:10px 12px;border:2px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer;font-size:14px}.vis-opt small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.vis-opt b{font-weight:600}.vis-opt.on.PUBLIC{border-color:var(--green);background:color-mix(in srgb,var(--green) 9%,var(--card))}.vis-opt.on.INTERNAL{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,var(--card))}.vis-tag{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:3px;font-size:11.5px;font-weight:600;white-space:nowrap}.vis-tag.PUBLIC{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.vis-tag.INTERNAL{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.mthumb{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--muted);overflow:hidden;flex:none}.mthumb img{width:100%;height:100%;object-fit:cover;display:block}.mthumb em{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10px;font-weight:700;padding:0 5px;border-radius:3px;background:var(--red);color:#fff}.mstrip{margin:10px 0}.mstrip-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.mstrip-h b{font-family:var(--serif)}.mstrip-h .pop{margin-left:auto}.mrow{display:flex;gap:10px;flex-wrap:wrap}.mitem{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:0;background:none;padding:0;cursor:pointer;color:inherit;max-width:112px}.mitem small{color:var(--muted);font-size:11px;line-height:1.2}.mitem.pending{cursor:default;max-width:120px}.mitem select{min-height:32px;font-size:12px;padding:2px 6px;width:112px}.mx{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);cursor:pointer;line-height:1}.mgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.mcard{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:2px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer;color:inherit;text-align:center;font-size:12.5px}.mcard b{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcard small{color:var(--muted);font-size:11px}.mcard.sel{border-color:var(--accent);background:var(--accent-soft)}.mcheck{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center}.bigimg{display:block;max-width:100%;max-height:60vh;margin:0 auto;border:1px solid var(--line);border-radius:6px;background:#fff}.pdfview{width:100%;height:60vh;border:1px solid var(--line);border-radius:6px;background:#fff}.attachfield{margin-top:12px}.mgrid.big{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.dropping{outline:3px dashed var(--accent);outline-offset:6px;border-radius:8px}.public{max-width:1000px;margin:0 auto;padding-bottom:60px}@media print{.side,.top,.bottom,.ph-r,.pop,.modal-bg,.toast,.scope-banner,.tabs,.alert-strip,.chips,.filters{display:none!important}.shell{display:block!important}.page{max-width:none;padding:0}.card,.stat,.fig{break-inside:avoid}body{background:#fff}main{padding:0!important}}table.grid{border-collapse:collapse;font-size:13px;min-width:100%}table.grid th,table.grid td{padding:3px 2px;text-align:center;border-bottom:1px solid var(--line);min-width:30px}table.grid th{color:var(--muted);font-weight:500;font-size:11.5px}table.grid .sticky{position:sticky;left:0;background:var(--card);text-align:left;padding-left:8px;min-width:84px;z-index:1;border-right:1px solid var(--line)}table.grid td.today,table.grid th:has(+th.today){background:color-mix(in srgb,var(--accent) 8%,transparent)}.gbtn{border:0;background:none;padding:2px;cursor:pointer}.gc{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:5px;font-size:12px;font-weight:600}.gc.none{color:var(--muted);background:var(--soft)}.gc.off{color:var(--muted);border:1px dashed var(--line)}.gc.full{background:var(--green);color:#fff}.gc.half{background:var(--amber);color:#fff}.gc.ot{background:var(--accent);color:var(--on-accent)}.todo{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.todo-i{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--card)}.todo-i.done{background:var(--soft);opacity:.8}.todo-ic{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--accent-soft);color:var(--accent)}.todo-i.done .todo-ic{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.todo-m{flex:1;min-width:0;line-height:1.25}.todo-m b{display:block;font-weight:600;font-size:14.5px}.todo-m small{color:var(--muted);font-size:12.5px}.todo-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}body{font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--serif);text-wrap:pretty}h3{font-size:15px;line-height:1.35;font-weight:600;letter-spacing:0}h4{font-size:12px;font-weight:600;color:var(--text-muted)}a{color:var(--primary-soft-text)}.muted{font-size:12.5px}button,.btn,.chips button,.seg button,.tabs button,.pop-i,.li,.row.click,.stat.click,.pcard,.tile,.verdict,input,select,textarea{transition:background-color var(--motion) var(--ease),border-color var(--motion) var(--ease),color var(--motion) var(--ease),opacity var(--motion) var(--ease),box-shadow var(--motion) var(--ease)!important;transform:none!important}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.side{background:var(--surface-muted);border-right:0;padding:0 12px 12px}.side .brand{height:56px;padding:0 8px;margin:0}.side .group{margin:16px 0 4px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-subtle)}.side nav button{padding:8px 12px!important;border-radius:var(--radius-md)!important;font-size:14px;font-weight:500;color:var(--text-muted);gap:10px;align-items:center!important}.side nav button .ic{margin-top:0;color:var(--text-muted)}.side nav button:hover{background:var(--surface);color:var(--text)}.side nav button.on{background:var(--primary-soft);color:var(--primary-soft-text);font-weight:600;box-shadow:none}.side nav button.on .ic{color:var(--primary-soft-text)}.side nav .nav-t b{font-weight:inherit}.side nav .nav-t small{font-size:11.5px;color:var(--text-subtle);font-weight:400}.side nav button.on .nav-t small{color:var(--primary-soft-text);opacity:.8}.side nav .count{background:var(--danger-soft);color:var(--danger-text);font-weight:600}.side .foot{border-top:1px solid var(--border-subtle);color:var(--text-muted)}.top{min-height:56px;padding:8px 16px;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--border-subtle)}.top h1{font-size:15px;font-weight:600}@media (min-width: 900px){.top{padding:8px 24px}.page{padding:24px 24px 60px}}.page{padding:12px 12px 110px}@media (min-width: 640px) and (max-width: 899px){.page{padding:16px 16px 110px}}.brand .logo{border-radius:var(--radius-md);background:var(--primary);color:#fff;box-shadow:none;width:32px;height:32px}.brand-t b{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.3}.brand-t small{font-size:12px;color:var(--text-muted)}.bottom{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid var(--border-subtle)}.bottom button{color:var(--text-muted);font-size:11px;font-weight:500;min-height:56px}.bottom button.on{color:var(--primary-soft-text);font-weight:600}.bottom button.add span{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-md);border:3px solid var(--canvas);border-radius:50%}.card,.stat,.pcard,.verdict,.periodbar,.alert-chip,.tile,.todo-i{background:var(--surface);border:0;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border),var(--shadow-sm)}.card{padding:20px}.card-h{margin:-4px 0 12px}.card-h h3{font-size:15px;font-weight:600}.card-sub{font-size:12.5px}@media (max-width: 899px){.card{padding:16px}}.kpi{background:var(--surface-muted);border-radius:var(--radius-md);box-shadow:none}.pcard:hover,.stat.click:hover,.tile:hover{box-shadow:0 0 0 1px var(--border-strong),var(--shadow-sm)}.tile:hover{background:var(--surface-muted)}.stat-h,.kpi-l{font-size:12px;font-weight:500}.stat-ic,.verdict-ic,.tile .ti,.todo-ic{border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-soft-text)}.hero-v,.stat-v,.kpi-v,.verdict-v,.donut-c b,.fig .n,.big-amount{font-family:var(--serif);font-weight:700;letter-spacing:-.4px}.stat-v,.verdict-v{font-size:24px}.hero-v{font-size:34px;line-height:1.15}.kpi-v{font-size:18px;font-weight:600}.stat-v.neg,.kpi-v.neg,.hero-v.neg,.verdict.bad .verdict-v{color:var(--danger-text)}.stat-v.pos,.kpi-v.pos,.hero-v.pos{color:var(--success-text)}.stat-v.warn,.kpi-v.warn{color:var(--warning-text)}.pos{color:var(--success-text)}.neg,.err{color:var(--danger-text)}.ph h2{font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.4px;border:0;padding:0;margin:0}.ph{align-items:flex-end;margin:4px 0 16px}.ph p{margin-top:4px;font-size:14px}@media (max-width: 899px){.ph h2{font-size:22px}}.sect-h{font-size:18px;font-weight:600;border-bottom:1px solid var(--border-subtle);padding-bottom:8px;margin:28px 0 14px}.divider{background:var(--border-subtle)}.verdict{border-top:0;position:relative;overflow:hidden;padding-left:20px}.verdict:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tone)}.verdict.good{--tone: var(--success-accent) }.verdict.warn{--tone: var(--warning-accent) }.verdict.bad{--tone: var(--danger-accent) }.verdict.neutral{--tone: var(--text-subtle) }.verdict-ic{background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone)}.verdict-t{color:var(--text);font-weight:500}.verdict.good .verdict-tag{background:var(--success-soft);color:var(--success-text)}.verdict.warn .verdict-tag{background:var(--warning-soft);color:var(--warning-text)}.verdict.bad .verdict-tag{background:var(--danger-soft);color:var(--danger-text)}.verdict.neutral .verdict-tag{background:var(--surface-muted);color:var(--text-muted)}.figs,.sim-out{background:var(--border-subtle);border-color:var(--border);border-radius:var(--radius-lg);overflow:hidden}.btn,.icon-btn,.search-btn{border:0;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);min-height:36px;padding:0 14px;font-size:14px;font-weight:600;line-height:1.2}.btn:hover,.icon-btn:hover{background:var(--surface-sunken)}.btn.sm{min-height:32px;padding:0 10px;font-size:13px;border-radius:var(--radius-sm)}.btn.ghost,.icon-btn{background:none}.btn.ghost:hover,.icon-btn:hover{background:var(--surface-muted)}.icon-btn{width:36px;height:36px;padding:0;color:var(--text-muted)}.icon-btn .dot{background:var(--danger-accent);border-color:var(--surface)}.btn.accent,button.primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn.accent:hover,button.primary:hover:not(:disabled){background:var(--accent-h)}button.primary{border-radius:var(--radius-sm);min-height:44px;font-size:14px}.btn.danger{color:var(--danger-text)}button.link{color:var(--primary-soft-text);font-size:14px}.search-btn{min-width:240px;height:36px;font-weight:400;color:var(--text-subtle);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border)}.search-btn kbd{background:var(--surface);border-color:var(--border)}.me{border:0;background:var(--surface-muted);font-size:13px}kbd{border-radius:var(--radius-xs);background:var(--surface);border-color:var(--border);font-size:11px}label{margin:12px 0 6px;font-size:13px;font-weight:500;color:var(--text)}input,select,textarea{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);min-height:44px;color:var(--text);font-size:16px}@media (min-width: 900px){input,select,textarea{font-size:14px;min-height:36px;padding:6px 10px}}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:disabled,select:disabled{color:var(--text-disabled)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent);background:var(--surface)}.preview{background:var(--surface-muted);border-radius:var(--radius-md)}.big-amount{font-size:32px}.errbox{box-shadow:0 0 0 1px var(--danger-accent),var(--shadow-sm)}.late-hint{background:var(--warning-soft);color:var(--warning-text);border-radius:var(--radius-md)}.badge,.vis-tag,.chip-d{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0}.badge.high{background:var(--danger-soft);color:var(--danger-text)}.badge.warn{background:var(--warning-soft);color:var(--warning-text)}.badge.info{background:var(--info-soft);color:var(--info-text)}.badge.ok{background:var(--success-soft);color:var(--success-text)}.badge.pub{background:var(--primary-soft);color:var(--primary-soft-text)}.badge.int{background:var(--surface-muted);color:var(--text-muted)}.vis-tag.PUBLIC{background:var(--success-soft);color:var(--success-text)}.vis-tag.INTERNAL{background:var(--warning-soft);color:var(--warning-text)}.chip-d{background:var(--surface-muted)}.chip-d.up{background:var(--success-soft);color:var(--success-text)}.chip-d.dn{background:var(--danger-soft);color:var(--danger-text)}.vis-dot.PUBLIC{background:var(--success-accent)}.vis-dot.INTERNAL{background:var(--warning-accent)}.vis-dot.ALL{background:linear-gradient(90deg,var(--success-accent) 50%,var(--warning-accent) 50%)}.stamp{border-color:var(--danger-accent);color:var(--danger-text);border-radius:var(--radius-sm)}.alert,.callout,.scope-banner{border:0;border-left:3px solid var(--text-subtle);border-radius:var(--radius-md);background:var(--surface-muted)}.alert.high,.callout{border-left-color:var(--danger-accent);background:var(--danger-soft);color:var(--danger-text)}.alert.warn,.callout.mid{border-left-color:var(--warning-accent);background:var(--warning-soft);color:var(--warning-text)}.alert.info{border-left-color:var(--info-accent);background:var(--info-soft);color:var(--info-text)}.callout.good{border-left-color:var(--success-accent);background:var(--success-soft);color:var(--success-text)}.callout .k{font-size:15px;font-weight:600}.callout p{color:inherit}.scope-banner.PUBLIC{border-left-color:var(--success-accent);background:var(--success-soft)}.scope-banner.INTERNAL{border-left-color:var(--warning-accent);background:var(--warning-soft)}.alert-chip{color:var(--text);border-radius:var(--radius-lg)}.alert-chip.high{box-shadow:0 0 0 1px var(--danger-accent);background:var(--danger-soft)}.alert-chip.high .ic{color:var(--danger-text)}.alert-chip.warn .ic{color:var(--warning-text)}.alert-chip small{color:var(--text-muted)}.vis-opt{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.vis-opt.on.PUBLIC{border-color:var(--success-accent);background:var(--success-soft)}.vis-opt.on.INTERNAL{border-color:var(--warning-accent);background:var(--warning-soft)}.scope-btn.on{border:0;box-shadow:0 0 0 2px var(--warning-accent)}.seg,.tabs{display:inline-flex;gap:2px;padding:2px;border:0;border-radius:var(--radius-md);background:var(--surface-muted);max-width:100%;overflow-x:auto}.tabs{display:flex;width:fit-content}.seg button,.tabs button{border:0;border-radius:6px;min-height:32px;padding:4px 12px;font-size:13px;font-weight:500;color:var(--text-muted);background:none;margin:0}.seg button:hover:not(.on),.tabs button:hover:not(.on){color:var(--text)}.seg button.on,.tabs button.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-xs),0 0 0 1px var(--border-subtle)}.tabs button{border-bottom:0;margin-bottom:0}.tabs.filter{margin:4px 0 14px}.chips button{border:0;border-radius:9999px;background:var(--surface-muted);color:var(--text-muted);min-height:32px;padding:4px 12px;font-size:13px;font-weight:500}.chips button:hover:not(.on){background:var(--surface-sunken);color:var(--text)}.chips button.on{background:var(--primary-soft);color:var(--primary-soft-text);font-weight:600}.row{border-bottom-color:var(--border-subtle)}.row.click:hover,.li:hover,.donut-l li:hover,.donut-l li.on,.pop-i:hover{background:var(--surface-muted)}.row.click,.li,.pop-i,.donut-l li{border-radius:var(--radius-md)}.tbl th,.tablewrap th,.rt thead th{color:var(--text-muted);font-weight:600;font-size:12px;background:none;border-bottom:1px solid var(--border)}.tbl td,.tablewrap td,.rt td,.rt th{border-color:var(--border-subtle)}.tbl tbody tr:hover td,.tablewrap tbody tr:hover td,.rt tbody tr:hover td{background:var(--surface-muted)}.tbl tbody tr.sel td{background:var(--primary-soft)}.rt tbody tr:nth-child(2n){background:none}.rt tr.total td{background:var(--surface-muted);border-top:1px solid var(--border-strong);border-bottom:0;font-weight:600}.rt tr.sum td{background:var(--surface-muted);font-weight:600}.rt tr.hi td{background:var(--success-soft);color:var(--success-text)}.rt td.pos{color:var(--success-text)}.rt td.neg{color:var(--danger-text)}.tbl td.right,.tablewrap td.right,.rt td{font-variant-numeric:tabular-nums}.empty{color:var(--text-muted)}.empty .ic{opacity:1;color:var(--text-subtle);width:32px;height:32px}.feed-ic{border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-muted)}.feed-ic.out{background:var(--danger-soft);color:var(--danger-text)}.feed-ic.in,.feed-ic.sale{background:var(--success-soft);color:var(--success-text)}.feed-ic.purchase{background:var(--warning-soft);color:var(--warning-text)}.feed-ic.prod,.feed-ic.loan,.feed-ic.transfer{background:var(--info-soft);color:var(--info-text)}.modal-bg{background:var(--backdrop);-webkit-backdrop-filter:none;backdrop-filter:none;animation-duration:var(--motion)}.modal,.pop-panel{background:var(--surface);box-shadow:0 0 0 1px var(--border),var(--shadow-lg);border:0}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-h h2{font-size:22px;line-height:1.25}.modal-f,.cmd-in{border-color:var(--border-subtle)}.pop-panel{border-radius:var(--radius-lg)}.pop-i.on{background:var(--primary-soft);color:var(--primary-soft-text)}.pop-t{font-size:15px;font-weight:600}@media (min-width: 700px){.modal{border-radius:var(--radius-xl)}.modal-bg.drawer .modal{border-radius:var(--radius-xl) 0 0 var(--radius-xl)}}.pop-dim{background:var(--backdrop)}.toast,.tip,.hint-tip{background:var(--text);color:var(--canvas);box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.toast{box-shadow:var(--shadow-lg)}.modal,.pop-panel,.toast{animation-duration:var(--motion)}.mthumb,.bigimg,.pdfview,.thumb img{border-radius:var(--radius-md)}.mcard{border:1px solid var(--border);border-radius:var(--radius-md)}.mcard.sel{border-color:var(--primary);background:var(--primary-soft)}.mcheck{background:var(--primary);color:#fff}.skeleton{background:linear-gradient(90deg,var(--surface-muted) 25%,var(--surface-sunken) 50%,var(--surface-muted) 75%);background-size:200% 100%}.gc.full{background:var(--success-soft);color:var(--success-text)}.gc.half{background:var(--warning-soft);color:var(--warning-text)}.gc.ot{background:var(--primary-soft);color:var(--primary-soft-text)}.gc.none{background:var(--surface-muted)}.gc{border-radius:var(--radius-sm)}.todo-i.done{background:var(--surface-muted);opacity:.8}.todo-i.done .todo-ic{background:var(--success-soft);color:var(--success-text)}.costbar{border:1px solid var(--border);border-radius:var(--radius-md)}.cb-material{background:#5b7a99}.cb-eva{background:#c96442}.cb-labor,.cb-power,.cb-freight{background:#d6d3d1;color:#292524!important}.cb-glue{background:var(--danger-accent)}.cb-other{background:#a8a29e}.cb-profit{background:var(--success-accent)}.cb-loss{background:var(--warning-accent)}.chart .grid{stroke:var(--border-subtle)}.side-toggle,.density-btn{display:none}@media (min-width: 900px){.side-toggle{display:inline-flex}.top .brand{display:none}.density-btn{display:inline-flex}.shell{transition:grid-template-columns var(--motion) var(--ease)}.shell[data-collapsed]{grid-template-columns:64px minmax(0,1fr)}.shell[data-collapsed] .side{padding:0 8px 12px;overflow-x:hidden}.shell[data-collapsed] .side .brand{justify-content:center;padding:0}.shell[data-collapsed] .brand-t,.shell[data-collapsed] .side .foot,.shell[data-collapsed] .nav-t{display:none}.shell[data-collapsed] .side nav button{justify-content:center;padding:10px 0!important;position:relative}.shell[data-collapsed] .side nav .count{position:absolute;top:2px;right:6px;margin:0;min-width:16px;padding:0 4px;font-size:10px}}@media (min-width: 1024px){:root[data-density=compact]{font-size:13px}[data-density=compact] .card{padding:14px}[data-density=compact] .row{padding:6px 0}[data-density=compact] .li{padding:6px 8px}[data-density=compact] .tbl td,[data-density=compact] .tablewrap td,[data-density=compact] .rt td,[data-density=compact] .rt th{padding-top:4px;padding-bottom:4px}[data-density=compact] .tbl,[data-density=compact] .tablewrap table,[data-density=compact] .rt{font-size:13px}[data-density=compact] input,[data-density=compact] select{min-height:32px;padding:4px 8px;font-size:13px}[data-density=compact] .btn,[data-density=compact] .chips button,[data-density=compact] .seg button,[data-density=compact] .tabs button{min-height:28px}[data-density=compact] .stat,[data-density=compact] .verdict,[data-density=compact] .pcard{padding:10px 12px}[data-density=compact] .verdict{padding-left:16px}[data-density=compact] .side nav button{padding:6px 12px!important}}
