@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/be-vietnam-pro-vietnamese-300-normal-DgHVdWqW.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-300-normal-CCFytK8Z.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/be-vietnam-pro-latin-ext-300-normal-Dcmdtkil.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-300-normal-BzPhHJqr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/be-vietnam-pro-latin-300-normal-Y7NOBCwQ.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-300-normal-B5D-7GXS.woff)format("woff");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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");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,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111113;--bg-glow:#1a1a1e;--surface:#19191c;--surface-2:#222226;--surface-3:#2a2a2f;--line:#ffffff13;--line-strong:#ffffff24;--text:#ededf0;--text-2:#a3a3ad;--text-3:#8b8b95;--lime:#c4ee4b;--lime-text:#c4ee4b;--lime-ink:#121a00;--lime-soft:#c4ee4b1f;--violet:#c58bff;--violet-text:#d3a6ff;--violet-soft:#c58bff21;--violet-row:#c58bff12;--pos:#5ee38f;--pos-soft:#5ee38f1f;--neg:#ff7b7b;--neg-soft:#ff7b7b1f;--sheet-shadow:-24px 0 64px #00000080;--menu-shadow:0 16px 40px #00000073}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f1f4;--bg-glow:#f7f7f9;--surface:#fff;--surface-2:#f3f3f6;--surface-3:#e9e9ee;--line:#14141c17;--line-strong:#14141c29;--text:#18181c;--text-2:#55555f;--text-3:#686873;--lime:#c4ee4b;--lime-text:#4a7300;--lime-ink:#121a00;--lime-soft:#78af0021;--violet:#8b3ff0;--violet-text:#7a2ee0;--violet-soft:#8b3ff01a;--violet-row:#8b3ff00d;--pos:#16803f;--pos-soft:#16803f1a;--neg:#c62f2f;--neg-soft:#c62f2f17;--sheet-shadow:-24px 0 64px #14142824;--menu-shadow:0 16px 40px #14142824}:root{--radius:16px;--radius-ctl:11px;--ease-out:cubic-bezier(.16, 1, .3, 1);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;caret-color:var(--lime-text);font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(1200px 700px at 30% -10%, var(--bg-glow), var(--bg) 70%) fixed;min-height:100vh;margin:0}::selection{background:var(--violet-soft);color:var(--text)}:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:300}h1{font-size:30px;line-height:1.15}h2{font-size:21px;line-height:1.2}a{color:var(--violet-text);text-underline-offset:3px}.num,td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--text-3)}.audit-line{color:var(--text-3);margin:4px 0 0;font-size:12.5px}.error{color:var(--neg);margin:0}.ok{color:var(--pos);margin:0}.app{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;gap:28px;height:100vh;padding:26px 18px 22px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--text);white-space:nowrap;align-items:baseline;gap:6px;padding-left:6px;font-size:17px;font-weight:400;text-decoration:none;display:flex}.brand-dot{background:var(--lime);width:9px;height:9px;box-shadow:9px 0 0 var(--violet);border-radius:50%;flex:none;align-self:center;margin-right:12px}.brand small{color:var(--text-3);font-size:17px;font-weight:300}.nav{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{margin-top:18px}.nav-label{color:var(--text-3);padding:0 10px 6px;font-size:12px}.nav a,.nav-parent{color:var(--text-2);border-radius:10px;align-items:center;gap:11px;padding:8px 10px;font-size:14.5px;text-decoration:none;transition:color .15s,background-color .15s;display:flex;position:relative}.nav a svg,.nav-parent svg{stroke-width:1.7px;flex:none;width:17px;height:17px}.nav a:hover,.nav a.active{color:var(--text);background:var(--surface-2)}.nav a.active:before{content:"";background:var(--violet);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-22px}.nav-tree{border-left:1px solid var(--line-strong);flex-direction:column;gap:2px;margin-left:18px;padding-left:14px;display:flex}.nav-tree a{padding:6px 10px;font-size:14px}.nav-tree a.active:before{left:-36px}.main{min-width:0;padding:26px 34px 48px;position:relative}.main>.user-menu{z-index:20;position:absolute;top:26px;right:34px}.main>section{flex-direction:column;gap:22px;display:flex}.page-title{align-items:center;gap:16px;min-height:46px;padding-right:280px;display:flex}.page-title h1{flex:1}.user-menu{position:relative}.user-chip{border:1px solid var(--line);background:var(--surface);height:46px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 14px 0 7px;display:flex}.user-chip:hover{border-color:var(--line-strong)}.avatar{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.user-chip svg{width:16px;height:16px;color:var(--text-3)}.menu{z-index:30;background:var(--surface);min-width:220px;box-shadow:var(--menu-shadow), 0 0 0 1px var(--line);animation:pop .18s var(--ease-out);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-meta{border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px 10px}.menu-meta strong{font-weight:500;display:block}.menu-meta span{color:var(--text-3);font-size:12.5px}.menu a,.menu button{height:auto;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;font-weight:400;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:var(--surface-2);color:var(--text)}.menu svg{stroke-width:1.7px;width:16px;height:16px}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}.panel.narrow{max-width:440px}.panel.narrow>h2{margin-bottom:18px}.panel.form{flex-direction:column;gap:14px;display:flex}.panel.form>h2{margin-bottom:4px}.panel-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.panel-head h2{margin-right:auto}.panel-head .count,.page-title .count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.todo-title{flex-wrap:wrap;gap:12px}.todo-title .count,.todo-period{white-space:nowrap}.todo-title h1{flex:none;margin-right:8px}.todo-title .grow{flex:auto}.todo-nav{gap:2px;display:flex}.todo-nav button.icon{border-color:#0000}.todo-lists .task:first-of-type{margin-top:4px}.todo-period{font-size:20px;font-weight:300}.todo-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 16px;display:flex}.todo-filters{flex-wrap:wrap;flex:auto;gap:8px;display:flex}button.todo-filter{border:1px solid var(--line-strong);background:var(--surface);height:34px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 12px;font-size:13px;font-weight:400;display:inline-flex}button.todo-filter:hover{filter:none;border-color:var(--text-3)}button.todo-filter[aria-pressed=false]{border-color:var(--line);color:var(--text-3);background:0 0}button.todo-filter[aria-pressed=false] .cat-dot{background:var(--surface-3)}.todo-toolbar .count{color:var(--text-3);font-size:13px}.cat-dot{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px}.cat-dot.pay{background:var(--neg)}.cat-dot.ship{background:var(--violet)}.cat-dot.pr{background:var(--lime)}.cat-dot.awb,.cat-dot.ncc{background:var(--text-2)}.todo-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:20px;display:grid}.panel.cal{padding:0;overflow:hidden}.cal-dow{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-dow span{text-align:center;letter-spacing:.06em;color:var(--text-3);padding:10px 8px 8px;font-size:11px;font-weight:500}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(112px,auto);display:grid}.cal-cell{border-bottom:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;padding:6px 6px 8px;display:flex}.cal-cell:not(:nth-child(7n)){border-right:1px solid var(--line)}.cal-cell.outside{background:color-mix(in srgb, var(--bg) 55%, transparent)}.cal-cell.outside .cal-day{color:var(--text-3)}.cal-cell.selected{background:var(--violet-row)}button.cal-day{min-width:28px;height:28px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:14px;align-self:center;padding:0 7px;font-size:12px;font-weight:500}button.cal-day:hover{filter:none;color:var(--text);background:var(--surface-2)}button.cal-day[aria-pressed=true]{border-color:var(--violet);color:var(--text)}button.cal-day.today{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}button.cal-chip,button.cal-more{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:var(--surface-2);width:100%;height:auto;color:var(--text-2);border:0;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:500;display:block;overflow:hidden}button.cal-chip:hover,button.cal-more:hover{filter:brightness(1.15)}button.cal-more{color:var(--text-3);background:0 0;font-weight:400}.cal-chip.pay,.cal-card.pay{background:var(--neg-soft);color:var(--neg)}.cal-chip.ship,.cal-card.ship{background:var(--violet-soft);color:var(--violet-text)}.cal-chip.pr,.cal-card.pr{background:var(--lime-soft);color:var(--lime-text)}.cal-chip.done,.cal-card.done{opacity:.5;text-decoration:line-through}.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));min-height:560px;display:grid}.cal-week .cal-cell{border-bottom:0;gap:6px;padding:0 8px 12px}.cal-week-head{letter-spacing:.06em;color:var(--text-3);flex-direction:column;align-items:center;gap:6px;padding:12px 0 10px;font-size:11px;font-weight:500;display:flex}.cal-week-head button.cal-day{border-radius:20px;min-width:40px;height:40px;font-size:18px;font-weight:400}.cal-card{border-radius:9px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.cal-card strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.cal-card small{opacity:.8;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.todo-aside{flex-direction:column;gap:16px;min-width:0;display:flex}.todo-aside .panel-head{margin-bottom:8px}.todo-aside .panel-head h2{font-size:17px;font-weight:400}.todo-group+.todo-group{margin-top:14px}.todo-group h3{letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin:0 0 2px;font-size:12px;font-weight:500;display:flex}.todo-group h3.neg{color:var(--neg)}.todo-group h3.violet{color:var(--violet-text)}.todo-group h3.quiet{color:var(--text-2)}.todo-group h3 .count{letter-spacing:0;color:var(--text-3);font-size:12px}.task{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:52px;padding:6px 0;display:flex}.task:last-child{border-bottom:0}.task>.cat-dot{margin:0 5px}.task-check{cursor:pointer;width:18px;height:18px;accent-color:var(--violet);flex:none;margin:0}.task-main{min-width:0;color:var(--text);border-radius:6px;flex-direction:column;flex:auto;gap:2px;text-decoration:none;display:flex}.task-main:hover .task-title{text-underline-offset:3px;text-decoration:underline}.task-main:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.task-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.task-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.task .pill{white-space:nowrap;flex:none}.task.done{opacity:.5}.task.done .task-title{text-decoration:line-through}.todo-lists{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}button.todo-list-toggle{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 4px;font-size:14px;font-weight:400;display:flex}button.todo-list-toggle:hover:not(:disabled){filter:none;background:var(--surface-2)}button.todo-list-toggle:disabled{cursor:default;opacity:1}button.todo-list-toggle .grow{flex:auto}button.todo-list-toggle .muted{font-size:12px}button.todo-list-toggle .chev{width:16px;height:16px;color:var(--text-3);transition:transform .15s}button.todo-list-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}@media (width<=1180px){.todo-layout{grid-template-columns:1fr}}.stale{opacity:.45;transition:opacity .15s}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-ctl);height:38px;color:var(--text);background:0 0;padding:0 12px;transition:border-color .15s}textarea{height:auto;padding:9px 12px}select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238b8b95' stroke-width='1.6' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E") right 11px center no-repeat;padding-right:30px}select option{background:var(--surface);color:var(--text)}.combo{min-width:0;position:relative}.combo input{text-overflow:ellipsis;width:100%;padding-right:30px}.combo-chev{width:14px;height:14px;color:var(--text-3);pointer-events:none;margin-top:-7px;position:absolute;top:50%;right:10px}.combo-list{z-index:60;background:var(--surface);border:1px solid var(--line-strong);max-height:300px;box-shadow:var(--menu-shadow);animation:pop .18s var(--ease-out);border-radius:12px;margin:0;padding:5px;list-style:none;position:fixed;overflow-y:auto}.combo-list li{color:var(--text);cursor:pointer;border-radius:8px;flex-direction:column;gap:1px;padding:7px 10px;font-size:14px;display:flex}.combo-list li[aria-selected=true]{background:var(--surface-2)}.combo-list li.current .combo-label{color:var(--violet-text)}.combo-list li small{color:var(--text-3);font-size:12px}.combo-list li.combo-empty{color:var(--text-3)}.combo-list li.combo-create{color:var(--lime-text)}.combo-list li[aria-disabled=true]{color:var(--text-3);cursor:not-allowed}input::placeholder{color:var(--text-3)}input:hover,select:hover,textarea:hover{border-color:var(--text-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--violet);border-radius:var(--radius-ctl);outline:none}input[type=checkbox]{width:16px;height:16px;accent-color:var(--violet)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6)}[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:none}.search{flex-direction:row;align-items:center;gap:0;display:flex;position:relative}.search svg{width:16px;height:16px;color:var(--text-3);pointer-events:none;position:absolute;left:12px}.search input{width:240px;padding-left:36px}.panel-head select{max-width:210px}.panel-head .combo{width:176px}.panel-head .inline-field{white-space:nowrap;flex-direction:row;align-items:center;gap:8px}.neg-text,td .stack small.neg-text{color:var(--neg)}td .stack{min-width:140px}td.sub .stack{min-width:0}td .stack small{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:240px;display:-webkit-box;overflow:hidden}td .price-cell{align-items:flex-end;min-width:0}button{border-radius:var(--radius-ctl);background:var(--lime);height:38px;color:var(--lime-ink);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;transition:filter .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}button svg{stroke-width:1.8px;width:16px;height:16px}button:hover{filter:brightness(1.06)}button:active{filter:brightness(.95)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary,button.ghost{color:var(--text-2);border-color:var(--line-strong);background:0 0;font-weight:400}button.secondary:hover,button.ghost:hover{color:var(--text);border-color:var(--text-3);filter:none}button.danger{color:var(--neg);border-color:color-mix(in srgb, var(--neg) 40%, transparent);background:0 0;font-weight:400}button.danger:hover{background:var(--neg-soft);filter:none}button.link{height:auto;color:var(--violet-text);background:0 0;border:0;padding:0;font-weight:400}button.icon{width:38px;color:var(--text-2);border-color:var(--line-strong);background:0 0;padding:0}button.icon:hover{color:var(--text);filter:none}.seg{border:1px solid var(--line-strong);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--text-3);background:0 0;border:0;border-radius:9px;padding:0 13px;font-weight:400}.seg button:hover{color:var(--text);filter:none}.seg button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.seg button.tem[aria-pressed=true]{background:var(--violet-soft);color:var(--violet-text)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;height:22px;padding:0 9px;font-size:12.5px;line-height:1;display:inline-flex}.pill.lime{background:var(--lime-soft);color:var(--lime-text)}.pill.violet{background:var(--violet-soft);color:var(--violet-text)}.pill.pos{background:var(--pos-soft);color:var(--pos)}.pill.neg{background:var(--neg-soft);color:var(--neg)}.pill.quiet{background:var(--surface-2);color:var(--text-2)}.pill svg{stroke-width:2px;width:12px;height:12px}.table-wrap{margin:0 -24px -22px;padding:0 24px 6px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;padding:0 14px}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}th{height:40px;color:var(--text-3);white-space:nowrap;background:var(--surface);z-index:1;font-size:12.5px;font-weight:400;position:sticky;top:0}th button.sort{height:auto;color:inherit;font-size:inherit;background:0 0;border:0;gap:4px;padding:0;font-weight:400}th button.sort:hover{color:var(--text);filter:none}th button.sort svg{opacity:.4;width:13px;height:13px}th button.sort[data-active]{color:var(--text)}th button.sort[data-active] svg{opacity:1;color:var(--violet-text)}td{border-top:1px solid var(--line);height:50px;font-size:14px}td.sub{color:var(--text-2)}td .stack{flex-direction:column;gap:1px;padding:7px 0;display:flex}td .stack small{color:var(--text-3);font-size:12.5px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}tr.selected td{background:var(--violet-row)}tr.cont td{border-top-color:#0000}tr.cont td:not(:first-child){border-top:1px dashed var(--line)}.price{align-items:center;gap:10px;display:inline-flex}td small.fx{color:var(--text-3);font-size:12px}td.note{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}td .clamp{-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;max-width:360px;display:-webkit-box;overflow:hidden}td .ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}td .stack small.code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}table.fixed-cols{table-layout:fixed;min-width:880px}table.fixed-cols td .stack{min-width:0}table.fixed-cols td .stack small,table.fixed-cols td .clamp{max-width:none}table.fixed-cols th{white-space:normal;height:auto;min-height:40px;padding-top:8px;padding-bottom:8px;line-height:1.3}.empty{text-align:center;color:var(--text-3);padding:48px 0 30px}.empty strong{color:var(--text-2);margin-bottom:4px;font-size:15px;font-weight:400;display:block}tfoot td{border-top:1px solid var(--line-strong);height:46px;color:var(--text)}td.overdue{color:var(--neg)}label{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.actions{gap:10px;margin-top:6px;display:flex}.actions .spacer{flex:1}tr.muted td{color:var(--text-3)}.po-form{flex-direction:column;gap:22px;display:flex}.po-form fieldset{display:contents}.po-form fieldset:disabled input,.po-form fieldset:disabled select{opacity:1;color:var(--text);border-color:var(--line)}.fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.fields .wide{grid-column:1/-1}.import-source{flex-direction:column;gap:14px;display:flex}.import-source .panel-head{margin-bottom:0}.import-steps{color:var(--text-2);margin:0;padding-left:20px;font-size:14px;line-height:1.6}.import-source details summary{cursor:pointer;color:var(--violet-text);font-size:13px}.import-source pre.prompt{background:var(--surface-2);max-height:280px;color:var(--text-2);white-space:pre-wrap;border-radius:12px;margin:10px 0 0;padding:12px 14px;font-size:12.5px;overflow:auto}textarea.json-input,.import-source pre.prompt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.import-source .error ul{margin:6px 0 0;padding-left:20px;font-size:13px}table.lines td input[type=checkbox]{width:16px;height:16px;padding:0}table.lines input,table.lines select{width:100%;height:34px;padding:0 9px}table.lines select{min-width:76px;padding-right:26px}table.lines td:first-child>select{min-width:210px}table.lines th:not(:first-child),table.lines td:not(:first-child){padding:0 6px}table.lines th:last-child,table.lines td:last-child{padding-right:0}table.lines td.num input{text-align:right;width:100px}table.lines input[type=date]{width:138px}table.lines input[aria-label=Quy\ cách]{min-width:90px}table.lines td{height:48px}table.lines.po-lines{min-width:900px}table.lines.po-lines input,table.lines.po-lines select,table.lines.po-lines td.num input{width:100%;min-width:0}table.lines.po-lines td .stack{gap:3px;padding:6px 0}table.lines.sheet-lines{table-layout:fixed}table.lines.sheet-lines td:first-child>select,table.lines.sheet-lines td.num input{width:100%;min-width:0}.line-extra{flex-wrap:wrap;gap:12px;padding:4px 0 10px;display:flex}.line-extra label{width:190px}.po-foot{align-items:center;gap:14px;margin-top:16px;display:flex}.po-foot .calc{gap:18px;margin-left:auto}.info{grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;display:grid}.info dt{color:var(--text-3)}.info dd{margin:0}.sheet-scrim{z-index:40;background:#00000047;animation:.2s ease-out fade;position:fixed;inset:0}.sheet{z-index:41;background:var(--surface);width:min(460px,100vw);box-shadow:var(--sheet-shadow);animation:slide .32s var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:22px 24px 18px;display:flex}.sheet-head h2{flex:1}.sheet-body{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.sheet-body .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sheet-foot{border-top:1px solid var(--line);gap:10px;padding:16px 24px;display:flex}.sheet-foot .spacer{flex:1}.calc{background:var(--surface-2);color:var(--text-2);border-radius:12px;justify-content:space-between;align-items:baseline;padding:12px 14px;font-size:13px;display:flex}.calc strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:400}.sheet-fields{display:contents}.sheet-fields:disabled input,.sheet-fields:disabled select,.sheet-fields:disabled textarea{opacity:1;color:var(--text);border-color:var(--line)}.sheet-body h3{margin-top:6px;font-size:17px}.po-picks{color:var(--text-2);flex-direction:column;gap:8px;font-size:13px;display:flex}.po-picks .check{color:var(--text);flex-direction:row;align-items:baseline;gap:8px;font-size:14px}.po-picks .check input{align-self:center}.po-picks .check small{color:var(--text-3);font-size:12.5px}.invoice-total{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.invoice-total strong{color:var(--text);font-variant-numeric:tabular-nums}.sub-line{color:var(--text-3);font-size:12px;display:block}.sheet-fields label.check{flex-flow:wrap;align-items:center;gap:4px 8px}.sheet-fields label.check small{flex-basis:100%;font-size:12.5px}.notice{color:var(--pos);margin:0}.match-warn{color:var(--neg);font-size:13px}td .pill+.pill{margin-left:4px}.ledger+.ledger{margin-top:22px}.ledger>h2{margin-bottom:12px}.payments{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.payments table,.payment-draft{width:100%}.payment-draft,.pr-line{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.payment-draft .actions{margin-top:0}.sheet-body>.fit,.pr-line>.fit{align-self:flex-start}.sheet-body .table-wrap{flex-shrink:0;margin:0;padding:0 0 6px}.payment-draft .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel .payment-draft{max-width:520px}.po-invoices-title{margin:22px 0 10px;font-size:17px}.po-invoices{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.po-invoices li{align-items:baseline;gap:12px;display:flex}@keyframes slide{0%{opacity:0;transform:translate(32px)}}@keyframes fade{0%{opacity:0}}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login{flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.login .brand{margin-bottom:8px;padding:0}.pills{flex-wrap:wrap;gap:6px;padding:7px 0;display:flex}.steps{margin:0;padding:0 0 6px;list-style:none;display:flex;overflow-x:auto}.steps li{color:var(--text-3);flex-direction:column;flex:1 0 128px;gap:6px;padding-right:12px;font-size:13px;display:flex;position:relative}.steps li:after{content:"";background:var(--line-strong);height:1px;position:absolute;top:13px;left:34px;right:8px}.steps li:last-child:after{display:none}.step-no{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12.5px;display:grid}.step-label{min-height:34px;line-height:1.3}.steps li[data-state=done]{color:var(--text-2)}.steps li[data-state=done] .step-no{background:var(--pos-soft);color:var(--pos)}.steps li[data-state=done]:after{background:var(--pos)}.steps li[data-state=next]{color:var(--text)}.steps li[data-state=next] .step-no{background:var(--violet-soft);color:var(--violet-text)}.steps input{width:100%;max-width:140px;height:32px;padding:0 8px;font-size:12.5px}.steps small{font-variant-numeric:tabular-nums;font-size:12px}.lot-info{margin-bottom:18px}.lot-lines{margin-top:14px;margin-bottom:0}.lot-calc{margin-top:14px}.range{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.range input{width:150px}.panel-head .range{color:var(--text-3);flex-wrap:nowrap;gap:6px;font-size:13px}.panel-head .range input{width:138px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi{flex-direction:column;gap:10px;display:flex}.kpi span{color:var(--text-3);font-size:13px}.kpi strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:300;line-height:1.1}.charts{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;display:grid}.bar-chart{min-height:262px;position:relative}.bar-chart svg{display:block;overflow:visible}.bar-chart g{cursor:pointer;outline:none}.bar-chart .hit{fill:#0000}.bar-chart .bar{fill:var(--violet);opacity:.4;transition:opacity .15s}.bar-chart g[data-active] .bar{opacity:1}.bar-chart .bar.zero,.bar-chart g[data-active] .bar.zero{fill:var(--surface-3);opacity:1}.bar-chart g:focus-visible .bar{stroke:var(--text);stroke-width:2px}.bar-chart text{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11.5px}.bar-chart g[data-active] text{fill:var(--text)}.chart-tip{pointer-events:none;white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--menu-shadow);color:var(--text-3);border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12.5px;display:flex;position:absolute}.chart-tip strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.donut{flex-direction:column;align-items:center;gap:18px;display:flex}.donut-ring{width:200px;position:relative}.donut-ring svg{width:100%;display:block}.donut circle{fill:none;stroke-width:22px}.donut .track{stroke:var(--surface-2)}.donut .device{stroke:var(--lime)}.donut .tem{stroke:var(--violet)}.donut .import{stroke:var(--surface-3)}.donut-centre{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.donut-centre strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:400}.donut-centre span{color:var(--text-3);font-size:12.5px}.legend{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.legend li{color:var(--text-2);grid-template-columns:8px 1fr auto 40px;align-items:center;gap:10px;display:grid}.legend .num{color:var(--text)}.legend .num.muted{color:var(--text-3)}.dot{border-radius:50%;width:8px;height:8px}.dot.device{background:var(--lime)}.dot.tem{background:var(--violet)}.dot.import{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-strong)}@media (width<=860px){.app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:12px;height:auto;padding:14px 16px;position:static}.nav{flex-flow:wrap}.nav-label{display:none}.nav-group+.nav-group{margin-top:0}.nav-tree{border:0;flex-direction:row;margin:0;padding:0}.nav a.active:before{display:none}.main{padding:18px 16px 32px}.main>.user-menu{justify-content:flex-end;margin-bottom:12px;display:flex;position:static}.page-title{flex-wrap:wrap;min-height:0;padding-right:0}.panel-head{flex-wrap:nowrap}.todo-layout{grid-template-columns:1fr}.todo-period{font-size:16px}.todo-filters{flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}button.todo-filter{flex:none}.cal-grid{grid-auto-rows:minmax(56px,auto)}.cal-cell{align-items:center;padding:4px 2px}button.cal-chip{border-radius:50%;width:8px;height:8px;padding:0;font-size:0}button.cal-chip.pay{background:var(--neg)}button.cal-chip.ship{background:var(--violet)}button.cal-chip.pr{background:var(--lime)}button.cal-more{text-align:center;padding:0;font-size:10px}.cal-week{grid-template-columns:1fr;min-height:0}.cal-week .cal-cell{border-right:0;border-bottom:1px solid var(--line);align-items:stretch}.cal-week-head{flex-direction:row;justify-content:flex-start}th,td{padding:0 8px}td .stack{min-width:0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:1fr}.search{flex:100%}.search input{width:100%}.table-wrap{margin:0 -16px -16px;padding:0 16px 6px}.panel{padding:16px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
