:root{--bg:#f4f5f2;--panel:#fff;--ink:#1c211d;--muted:#667066;--line:#dfe3dc;--accent:#2f6b46;--accent-ink:#fff;--warn-bg:#fdf1d3;--warn-ink:#7a5200;--bad:#b3261e;--good:#2f6b46;--head:#24523a;--radius:8px;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 12px;font-size:20px}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;display:flex}a{color:var(--accent)}code{background:#e9ece6;border-radius:4px;padding:1px 4px}.muted{color:var(--muted)}.bad{color:var(--bad);font-weight:600}.good{color:var(--good);font-weight:600}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;padding:6px 12px}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.link{color:var(--accent);background:0 0;border:0;padding:0}.btn.link:hover{text-decoration:underline}input,select{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;min-width:0;padding:6px 8px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.chip{color:var(--muted);background:#e9ece6;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.chip.warn{background:var(--warn-bg);color:var(--warn-ink);font-weight:600}.count{color:var(--ink);background:#e3e7df;border-radius:999px;padding:0 7px;font-size:12px}.sku{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:block}.centered{text-align:center;max-width:420px;margin:18vh auto 0;padding:0 16px}.centered h1{font-size:22px}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:10px 16px;display:flex}.brand{color:var(--ink);font-weight:700;text-decoration:none}.brand span{color:var(--muted);font-weight:400}.who{align-items:center;gap:10px;display:flex}.switch{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.switch input{accent-color:var(--accent);width:15px;height:15px;margin:0;padding:0}.practice-bar{color:#fff;background:#2d3a5c;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex}.practice-bar .btn{border-color:#0000;margin-left:auto}.toolbar-switch{margin-left:auto;padding-bottom:10px}.home{max-width:1280px;margin:0 auto;padding:28px 16px 40px}.greet{margin-bottom:18px}.greet h1{letter-spacing:-.01em;margin:0 0 2px;font-size:26px;font-weight:650}.greet p{margin:0;font-size:14px}.tools{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:26px;display:grid}.tool{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;align-items:center;gap:16px;padding:20px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.tool:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 12px #2f6b4624}.tool:focus-visible{outline-offset:2px;outline:3px solid #2f6b464d}.tool-icon{width:52px;height:52px;color:var(--head);background:#e8f1ea;border-radius:12px;flex:none;place-items:center;display:grid}.tool:hover .tool-icon{background:var(--head);color:#fff}.tool-text{flex-direction:column;flex:1;min-width:0;display:flex}.tool-text strong{font-size:17px}.tool-text span{color:var(--muted);font-size:13px;line-height:1.35}.tool-go{color:var(--muted);flex:none;display:grid}.tool:hover .tool-go{color:var(--accent)}.hero{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:250px minmax(0,1fr);gap:24px;margin-bottom:14px;padding:18px 20px 12px;display:grid}.hero-fig{border-right:1px solid var(--line);flex-direction:column;padding-right:22px;display:flex}.hero-value{letter-spacing:-.01em;margin-top:4px;font-size:40px;font-weight:700;line-height:1.1}.hero-note{margin-bottom:14px;font-size:13px}.hero-facts{grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 14px;font-size:13.5px;display:grid}.hero-facts dt{color:var(--muted)}.hero-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.hero-facts dd small{color:var(--muted);font-size:12px;font-weight:400;display:block}.hero-chart-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.stamp{align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.stamp .refresh{align-items:center;gap:5px;font-weight:600;display:inline-flex}.stamp .refresh .spin{animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hero-chart h3{margin-bottom:2px}.daybars .band{fill:#eef5f0}.daybars .bar.prev{fill:#9dbba8}.daybars .mb.on .bar.prev{fill:#6f9c80}.daybars .mlabel{fill:var(--muted);font-size:12px;font-weight:600}.daybars .mlabel.now{fill:var(--head)}.daybars .mtotal{fill:var(--ink);font-size:12px;font-weight:700}.tiles.pending .tile{justify-content:flex-start;min-height:118px}.tiles.pending .t-label,.tile .one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile.attn{background:#fffaf0;border-color:#e6c36a}.more-toggle{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.more-toggle .btn{padding:8px 16px;font-weight:600}.more-toggle .muted{font-size:13px}.tile .t-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.tile .t-sub a{font-weight:600}.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.dash-grid.even{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid .chartcard{margin-bottom:0}.chartcard h3 .more{margin-left:8px;font-size:12px;font-weight:500}.sub-gap{margin-top:16px}.month-line{margin:4px 0 6px;font-size:13px}.hbars{gap:7px;margin-top:8px;display:grid}.hrow{grid-template-columns:minmax(90px,38%) minmax(40px,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid}.hlabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hlabel a{color:var(--ink);text-decoration:none}.hlabel a:hover{color:var(--accent);text-decoration:underline}.htrack{background:#edf0ea;border-radius:4px;height:8px;overflow:hidden}.htrack span{background:var(--accent);border-radius:4px;min-width:2px;height:100%;display:block}.hval{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.hval small{color:var(--muted);margin-left:6px;font-weight:400}.parts-bar{height:26px;margin:8px 0}.parts-legend{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.parts-legend li{grid-template-columns:12px 1fr auto 44px;align-items:baseline;gap:8px;display:grid}.parts-legend .p-detail{grid-column:2/5;margin-top:-3px;font-size:12px}.parts-legend .p-val{font-variant-numeric:tabular-nums;font-weight:600}.parts-legend .p-pct{text-align:right;font-variant-numeric:tabular-nums}.pm-0{color:#fff;background:#173826}.pm-1{color:#fff;background:#2f6b46}.pm-2{color:#fff;background:#6f9c80}.pm-3{color:#10291b;background:#a9c8b4}.pm-4{color:#24523a;background:#dbe7de}.pm-empty{color:var(--muted);background:#edf0ea}.parts .seg{justify-content:center}i.sw.pm-0,i.sw.pm-1,i.sw.pm-2,i.sw.pm-3,i.sw.pm-4{border-radius:3px;align-self:center;width:10px;height:10px}.reflist{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.reflist h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:600}.reflist table{border-collapse:collapse;width:100%;font-size:13px}.reflist td{border-top:1px dashed #e6e9e3;padding:3px 6px}.reflist tr:first-child td{border-top:0}.reflist td:first-child{padding-left:0}.reflist td:last-child{padding-right:0}.ref-contact{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.ref-empty{margin:10px 0 0}.facts{grid-template-columns:1fr auto;gap:7px 12px;margin:8px 0 0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.facts dd small{color:var(--muted);font-weight:400;display:block}.facts dd small.warn-text{color:var(--warn-ink);font-weight:600}.productos{width:100%;max-width:1560px;margin:0 auto;padding:14px 16px 32px}.productos .tablecard{overflow-x:auto}.productos .chartcard .monthbars{max-width:1000px;margin:0 auto}.controls{margin-bottom:4px}.controls .target{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:13px;display:inline-flex}.controls .target input{text-align:right;width:60px;padding:5px 6px}.data-note{margin:0 0 12px}.productos .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.productos select{border-radius:8px;max-width:260px;padding:8px 10px}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.chipbtn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}.chipbtn:hover{border-color:var(--accent)}.chipbtn.on{background:var(--head);border-color:var(--head);color:#fff;font-weight:600}.chips-count{margin-left:auto;font-size:13px}.ranking.prod{min-width:1280px}.ranking.prov{min-width:900px}.ranking th.sortable{padding:0}.ranking th.sortable button{font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);cursor:pointer;white-space:nowrap;width:100%;text-align:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:7px 10px;font-size:11px;font-weight:600;display:inline-flex}.ranking th.sortable.num button{justify-content:flex-end}.ranking th.sortable button:hover,.ranking th.sortable.on button{color:var(--ink)}.ranking th .arrow{width:9px;font-size:9px;display:inline-block}.prod-name{align-items:center;min-width:250px;max-width:340px}.pn{flex-direction:column;min-width:0;display:flex}.pn-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sup-cell{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.ranking td small.warn-text{margin-left:4px;font-weight:600}.ranking tr.clickable{cursor:pointer}.ranking tr.open td{background:#f1f6f2}.rowtoggle{font:inherit;cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:0;margin-right:8px;padding:0;font-weight:650}.rowtoggle:hover{color:var(--accent)}.rowtoggle .chev{width:14px;color:var(--muted);display:inline-block}.ranking tr.expand td{background:#f7f9f6;padding:4px 10px 10px}.subtable{border-collapse:collapse;width:100%;max-width:760px;font-size:13px}.subtable td{border-top:1px dashed #e0e5de;padding:3px 8px}.subtable tr:first-child td{border-top:0}.scatter .dot{fill:var(--accent);fill-opacity:.55;stroke:var(--panel);stroke-width:1px;cursor:pointer}.scatter .dot.low{fill:var(--bad);fill-opacity:.6}.scatter .dot.on{fill-opacity:1;stroke:var(--ink)}.scatter .dot:focus{stroke:var(--ink);stroke-width:2px;outline:none}.scatter-note{margin:4px 0}.chart-tip.left{white-space:normal;align-items:flex-start;max-width:340px}@media (width<=1100px){.tiles.four,.productos .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.dash-grid.even,.dash-grid.thirds,.hero{grid-template-columns:minmax(0,1fr)}.hero-fig{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px;padding-right:0}}.spacer{flex:1}h3{margin:0;font-size:15px;font-weight:650}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.btn.small{padding:3px 10px;font-size:13px}.btn.link.danger{color:var(--muted)}.btn.link.danger:hover{color:var(--bad)}.warn-text{color:var(--warn-ink);font-weight:600}.notice{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;margin:8px 0;padding:7px 10px}.empty{color:var(--muted);text-align:center;padding:40px 0}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:flex-end;gap:28px;padding:14px 16px 0;display:flex}.toolbar h1{margin:0 0 10px}.tabs{gap:22px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 0 9px;font-weight:600;text-decoration:none;display:flex}.tabs a.active{color:var(--ink);border-color:var(--accent)}.compras,.clientes{max-width:1280px;margin:0 auto;padding:14px 16px 32px}.clientes{max-width:1440px}.ranking td.name-cell{min-width:230px}.compras:has(.board){max-width:none}.alert{color:var(--bad);border-radius:var(--radius);background:#fbe9e7;border:1px solid #f1c4bf;margin-bottom:12px;padding:8px 12px;font-weight:600}.add{margin-bottom:22px;position:relative}.add .search{border:2px solid var(--accent);border-radius:10px;width:100%;padding:15px 18px;font-size:17px;box-shadow:0 2px 10px #2f6b461f}.add .search:focus{outline-offset:0;outline:3px solid #2f6b4640}.add .search::placeholder{color:#7d877d}.results{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:10px;max-height:60vh;margin:6px 0 0;padding:4px;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000029}.results li{cursor:pointer;border-left:3px solid #0000;border-radius:6px;padding:8px 12px}.results li.listed{background:#fdf8e8}.results li.active{border-left-color:var(--accent);background:#e8f1ea}.results li.hint{cursor:default;color:var(--muted);border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding:7px 12px 4px;font-size:12px}.r-name{font-weight:600;display:block}.results-empty{margin:8px 4px 0}.meta{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin-top:2px;font-size:12px;display:flex}.add.picked{background:var(--panel);border:2px solid var(--accent);border-radius:10px;padding:14px 16px;box-shadow:0 2px 10px #2f6b461f}.picked-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.fields label,.dialog footer label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.fields label.grow{flex:1;min-width:180px}.fields label.grow input{width:100%}.pair{align-items:center;gap:6px;min-width:0;display:flex}.in-qty{text-align:right;font-variant-numeric:tabular-nums;width:72px}.in-ref{width:200px}.unit-fixed{color:var(--muted)}.pill{white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600;display:inline-block}.pill.c-teal{color:#0f5a4c;background:#d6efe9}.pill.c-blue{color:#1d4b8f;background:#dbe8fb}.pill.c-violet{color:#4d3399;background:#e7e0fa}.pill.c-pink{color:#8f2459;background:#fadfec}.pill.c-orange{color:#8a3d0e;background:#fbe3d3}.pill.c-amber{color:#6e4f00;background:#f8eabd}.pill.c-lime{color:#3f5a0b;background:#e3f0c8}.pill.c-slate{color:#3b4753;background:#e2e6ea}.tag{background:var(--warn-bg);color:var(--warn-ink);border-radius:999px;padding:0 7px;font-weight:600}.unit-warn{color:var(--warn-ink);margin-top:4px;font-size:12px}.viewbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.segmented{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:2px;display:inline-flex}.segmented button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:4px 12px;font-size:13px}.segmented button.on{background:var(--head);color:#fff;font-weight:600}.tablecard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}.tablecard>header{background:var(--head);color:#fff;align-items:center;gap:12px;padding:9px 14px;display:flex}.tablecard>header h2{color:#fff;text-transform:none;letter-spacing:0;margin:0;font-size:14px}.tablecard>header span{color:#c3d6c9;font-size:13px}.tablecard>header .btn{border-color:#0000;margin-left:auto}.reqs{border-collapse:collapse;table-layout:fixed;width:100%}.reqs .c-qty{width:150px}.reqs .c-who{width:120px}.reqs .c-for{width:22%}.reqs .c-note{width:16%}.reqs .c-date{width:70px}.reqs .c-act{width:170px}.reqs th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:7px 10px;font-size:11px;font-weight:600}.reqs th:first-child,.reqs td.prod{padding-left:14px}.reqs td{vertical-align:top;overflow-wrap:anywhere;padding:8px 10px}.reqs tbody{border-top:1px solid var(--line)}.reqs tbody tr+tr td{border-top:1px dashed #e6e9e3}.reqs tbody tr:hover td:not(.prod){background:#f7f9f6}.reqs .prod{border-right:1px solid var(--line)}.p-name{font-weight:600}.p-sub{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin-top:2px;font-size:12px;display:flex}.p-total{color:var(--ink);font-weight:600}.reqs .qty{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.reqs td small{color:var(--muted);margin-right:6px;font-size:12px}.nowrap{white-space:nowrap}.reqs .actions{text-align:right;white-space:nowrap}.reqs .actions .btn+.btn{margin-left:12px}.reqs .actions .btn.link{opacity:0}.reqs tr:hover .actions .btn.link,.reqs .actions .btn.link:focus-visible,.reqs .actions.show .btn.link{opacity:1}.reqs tr.editing td:not(.prod){vertical-align:middle;background:#eef3ec}.reqs tr.editing input:not(.in-qty),.reqs tr.editing select{width:100%;min-width:0}.reqs tr.editing input,.reqs tr.editing select{padding:4px 6px}.reqs tr.editing .in-qty{flex:none;width:54px}.overlay{z-index:20;background:#141a1573;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--panel);border-radius:10px;width:min(980px,100%);padding:18px 20px;box-shadow:0 20px 60px #0000004d}.dialog>header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.dialog>header small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.dialog>header h2{text-transform:none;letter-spacing:0;color:var(--ink);margin:0;font-size:20px}.plan{border-collapse:collapse;width:100%}.plan th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 8px;font-size:11px;font-weight:600}.plan th.num{text-align:right}.plan td{border-bottom:1px solid var(--line);vertical-align:middle;padding:7px 8px}.plan td.strong{font-size:15px;font-weight:700}.plan tr.missing td{background:#fffaf0}.plan td.mono{font-size:12px}.perbox-field{align-items:center;gap:5px;margin-left:8px;display:inline-flex}.perbox-field small{color:var(--muted)}.perbox{text-align:right;width:62px;padding:3px 6px}.copy{border:1px solid var(--line);border-radius:var(--radius);margin-top:14px}.copy-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.copy pre{white-space:pre-wrap;max-height:180px;margin:0;padding:10px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-y:auto}.dialog>footer{justify-content:flex-end;align-items:flex-end;gap:12px;margin-top:16px;display:flex}.dialog>footer select{min-width:260px}.dialog.small{align-self:center;width:min(460px,100%)}.dialog.small h2{text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 10px;font-size:17px}.confirm-body{text-align:left;white-space:normal}.confirm-body p{margin:0 0 6px}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}.foot-note{max-width:480px;margin:0 auto 0 0;font-size:13px}.toast-area{z-index:30;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;bottom:24px;left:0;right:0}.toast{color:#fff;background:#1c211d;border-radius:8px;max-width:640px;padding:10px 16px;animation:.16s ease-out toast-in;box-shadow:0 8px 24px #00000040}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.filter{align-items:center;gap:12px;margin-bottom:14px;display:flex}.search.small{border:1px solid var(--line);border-radius:8px;flex:0 460px;padding:9px 12px;font-size:14px}.search.small:focus{border-color:var(--accent)}.tag.ok{color:#1f4a30;background:#dcefe2}.board{align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.col{min-width:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px}.card>header{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.order{transition:opacity .12s}.order.dim{opacity:.35}.order.hit{border-color:var(--accent);box-shadow:0 0 0 2px #2f6b4640}.order .o-supplier{margin-top:2px;font-weight:600}.o-date{margin-top:8px;font-size:13px}.t-date{font-variant-numeric:tabular-nums;font-weight:650}.t-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.flag{border-radius:6px;margin-top:8px;padding:4px 8px;font-size:13px;font-weight:600}.warn-bg{background:var(--warn-bg);color:var(--warn-ink)}.bad-bg{color:var(--bad);background:#fbe3e0}.info-bg{color:#1d4b8f;background:#e4ecf7}.hits{background:#e8f1ea;border-radius:6px;margin:8px 0 0;padding:6px 8px;font-size:13px;list-style:none}.hits li+li{margin-top:4px}.waiting{color:#2d3a5c;background:#eef0f6;border-radius:6px;margin:8px 0 0;padding:6px 8px;font-size:13px;list-style:none}.waiting li+li{margin-top:4px}.o-toggle{margin-top:8px;font-size:13px;display:block}.lines{border-collapse:collapse;width:100%;margin-top:6px;font-size:13px}.lines td{border-top:1px solid var(--line);vertical-align:top;padding:4px 0}.head-actions{gap:8px;margin-left:auto;display:flex}.tablecard>header .head-actions .btn{margin-left:0}.batch-status{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;font-size:13px;display:flex}.link-order{white-space:nowrap;color:var(--ink);align-items:center;gap:8px;display:flex}.link-order select{padding:4px 6px;font-size:13px}.reqs.history .c-qty{width:130px}.reqs.history .c-note{width:13%}.reqs.history .c-out{width:120px}.reqs.history .c-po{width:170px}.reqs.history th{white-space:nowrap}.reqs.history .out{border-left:1px solid var(--line);vertical-align:top}.reqs.history tbody tr:hover td.out{background:0 0}@media (width<=900px){.board{grid-template-columns:1fr}.tablecard{overflow-x:auto}.reqs{min-width:860px}}.boxes{border-collapse:collapse;width:100%}.boxes th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);padding:7px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.boxes td{vertical-align:middle;border-top:1px dashed #e6e9e3;padding:5px 10px}.boxes th.num,.boxes td.num{text-align:right}.boxes tr.missing td:first-child{box-shadow:inset 3px 0 0 var(--warn-ink)}.boxes input{width:76px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 7px}.boxes input:focus{border-color:var(--accent);outline:2px solid #2f6b464d}.boxes input.manual{border-color:var(--accent);font-weight:650}.boxes input::placeholder{color:#8a938a}.boxes .saved{color:var(--accent);margin-left:6px;font-size:12px}.filter.wrap{flex-wrap:wrap}.summary{margin:0 0 12px}.ranking{border-collapse:collapse;width:100%}.ranking th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:600}.ranking th.num{text-align:right}.ranking td{vertical-align:middle;border-top:1px dashed #e6e9e3;padding:6px 10px}.ranking tbody tr:hover td{background:#f7f9f6}.ranking .strong{font-weight:650}.ranking .client{color:var(--ink);margin-right:8px;font-weight:600;text-decoration:none}.ranking .client:hover{color:var(--accent);text-decoration:underline}.ranking tr.none td{color:var(--muted)}.small-note{max-width:900px;font-size:12px}.client-head{margin-bottom:12px}.client-name{text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 4px;font-size:22px}.client-head .meta{gap:4px 18px;font-size:13px}@media (width<=900px){.ranking{min-width:820px}}.ranking td.sales{padding-bottom:9px;position:relative}.inline-bar{height:3px;display:block;position:absolute;bottom:4px;left:10px;right:10px}.inline-bar span{background:var(--accent);opacity:.55;border-radius:2px;height:100%;margin-left:auto;display:block}.spark-cell{padding-top:4px;padding-bottom:2px}.spark{display:block}.spark-bar{fill:var(--accent)}.spark-bar.toco,.monthbars .bar.toco{fill:#a9bcae}.spark-base{stroke:var(--line);stroke-width:1px}.trend{white-space:nowrap;font-weight:650}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.trend.flat{color:var(--muted);font-weight:600}.ranking td.sales{min-width:130px}.tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.t-value{font-size:28px;font-weight:650;line-height:1.15}.t-sub{color:var(--muted);font-size:13px}.chartcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:12px 14px 8px}.chartcard h3{margin-bottom:2px}.chart-sub{margin:0 0 6px;font-size:12px}.monthbars{width:100%;height:auto;display:block}.monthbars .grid{stroke:#e6e9e3;stroke-width:1px}.monthbars .axis{fill:var(--muted);font-size:11px}.monthbars .value{fill:var(--ink);paint-order:stroke;stroke:var(--panel);stroke-width:3px;font-size:11px;font-weight:600}.monthbars .ref{stroke:var(--muted);stroke-width:1px}.monthbars .bar{fill:var(--accent)}.ranking tr.pareto td{border-top:2px solid var(--accent);color:var(--accent);background:#eef5f0;padding:3px 10px;font-size:12px;font-weight:600}.monthbars .mb.on .bar{fill:var(--head)}.monthbars .mb.on .bar.toco{fill:#7f9786}.monthbars .mb rect:focus{outline:none}.chart-wrap{position:relative}.chart-tip{background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;flex-direction:column;align-items:center;padding:4px 8px;font-size:12px;line-height:1.3;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 12px #0003}.chart-tip strong{font-size:13px}.chart-tip span{color:#c9d0ca}@media (width<=900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.name-cell{align-items:baseline;gap:6px;display:flex}.tier{text-align:center;border:1px solid;border-radius:4px;flex:none;width:16px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.tier.t-S{color:#fff;background:#173826;border-color:#173826}.tier.t-A{color:#24523a;border-color:#8fb59c}.tier.t-B{color:#6f8a78;border-color:#cfdcd3}.tier.t-C{color:#a3ada5;border-color:#e3e8e4}.seg.t-S{color:#fff;background:#173826}.seg.t-A{color:#fff;background:#2f6b46}.seg.t-B{color:#10291b;background:#8fb59c}.seg.t-C{color:#24523a;background:#dbe7de}.split{gap:4px;margin:0 0 14px;display:grid}.split-row{grid-template-columns:90px 1fr;align-items:center;gap:8px;display:grid}.split-label{color:var(--muted);text-align:right;font-size:12px}.split-bar{gap:2px;height:22px;display:flex}.seg{white-space:nowrap;flex-basis:0;align-items:center;min-width:0;padding:0 8px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.seg:first-child{border-radius:4px 0 0 4px}.seg:last-child{border-radius:0 4px 4px 0}.nova-cell{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;min-width:100px;display:inline-flex}.pace-bar{background:#e6ebe7;border-radius:2px;width:90px;height:4px;margin-top:3px;display:block;position:relative}.pace-bar .fill{background:var(--accent);opacity:.6;border-radius:2px;position:absolute;top:0;bottom:0;left:0}.pace-bar .mark{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px;left:50%}.tile .pace-bar{width:100%}.has-tip{cursor:default;position:relative}.has-tip:focus{outline-offset:2px;border-radius:4px;outline:2px solid #2f6b464d}.cell-tip{z-index:40;pointer-events:none;text-align:left;white-space:normal;background:var(--ink);color:#e6ebe7;border-radius:6px;width:max-content;max-width:260px;padding:6px 9px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 4px 12px #0003}.cell-tip strong{color:#fff}.legend{color:var(--muted);text-transform:none;letter-spacing:0;gap:8px;margin-left:8px;font-size:11px;font-weight:500;display:inline-flex}.legend span{align-items:center;gap:3px;display:inline-flex}.sw{border-radius:2px;width:8px;height:8px;display:inline-block}.sw.toco{background:#a9bcae}.sw.nova{background:var(--accent)}.ranking th .legend{gap:6px;margin:2px 0 0;display:flex}.pace-bar.full .fill{opacity:1}.at-pace{color:var(--ink);font-weight:700}.clientes .filter .search.small{flex:260px}
