@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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{--black: #000000;--surface: #121212;--surface-2: #1a1a1a;--line: #262626;--line-2: #333333;--text: #ededed;--text-2: #8a8a8a;--orange: #ff6b1a;--orange-dim: rgba(255, 107, 26, .14);--blue: #3d8bff;--violet: #9b6bff;--green: #2bc48a;--red: #ff4d5e;--yellow: #f5c542;--teal: #22b8cf;--radius: 4px;--font: "Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--black);color:var(--text);font:400 14px/1.5 var(--font);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.muted{color:var(--text-2)}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100%}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--line);padding:20px 12px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--orange);color:var(--black);font-weight:800;font-variation-settings:"wdth" 125;border-radius:var(--radius)}.brand-name{font-weight:700;font-size:16px;font-variation-settings:"wdth" 125;letter-spacing:.01em}.rail-nav{display:flex;flex-direction:column;gap:2px}.rail-link{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius);text-decoration:none;color:var(--text-2)}.rail-link:hover{color:var(--text);background:var(--surface)}.rail-link.active{color:var(--text);background:var(--surface-2)}.rail-dot{width:8px;height:8px;border-radius:2px;background:var(--mod, var(--text-2));flex:none}.rail-link-off{cursor:default;opacity:.45}.rail-link-off:hover{background:none;color:var(--text-2)}.rail-soon{margin-left:auto;font-size:11px}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid var(--line)}.rail-link-small{font-size:13px}.rail-foot .btn-link{padding:4px 8px;font-size:13px}.rail-user{display:flex;flex-direction:column;padding:8px;border-radius:var(--radius);text-decoration:none}.rail-user:hover,.rail-user.active{background:var(--surface)}.rail-user-name{font-weight:600}.rail-user-role{font-size:12px;color:var(--text-2)}.main{min-width:0}.page{padding:32px 40px 64px;max-width:1200px}.page-narrow{max-width:640px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head h1{font-size:24px;font-weight:700;font-variation-settings:"wdth" 112}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover{border-color:var(--text-2)}.btn:disabled{opacity:.5;cursor:progress}.btn-primary{background:var(--orange);border-color:var(--orange);color:var(--black);font-weight:600}.btn-primary:hover{background:#ff7f38;border-color:#ff7f38}.btn-danger{background:var(--red);border-color:var(--red);color:var(--black);font-weight:600}.btn-danger-ghost{background:none;border-color:var(--line-2);color:var(--red)}.btn-danger-ghost:hover{border-color:var(--red)}.btn-small{height:28px;padding:0 10px;font-size:13px}.btn-block{width:100%}.btn-link{background:none;border:0;padding:0;cursor:pointer;color:var(--text-2);text-align:left}.btn-link:hover{color:var(--text);text-decoration:underline}.btn-link.danger:hover{color:var(--red)}.icon-btn{background:none;border:0;font-size:22px;line-height:1;color:var(--text-2);cursor:pointer;padding:4px 8px}.icon-btn:hover{color:var(--text)}input:not([type=checkbox]),select,textarea{width:100%;padding:7px 10px;background:var(--black);border:1px solid var(--line-2);border-radius:var(--radius)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange)}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--orange);width:16px;height:16px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;color:var(--text-2)}.field-hint{font-size:12px;color:var(--text-2)}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.grid-1{grid-template-columns:1fr}.form-error{color:var(--red)}.form-note{font-size:13px;color:var(--text-2)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px}.panel-flush{padding:0;overflow:hidden}.panel-title{font-size:15px;font-weight:600;margin-bottom:14px}.panel-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:500;font-size:12px;color:var(--text-2);padding:10px 16px;border-bottom:1px solid var(--line)}.table td{padding:10px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .code{color:var(--orange);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.row-link{text-decoration:none;font-weight:500}.row-link:hover{color:var(--orange)}.row-off{opacity:.55}.row-actions{display:flex;gap:14px;justify-content:flex-end;white-space:nowrap}.tel{display:flex;flex-direction:column}.tel a,.table td a[href^=mailto]{text-decoration:none}.tel a:hover,.table td a[href^=mailto]:hover{color:var(--orange)}.tag{display:inline-block;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600;border-radius:3px;vertical-align:1px;background:var(--surface-2);color:var(--text-2)}.tag-blue{background:#3d8bff26;color:var(--blue)}.tag-violet{background:#9b6bff26;color:var(--violet)}.tag-green{background:#2bc48a26;color:var(--green);margin-left:0}.tag-muted{color:var(--text-2)}.toolbar{display:flex;gap:12px;margin-bottom:16px}.search{max-width:420px}.segmented{display:flex;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;flex:none}.segmented button{background:none;border:0;padding:0 14px;cursor:pointer;color:var(--text-2)}.segmented button+button{border-left:1px solid var(--line-2)}.segmented button.on{background:var(--surface-2);color:var(--text)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat{display:flex;flex-direction:column;gap:2px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:var(--radius);text-decoration:none}a.stat:hover{border-color:var(--c)}.stat-value{font-size:32px;font-weight:700;font-variation-settings:"wdth" 118;font-variant-numeric:tabular-nums;line-height:1.1}.stat-label{color:var(--text-2)}.feed{list-style:none;margin:0;padding:0}.feed-row{display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line)}.feed-row:last-child{border-bottom:0}.feed-dot{width:8px;height:8px;border-radius:2px;background:var(--text-2);align-self:center}.feed-client{background:var(--orange)}.feed-site{background:var(--blue)}.feed-contact{background:var(--violet)}.feed-text a{color:var(--orange);text-decoration:none}.feed-meta{font-size:12px;color:var(--text-2);white-space:nowrap}.back{display:inline-block;color:var(--text-2);text-decoration:none;margin-bottom:16px;font-size:13px}.back:before{content:"‹ "}.back:hover{color:var(--text)}.client-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.client-code{display:inline-flex;align-items:center;color:var(--orange);font-weight:700;font-size:13px;font-variation-settings:"wdth" 125;font-variant-numeric:tabular-nums;padding:2px 8px;border:1px solid var(--orange);border-radius:3px;margin-bottom:10px}.client-name{font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.05;font-variation-settings:"wdth" 125;letter-spacing:-.01em}.client-meta{color:var(--text-2);margin-top:8px}.client-notes{color:var(--text-2);max-width:72ch;margin:-8px 0 20px;white-space:pre-line}.head-actions{display:flex;gap:8px;flex:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{position:relative;background:none;border:0;padding:10px 14px;cursor:pointer;color:var(--text-2);font-weight:500}.tab:hover,.tab.on{color:var(--text)}.tab.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--tab-c, var(--orange))}.tab-sites{--tab-c: var(--blue)}.tab-contacts{--tab-c: var(--violet)}.tab-count{margin-left:6px;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.cards{list-style:none;margin:0;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.site{padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:var(--radius);background:var(--black);display:flex;flex-direction:column;gap:6px}.site-head{display:flex;align-items:center}.site-head h3{font-size:15px;font-weight:600}.site-head .tag:first-of-type{margin-left:auto}.site-notes{font-size:13px;color:var(--text-2);white-space:pre-line}.site .row-actions{justify-content:flex-start;margin-top:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:100%;max-width:440px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-2);border-radius:6px}.modal-wide{max-width:640px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;font-weight:600}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}@media(prefers-reduced-motion:no-preference){.modal{animation:pop .14s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}}.empty{padding:40px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-title{font-weight:600}.empty-text{color:var(--text-2);max-width:48ch}.empty .btn{margin-top:8px}.skeleton{padding:16px;display:flex;flex-direction:column;gap:10px}.skeleton-row{height:18px;border-radius:3px;background:var(--surface-2)}@media(prefers-reduced-motion:no-preference){.skeleton-row{animation:pulse 1.2s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.4}}}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{padding:10px 14px;background:var(--surface-2);border:1px solid var(--line-2);border-left:3px solid var(--green);border-radius:var(--radius);max-width:360px}.toast-error{border-left-color:var(--red)}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.login-brand .brand-mark{width:40px;height:40px;font-size:20px}.login-brand h1{font-size:30px;font-weight:800;font-variation-settings:"wdth" 125}@media(max-width:820px){.shell{grid-template-columns:minmax(0,1fr)}.rail{min-width:0}.rail{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 16px;gap:8px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0}.rail-nav{flex-direction:row;overflow-x:auto;order:3;width:100%;min-width:0;flex:1 1 100%;scrollbar-width:none}.rail-nav .rail-link{flex:none;white-space:nowrap}.rail-link-off{display:none}.rail-foot{flex-direction:row;margin:0 0 0 auto;border:0;padding:0;align-items:center}.rail-user-role{display:none}.page{padding:20px 16px 48px}.stats{grid-template-columns:1fr}.client-head{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column}.grid-form{grid-template-columns:1fr}.grid-form>*{grid-column:auto!important}.panel-flush{overflow-x:auto}.table{min-width:560px}}.page-wide{max-width:1480px}.full{grid-column:1 / -1}.spacer{flex:1}.w-auto{width:auto;min-width:200px}.strong{font-weight:600;color:var(--text)}.zero{color:var(--text-2)}.neg{color:var(--red)}.code-sm{color:var(--orange);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.art-ref{font-weight:600;font-variant-numeric:tabular-nums}.path{color:var(--text-2)}.feed-stock{background:var(--blue)}.form-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:8px}.link-btn{background:none;border:0;padding:0;cursor:pointer;font-weight:600;text-align:left}.link-btn:hover{color:var(--orange);text-decoration:underline}tfoot td{padding:10px 16px;border-top:1px solid var(--line-2);font-weight:600}.stock-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.stock-head h1{font-size:24px;font-weight:700;font-variation-settings:"wdth" 112}.sn-search{flex:0 1 380px}.subnav{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.subnav-link{padding:9px 14px;text-decoration:none;color:var(--text-2);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.subnav-link:hover{color:var(--text)}.subnav-link.active{color:var(--text);border-bottom-color:var(--blue)}.ledger{display:grid;grid-template-columns:2fr 3fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.ledger-col{background:var(--surface);padding:18px 20px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 24px;align-content:start}.ledger-title{grid-column:1 / -1;font-size:13px;font-weight:600;color:var(--text-2)}.fig{display:flex;flex-direction:column;gap:2px;text-decoration:none}.fig-link:hover .fig-value{text-decoration:underline}.fig-label{color:var(--text-2);font-size:13px}.fig-value{font-size:26px;font-weight:700;font-variation-settings:"wdth" 115;font-variant-numeric:tabular-nums;line-height:1.15}.fig-value.accent{color:var(--orange)}.fig-value.warn{color:var(--yellow)}.fig-sub{font-size:12px;color:var(--text-2)}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head .panel-title{margin:0}.roots{list-style:none;margin:0;padding:0}.root-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}.roots li:last-child .root-row{border-bottom:0}.root-row:hover .root-name{color:var(--orange)}.root-name{font-weight:600}.root-value{font-variant-numeric:tabular-nums;font-weight:600;min-width:110px;text-align:right}.two-pane{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.tree-pane{position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px;max-height:calc(100vh - 32px);overflow-y:auto}.tree{list-style:none;margin:0;padding:0}.tree-node{width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;background:none;border:0;border-radius:3px;cursor:pointer;color:var(--text-2);text-align:left}.tree-node:hover{background:var(--surface-2);color:var(--text)}.tree-node.on{background:var(--surface-2);color:var(--text);box-shadow:inset 2px 0 0 var(--blue)}.tree-all{font-weight:600;margin-bottom:4px}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-val{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-2)}.tree-kind{width:8px;height:8px;flex:none;border-radius:2px;background:var(--blue);display:inline-block}.tree-kind.k-location{background:transparent;border:1.5px solid var(--blue)}.tree-kind.k-vehicle{border-radius:50%;background:var(--yellow)}.content-pane{min-width:0}.content-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}.content-title{font-size:18px;font-weight:700;font-variation-settings:"wdth" 110}.content-head select{width:auto}.action-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;background:#3d8bff1a;border:1px solid rgba(61,139,255,.4);border-radius:var(--radius)}.action-bar-in{margin:0;border-radius:0;border-width:0 0 1px}.equip .cb{width:36px;padding-right:0}.equip .group-row{cursor:pointer;background:var(--surface-2)}.equip .group-row:hover{background:#202020}.equip tbody.equip-group+tbody.equip-group .group-row td{border-top:1px solid var(--line-2)}.equip .ident{padding-left:34px}.equip .mac{margin-left:10px;font-size:12px;font-variant-numeric:tabular-nums}.row-sel td{background:#3d8bff12}.caret{display:inline-block;width:0;height:0;margin-right:10px;border-left:5px solid var(--text-2);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s;vertical-align:1px}.caret.open{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.caret{transition:none}}.pill{display:inline-block;padding:1px 8px;font-size:12px;font-weight:500;border-radius:3px;white-space:nowrap;border:1px solid transparent}.q-new{color:var(--green);border-color:#2bc48a59}.q-refurb{color:var(--violet);border-color:#9b6bff59}.q-check{color:var(--yellow);border-color:#f5c54266}.q-defect{color:var(--red);border-color:#ff4d5e66}.q-scrap{color:var(--text-2);border-color:var(--line-2);text-decoration:line-through}.s-stock{background:var(--surface-2);color:var(--text-2)}.s-depot{background:#f5c54224;color:var(--yellow)}.s-rental{background:#3d8bff26;color:var(--blue)}.s-sold{background:#ff6b1a24;color:var(--orange)}.seg-n{color:var(--text-2);font-size:12px;margin-left:4px;font-variant-numeric:tabular-nums}.sel-recap{display:flex;flex-direction:column;gap:12px;padding:12px 14px;background:var(--black);border:1px solid var(--line);border-radius:var(--radius);max-height:220px;overflow-y:auto}.sel-title{font-size:12px;color:var(--text-2);margin-bottom:6px}.sel-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.sel-chips li{padding:2px 8px;background:var(--surface-2);border-radius:3px;font-size:13px;font-variant-numeric:tabular-nums}.sel-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0}.sel-qty{display:flex;align-items:center;gap:8px}.sel-qty input{width:90px;text-align:right}.mono-area{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.modes{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.modes legend{margin-bottom:6px}.mode{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer}.mode.on{border-color:var(--orange);background:var(--orange-dim)}.mode input{margin-top:3px;accent-color:var(--orange)}.mode-hint{display:block;font-size:12px;color:var(--text-2);margin-top:2px}.unit-head{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}.unit-tags{display:flex;gap:6px}.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--text-2)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.sub-title{font-size:14px;font-weight:600;margin-top:8px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);align-items:start}.tl-type{font-weight:600;font-size:13px}.tl-note,.cell-note{display:block;font-size:12px;color:var(--text-2)}.tl-meta{font-size:12px;color:var(--text-2);text-align:right;white-space:nowrap}.mv-tag{font-size:12px;font-weight:600;white-space:nowrap}.mv-receipt{color:var(--green)}.mv-transfer{color:var(--text)}.mv-deliver{color:var(--yellow)}.mv-install{color:var(--blue)}.mv-return{color:var(--violet)}.mv-adjust,.mv-quality,.mv-edit{color:var(--text-2)}.mv-delete{color:var(--red)}.mv-dot-receipt{background:var(--green)}.mv-dot-deliver{background:var(--yellow)}.mv-dot-install{background:var(--blue)}.mv-dot-return{background:var(--violet)}.mv-dot-delete{background:var(--red)}.article-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.art-code{color:var(--blue);font-weight:700;font-variation-settings:"wdth" 120;font-variant-numeric:tabular-nums;margin-bottom:6px}.article-name{font-size:clamp(22px,3vw,32px);font-weight:800;font-variation-settings:"wdth" 120;line-height:1.1;margin-bottom:6px}.article-figures{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0 0 20px}.article-figures>div{background:var(--surface);padding:12px 16px}.article-figures dt{font-size:12px;color:var(--text-2)}.article-figures dd{margin:2px 0 0;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.article-figures dd.accent{color:var(--orange)}.sup-row{display:grid;grid-template-columns:1.4fr 1fr 110px 90px auto auto;gap:8px;align-items:center;margin-bottom:8px}.settings{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-link{background:none;border:0;text-align:left;padding:8px 12px;border-radius:3px;color:var(--text-2);cursor:pointer}.settings-link:hover{color:var(--text);background:var(--surface)}.settings-link.on{color:var(--text);background:var(--surface-2);box-shadow:inset 2px 0 0 var(--blue)}@media(max-width:1100px){.split,.ledger,.two-pane,.settings{grid-template-columns:1fr}.tree-pane{position:static;max-height:260px}.article-figures{grid-template-columns:repeat(3,1fr)}.modes{grid-template-columns:1fr}}@media(max-width:820px){.stock-head{flex-direction:column;align-items:stretch}.content-head,.article-head{flex-direction:column;align-items:flex-start}.sup-row{grid-template-columns:1fr 1fr}.timeline li{grid-template-columns:1fr}.tl-meta{text-align:left}}td.row-actions{display:table-cell;text-align:right}td.row-actions>*+*{margin-left:14px}.article-figures{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.mb{margin-bottom:14px}.grid-3{grid-template-columns:repeat(3,1fr)}.num-input{width:110px;text-align:right}.po-lines td{vertical-align:middle}.po-lines select{min-width:260px}.ok{color:var(--green)}.warn-t{color:var(--yellow)}.late{color:var(--red)}.plain{margin:0;padding-left:18px}.po-draft{background:var(--surface-2);color:var(--text-2)}.po-ordered{background:#3d8bff26;color:var(--blue)}.po-partial{background:#f5c54224;color:var(--yellow)}.po-received{background:#2bc48a24;color:var(--green)}.po-closed{background:#9b6bff24;color:var(--violet)}.po-cancelled{color:var(--text-2);text-decoration:line-through}.art-code .pill{margin-left:8px;vertical-align:2px;font-variation-settings:"wdth" 100}.progress{display:inline-block;width:56px;height:4px;background:var(--line-2);border-radius:2px;margin-right:10px;vertical-align:middle;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green)}.rx-lines{display:flex;flex-direction:column;gap:10px}.rx-line{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--black)}.rx-head{display:flex;justify-content:space-between;gap:12px}.rx-count{font-size:12px;color:var(--text-2);align-self:flex-end;font-variant-numeric:tabular-nums}.receipts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.receipts>li{padding-bottom:14px;border-bottom:1px solid var(--line)}.receipts>li:last-child{border-bottom:0;padding-bottom:0}.receipt-lines{list-style:none;margin:6px 0 0;padding:0 0 0 14px;display:flex;flex-direction:column;gap:4px}.receipt-sn{display:block;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.print-only{display:none}@media(max-width:820px){.grid-3{grid-template-columns:1fr}}@media print{@page{margin:14mm}body{background:#fff;color:#000;font-size:11pt}.rail,.stock-head,.subnav,.head-actions,.back,.no-print,.toasts{display:none!important}.shell{display:block}.page{padding:0;max-width:none}.print-only{display:block}.print-brand{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #000;padding-bottom:6px;margin-bottom:16px}.print-brand strong{font-size:20pt;font-variation-settings:"wdth" 125}.print-brand:has(.print-logo){align-items:center}.print-logo{max-height:22mm;max-width:65mm;object-fit:contain}.print-parties{display:grid!important;grid-template-columns:1fr 1fr;gap:24px;margin:12px 0 18px}.panel,.article-head{background:#fff;border-color:#999}.article-name,.art-code,.table td,.table th,.strong,.muted,.row-link{color:#000!important}.table th,.table td{border-color:#bbb;padding:6px 8px}.table tbody tr:hover{background:none}.pill{border:1px solid #000;background:none!important;color:#000!important}.print-span{text-align:right}}@media print{.print-lines{display:flex;flex-direction:column}.art-code .pill{display:none}}.plain-link{text-decoration:none}.plain-link:hover{color:var(--orange)}.art-code .pill+.pill{margin-left:6px}.pick-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:4px;max-height:240px;overflow-y:auto}.pick{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line);border-radius:3px;cursor:pointer}.pick:hover{border-color:var(--line-2)}.pick.on{border-color:var(--orange);background:var(--orange-dim)}.pick input{accent-color:var(--orange)}.pick-id{font-weight:600;font-variant-numeric:tabular-nums}.pick-where{margin-left:auto;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.print-sheet{display:none}@media print{body.printing-sheet #root{display:none!important}body.printing-sheet .print-sheet{display:block;color:#000;background:#fff;font-size:10.5pt}.print-sheet .muted{color:#555!important}.sheet-table{width:100%;border-collapse:collapse;margin-top:8px}.sheet-table th{text-align:left;font-weight:600;border-bottom:1.5px solid #000;padding:6px}.sheet-table td{border-bottom:1px solid #bbb;padding:6px;vertical-align:top}.sheet-table .num{text-align:right}.sheet-sn{font-size:9pt;font-variant-numeric:tabular-nums}.sheet-notes{margin-top:12px}.sheet-signs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.sheet-signs>div{border:1px solid #000;min-height:34mm;padding:8px;display:flex;flex-direction:column;gap:4px;font-size:9.5pt}}.mode input[type=radio]{width:auto;flex:none;padding:0}.unit-entry{display:flex;flex-direction:column;gap:8px}.ue-head{display:flex;justify-content:space-between;align-items:baseline}.ue-count{font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.ue-scanbar{display:flex;gap:8px}.ue-scan{flex:1;border-color:var(--blue)!important}.ue-cam{flex:none}.ue-flash{font-size:13px;margin:0}.ue-table-wrap{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.ue-table{width:100%;border-collapse:collapse}.ue-table th{position:sticky;top:0;background:var(--surface-2);text-align:left;font-weight:500;font-size:12px;color:var(--text-2);padding:6px 8px;z-index:1}.ue-table td{padding:3px 4px;border-top:1px solid var(--line)}.ue-table input{padding:5px 8px;font-variant-numeric:tabular-nums;border-color:transparent;background:transparent}.ue-table input:hover{border-color:var(--line-2)}.ue-table input:focus{border-color:var(--orange);background:var(--black)}.ue-table input.dup{border-color:var(--red);color:var(--red)}.ue-n{width:34px;text-align:right;padding-right:8px!important;font-size:12px}.ue-x{width:34px}.ue-foot{display:flex;justify-content:space-between}.cam{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000;display:flex;flex-direction:column}.cam-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.cam-view{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.cam-view video{width:100%;height:100%;object-fit:cover}.cam-frame{position:absolute;width:min(78vw,420px);height:min(34vw,180px);border:2px solid var(--orange);border-radius:8px;box-shadow:0 0 0 100vmax #00000073}.cam-error{padding:24px 16px;color:var(--yellow);line-height:1.6;flex:1}.cam-log{list-style:none;margin:0;padding:10px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;min-height:120px;font-variant-numeric:tabular-nums}.cam-log li:first-child{font-weight:600;font-size:15px}@media(max-width:600px){.modal-backdrop{padding:0;place-items:stretch}.modal,.modal-wide{max-width:none;max-height:none;height:100%;border-radius:0;border:0}.modal-body{flex:1}.modal-foot{padding-bottom:max(14px,env(safe-area-inset-bottom))}.modal-foot .btn{flex:1}input,select,textarea{font-size:16px}}.small{font-size:13px}.inv-head{flex-wrap:wrap}.inv-progress{display:flex;flex-direction:column;gap:6px;min-width:220px;font-variant-numeric:tabular-nums}.progress-lg{width:100%;height:8px;margin:0}.scan-panel{display:flex;flex-direction:column;gap:12px;position:sticky;top:0;z-index:5}.scan-where{font-weight:600}.scan-big{font-size:18px;padding:12px 14px!important}.scan-feed{list-style:none;margin:0;padding:0}.scan-feed li{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:baseline;padding:10px 16px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.sf-id{font-weight:700;font-variant-numeric:tabular-nums}.sc-ok{border-left-color:var(--green)!important}.sc-ok .sf-txt{color:var(--green)}.sc-warn{border-left-color:var(--yellow)!important}.sc-warn .sf-txt{color:var(--yellow)}.sc-bad{border-left-color:var(--red)!important}.sc-bad .sf-txt{color:var(--red)}.sc-new{border-left-color:var(--violet)!important}.sc-new .sf-txt{color:var(--violet)}.sc-dup{opacity:.6}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.plain-list .btn{justify-content:flex-start;gap:8px;height:auto;padding:10px 12px}.qty-add{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.qty-add select{flex:1 1 220px;width:auto}.gap-sec{border-left:3px solid var(--line-2)}.gap-sec.t-bad{border-left-color:var(--red)}.gap-sec.t-warn{border-left-color:var(--yellow)}.gap-sec.t-new{border-left-color:var(--violet)}.gap-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}.gap-list li{padding:7px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center}.gap-list li:last-child{border-bottom:0}.gap-list .check{flex:1}.gap-val{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.gap-unknown select{width:auto;max-width:320px}.warn-box{padding:10px 14px;margin-bottom:16px;border:1px solid rgba(245,197,66,.5);background:#f5c54214;color:var(--yellow);border-radius:var(--radius)}.validate-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius)}@media(max-width:820px){.scan-feed li{grid-template-columns:1fr auto}.sf-art{display:none}.sf-txt{grid-column:1 / -1;font-size:13px}.gap-unknown{flex-direction:column;align-items:stretch!important}.gap-unknown select{max-width:none}.validate-bar{flex-direction:column;align-items:stretch;padding-bottom:max(14px,env(safe-area-inset-bottom))}}@media(max-width:820px){.sn-search{flex:none}}.cam-tap{position:absolute;inset:auto 16px 24px;padding:14px;font-size:15px;font-weight:600;background:var(--orange);color:#000;border:0;border-radius:6px;cursor:pointer;z-index:2}.cam-tools{display:flex;gap:8px;padding:10px 16px 0;flex-wrap:wrap}.cam-tools .btn{flex:1;cursor:pointer}body.no-scroll{overflow:hidden}.modal-body,.cam{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.settings-body,.content-pane,.main{min-width:0}.tree-toggle{display:none}@media(max-width:1100px){.settings-nav{flex-direction:row;overflow-x:auto;gap:4px}.settings-link{white-space:nowrap}.settings-link.on{box-shadow:inset 0 -2px 0 var(--blue)}.tree-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left}.tree-toggle strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-pane{display:none;max-height:none;overflow:visible}.tree-pane.open{display:block}}@media(max-width:820px){.scan-panel{position:static}.ue-table-wrap,.pick-list,.sel-recap{max-height:none;overflow:visible}.ue-table th,.validate-bar{position:static}}.cam{inset:0 0 auto 0;height:100%;height:100dvh}@media(max-width:600px){.modal-backdrop{inset:0 0 auto 0;height:100%;height:100dvh}.modal,.modal-wide{height:100%;max-height:100%}.modal-body{min-height:0}}@media(max-width:600px){body.no-scroll{overflow:visible}.modal-backdrop{bottom:auto;overscroll-behavior:contain}}@media(max-width:600px){.modal-backdrop{display:flex;flex-direction:column;align-items:stretch}.modal,.modal-wide{flex:1 1 auto;height:auto;min-height:0}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.modal-head,.modal-foot{flex:none}}.s-loan{background:#9b6bff26;color:var(--violet)}.s-rma{background:#ff4d5e1f;color:var(--red)}.ok-box{padding:10px 14px;margin-bottom:16px;border:1px solid rgba(43,196,138,.5);background:#2bc48a14;border-radius:var(--radius)}.ok-box a{color:var(--green);font-weight:600}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hit-list{margin-top:8px}.note-add{padding:0 0 12px;border-top:0}.note-add input{flex:1}.validate-bar.static{position:static;border-width:1px 0 0;border-radius:0}.art-code .pill+.pill,.art-code .pill{margin-left:6px}input.num-input{width:110px;flex:none;text-align:right}.s-reserved{margin-left:10px;background:#ff6b1a24;color:var(--orange);text-decoration:none}.s-reserved:hover{text-decoration:underline}.line-chips{margin-top:6px}.line-chips li{font-size:12px}.line-chips .chip-bad{color:var(--red);text-decoration:line-through}.line-res{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.picker-count{margin-right:auto;font-variant-numeric:tabular-nums;font-weight:600}.picker-list{max-height:50vh;overflow-y:auto}@media(max-width:820px){.picker-list{max-height:none;overflow:visible}}.src-select{margin-top:6px;font-size:13px;padding:5px 8px!important}.src-tag{display:inline-block;margin-left:8px;font-size:12px;color:var(--blue)}.contracts .subnav-link.active{border-bottom-color:var(--violet)}.ct-code,.ct-ref{color:var(--violet)}.ct-ref{font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none;font-variation-settings:"wdth" 112}.ct-ref:hover{text-decoration:underline}.ct-code .pill{margin-left:6px;vertical-align:2px}.ct-headline{display:flex;gap:22px;color:var(--text-2);flex-wrap:wrap}.ct-headline strong{color:var(--text);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-right:4px}.ct-headline span:first-child strong{color:var(--violet)}.count-badge{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center;background:var(--surface-2);color:var(--yellow)}.count-badge.late{background:#ff4d5e29;color:var(--red)}.toolbar.wrap{flex-wrap:wrap;align-items:center}.toolbar.wrap input[type=search]{flex:1;min-width:200px}.table-foot{padding:10px 16px;color:var(--text-2);border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.k-maint{color:var(--green);border-color:#2bc48a59}.k-rental{color:var(--blue);border-color:#3d8bff66}.k-telecom{color:var(--orange);border-color:#ff6b1a66}.k-license{color:var(--violet);border-color:#9b6bff66}.feed-contract{background:var(--violet)}.tab-contracts{--tab-c: var(--violet)}.mt{margin-top:14px}.pad{padding:16px}.seg-label{cursor:default;text-transform:capitalize}.ct-total{color:var(--text-2)}.ct-total strong{color:var(--text);font-size:18px;font-variant-numeric:tabular-nums}.modes-4{grid-template-columns:repeat(4,1fr)}.modes-3{grid-template-columns:repeat(3,1fr)}.mode-off{opacity:.4}.ct-lines{display:grid;gap:6px}.ct-line{display:grid;grid-template-columns:minmax(180px,1fr) 80px 110px 150px 150px 110px auto;gap:8px;align-items:center}.ct-lines.with-key .ct-line{grid-template-columns:minmax(160px,1fr) 70px 100px 140px 140px minmax(120px,.6fr) 100px auto}.ct-line .num-input{width:100%}.ct-line-head{font-size:12px;color:var(--text-2)}.ct-line-head .num,.ctl-total{text-align:right}.ct-lines-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.ct-banner{padding:10px 14px;margin-bottom:18px;border-left:3px solid var(--violet);background:#9b6bff14}.ct-banner-red{border-left-color:var(--red);background:#ff4d5e14}.ct-banner-yellow{border-left-color:var(--yellow);background:#f5c54214}.fig-text{font-size:17px!important}.article-figures .fig-sub{display:block;margin-top:2px}.article-figures dd.late{color:var(--red)}.contracts .article-figures dd.accent{color:var(--violet)}.ct-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}.ct-grid>.panel{margin-bottom:20px}.sec-head{display:flex;align-items:baseline;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.sec-head h3{font-size:15px;font-weight:600}.sec-head .small{margin-left:auto;color:var(--text-2)}.kv-wide{grid-template-columns:130px 1fr}.kv-wide a{color:var(--violet)}.mono-ish{font-variant-numeric:tabular-nums;letter-spacing:.02em}.past-units{border-top:1px solid var(--line)}.past-units summary{padding:10px 16px;cursor:pointer;color:var(--text-2)}.inline-edit{display:inline-flex;gap:6px;align-items:center}.ix-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px;font-variant-numeric:tabular-nums}.ix-preview{padding:12px 14px;background:var(--surface-2);border-radius:var(--radius);font-variant-numeric:tabular-nums}.ix-preview .accent{color:var(--violet)}.ct-track{margin:-4px 0 22px}.trk-labels{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px;flex-wrap:wrap}.trk-bar{position:relative;height:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:5px}.trk-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#9b6bff40,#9b6bff99);border-radius:5px 0 0 5px}.trk-mark{position:absolute;top:-5px;bottom:-5px;width:2px;transform:translate(-1px)}.trk-today{background:var(--text)}.trk-notice{background:var(--yellow);width:3px}.trk-notice.passed{background:var(--text-2)}.trk-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--text-2)}.trk-legend strong{color:var(--text)}.trk-legend strong.late{color:var(--yellow)}.trk-legend i{display:inline-block;width:3px;height:12px;margin-right:7px;vertical-align:-1px}.lg-today{background:var(--text)}.lg-notice{background:var(--yellow)}.cand-list{max-height:none;grid-template-columns:1fr}.cand{flex-wrap:wrap;cursor:default}.cand.off{opacity:.5}.cand-main{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;min-width:240px}.cand-main input{width:auto;flex:none}.cand-note{margin-left:26px}.cand-price{display:flex;align-items:center;gap:6px;margin-left:auto}.bill-head{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border-bottom:1px solid var(--line)}.bill-head h2{font-size:16px;font-weight:700;text-transform:capitalize;font-variation-settings:"wdth" 110}.bill-head .strong{font-size:16px;color:var(--violet);font-variant-numeric:tabular-nums}.alert-list{list-style:none;margin:0;padding:0}.alert-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:10px 0 10px 12px;border-bottom:1px solid var(--line);border-left:3px solid var(--yellow)}.alert-row:last-child{border-bottom:0}.al-late{border-left-color:var(--red)}.al-info{border-left-color:var(--violet)}.al-when{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.al-late .al-when strong{color:var(--red)}.al-type{display:inline-block;margin-right:8px;font-size:12px;font-weight:600;color:var(--text-2)}.al-meta{display:block;font-size:13px;color:var(--text-2);margin-top:2px}.al-meta a:not(.ct-ref){color:var(--text-2)}.ct-lines.amend .ct-line{grid-template-columns:minmax(180px,1fr) 80px 110px 150px 110px auto}.ct-lines.amend.with-key .ct-line{grid-template-columns:minmax(160px,1fr) 70px 100px 140px minmax(120px,.6fr) 100px auto}.ctl-new .ctl-label{border-color:var(--violet)}.am-panel{border-left:3px solid var(--violet)}.am-list{list-style:none;margin:0;padding:0}.am-item{padding:12px 16px;border-bottom:1px solid var(--line)}.am-item:last-child{border-bottom:0}.am-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.am-num{font-weight:700;color:var(--violet);font-variation-settings:"wdth" 112}.am-head .am-amount{margin-left:auto;font-variant-numeric:tabular-nums}.am-changes{margin:6px 0 0;padding-left:18px;color:var(--text-2);font-size:13px}.am-changes li{margin:2px 0}.am-meta{display:block;font-size:12px;color:var(--text-2);margin-top:6px}.lines-past summary,.past-units summary{cursor:pointer;padding:10px 16px;color:var(--text-2);font-size:13px}.fee-box{padding:10px 12px;border-left:3px solid var(--red);background:#ff4d5e14}.fee-box.none{border-left-color:var(--green);background:#2bc48a14}@media(max-width:1100px){.modes-4{grid-template-columns:1fr 1fr}.ct-grid{grid-template-columns:1fr}.ct-line,.ct-lines.with-key .ct-line,.ct-lines.amend .ct-line,.ct-lines.amend.with-key .ct-line{grid-template-columns:1fr 70px 100px 120px}.ct-line .ctl-label{grid-column:1 / -1}.ct-line-head{display:none}}@media(max-width:600px){.modes-4,.modes-3{grid-template-columns:1fr}.ct-line,.ct-lines.with-key .ct-line,.ct-lines.amend .ct-line,.ct-lines.amend.with-key .ct-line{grid-template-columns:1fr 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.ct-headline{gap:14px}.alert-row{grid-template-columns:1fr;gap:4px}.al-when{flex-direction:row;gap:8px}.ct-lines-foot{flex-direction:column;align-items:stretch}.cand-price{margin-left:26px}}.unit-ct{display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.panel-title .small{margin-left:10px;font-weight:400}@media(max-width:1100px){.ct-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.article-head .head-actions{flex-wrap:wrap}}@media(max-width:600px){.feed-row{grid-template-columns:8px minmax(0,1fr)}.feed-meta{grid-column:2;white-space:normal}.contracts .article-figures{grid-template-columns:1fr 1fr}}.tk-code,.tk-ref{color:var(--green)}.tk-ref{font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none;font-variation-settings:"wdth" 112;white-space:nowrap}.tk-ref:hover{text-decoration:underline}.tk-code .pill{margin-left:6px;vertical-align:2px}.tk-headline .late strong{color:var(--red)}.tk-headline span:first-child strong{color:var(--green)}.modes-2{grid-template-columns:1fr 1fr}.full-2{grid-column:span 2}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.ml{margin-left:8px}.pr-1{background:#ff4d5e2e;color:var(--red);font-weight:700}.pr-2{background:#ff6b1a29;color:var(--orange)}.pr-3{background:#3d8bff24;color:var(--blue)}.pr-4{background:var(--surface-2);color:var(--text-2)}.tk-prio .pr-1-mode.on{border-color:var(--red)}.tk-prio .pr-2-mode.on{border-color:var(--orange)}.tk-new{background:#2bc48a2e;color:var(--green);font-weight:600}.tk-open{background:#3d8bff24;color:var(--blue)}.tk-waiting{background:#f5c54226;color:var(--yellow)}.tk-resolved{background:#2bc48a1a;color:var(--green)}.tk-closed{background:var(--surface-2);color:var(--text-2)}.bill-contract{background:#9b6bff24;color:var(--violet)}.bill-billable{background:#f5c54226;color:var(--yellow)}.bill-free{background:var(--surface-2);color:var(--text-2)}.sla{display:inline-block;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 6px;border-radius:var(--radius)}.sla-ok{color:var(--green)}.sla-soon{color:var(--yellow);background:#f5c5421f}.sla-late{color:#fff;background:var(--red)}.sla-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px}.sla-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--radius);background:var(--surface)}.sla-card strong{font-size:16px;font-variant-numeric:tabular-nums}.sla-k{font-size:12px;color:var(--text-2)}.sla-card.sla-ok{border-left-color:var(--green)}.sla-card.sla-soon{border-left-color:var(--yellow);background:var(--surface)}.sla-card.sla-late{border-left-color:var(--red);background:#ff4d5e14;color:var(--text)}.sla-card.sla-late strong{color:var(--red)}.tk-target{align-self:end;padding:9px 12px;border-left:3px solid var(--green);background:#2bc48a0f}.tk-banner-ok{border-left-color:var(--green);background:#2bc48a14}.tk-table .tk-title{min-width:220px}.tk-sub{display:block;font-size:12px}.tk-row-late td:first-child{box-shadow:inset 3px 0 0 var(--red)}.seg-scroll{overflow-x:auto;max-width:100%}.seg-scroll button{white-space:nowrap}.tk-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.tk-main>.panel,.tk-side>.panel{margin-bottom:20px}.tk-compose{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tk-compose .segmented{align-self:flex-start}.tk-compose-foot{display:flex;justify-content:flex-end}.tk-thread{list-style:none;margin:0;padding:0}.tk-ev{display:grid;grid-template-columns:70px minmax(0,1fr);gap:2px 12px;padding:9px 0;border-top:1px solid var(--line)}.tk-ev-k{font-size:12px;font-weight:600;color:var(--text-2);padding-top:1px}.tk-ev-meta{grid-column:2;font-size:12px;color:var(--text-2)}.tk-ev-note .tk-ev-k,.tk-ev-call .tk-ev-k,.tk-ev-email .tk-ev-k{color:var(--green)}.tk-ev-system .tk-ev-body,.tk-ev-status .tk-ev-body{color:var(--text-2)}.tk-ev-status .tk-ev-k{color:var(--blue)}.tk-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tk-files li{display:flex;align-items:baseline;gap:6px;overflow-wrap:anywhere}.feed-ticket{background:var(--green)}.hours{display:flex;flex-direction:column;gap:6px}.hours-line{display:flex;justify-content:space-between;gap:8px}.hours-line strong{font-variant-numeric:tabular-nums}.hours-bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.hours-bar span{display:block;height:100%;background:var(--violet)}.hours-bar .warn{background:var(--yellow)}.hours-bar .over{background:var(--red)}.iv-list{list-style:none;margin:0;padding:0}.iv-list li+li{border-top:1px solid var(--line)}.iv-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 16px;color:inherit;text-decoration:none}.iv-row:hover{background:var(--surface-2)}.iv-when{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.iv-tags{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.iv-done .iv-row{opacity:.6}.iv-parts{list-style:none;margin:0;padding:10px 16px;display:flex;flex-direction:column;gap:6px}.small-fig{font-size:14px!important;font-weight:500!important}.dur-input{display:flex;align-items:center;gap:6px}.dur-input input{width:70px}.dur-input select{width:auto}.unit-chips{display:flex;flex-wrap:wrap;gap:6px}.unit-chips .chip{padding:2px 8px;border:1px solid var(--line-2);border-radius:var(--radius);font-size:12px;font-variant-numeric:tabular-nums}.iv-complete{border-left:3px solid var(--green)}.sig-block{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}.sig-pad{display:flex;flex-direction:column;gap:6px}.sig-pad canvas{width:100%;height:180px;background:#fff;border-radius:var(--radius);touch-action:none;cursor:crosshair}.sig-foot{display:flex;justify-content:space-between;align-items:center}.sig-img{display:block;max-width:320px;background:#fff;border-radius:var(--radius);margin-top:8px}.week-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.week-label{margin-left:8px}.plan-days>.panel{margin-bottom:14px}.plan-day .sec-head h3{text-transform:capitalize}.plan-day.is-today{border-color:var(--green)}.plan-day.is-today .sec-head h3{color:var(--green)}@media print{.sheet-h{font-size:10.5pt;margin:14px 0 4px;border-bottom:1px solid #000}.sheet-sig{max-height:26mm;max-width:70mm;margin-top:4px}}@media(max-width:1100px){.tk-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.full-2{grid-column:auto}.tk-table thead{display:none}.tk-table,.tk-table tbody{display:block}.tk-table tr{display:grid;grid-template-columns:auto auto 1fr;gap:4px 8px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}.tk-table td{display:block;padding:0;border:0}.tk-table td.tk-title{grid-column:1 / -1;min-width:0}.tk-table td:nth-child(4),.tk-table td:last-child{grid-column:1 / -1;font-size:12px}.tk-row-late td:first-child{box-shadow:none}.tk-row-late{box-shadow:inset 3px 0 0 var(--red)}.iv-row{grid-template-columns:90px minmax(0,1fr)}.iv-tags{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:flex-start}.sig-block,.tk-ev{grid-template-columns:1fr}.tk-ev-meta{grid-column:1}.week-label{width:100%;margin:4px 0 0}}.bl-code,.bl-ref{color:var(--yellow)}.bl-ref{font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap;font-variation-settings:"wdth" 112}.bl-ref:hover{text-decoration:underline}.bl-code .pill{margin-left:6px;vertical-align:2px}.bl-headline span:first-child strong{color:var(--yellow)}.bl-headline .late strong{color:var(--red)}.bl-title{max-width:360px}.bl-section td{font-weight:700;color:var(--orange);background:var(--surface-2)}.bl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bl-list li{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.bl-list li span{color:var(--text-2);font-size:13px}.feed-invoice,.feed-quote{background:var(--yellow)}.remind-text{white-space:pre-wrap;font:inherit;font-size:13px;background:var(--surface-2);padding:12px;border-radius:var(--radius);margin:0;max-height:260px;overflow:auto}.month-label{min-width:140px;text-align:center;text-transform:capitalize}.doc-lines{display:flex;flex-direction:column;gap:8px}.doc-line{display:grid;grid-template-columns:22px minmax(220px,1fr) 80px 70px 100px 70px 90px 110px 24px;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}.doc-line.doc-section,.doc-line.doc-text{grid-template-columns:22px 1fr 24px}.dl-move{display:flex;flex-direction:column;gap:2px;padding-top:4px}.dl-move .btn-link{font-size:10px;padding:0;line-height:1.2}.dl-main{display:flex;flex-direction:column;gap:4px;min-width:0}.dl-label-row{display:flex;gap:6px}.dl-label-row input{flex:1;min-width:0}.dl-art{width:110px;flex:none}.dl-desc{font-size:13px}.dl-section{font-weight:700;color:var(--orange)}.dl-f{display:flex;flex-direction:column;gap:2px}.dl-f span{font-size:11px;color:var(--text-2)}.dl-f input,.dl-f select{width:100%}.dl-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:18px;font-variant-numeric:tabular-nums}.dl-del{padding-top:20px;font-size:18px}.dl-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.totals-box{display:grid;grid-template-columns:auto auto;gap:4px 24px;justify-content:end;margin:16px 0 0;font-variant-numeric:tabular-nums}.totals-box dt{color:var(--text-2);text-align:right}.totals-box dd{margin:0;text-align:right}.totals-box .tb-ttc{font-size:17px;font-weight:700;color:var(--text)}.totals-box dd.tb-ttc{color:var(--orange)}.tb-client{border-top:1px solid var(--line);padding:12px 16px}.tb-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tb-items{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}@media(max-width:1100px){.doc-line{grid-template-columns:22px repeat(4,minmax(0,1fr)) 24px}.doc-line .dl-main{grid-column:2 / 6}.doc-line .dl-del{grid-column:6;grid-row:1 / span 4}.doc-line .dl-move{grid-column:1;grid-row:1 / span 4}.doc-line .dl-total{grid-column:2 / 6;flex-direction:row;justify-content:space-between;padding-top:0}}@media(max-width:600px){.doc-line{grid-template-columns:22px repeat(2,minmax(0,1fr)) 24px}.doc-line .dl-main,.doc-line .dl-total{grid-column:2 / 4}.doc-line .dl-del{grid-column:4;grid-row:1 / span 5}.doc-line .dl-move{grid-row:1 / span 5}.dl-art{width:90px}.bl-table thead{display:none}.bl-table,.bl-table tbody{display:block}.bl-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border-bottom:1px solid var(--line)}.bl-table td{display:block;padding:0;border:0}.bl-table td.bl-title{grid-column:1 / -1;max-width:none}.totals-box{justify-content:stretch}}.logo-box{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.logo-preview{width:220px;height:80px;background:#fff;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:8px}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview.empty{background:var(--surface-2);color:var(--text-2);font-size:13px}.feed-ok{background:var(--green)}.feed-fail{background:var(--red)}.sp-code,.sp-ref{color:var(--teal)}.sp-ref{font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap;font-variation-settings:"wdth" 112}.sp-ref:hover{text-decoration:underline}.sp-code .pill{margin-left:6px;vertical-align:2px}.sp-headline span:first-child strong{color:var(--teal)}.sp-headline .late strong{color:var(--red)}.count-badge.late{background:var(--red);color:#fff}.file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vat-rows{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.vat-row{display:grid;grid-template-columns:110px 150px 150px 24px;gap:8px;align-items:end}.po-pick{display:flex;flex-direction:column;gap:6px}.po-chip{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius)}.po-chip.on{border-color:var(--teal);background:#22b8cf0f}.sil-row{display:grid;grid-template-columns:minmax(180px,1fr) 80px 100px 90px minmax(160px,1fr) 100px 24px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.sil-row.alloc-row{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) 110px 24px}.match-panel{border-left:3px solid var(--green)}.match-panel.ko{border-left-color:var(--red)}.match-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.match-figs dt{font-size:12px;color:var(--text-2)}.match-figs dd{margin:2px 0 0;font-variant-numeric:tabular-nums;font-weight:600}.match-issues{margin:12px 0 0;padding-left:18px;color:var(--red)}.margin-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 16px}.margin-figs div{display:flex;flex-direction:column}.margin-figs strong{font-size:18px;font-variant-numeric:tabular-nums}@media(max-width:820px){.sil-row,.sil-row.alloc-row{grid-template-columns:1fr 1fr}.sil-row>input:first-child,.sil-row>select:first-child{grid-column:1 / -1}.match-figs,.margin-figs{grid-template-columns:1fr 1fr}.vat-row{grid-template-columns:90px 1fr 1fr 24px;width:100%}}
