@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-accent-50:#f8f8f8;--color-accent-100:#f3f3f3;--color-accent-200:#ededed;--color-accent-300:#e2e2e2;--color-accent-400:#999;--color-accent-450:#6b6b6b;--color-accent-500:#171717;--color-accent-600:#383838;--color-accent-700:#525252;--color-accent-800:#383838;--color-accent-900:#0f0f0f;--cmyk-c:#0091c7;--cmyk-c-text:#00739e;--cmyk-m:#d1007b;--cmyk-m-text:#b0006a;--cmyk-y:#f2c200;--cmyk-y-text:#7d6200;--cmyk-y-soft:#fff6cc;--color-neutral-50:#f8f8f8;--color-neutral-100:#f3f3f3;--color-neutral-200:#ededed;--color-neutral-300:#e2e2e2;--color-neutral-400:#c7c7c7;--color-neutral-500:#999;--color-neutral-600:#7c7c7c;--color-neutral-700:#525252;--color-neutral-800:#383838;--color-neutral-900:#171717;--color-bg:#fff;--color-surface:#fff;--color-surface-2:var(--color-neutral-50);--color-control:var(--color-neutral-100);--color-control-hover:var(--color-neutral-200);--color-control-active:var(--color-neutral-300);--color-hover:color-mix(in srgb, var(--color-text) 4%, transparent);--color-selected:var(--color-neutral-100);--color-divider:var(--color-neutral-200);--color-divider-soft:var(--color-neutral-200);--color-border:var(--color-neutral-300);--color-border-hover:var(--color-neutral-400);--color-focus:var(--color-neutral-600);--color-focus-ring:#17171714;--color-text:#171717;--color-text-2:#383838;--color-muted:#525252;--color-faint:#6b6b6b;--color-backdrop:#1717175c;--color-accent:var(--color-accent-500);--color-accent-hover:var(--color-accent-600);--color-accent-active:var(--color-accent-700);--color-accent-text:var(--color-accent-500);--color-accent-fill:var(--color-accent-500);--color-on-accent:#fff;--color-kicker:var(--color-neutral-700);--color-on-status:#fff;--color-accent-soft:color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));--color-accent-track:color-mix(in srgb, var(--color-accent) 16%, transparent);--color-accent-ring:color-mix(in srgb, var(--color-accent) 35%, transparent);--color-link:var(--color-accent-text);--series-1:#0091c7;--series-2:#d1007b;--series-3:#c99a00;--series-4:#0068a8;--series-5:#7d6a00;--series-6:#e05aa8;--series-grid:#ededed;--series-axis:#c7c7c7;--series-seq-lo:#e0f4fb;--series-seq-hi:#005f86;--series-ord-1:#005f86;--series-ord-2:#00739e;--series-ord-3:#0091c7;--series-ord-4:#59b9de;--status-info:var(--cmyk-c);--status-info-text:var(--cmyk-c-text);--status-warn:var(--cmyk-y);--status-warn-text:var(--cmyk-y-text);--status-danger:var(--cmyk-m);--status-danger-text:var(--cmyk-m-text);--status-good:#383838;--status-good-text:#383838;--status-done:#c7c7c7;--status-info-soft:color-mix(in srgb, var(--status-info) 10%, var(--color-surface));--status-warn-soft:var(--cmyk-y-soft);--status-danger-soft:color-mix(in srgb, var(--status-danger) 9%, var(--color-surface));--status-info-badge:var(--cmyk-c-text);--status-danger-badge:var(--cmyk-m);--color-info:var(--status-info-text);--color-warn:var(--status-warn-text);--color-late:var(--status-danger-text);--color-danger:var(--status-danger-text);--color-up:var(--status-good-text);--color-down:var(--status-danger-text);--font-sans:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-body:var(--font-sans);--font-heading:var(--font-sans);--fs-2xs:10px;--fs-xs:11px;--fs-kicker:11px;--fs-sm:12px;--fs-base:13px;--fs-md:15px;--fs-lg:20px;--fs-kpi:28px;--fw-regular:420;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--font-heading-weight:var(--fw-semibold);--ls-kicker:.08em;--ls-tight:-.01em;--lh-tight:1.2;--lh-snug:1.35;--lh-base:1.5;--lh-loose:1.7;--control-h:30px;--control-h-sm:26px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--shadow-xs:0 .5px 0 #0000000d, 0 0 0 1px #0000000f, 0 2px 4px #0000000a;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 0 1px #00000030, 0 1px 2px #00000012, 0 6px 15px -5px #0000001c;--shadow-lg:0 0 1px #0003, 0 1px 3px #0000000d, 0 10px 24px -3px #0000001a;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.12s}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1c1c1c;--color-surface:#1c1c1c;--color-surface-2:#232323;--color-control:#2a2a2a;--color-control-hover:#333;--color-control-active:#3d3d3d;--color-hover:color-mix(in srgb, var(--color-text) 6%, transparent);--color-selected:#2a2a2a;--color-divider:#2e2e2e;--color-divider-soft:#2a2a2a;--color-border:#3d3d3d;--color-border-hover:#555;--color-focus:#a3a3a3;--color-focus-ring:#ffffff14;--color-text:#e6e6e6;--color-text-2:#c7c7c7;--color-muted:#a8a8a8;--color-faint:#969696;--color-backdrop:#0000008c;--color-accent:#f2f2f2;--color-accent-hover:#fff;--color-accent-active:#d0d0d4;--color-accent-text:#f2f2f2;--color-accent-fill:#e5e5e7;--color-on-accent:#111113;--color-kicker:#a8a8a8;--color-accent-soft:color-mix(in srgb, var(--color-accent) 11%, var(--color-surface));--color-accent-track:color-mix(in srgb, var(--color-accent) 18%, transparent);--cmyk-c:#1597cc;--cmyk-c-text:#5cc3ea;--cmyk-m:#dd2f8c;--cmyk-m-text:#f07bbd;--cmyk-y:#d9ae00;--cmyk-y-text:#f0cf4d;--cmyk-y-soft:color-mix(in srgb, #d9ae00 16%, var(--color-surface));--series-1:#1597cc;--series-2:#dd2f8c;--series-3:#b08900;--series-4:#4a86c8;--series-5:#8f7a00;--series-6:#d55fa3;--series-grid:#2e2e2e;--series-axis:#4a4a4a;--series-seq-lo:#0b3a4f;--series-seq-hi:#9ad8f0;--series-ord-1:#9ad8f0;--series-ord-2:#5cc3ea;--series-ord-3:#1597cc;--series-ord-4:#0a6f99;--status-good:#d0d0d4;--status-good-text:#d0d0d4;--status-done:#5b5b60;--status-info-soft:color-mix(in srgb, var(--status-info) 16%, var(--color-surface));--status-danger-soft:color-mix(in srgb, var(--status-danger) 16%, var(--color-surface));--status-info-badge:#0a6f99;--status-danger-badge:#cc2a84;--shadow-xs:0 0 0 1px #333;--shadow-sm:0 0 0 1px #333;--shadow-md:0 0 0 1px #3d3d3d, 0 6px 18px #0000008c;--shadow-lg:0 0 0 1px #4a4a4a, 0 16px 40px #000000a6}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);font-weight:var(--fw-regular);margin:0}h1,h2,h3,h4,h5,h6,.dialog-title{font-family:var(--font-sans);font-weight:var(--fw-semibold);color:var(--color-accent-text);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0 0 var(--space-2)}h1,h2{font-size:var(--fs-kpi)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}h5{font-size:var(--fs-base)}h6{font-size:var(--fs-kicker);letter-spacing:var(--ls-kicker);text-transform:uppercase;font-weight:var(--fw-medium)}p{margin:0 0 var(--space-3)}a{color:var(--color-link);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{font-size:var(--fs-xs);margin-top:var(--space-1);color:var(--color-faint)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent-ring)}.btn{cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:var(--fs-base);line-height:var(--lh-tight);color:var(--color-text);min-height:var(--control-h);border-radius:var(--radius-md);transition:background-color var(--dur) ease, border-color var(--dur) ease, color var(--dur) ease, box-shadow var(--dur) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-on-accent);background:var(--color-accent-fill);border-color:var(--color-accent-fill)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-primary:active{background:var(--color-accent-active);border-color:var(--color-accent-active)}.btn-secondary{background:var(--color-control);color:var(--color-text-2)}.btn-secondary:hover{background:var(--color-control-hover);color:var(--color-text)}.btn-secondary:active{background:var(--color-control-active)}.btn-ghost{color:var(--color-accent-text);padding-inline:8px}.btn-ghost:hover{background:var(--color-control)}.btn-ghost:active{background:var(--color-control-hover)}.btn-icon{width:var(--control-h);height:var(--control-h);min-height:0;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{font-size:var(--fs-sm);color:var(--color-text-2);margin-bottom:5px;display:block}.input{width:100%;min-height:var(--control-h);font:inherit;font-size:var(--fs-base);line-height:var(--lh-snug);color:var(--color-text);caret-color:var(--color-accent);background:var(--color-control);border-radius:var(--radius-md);transition:background-color var(--dur) ease, border-color var(--dur) ease, box-shadow var(--dur) ease;border:1px solid #0000;padding:4px 10px}.input:hover{background:var(--color-control-hover)}.input:focus,.input:focus-visible{background:var(--color-surface);border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}textarea.input{resize:vertical;min-height:90px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);flex-direction:column;display:flex}.card-kicker{font-size:var(--fs-base);font-weight:var(--fw-medium);letter-spacing:0;line-height:var(--lh-snug);color:var(--color-kicker)}.elev-md{box-shadow:var(--shadow-md)}.tag{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--radius-pill);align-items:center;padding:2px 9px;display:inline-flex}.tag-accent{background:var(--color-accent-soft);color:var(--color-accent-text)}.tag-neutral{background:var(--color-control);color:var(--color-text-2)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-text)}.tag-info{background:var(--status-info-soft);color:var(--color-info)}.tag-warn{background:var(--status-warn-soft);color:var(--color-warn)}.tag-danger{background:var(--status-danger-soft);color:var(--color-late)}.table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.table th{text-align:left;font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:0;color:var(--color-muted);background:var(--color-surface-2);padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table td{padding:var(--space-2);border-bottom:1px solid var(--color-divider-soft)}.table tbody tr{transition:background-color var(--dur) ease}.table tbody tr:hover{background:var(--color-surface-2)}.dialog-backdrop{padding:var(--space-4);background:var(--color-backdrop);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:pop-in .16s var(--ease);flex-direction:column;display:flex}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.dialog-title{font-size:var(--fs-md);margin:0}.dialog-body{font-size:var(--fs-base);color:var(--color-text-2)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}:root{--sidebar-w:56px;--sidebar-w-open:220px;--header-h:48px}html,body{height:100%}a{color:var(--color-link);text-decoration:none}a:hover:where(:not(.btn):not(.chip):not(.sb-logo):not(.sb-brand)){color:var(--color-link);text-decoration:underline}.link-btn{font:inherit;color:var(--color-link);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.muted{color:var(--color-muted)}.faint{color:var(--color-faint)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.stack{flex-direction:column;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;display:grid}@media (width<=1100px){.grid-2,.grid-3{grid-template-columns:1fr}}.t-kicker{font-size:var(--fs-kicker);font-weight:var(--fw-medium);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--color-kicker)}.t-md{font-size:var(--fs-md)}.t-lg{font-size:var(--fs-lg)}.t-kpi{font-size:var(--fs-kpi);font-weight:var(--fw-semibold);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;color:var(--color-text)}.t-strong{font-weight:var(--fw-semibold)}.t-medium{font-weight:var(--fw-medium)}.t-warn{color:var(--color-warn)}.t-late{color:var(--color-late)}.t-info{color:var(--color-info)}.t-danger{color:var(--color-danger)}.t-good{color:var(--color-up)}.t-accent{color:var(--color-accent-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:8px}::-webkit-scrollbar-track{background:0 0}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-neutral-700)}.shell{background:var(--color-bg);height:100vh;color:var(--color-text);font-family:var(--font-sans);display:flex}.sb-slot{z-index:30;width:var(--sidebar-w);height:100vh;transition:width .2s var(--ease);flex:none;position:relative}.sb-slot.pinned{width:var(--sidebar-w-open)}.sidebar{width:var(--sidebar-w);background:var(--color-surface);border-right:1px solid var(--color-divider);height:100vh;transition:width .2s var(--ease), box-shadow .2s var(--ease);flex-direction:column;align-items:center;padding:0 0 8px;display:flex;position:absolute;top:0;left:0;overflow:visible}.sidebar.open{width:var(--sidebar-w-open);align-items:stretch;overflow:hidden}.sidebar.peek{box-shadow:var(--shadow-lg)}.sidebar.peek .sb-tip,.sidebar.peek .sb-erp,.sidebar.peek .sb-group-label{animation:sbLabelIn .18s var(--ease) both}@keyframes sbLabelIn{0%{opacity:0;transform:translate(-4px)}}.sb-brand{width:100%;height:var(--header-h);border-bottom:1px solid var(--color-divider);color:var(--color-text);flex:none;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;text-decoration:none;display:flex}.sidebar.open .sb-brand{justify-content:flex-start;padding:0 16px}.sb-logo{background:var(--color-surface-2);width:28px;height:28px;color:var(--color-text);font-weight:var(--fw-semibold);border-radius:7px;flex:none;place-items:center;display:grid;overflow:hidden}.sb-logo img{object-fit:cover;width:100%;height:100%}.sb-erp{font-size:15px;font-weight:var(--fw-bold);letter-spacing:.04em;color:var(--color-text);line-height:1}.sidebar:not(.open) .sb-erp{display:none}.sb-groups{align-items:inherit;scrollbar-width:none;flex-direction:column;gap:1px;width:100%;min-height:0;display:flex;overflow:visible auto}.sidebar.open .sb-groups{padding:0 8px}.sidebar:not(.open) .sb-groups{overflow:visible}.sb-group{align-items:inherit;flex-direction:column;gap:1px;display:flex}.sidebar:not(.open) .sb-group{align-items:center}.sb-group+.sb-group{margin-top:10px}.sb-group-label{border-radius:var(--radius-sm);cursor:pointer;width:100%;height:26px;font:inherit;font-size:var(--fs-kicker);font-weight:var(--fw-medium);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--color-faint);transition:color var(--dur) ease;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:0 8px 0 10px;display:flex}.sb-group-label:hover{color:var(--color-text)}.sb-group-label svg{color:var(--color-faint);transition:transform .16s var(--ease)}.sb-group.shut .sb-group-label svg{transform:rotate(-90deg)}.sb-sep{border:none;border-top:1px solid var(--color-divider);width:24px;margin:6px 0}.sb-item{border-radius:var(--radius-md);width:36px;height:32px;color:var(--color-muted);cursor:pointer;transition:background-color var(--dur) ease, color var(--dur) ease;background:0 0;border:none;flex:none;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.sb-item:hover{color:var(--color-text);background:var(--color-control);text-decoration:none}.sb-item.active{color:var(--color-text);background:var(--color-selected);font-weight:var(--fw-medium)}.sidebar.open .sb-item{justify-content:flex-start;gap:10px;width:100%;padding:0 10px}.sb-tip{opacity:0;pointer-events:none;background:var(--color-accent-fill);color:var(--color-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-md);white-space:nowrap;z-index:200;border-radius:6px;padding:5px 9px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px)translateY(-50%)}.sb-item:hover .sb-tip{opacity:1;transform:translate(0)translateY(-50%)}.sidebar.open .sb-tip{opacity:1;box-shadow:none;font-size:14px;font-weight:inherit;color:inherit;text-overflow:ellipsis;background:0 0;border:none;padding:0;position:static;overflow:hidden;transform:none}.sb-foot{border-top:1px solid var(--color-divider);align-items:inherit;flex-direction:column;width:100%;margin-top:8px;padding-top:8px;display:flex}.sidebar.open .sb-foot{padding-inline:8px}.sb-collapse svg{transition:transform .15s}.sb-item:not(.active) .sb-brand-icon{opacity:.85}.sb-item:hover .sb-brand-icon,.sb-item.active .sb-brand-icon{opacity:1}.sb-app-arrow{color:var(--color-faint)}.nav-scrim{display:none}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--header-h);border-bottom:1px solid var(--color-divider);background:var(--color-surface);flex:none;align-items:center;gap:10px;padding:0 20px;display:flex}.tb-menu{display:none}.crumbs{font-size:var(--fs-base);color:var(--color-muted);align-items:center;gap:6px;min-width:0;display:flex}.crumbs a{color:var(--color-muted)}.crumbs a:hover{color:var(--color-text)}.crumbs .sep{color:var(--color-neutral-400)}.crumbs>svg{flex:none}.crumbs .current{color:var(--color-text);font-weight:var(--fw-medium)}.search-box{width:300px;position:relative}.search-box>svg{color:var(--color-faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-box .input{padding-left:32px;padding-right:52px}.search-kbd{font-family:var(--font-sans);font-size:var(--fs-2xs);color:var(--color-faint);border:1px solid var(--color-border);background:var(--color-surface);pointer-events:none;border-radius:4px;padding:0 4px;line-height:16px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-box .input:focus~.search-kbd{display:none}@media (width<=900px),(pointer:coarse){.search-kbd{display:none}.search-box .input{padding-right:10px}}.search-results{z-index:70;max-height:380px;animation:menu-in .12s var(--ease);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-results a{border-radius:var(--radius-md);font-size:var(--fs-base);padding:7px 10px;display:block}.search-results a:hover{background:var(--color-control);text-decoration:none}.topbar .btn-icon{color:var(--color-muted)}.topbar .btn-icon:hover{background:var(--color-control);color:var(--color-text)}.page{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 24px 40px;display:flex;overflow-y:auto}.page-head{flex-wrap:wrap;align-items:center;gap:12px;min-height:36px;display:flex}.page-head h3{margin:0}.page-sub{font-size:var(--fs-sm);color:var(--color-faint);margin-top:3px}.userbox{border-radius:var(--radius-md);cursor:pointer;color:var(--color-faint);font:inherit;transition:background-color var(--dur) ease;background:0 0;border:none;align-items:center;gap:8px;padding:3px 8px 3px 3px;display:flex}.userbox:hover,.userbox[aria-expanded=true]{background:var(--color-control)}.userbox .avatar{width:28px;height:28px}.userbox-text{flex-direction:column;align-items:flex-start;min-width:0;max-width:168px;line-height:1.25;display:flex}.userbox-name{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.userbox-role{font-size:var(--fs-xs);color:var(--color-faint);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@media (width<=1180px){.userbox-text{display:none}}.avatar{background:var(--color-neutral-200);width:32px;height:32px;color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}html[data-theme=dark] .avatar{background:var(--color-control-active)}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{width:26px;height:26px;font-size:var(--fs-2xs)}.avatar.lg{width:40px;height:40px;font-size:var(--fs-base)}.menu{z-index:60;border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:menu-in .12s var(--ease);gap:1px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.menu-head{border-bottom:1px solid var(--color-divider);align-items:center;gap:10px;margin-bottom:4px;padding:8px 8px 10px;display:flex}.menu-head-text{min-width:0}.menu-sep{border:none;border-top:1px solid var(--color-divider);margin:4px 0}.menu-item{text-align:left;color:var(--color-text);font:inherit;font-size:var(--fs-base);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--dur) ease;background:0 0;border:none;align-items:center;gap:8px;padding:7px 8px;text-decoration:none;display:flex}.menu-item svg{color:var(--color-muted);flex:none}.menu-item:hover{background:var(--color-control);color:var(--color-text);text-decoration:none}.menu-item.danger{color:var(--color-danger)}.toggle{background:var(--color-neutral-300);cursor:pointer;border:none;border-radius:99px;flex:none;align-items:center;width:34px;height:20px;padding:2px;transition:background-color .18s;display:flex}.toggle-thumb{width:16px;height:16px;transition:transform .18s var(--ease), background .18s ease;background:var(--color-surface);color:var(--color-accent-text);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.toggle.on{background:var(--color-accent-fill)}.toggle.on .toggle-thumb{background:var(--color-on-accent);color:var(--color-accent-fill);transform:translate(14px)}html[data-theme=dark] .toggle{background:var(--color-control-active)}html[data-theme=dark] .toggle.on{background:var(--color-accent-fill)}.bell{position:relative}.bell .dot{background:var(--status-danger-badge);min-width:16px;height:16px;color:var(--color-on-status);font-size:var(--fs-2xs);box-shadow:0 0 0 2px var(--color-surface);border-radius:99px;place-items:center;padding:0 4px;display:grid;position:absolute;top:2px;right:2px}.card{padding:16px 18px}.kpi{flex-direction:column;gap:10px;min-height:132px;display:flex}.kpi .card-kicker{min-height:28px;margin-bottom:0}.kpi-value{font-size:clamp(20px, 2vw, var(--fs-kpi));font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;align-items:center;min-height:34px;display:flex}.kpi-value.warn{color:var(--color-warn)}.kpi-value.late{color:var(--color-late)}.kpi-foot{font-size:var(--fs-xs);color:var(--color-faint);line-height:var(--lh-snug);margin-top:auto}.card.attn-danger{box-shadow:inset 0 3px 0 var(--status-danger)}.card.attn-warn{box-shadow:inset 0 3px 0 var(--status-warn)}.card.attn-info{box-shadow:inset 0 3px 0 var(--status-info)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));align-items:stretch;gap:16px;display:grid}.bar{background:var(--color-accent-track);border-radius:99px;height:6px;overflow:hidden}.bar>div{background:var(--color-accent);border-radius:99px;height:100%}.bar.warn>div{background:var(--status-warn)}.bar.danger>div{background:var(--status-danger)}.list-row{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.list-row:last-child{border-bottom:none}.info-grid{font-size:var(--fs-base);grid-template-columns:140px 1fr;align-items:baseline;gap:8px 14px;display:grid}.info-grid>dt{color:var(--color-muted)}.info-grid>dd{margin:0}.empty{font-size:var(--fs-base);color:var(--color-faint);padding:14px 0}.tag{white-space:nowrap}.chip{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--radius-pill);color:var(--color-text-2);background:var(--color-control);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:2px 9px;line-height:16px;display:inline-flex}.chip.accent{background:var(--color-control-active);color:var(--color-accent-text)}.chip.muted{color:var(--color-muted)}.chip.info{color:var(--color-info);background:var(--status-info-soft)}.chip.warn{color:var(--color-warn);background:var(--status-warn-soft)}.chip.danger{color:var(--color-late);background:var(--status-danger-soft)}.chip.ok{color:var(--color-up);background:var(--color-control)}.chip.ok:not(:has(svg)):before{content:"✓";font-weight:var(--fw-bold)}.chip.draft{border:1px dashed var(--color-border);background:0 0}.sev-chip{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.sev-chip.danger{background:var(--status-danger-soft);color:var(--color-late)}.sev-chip.warn{background:var(--status-warn-soft);color:var(--color-warn)}.sev-chip.info{background:var(--status-info-soft);color:var(--color-info)}.table-wrap{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);overflow:auto}.card .table-wrap,.dialog .table-wrap{border-radius:var(--radius-md);border:none}.table-wrap.fill{flex:1;min-height:240px}.table th{z-index:2;background:var(--color-surface-2);white-space:nowrap;padding:9px 12px;position:sticky;top:0}.card .table th,.dialog .table th{background:var(--color-surface)}.table td{vertical-align:middle;padding:9px 12px}.table tr.clickable{cursor:pointer}tr[data-mark=late]{--row-mark:var(--status-danger)}tr[data-mark=soon]{--row-mark:var(--status-warn)}tr[data-mark=progress]{--row-mark:var(--status-info)}.table tr[data-mark]>td:first-child{box-shadow:inset 3px 0 0 var(--row-mark)}.table td.actions{white-space:nowrap;width:1%}.table td.wrap-col{min-width:190px}.table tfoot td{background:var(--color-surface);font-weight:var(--fw-medium);border-top:1px solid var(--color-divider);position:sticky;bottom:0}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pager{font-size:var(--fs-sm);color:var(--color-muted);justify-content:flex-end;align-items:center;gap:10px;display:flex}.pager select{width:auto;min-height:var(--control-h-sm);font-size:var(--fs-sm);padding:3px 8px}.inline-select{appearance:none;color:var(--color-text);font:inherit;font-size:var(--fs-base);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 256 256' fill='%238b8b92'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") right 2px center no-repeat;border:none;max-width:240px;padding:2px 16px 2px 0}.inline-select:disabled{cursor:default;opacity:1;background-image:none;padding-right:0}.inline-select option{background:var(--color-surface);color:var(--color-text)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.form-grid .full{grid-column:1/-1}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.field label{font-size:var(--fs-sm);color:var(--color-text-2);margin-bottom:5px;display:block}.field .hint{font-size:var(--fs-xs);color:var(--color-faint);margin-top:4px}.input.sm{min-height:var(--control-h-sm);font-size:var(--fs-base);padding:3px 8px}select.input{cursor:pointer}.input:disabled,.input[readonly]{cursor:not-allowed;color:var(--color-text-2);-webkit-text-fill-color:var(--color-text-2);background:var(--color-surface-2)}.input-reveal{position:relative}.input-reveal .input{padding-right:42px}.input-reveal .input::-ms-reveal{display:none}.input-reveal .input::-ms-clear{display:none}.reveal-btn{border-radius:var(--radius-md);cursor:pointer;width:30px;height:26px;color:var(--color-muted);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.reveal-btn:hover{color:var(--color-text);background:var(--color-hover)}.reveal-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.check{font-size:var(--fs-base);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input{accent-color:var(--color-accent);width:15px;height:15px}.error-box{border:1px solid var(--status-danger);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--fs-base);padding:8px 12px}.ok-box{border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--fs-base);padding:8px 12px}.btn{white-space:nowrap}.btn-sm{min-height:var(--control-h-sm);font-size:var(--fs-sm);padding:0 9px}.btn-icon.btn-sm{width:var(--control-h-sm);height:var(--control-h-sm);min-height:0;padding:0}.btn-fill{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-on-accent)}.btn-fill:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)}.segbar{background:var(--color-control);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.segbar button{font:inherit;font-size:var(--fs-sm);min-height:calc(var(--control-h) - 4px);cursor:pointer;color:var(--color-muted);white-space:nowrap;transition:background-color var(--dur) ease, color var(--dur) ease, box-shadow var(--dur) ease;background:0 0;border:none;border-radius:6px;padding:0 10px}.segbar button:hover{color:var(--color-text)}.segbar button.on{background:var(--color-surface);color:var(--color-text);font-weight:var(--fw-medium);box-shadow:var(--shadow-xs)}html[data-theme=dark] .segbar button.on{background:var(--color-control-active)}.tabs{border-bottom:1px solid var(--color-divider);flex:none;gap:4px;display:flex;overflow-x:auto}.tabs a,.tabs button{font-size:var(--fs-base);color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur) ease, border-color var(--dur) ease;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-family:inherit;text-decoration:none}.tabs a:hover,.tabs button:hover{color:var(--color-text);text-decoration:none}.tabs a.on,.tabs button.on{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:var(--fw-medium)}.tabs a:focus,.tabs button:focus{outline:none}.tabs a:focus-visible,.tabs button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.dialog-backdrop{z-index:100;animation:.14s fadeIn}.dialog{max-height:calc(100vh - 40px);overflow:auto}.dialog.md{width:min(640px,100%)}.dialog.lg{width:min(980px,100%)}.dialog.xl{width:min(90vw,2040px)}.dialog-head{align-items:center;gap:10px;display:flex}.dialog-head .dialog-title{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.phase-bar{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.phase{font-size:var(--fs-sm);flex-direction:column;gap:6px;display:flex}.phase .seg{background:var(--color-accent-track);border:none;border-radius:99px;height:6px;display:block;overflow:hidden}.phase .seg>i{background:var(--status-good);height:100%;display:block}.phase.current .seg>i{background:var(--status-info)}.phase.done .seg>i{width:100%}.phase.current{color:var(--color-text);font-weight:var(--fw-medium)}.phase:not(.done):not(.current){color:var(--color-faint)}.steps{flex-direction:column;display:flex}.step{border-bottom:1px solid var(--color-divider);font-size:var(--fs-base);grid-template-columns:22px 1fr auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.step .dotmark{border:2px solid var(--color-neutral-400);border-radius:50%;width:12px;height:12px;margin-left:4px}.step.done .dotmark{border-color:var(--status-good);background:var(--status-good)}.step.current .dotmark{border-color:var(--status-info);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-info) 30%, transparent)}.step:not(.done):not(.current){color:var(--color-faint)}.approve-box{border:1px solid var(--color-divider);border-radius:4px;place-items:center;width:18px;height:18px;display:grid}.approve-box.on{background:var(--status-good-text);border-color:var(--status-good-text);color:var(--color-surface)}.legend{font-size:var(--fs-xs);color:var(--color-muted);align-items:center;gap:14px;display:flex}.legend i{vertical-align:middle;margin-right:5px;display:inline-block}.note{border-bottom:1px solid var(--color-divider);grid-template-columns:32px 1fr;gap:10px;padding:12px 0;display:grid}.note-body{font-size:var(--fs-base);white-space:pre-wrap;overflow-wrap:anywhere}.mention{color:var(--color-info);font-weight:var(--fw-medium)}.thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.thumb{border:1px solid var(--color-divider);width:60px;height:60px;font-size:var(--fs-2xs);color:var(--color-muted);background:var(--color-bg);text-align:center;border-radius:6px;place-items:center;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.pinned-strip{border:1px dashed var(--color-divider);border-radius:var(--radius-md);gap:10px;padding:10px;display:flex;overflow-x:auto}.mention-pop{z-index:40;width:280px;max-height:220px;padding:4px;position:absolute;bottom:calc(100% + 4px);left:0;overflow:auto}.doc{--doc-ink:#1b1d29;--doc-muted:#555;--doc-rule:#c9c9d1;--doc-head:#f1f1f3;--doc-total:#e4e4ea;--doc-accent:var(--color-accent-500);color:var(--doc-ink);font-family:var(--font-sans);background:#fff;width:794px;max-width:100%;margin:0 auto;padding:36px 40px;font-size:12.5px;line-height:1.5}.doc h1,.doc h2,.doc h3,.doc h4{color:var(--doc-ink);letter-spacing:0}.doc table{border-collapse:collapse;width:100%}.doc th,.doc td{border:1px solid var(--doc-rule);vertical-align:top;padding:6px 8px}.doc th{background:var(--doc-head);text-align:center;font-size:11.5px;font-weight:600}.doc .doc-head{border-bottom:2px solid var(--doc-accent);justify-content:space-between;gap:20px;margin-bottom:16px;padding-bottom:12px;display:flex}.doc .brand{color:var(--doc-accent);font-size:18px;font-weight:700}.doc .title{text-align:center;letter-spacing:.04em;color:var(--doc-accent);margin:8px 0 4px;font-size:20px;font-weight:700}.doc .right{text-align:right}.doc .terms{margin-top:14px;font-size:12px}.doc .sign{text-align:center;grid-template-columns:1fr 1fr;margin-top:26px;font-weight:600;display:grid}.doc img.line-img{object-fit:cover;width:72px;height:72px}@media print{body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{width:100%;position:absolute;top:0;left:0}.doc{width:auto;padding:0}@page{size:A4;margin:14mm}}.sheet{border-collapse:separate;border-spacing:0;font-size:var(--fs-base);table-layout:fixed}.sheet th,.sheet td{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;overflow:hidden}.sheet th{background:var(--color-surface);z-index:2;font-size:var(--fs-kicker);font-weight:var(--fw-medium);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--color-muted);text-align:left;-webkit-user-select:none;user-select:none;position:sticky;top:0}.sheet th[draggable=true]{cursor:grab}.sheet th .resize{cursor:col-resize;width:6px;position:absolute;top:0;bottom:0;right:0}.sheet.dense td{padding:3px 6px}.sheet.roomy td{padding:10px}.sheet tr:hover td{background:var(--color-hover)}.login-wrap{background:var(--color-surface-2);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:min(380px,100%);box-shadow:var(--shadow-md);border:none;gap:14px;padding:28px}.login-logo{background:var(--color-surface-2);border-radius:10px;flex:none;width:44px;height:44px;overflow:hidden}.login-logo img{object-fit:cover;width:100%;height:100%}.login-title{font-size:18px;font-weight:var(--fw-bold);letter-spacing:.04em;margin:0}.toast{white-space:pre-line;z-index:300;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);font-size:var(--fs-base);border:1px solid var(--color-divider);max-width:420px;padding:10px 16px;position:fixed;bottom:20px;right:20px}.toast.err{border-color:var(--status-danger);color:var(--color-danger)}.print-stage{background:var(--color-neutral-200);border-radius:var(--radius-md);padding:20px;overflow:auto}html[data-theme=dark] .print-stage{background:var(--color-neutral-800)}@media screen{.print-area .doc{box-shadow:0 1px 3px #14141e1a,0 8px 24px #14141e14}}@media print{.print-area{background:0 0!important;border-radius:0!important;padding:0!important;overflow:visible!important}}.doc-fit{overflow:hidden}.doc-fit-paper{transform-origin:0 0}@media print{.doc-fit{visibility:visible!important;height:auto!important;overflow:visible!important}.doc-fit-paper{width:auto!important;margin:0!important;transform:none!important}}.order-split-wrap{container-type:inline-size}.order-split{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:18px;display:grid}.order-side{gap:14px;min-width:0;padding:6px 18px 18px}.order-side>.tabs{margin:0 -18px;padding:0 10px}.order-side .phase-bar{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:10px}.order-side .info-grid{grid-template-columns:112px minmax(0,1fr);margin:0}.order-pays{margin:6px 0 0;padding:0;list-style:none}.order-pays li{border-top:1px solid var(--color-divider);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.order-lines{margin:0;padding:0;list-style:none}.order-lines>li{border-top:1px solid var(--color-divider);padding:10px 0}.order-lines>li:first-child{border-top:none;padding-top:2px}@container (width<=1100px){.order-split{grid-template-columns:minmax(0,1fr)}.order-side{order:-1}}@media (width>=641px){.search-results{width:400px;left:auto}}.pager{flex-wrap:wrap}@media (width<=900px){.split{grid-template-columns:minmax(0,1fr)!important}.split>.card{position:static!important}}@media (width<=760px){.form-grid,.form-grid-3{grid-template-columns:minmax(0,1fr)}.form-grid>*,.form-grid-3>*{grid-column:auto!important}.quote-line{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quote-line>:nth-child(2){order:-1;grid-column:1/-1}.info-grid dd .chip{white-space:normal}}@media (width<=640px){.sb-slot,.sb-slot.pinned{z-index:auto;width:0;height:0;position:static}.sidebar,.sidebar.open{visibility:hidden;width:264px;height:auto;transition:transform .2s var(--ease), visibility 0s linear .2s;box-shadow:var(--shadow-lg);z-index:90;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.drawer{visibility:visible;transition:transform .2s var(--ease);transform:none}.nav-scrim{z-index:89;background:var(--color-backdrop);animation:.14s fadeIn;display:block;position:fixed;inset:0}.tb-menu{margin-left:-6px;display:inline-flex}.sidebar.drawer .sb-collapse{display:none}.topbar{gap:8px;padding:0 12px}.crumbs{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.search-box{flex:120px;width:auto;min-width:0}.page{padding:16px 14px 32px}.segbar{scrollbar-width:none;max-width:100%;overflow-x:auto}.segbar button{flex:none}.page-head>.row{flex:100%;min-width:0}.page-head>.row>.input{flex:1 1 0;min-width:0}}@media screen and (width<=900px){.print-area .doc{max-width:none}}.perm-grid{max-height:70vh}.perm-grid .table tbody th{white-space:normal;font-weight:var(--fw-regular);text-align:left;text-transform:none;letter-spacing:normal;font-size:var(--fs-base);color:var(--color-text);position:static}.perm-grid .perm-label{min-width:260px;max-width:420px}.perm-grid .table .perm-group th{font-weight:var(--fw-medium);font-size:var(--fs-kicker);text-transform:uppercase;letter-spacing:var(--ls-kicker);color:var(--color-kicker);padding-top:18px}.perm-grid .perm-cell{text-align:center;width:1%}.perm-check{cursor:pointer;align-items:center;gap:2px;padding:4px;display:inline-flex}.perm-check input{accent-color:var(--color-accent);width:16px;height:16px;cursor:inherit}.perm-check input:disabled{cursor:not-allowed}.perm-dot{width:6px;color:var(--color-warn);font-weight:var(--fw-bold)}.table.list-table thead tr,.table.list-table tbody tr,.table.list-table tbody tr:hover{background-image:none}.table.list-table tbody tr:hover{background-color:var(--color-hover)}.table.list-table th{border-bottom:1px solid var(--color-divider)}.table.list-table td{border-bottom:1px solid var(--color-divider-soft)}.table.list-table th,.table.list-table td,.table.list-table .num{text-align:left;justify-content:flex-start}@media (prefers-reduced-motion:reduce){.sb-slot,.sidebar{transition:none}.sidebar.peek .sb-tip,.sidebar.peek .sb-erp,.sidebar.peek .sb-group-label{animation:none}}.settings-shell{flex:1;min-height:0;display:flex}.settings-nav{border-right:1px solid var(--color-divider);background:var(--color-surface-2);flex-direction:column;flex:none;gap:1px;width:236px;padding:0 8px 32px;display:flex;overflow-y:auto}.settings-nav .sn-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-accent-text);min-height:var(--header-h);border-bottom:1px solid var(--color-divider);flex:none;align-items:center;margin:0 -8px 6px;padding:0 10px 0 18px;display:flex}.settings-nav .sn-group{font-size:var(--fs-kicker);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-kicker);color:var(--color-faint);padding:14px 10px 5px}.settings-nav a{border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--color-text-2);line-height:var(--lh-snug);transition:background-color var(--dur) ease, color var(--dur) ease;padding:6px 10px;text-decoration:none;display:block}.settings-nav a:hover{background:var(--color-control);color:var(--color-text);text-decoration:none}.settings-nav a.on{background:var(--color-surface);color:var(--color-accent-text);font-weight:var(--fw-medium);box-shadow:var(--shadow-xs)}.settings-nav a .sn-ext{font-size:var(--fs-xs);color:var(--color-faint);margin-left:4px}.settings-main{flex-direction:column;flex:1;min-width:0;display:flex}.set-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.set-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);min-height:108px;transition:border-color var(--dur) ease, box-shadow var(--dur) ease;flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex}.set-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm);text-decoration:none}.set-card .sc-title{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.set-card .sc-desc{font-size:var(--fs-sm);color:var(--color-muted);line-height:var(--lh-snug)}.set-card .sc-status{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;display:flex}.set-card .sc-status.warn{color:var(--color-warn)}.set-group-title{font-size:var(--fs-kicker);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-kicker);color:var(--color-faint);margin:6px 0 -4px}.set-section{flex-direction:column;gap:12px;display:flex}.set-toolbar{flex-flow:wrap;align-items:center;gap:8px;display:flex}.set-toolbar>label{align-items:center;gap:6px;margin:0;display:inline-flex}.set-toolbar .input{max-width:260px}.set-table td,.set-table th{vertical-align:middle}.set-table tr.off td{opacity:.55}.set-preview{font-family:var(--font-mono);font-size:var(--fs-base);background:color-mix(in srgb, var(--color-text) 7%, transparent);border-radius:6px;padding:2px 8px}.set-kv{font-size:var(--fs-base);grid-template-columns:200px 1fr;gap:6px 16px;display:grid}.set-kv dt{color:var(--color-muted)}.set-kv dd{overflow-wrap:anywhere;margin:0}.set-mail{white-space:pre-wrap;font-size:var(--fs-base);line-height:var(--lh-base);border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-bg);padding:12px 14px}.set-img{object-fit:contain;border:1px dashed var(--color-divider);width:96px;height:96px;font-size:var(--fs-xs);color:var(--color-faint);background:var(--color-bg);border-radius:8px;place-items:center;display:grid}.vocab-tabs{flex-wrap:wrap;gap:4px;display:flex}.vocab-tabs button{font:inherit;font-size:var(--fs-sm);border:1px solid var(--color-divider);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px}.vocab-tabs button.on{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-text);border-color:#0000}.vocab-tabs button .n{font-size:var(--fs-2xs);color:var(--color-faint);margin-left:4px}.must-change{font-size:var(--fs-base);border-bottom:1px solid var(--color-accent);background:var(--color-accent-soft);padding:8px 28px}.dio-rules-card{padding:12px 16px}.dio-rules{font-size:var(--fs-sm);color:var(--color-text-2);line-height:var(--lh-snug);gap:4px;margin:0;padding-left:18px;display:grid}.dio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.dio-card{flex-direction:column;gap:10px;min-width:0;display:flex}.dio-head{align-items:center;gap:10px;display:flex}.dio-icon{background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent-text);border-radius:10px;flex:none;place-items:center;display:grid}.dio-title{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.dio-count{font-size:var(--fs-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.dio-desc{font-size:var(--fs-sm);color:var(--color-muted);line-height:var(--lh-snug)}.dio-last{font-size:var(--fs-sm);color:var(--color-text-2);border-top:1px solid var(--color-divider);flex-direction:column;gap:2px;padding-top:10px;display:flex}.dio-last-head{align-items:center;gap:6px;display:inline-flex}.dio-dlg{flex-direction:column;gap:12px;min-width:0;display:flex}.dio-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.dio-actions .btn{justify-content:center;gap:6px}.dio-steps{font-size:var(--fs-sm);color:var(--color-faint);flex-wrap:wrap;gap:4px 14px;margin:0 0 4px;padding:0;list-style:none;display:flex}.dio-steps .on{color:var(--color-accent-text);font-weight:var(--fw-medium)}.dio-modes{border:none;grid-template-columns:1fr 1fr;gap:10px;min-width:0;margin:0;padding:0;display:grid}.dio-mode{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.dio-mode.on{border-color:var(--color-accent);background:var(--color-accent-soft)}.dio-mode input{accent-color:var(--color-accent);flex:none;margin-top:3px}.dio-section-title{font-size:var(--fs-kicker);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-kicker);color:var(--color-kicker);margin-top:6px}.dio-report{flex-direction:column;gap:8px;min-width:0;display:flex}.dio-counts{flex-wrap:wrap;gap:6px;display:flex}.dio-filter{align-self:flex-start;max-width:100%;overflow-x:auto}.dio-rows{border:1px solid var(--color-divider);max-height:320px}.dio-rows td{vertical-align:top}.dio-rows .dio-key{white-space:nowrap}.dio-rows td.dio-detail{min-width:220px}.dio-issue{line-height:var(--lh-snug)}.dio-issue+.dio-issue{margin-top:2px}.dio-issue.error{color:var(--color-danger)}.dio-issue.warning{color:var(--color-warn)}.dio-issue.info{color:var(--color-muted)}.dio-accept{align-items:flex-start}.dio-pw{flex-direction:column;gap:4px;display:flex}.dio-pw-grid{gap:12px}.dio-sub,.dio-done{flex-direction:column;gap:12px;min-width:0;display:flex}.dio-back{align-self:flex-start}.dio-vtable{max-height:460px;margin-top:8px}.dio-vbtns{flex-wrap:nowrap;gap:4px}.dio-vcards{display:none}.dio-vcard{border:1px solid var(--color-divider);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:10px 12px;display:flex}@media (width<=760px){.dio-grid,.dio-modes,.dio-pw-grid{grid-template-columns:1fr}.dio-actions .btn{min-height:40px}.dio-vtable{display:none}.dio-vcards{gap:10px;margin-top:8px;display:grid}.dio-vbtns .btn{flex:1;justify-content:center;min-height:40px}.dio-rows{max-height:420px;overflow-x:hidden}.dio-rows table,.dio-rows tbody,.dio-rows tr,.dio-rows td{display:block}.dio-rows thead{display:none}.dio-rows tbody tr{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.dio-rows tbody tr+tr{border-top:1px solid var(--color-divider)}.dio-rows td{text-align:left;border:0;min-width:0;padding:0}.dio-rows td.dio-rowno{color:var(--color-muted);font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.dio-rows td.dio-rowno:before{content:"Dòng "}.dio-rows .dio-key{white-space:normal;overflow-wrap:anywhere;font-weight:var(--fw-medium)}.dio-rows td.dio-detail{overflow-wrap:anywhere;grid-column:1/-1;min-width:0}.dio-rows td.dio-detail:empty{display:none}.dio-rows td.empty{grid-column:1/-1}.settings-shell{flex-direction:column}.settings-nav{border-right:none;border-bottom:1px solid var(--color-divider);scrollbar-width:none;flex-direction:row;gap:4px;width:auto;padding:6px 10px;overflow-x:auto}.settings-nav .sn-title,.settings-nav .sn-group{display:none}.settings-nav a{white-space:nowrap;flex:none}.set-kv{grid-template-columns:1fr}.must-change{padding:8px 14px}}
