.cb{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex;position:relative}.cb.cb-block{width:100%;display:flex}.cb-trigger{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);min-width:0;height:34px;box-shadow:var(--shadow-xs);color:var(--text-primary);text-align:left;white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex:auto;justify-content:space-between;align-items:center;gap:8px;padding:0 9px 0 11px;font-size:13.5px;display:inline-flex}.cb-trigger:hover:not(:disabled){border-color:var(--border-strong)}.cb-trigger:focus-visible,.cb-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14);outline:none}.cb-trigger:disabled{background:var(--bg-surface);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.cb[data-compact] .cb-trigger{height:30px;box-shadow:none;padding:0 7px 0 9px;font-size:13px}.cb-value{align-items:center;gap:7px;min-width:0;display:flex}.cb-value-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cb-value.placeholder{color:var(--text-muted)}.cb-chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.cb-chevron.open{transform:rotate(180deg)}.cb-add{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);flex-shrink:0;place-items:center;display:grid}.cb[data-compact] .cb-add{width:30px;height:30px}.cb-add:hover:not(:disabled){background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.cb-add:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cb-add:disabled{opacity:.5;cursor:not-allowed}.cb-pop{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);min-width:240px;box-shadow:var(--shadow-lg);animation:cbIn .12s var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}.cb-pop.narrow{max-width:320px}@keyframes cbIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.cb-pop-search{border-bottom:1px solid var(--border-light);height:38px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}.cb-pop-search input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.cb-pop-search input::placeholder{color:var(--text-muted)}.cb-list{flex:1;max-height:240px;padding:5px;overflow-y:auto}.cb-option{border-radius:var(--radius-md);min-height:32px;color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;padding:5px 9px;font-size:13px;display:flex}.cb-option.highlighted{background:var(--bg-hover)}.cb-option.selected{background:rgba(var(--color-primary-rgb),.08)}.cb-option.selected .cb-option-name{font-weight:600}.cb-option.disabled{opacity:.45;cursor:not-allowed}.cb-option-body{flex:1;min-width:0}.cb-option-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.cb-option-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cb-option-aside{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12.5px}.cb-option-aside.danger{color:var(--color-danger)}.cb-sep{opacity:.6;vertical-align:middle;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 6px;display:inline-block}.cb-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:36px;height:36px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.cb-thumb.sm{width:30px;height:30px}.cb-thumb.xs{border-radius:var(--radius-sm);width:18px;height:18px}.cb-thumb img{object-fit:cover;width:100%;height:100%}.cb-empty{text-align:center;color:var(--text-muted);padding:18px 12px;font-size:13px}.cb-foot{border-top:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding:7px 12px;font-size:12px}.cb-field{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);height:34px;box-shadow:var(--shadow-xs);color:var(--text-muted);cursor:text;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);align-items:center;gap:8px;padding:0 10px;display:flex}.cb-field:hover{border-color:var(--border-strong)}.cb-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14)}.cb-field svg{flex-shrink:0}.cb-field-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.cb-field-input::placeholder{color:var(--text-muted)}.cb-selected{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 10px;display:flex}.cb-selected-main{align-items:center;gap:10px;min-width:0;display:flex}.cb-selected-body{min-width:0}.cb-selected-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.cb-selected-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.cb-selected-meta b{color:var(--text-primary);font-weight:600}.cb-selected>.btn{flex-shrink:0}.pl-stats{margin-bottom:16px}.pl-search-clear{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pl-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.pl-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.pl-sort-select{width:auto;min-height:32px;box-shadow:none;font-size:13px}.pl-filterbar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.pl-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px}.pl-scroll{overflow-x:auto}.pl-table{min-width:760px}.pl-table thead th.num{text-align:right}.pl-table .pl-col-fav{width:44px;padding-right:0}.pl-table .pl-col-date{width:104px}.pl-sort{font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast);align-items:center;gap:4px;display:inline-flex}.pl-sort svg{opacity:.55}.pl-sort:hover,.pl-sort.active{color:var(--text-primary)}.pl-sort.active svg{opacity:1;color:var(--color-primary)}.pl-sort:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.pl-item{align-items:center;gap:10px;min-width:0;display:flex}.pl-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.pl-thumb img{object-fit:cover;width:100%;height:100%}.pl-item-text{min-width:0}.pl-item-name{color:var(--text-primary);font-weight:550}.pl-item-sub{color:var(--text-muted);font-size:12.5px}.pl-fav{border-radius:var(--radius-md);width:28px;height:28px;color:var(--border-strong);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);place-items:center;display:grid}.pl-fav:hover{background:var(--bg-hover);color:var(--text-secondary)}.pl-fav.active{color:var(--color-primary)}.pl-fav:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.pl-strong{font-weight:600}.pl-muted{color:var(--text-muted)}.pl-packs{color:var(--text-muted);align-items:center;gap:3px;margin-right:8px;font-size:12px;display:inline-flex}.pl-sub{color:var(--text-muted);font-size:12px}.pl-status{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.pl-status:before{content:"";background:var(--border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pl-status.in-stock:before{background:var(--color-success)}.pl-status.low-stock:before{background:var(--color-warning)}.pl-status.out-of-stock:before{background:var(--color-danger)}.pl-status.out-of-stock{color:var(--color-danger)}.pl-status.kit:before{content:none}.pl-status.kit svg{color:var(--text-muted)}.pl-grid{gap:12px;padding:12px;display:grid}.pl-grid-sm{grid-template-columns:repeat(auto-fill,minmax(152px,1fr))}.pl-grid-md{grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}.pl-grid-lg{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}.pl-grid-xl{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.pl-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;transition:border-color var(--transition-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.pl-card:hover{border-color:var(--border-strong)}.pl-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pl-card-media{aspect-ratio:4/3;border-bottom:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-muted);place-items:center;display:grid;position:relative;overflow:hidden}.pl-card-media img{object-fit:cover;width:100%;height:100%}.pl-card-fav{border:1px solid var(--border-color);background:var(--bg-card);position:absolute;top:6px;right:6px}.pl-card-fav:hover{background:var(--bg-surface)}.pl-card-body{flex-direction:column;gap:2px;min-width:0;padding:10px 12px 11px;display:flex}.pl-card-name{-webkit-line-clamp:2;color:var(--text-primary);-webkit-box-orient:vertical;font-size:13.5px;font-weight:550;line-height:1.35;display:-webkit-box;overflow:hidden}.pl-card-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.pl-card-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;display:flex}.pl-card-price{color:var(--text-primary);font-size:14px;font-weight:600}.pl-card-stock{color:var(--text-secondary);white-space:nowrap;font-size:12.5px}.pl-card-foot{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:4px;font-size:12px;display:flex}.pl-card-foot .pl-status{font-size:12px}.pl-card-foot .pl-packs{margin-right:0}.pl-empty{padding:48px 24px}.pd-loading{height:300px;color:var(--text-muted);place-items:center;font-size:13.5px;display:grid}.pd-missing-action{margin-top:4px}.pd-metrics{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--border-color);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:28px;display:grid;overflow:hidden}.pd-metric{background:var(--bg-card);flex-direction:column;gap:6px;min-width:0;padding:14px 18px;display:flex}.pd-metric-label{color:var(--text-secondary);font-size:12.5px;font-weight:500}.pd-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:24px;font-weight:600;line-height:1.1}.pd-metric.alert .pd-metric-value{color:var(--color-danger)}.pd-metric-foot{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.pd-tabset{align-self:flex-start;margin-bottom:0}.pd-tab-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.pd-section{flex-direction:column;gap:12px;min-width:0;display:flex}.pd-section>.section-head{margin:0}.pd-section-title{align-items:center;gap:7px;display:inline-flex}.pd-section-title svg{color:var(--text-muted)}.pd-fba{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--border-color);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.pd-fba-item{background:var(--bg-card);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.pd-fba-name{color:var(--text-secondary);font-size:12.5px}.pd-fba-qty{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:20px;font-weight:600}.pd-batch{border:1px solid var(--border-color);border-radius:var(--radius-xl);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 24px;padding:14px 16px;display:grid}.pd-batch-item{min-width:0;color:var(--text-primary);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:13.5px;display:flex}.pd-batch-label{color:var(--text-secondary);font-size:12.5px}.pd-strong{font-weight:600}.pd-danger{color:var(--color-danger)}.pd-warning{color:var(--color-warning)}.pd-older>summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12.5px}.pd-older>summary:hover{color:var(--text-primary)}.pd-older[open]>summary{margin-bottom:10px}.pd-scroll{overflow-x:auto}.pd-table-static tbody tr{cursor:default}.pd-table thead th.num{text-align:right}.pd-note{color:var(--text-muted);margin-left:4px;font-size:12px}.pd-link{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--transition-fast),text-decoration-color var(--transition-fast);font-weight:500}.pd-link:hover{color:var(--color-primary);text-decoration-color:currentColor}.pd-vendor{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pd-tag{border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding:1px 6px;font-size:11.5px;font-weight:600}.pd-tag.best{background:var(--color-success-light);color:var(--color-success)}.pd-compare{justify-content:flex-end;align-items:center;gap:10px;display:flex}.pd-bar{border-radius:var(--radius-sm);background:var(--bg-hover);flex-shrink:0;width:64px;height:4px;overflow:hidden}.pd-bar i{border-radius:var(--radius-sm);background:var(--btn-ink);height:100%;display:block}.pd-bar.best i{background:var(--color-success)}.pd-box{border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:4px 16px}.pd-box-note{border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-muted);padding:18px 16px;font-size:13.5px}.pd-log{border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;padding:2px 16px;display:flex}.pd-log-item{border-bottom:1px solid var(--border-light);grid-template-columns:24px minmax(0,1fr);gap:10px;padding:11px 0;display:grid}.pd-log-item:last-child{border-bottom:none}.pd-log-icon{border:1px solid var(--border-color);background:var(--bg-surface);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;place-items:center;display:grid}.pd-log-icon.stock{background:var(--color-success-light);color:var(--color-success);border-color:#0000}.pd-log-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pd-log-desc{color:var(--text-primary);font-size:13.5px}.pd-log-details{color:var(--text-secondary);white-space:pre-line;font-size:12.5px;line-height:1.5}.pd-log-time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.pf-loading{height:300px;color:var(--text-muted);place-items:center;font-size:13.5px;display:grid}.pf-missing-action{margin-top:4px}.form-section.pf-wide{grid-template-columns:minmax(0,1fr);gap:16px}.pf-stack{flex-direction:column;gap:18px;display:flex}.pf-basics{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:20px;display:grid}.pf-image-col{text-align:center;flex-direction:column;gap:6px;display:flex}.pf-image{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-surface);width:96px;height:96px;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);place-items:center;display:grid;position:relative;overflow:hidden}.pf-image:hover,.pf-image:focus-within{border-color:var(--color-primary);color:var(--text-primary)}.pf-image.filled{border-style:solid;border-color:var(--border-color)}.pf-image img{object-fit:cover;width:100%;height:100%}.pf-image-empty{flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.pf-image-remove{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;place-items:center;display:grid;position:absolute;top:4px;right:4px}.pf-image-remove:hover{color:var(--color-danger)}.pf-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pf-money{position:relative}.pf-money-sign{color:var(--text-muted);pointer-events:none;font-size:13.5px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.pf-money .form-input{font-variant-numeric:tabular-nums;padding-left:24px}.pf-uom .cb,.pf-vtable .cb{width:100%;display:flex}.pf-hint-warn{color:var(--color-warning);align-items:flex-start;gap:6px;display:flex}.pf-hint-warn svg{flex-shrink:0;margin-top:2px}.pf-vendors{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);overflow:hidden}.pf-vendors-scroll{overflow-x:auto}.pf-vtable{table-layout:fixed;border-collapse:collapse;width:100%;min-width:860px}.pf-vtable th{border-bottom:1px solid var(--border-color);height:34px;color:var(--text-muted);text-align:left;white-space:nowrap;padding:0 6px;font-size:12px;font-weight:500}.pf-vtable th.num{text-align:right;padding-right:14px}.pf-vtable td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:6px}.pf-col-grip{width:30px}.pf-col-vendor{width:22%}.pf-col-name{width:19%}.pf-col-code{width:13%}.pf-col-qty{width:76px}.pf-col-unit{width:15%}.pf-col-price{width:92px}.pf-col-disc{width:80px}.pf-col-lead{width:72px}.pf-col-del{width:42px}.pf-vrow.dragging{z-index:1;background:var(--bg-surface);opacity:.6;position:relative}.pf-grip{color:var(--border-strong);text-align:center;cursor:grab}.pf-grip:hover{color:var(--text-secondary)}.pf-grip:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.pf-cell-input{min-height:30px;box-shadow:none;padding:0 8px;font-size:13px}.pf-cell-input.num{font-variant-numeric:tabular-nums}.pf-vendors-empty{color:var(--text-muted);text-align:center;padding:22px 16px;font-size:13px}.pf-vendors-foot{border-top:1px solid var(--border-light);padding:8px}.pf-vendors-foot:first-child{border-top:none}.pf-radios{flex-direction:column;gap:8px;padding-top:2px;display:flex}.pf-radio{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:flex}.pf-radio input{accent-color:var(--color-primary)}.pf-switch-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.pf-switch-row:first-child{padding-top:0}.pf-switch-title{color:var(--text-primary);font-size:13.5px;font-weight:500}.pf-switch-desc{color:var(--text-secondary);margin-top:2px;font-size:12.5px;line-height:1.5}.pf-switch{border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;width:36px;height:20px;transition:background var(--transition-fast);flex-shrink:0;position:relative}.pf-switch.on{background:var(--color-primary)}.pf-switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pf-switch-knob{background:var(--color-white);width:16px;height:16px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.pf-switch.on .pf-switch-knob{transform:translate(16px)}.pf-inventory-fields{margin-top:18px}.pf-dock{z-index:50;margin-top:8px;position:sticky;bottom:0}.pf-dock .form-bar{margin-top:0;position:static}.pf-dock .callout{background:var(--bg-card);border-color:var(--color-danger);margin-bottom:8px}.pf-modal{max-width:480px}.pf-modal-fields{flex-direction:column;gap:14px;display:flex}.pf-inline{align-items:center;gap:8px;display:flex}.pf-inline .form-input{flex:1}.pf-inline-note{color:var(--text-secondary);white-space:nowrap;font-size:13px}.pf-ratio{font-variant-numeric:tabular-nums;margin-top:2px}@media (max-width:860px){.pd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.pl-tools{width:100%;margin-left:0}.pl-count{margin-left:0}.pl-grid-sm,.pl-grid-md,.pl-grid-lg{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-grid-xl,.pf-basics{grid-template-columns:minmax(0,1fr)}.pf-image-col{align-items:flex-start}}.pl-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.pl-item-name:hover{text-underline-offset:3px;text-decoration:underline}.data-table-search:has(.pl-search-clear) input{padding-right:30px}
.kl-stats,.vl-stats,.pm-stats{margin-bottom:16px}.kl-scroll,.vl-scroll,.pm-scroll,.bvp-scroll{overflow-x:auto}.kl-search,.vl-search,.pm-search{min-width:220px}.kl-search input,.vl-search input,.pm-search input{padding-right:30px}.kl-search-clear,.vl-search-clear,.pm-search-clear{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.kl-search-clear:hover,.vl-search-clear:hover,.pm-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.kl-toolbar-end,.vl-toolbar-end,.pm-toolbar-end{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.kl-count,.vl-count,.pm-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.kl-item,.vl-item,.pm-item{align-items:center;gap:12px;min-width:0;display:flex}.kl-thumb,.vl-avatar,.pm-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);object-fit:cover;flex-shrink:0;place-items:center;font-size:11.5px;font-weight:600;display:grid;overflow:hidden}.kl-name,.vl-name,.pm-name{color:var(--text-primary);font-weight:550;display:block}a.kl-name:hover,a.vl-name:hover,a.pm-name:hover{color:var(--color-primary)}.kl-sub,.vl-sub,.pm-sub{color:var(--text-muted);align-items:center;gap:6px;margin-top:1px;font-size:12.5px;display:flex}.kl-dash,.kf-dash,.vl-dash,.pm-dash{color:var(--text-muted)}.kl-skel,.vl-skel{flex-direction:column;display:flex}.kl-skel-row,.vl-skel-row{border-bottom:1px solid var(--border-light);align-items:center;gap:16px;height:46px;padding:0 16px;display:flex}.kl-skel-row:last-child,.vl-skel-row:last-child{border-bottom:none}.kl-skel-bar,.vl-skel-bar{flex:1;height:12px}.kl-skel-bar.short,.vl-skel-bar.short{flex:0 0 120px}.kl-skel-title,.vl-skel-title{width:180px;height:26px}.kl-table th.num,.kl-table td.num{text-align:right}.kl-sku{font-family:var(--font-mono);font-size:12px}.kl-qty{font-weight:600}.kl-qty.zero{color:var(--color-danger)}.kl-margin{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.kl-meter{border-radius:var(--radius-full);background:var(--bg-hover);width:44px;height:4px;overflow:hidden}.kl-meter-fill{border-radius:var(--radius-full);background:var(--color-success);height:100%;display:block}.kl-meter-fill.ok{background:var(--color-warning)}.kl-meter-fill.low{background:var(--color-danger)}.kl-switch-cell{align-items:center;gap:8px;display:flex}.kl-tiles{background:var(--border-light);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;display:grid}.kl-tile{background:var(--bg-card);cursor:pointer;transition:background var(--transition-fast);flex-direction:column;gap:14px;padding:16px;display:flex}.kl-tile:hover{background:var(--bg-surface)}.kl-tile.archived .kl-tile-img{opacity:.55}.kl-tile-head{align-items:flex-start;gap:12px;display:flex}.kl-tile-img{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-surface);width:48px;height:48px;color:var(--text-muted);object-fit:cover;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.kl-tile-title{flex:1;min-width:0}.kl-tile-title .kl-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.kl-tile-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.kl-fact-label{color:var(--text-muted);font-size:12px;display:block}.kl-fact-value{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-top:1px;font-size:13.5px;font-weight:600;display:block}.kl-fact-value.zero{color:var(--color-danger)}.kl-tile-foot{border-top:1px solid var(--border-light);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;font-size:12.5px;display:flex}.kl-tile-switch{align-items:center;gap:8px;display:inline-flex}.kf-section-wide{grid-template-columns:minmax(0,1fr);gap:16px}.kf-section-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.kf-money{position:relative}.kf-money-sign{color:var(--text-muted);pointer-events:none;font-size:13.5px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.kf-money .form-input{padding-left:26px}.kf-upload{align-items:center;gap:16px;display:flex}.kf-upload-drop{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--bg-surface);width:96px;height:96px;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.kf-upload-drop:hover,.kf-upload-drop:focus-within{border-color:var(--color-primary);color:var(--text-primary)}.kf-upload-drop.filled{border-style:solid;border-color:var(--border-color)}.kf-upload-drop img{object-fit:cover;width:100%;height:100%}.kf-upload-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.kf-upload-text{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.kf-lines{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);overflow:hidden}.kf-lines-scroll{overflow-x:auto}.kf-lines-table tbody tr{cursor:default}.kf-lines-table tbody tr:hover{background:0 0}.kf-lines-table th.num,.kf-lines-table td.num{text-align:right}.kf-col-product{min-width:260px}.kf-col-qty{width:120px}.kf-col-unit{width:160px}.kf-col-num{width:110px}.kf-col-action{width:48px}.kf-lines-table .form-input,.kf-lines-table .form-select{min-height:32px;font-size:13px}.kf-qty-input{text-align:right}.kf-buildable{font-weight:600}.kf-buildable.zero{color:var(--color-danger)}.kf-lines-empty{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:13.5px}.kf-lines-foot{border-top:1px solid var(--border-color);background:var(--bg-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.kf-build-note{color:var(--color-success);align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.kf-build-note.none{color:var(--color-danger)}.kf-error{margin-top:16px}.vl-tag-select{width:auto;min-height:32px;font-size:13px}.vl-alpha{border-bottom:1px solid var(--border-color);align-items:center;gap:2px;padding:6px 12px;display:flex;overflow-x:auto}.vl-alpha-btn{border-radius:var(--radius-sm);min-width:24px;height:24px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0;padding:0 6px;font-size:12px}.vl-alpha-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.vl-alpha-btn.active{background:var(--btn-ink);color:var(--text-inverse)}.vl-alpha-btn:disabled{color:var(--border-strong);cursor:default}.vl-table th.num,.vl-table td.num{text-align:right}.vl-row.inactive .vl-avatar{opacity:.55}.vl-site{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.vl-lines{flex-direction:column;gap:1px;font-size:13px;display:flex}.vl-line{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.vl-line svg{color:var(--text-muted);flex-shrink:0}.vl-line.minor{color:var(--text-muted);font-size:12.5px}.vl-tags{flex-wrap:wrap;gap:4px;display:flex}.vl-tag{border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);white-space:nowrap;padding:1px 7px;font-size:11.5px}.vl-tiles{background:var(--border-light);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;display:grid}.vl-tile{background:var(--bg-card);cursor:pointer;transition:background var(--transition-fast);flex-direction:column;gap:12px;padding:16px;display:flex}.vl-tile:hover{background:var(--bg-surface)}.vl-tile.inactive .vl-tile-logo{opacity:.55}.vl-tile-head{align-items:flex-start;gap:12px;display:flex}.vl-tile-logo{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-surface);width:44px;height:44px;color:var(--text-secondary);object-fit:contain;flex-shrink:0;place-items:center;font-size:14px;font-weight:600;display:grid;overflow:hidden}.vl-tile-title{flex:1;min-width:0}.vl-tile-title .vl-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.vl-tile .vl-line{white-space:normal;overflow-wrap:anywhere}.vl-tile-foot{border-top:1px solid var(--border-light);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:auto;padding-top:12px;font-size:12.5px;display:flex}.vl-tile-foot strong{color:var(--text-primary);font-weight:600}.vl-map{flex-direction:column;display:flex}.vl-map-bar{border-bottom:1px solid var(--border-color);min-height:40px;color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:12.5px;display:flex}.vl-map-progress{color:var(--text-muted);align-items:center;gap:10px;display:inline-flex}.vl-map-track{border-radius:var(--radius-full);background:var(--bg-hover);width:140px;height:4px;overflow:hidden}.vl-map-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width var(--transition-normal);display:block}.vl-map-canvas{background:var(--bg-surface);z-index:0;height:min(640px,100vh - 320px);min-height:380px}.vl-map-marker{background:0 0;border:none}.vl-map-pin{border:2px solid var(--bg-card);background:var(--color-primary);width:16px;height:16px;box-shadow:0 0 0 1px var(--btn-ink);border-radius:50%;margin:6px}.vl-map-popup{font-family:var(--font-body);color:var(--text-secondary);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.vl-map-popup strong{color:var(--text-primary);font-size:13.5px;font-weight:600}.vl-map-popup-addr{color:var(--text-muted);margin-top:4px;font-size:12px}.vl-map-popup a{color:var(--color-primary);margin-top:6px;font-weight:600}.vl-map .leaflet-popup-content-wrapper,.vl-map .leaflet-popup-tip{background:var(--bg-card);color:var(--text-primary)}.vl-map .leaflet-popup-content-wrapper{border-radius:var(--radius-lg)}.pm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-col-toggle{width:40px}.pm-col-actions{width:96px}.pm-table td.pm-cell-toggle{padding-right:0}.pm-expand{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;place-items:center;display:grid}.pm-expand:hover{background:var(--bg-hover);color:var(--text-primary)}.pm-row.static{cursor:default}.pm-row.open,.pm-row.open:hover{background:var(--bg-surface)}.pm-row.open td{border-bottom-color:#0000}.pm-code{font-family:var(--font-mono);color:var(--text-primary);font-size:12px}.pm-code.minor{color:var(--text-muted)}.pm-stack{flex-direction:column;gap:1px;display:flex}.pm-chips{flex-wrap:wrap;gap:4px;display:flex}.pm-chip{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);white-space:nowrap;align-items:center;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.pm-chip.market{color:var(--text-primary)}.pm-chip.amazon{background:var(--color-warning-light);color:var(--color-warning);border-color:#0000}.pm-chip.seller{background:var(--color-info-light);color:var(--color-info);border-color:#0000}.pm-row-actions{justify-content:flex-end;gap:4px;display:flex}.pm-detail-row,.pm-detail-row:hover{background:var(--bg-surface);cursor:default}.pm-table tbody tr.pm-detail-row td{border-bottom-color:#0000;height:auto;padding:0 16px 12px}.pm-table tbody tr.pm-detail-row.last td{border-bottom-color:var(--border-light)}.pm-detail{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;padding:14px 16px;display:flex}.pm-fields{flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 20px;min-width:280px;margin:0;display:grid}.pm-field{min-width:0}.pm-field.wide{grid-column:span 2}.pm-field dt{color:var(--text-muted);margin-bottom:2px;font-size:12px}.pm-field dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:13px}.pm-detail-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pm-delete{color:var(--color-danger)}.pm-delete:hover{background:var(--color-danger-light);color:var(--color-danger)}.pm-add-row{justify-content:flex-end;display:flex}.pm-form{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card)}.pm-form-head{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;font-size:13.5px;font-weight:600}.pm-form-error{margin:12px 16px 0}.pm-form-group{border-bottom:1px solid var(--border-light);grid-template-columns:160px minmax(0,1fr);gap:16px;padding:14px 16px;display:grid}.pm-form-group-title{color:var(--text-secondary);padding-top:24px;font-size:13px;font-weight:500}.pm-form-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.pm-form-fields .form-group.span-2{grid-column:span 2}.pm-form-fields .form-label{color:var(--text-secondary);font-size:12.5px;font-weight:400}.pm-form-foot{justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.pm-loading{flex-direction:column;align-items:center;gap:10px;display:flex}.bvp-bench{grid-template-columns:300px minmax(0,1fr)}.bvp-loading{min-height:240px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:13.5px;display:flex}.bvp-panel{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);flex-direction:column;gap:16px;padding:16px;display:flex}.bvp-panel .prop-row{grid-template-columns:112px minmax(0,1fr)}.bvp-check{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:9px;font-size:13.5px;display:flex}.bvp-check input{accent-color:var(--color-primary);margin-top:3px}.bvp-check small{color:var(--text-muted);margin-top:1px;font-size:12.5px;display:block}.bvp-actions{border-top:1px solid var(--border-light);flex-direction:column;gap:8px;padding-top:16px;display:flex}.bvp-ready{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.bvp-notice span{flex:1;min-width:0}.bvp-notice-close{margin:-3px -6px -3px 0}.bvp-table{min-width:980px}.bvp-table tbody tr{cursor:default}.bvp-table tbody tr:hover{background:0 0}.bvp-table thead th,.bvp-table tbody td{padding-left:6px;padding-right:6px}.bvp-table thead th:first-child,.bvp-table tbody td:first-child{padding-left:12px}.bvp-table th.num{text-align:right}.bvp-col-product{min-width:230px}.bvp-col-name{min-width:150px}.bvp-col-code{min-width:110px}.bvp-col-uom{min-width:140px}.bvp-col-price{width:100px}.bvp-col-small{width:78px}.bvp-col-action{width:44px}.bvp-input{min-height:32px;font-size:13px}.bvp-input.num{text-align:right}.bvp-row-blank td{background:var(--bg-surface)}.bvp-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-xl)}.bvp-modal{flex-direction:column;max-width:560px;max-height:80vh;display:flex}.bvp-modal-search{padding:12px 20px 0}.bvp-modal-field{position:relative}.bvp-modal-field svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.bvp-modal-field .form-input{padding-left:32px}.bvp-modal-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin:8px 0 4px;font-size:12.5px;display:flex}.bvp-modal-meta-actions{gap:4px;display:flex}.bvp-pick-list{flex:1;padding:0 20px 8px;overflow:auto}.bvp-pick{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:7px 8px;display:flex}.bvp-pick:hover{background:var(--bg-surface)}.bvp-pick.selected{background:rgba(var(--color-primary-rgb),.08)}.bvp-pick input{accent-color:var(--color-primary)}.bvp-pick-img{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:30px;height:30px;color:var(--text-muted);object-fit:cover;flex-shrink:0;place-items:center;display:grid}.bvp-pick-body{flex-direction:column;flex:1;min-width:0;display:flex}.bvp-pick-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.bvp-pick-sku{font-family:var(--font-mono);color:var(--text-muted);font-size:11.5px}.bvp-pick-price{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:13px}.bvp-pick-none{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13.5px}@media (max-width:1100px){.bvp-bench{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.kl-stats,.vl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kl-search,.vl-search,.pm-search{flex-basis:100%;max-width:none}.kl-toolbar-end,.vl-toolbar-end,.pm-toolbar-end{margin-left:0}.kl-tile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-upload{flex-direction:column;align-items:flex-start}.pm-form-group{grid-template-columns:minmax(0,1fr);gap:8px}.pm-form-group-title{padding-top:0}.pm-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.kd-loading{min-height:240px;color:var(--text-muted);place-items:center;font-size:13.5px;display:grid}.kd-stack{flex-direction:column;gap:24px;display:flex}.kd-tab-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.kd-metrics{background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-xl);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.kd-metric{background:var(--bg-card);flex-direction:column;gap:6px;min-width:0;padding:16px 20px;display:flex}.kd-metric-label{color:var(--text-secondary);font-size:12.5px;font-weight:500}.kd-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:26px;font-weight:600;line-height:1.1}.kd-metric.alert .kd-metric-value{color:var(--color-danger)}.kd-metric-foot{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.kd-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.kd-card-head{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;min-height:52px;padding:10px 16px;display:flex}.kd-card-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kd-card-foot{border-top:1px solid var(--border-light);padding:10px 16px}.kd-sort{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.kd-sort .form-select{width:auto;height:30px;padding-top:0;padding-bottom:0;font-size:12.5px}.kd-scroll{overflow-x:auto}.kd-card .data-table thead th.num{text-align:right}.kd-card .data-table tbody td{vertical-align:top;padding-top:10px;padding-bottom:10px}.kd-static-table tbody tr,.kd-edit-table tbody tr,.kd-row-static{cursor:default}.kd-static-table tbody tr:hover,.kd-edit-table tbody tr:hover{background:0 0}.kd-sub{color:var(--text-muted);font-size:12px;font-weight:400}.kd-muted{color:var(--text-muted)}.kd-strong{font-weight:600}.kd-pos{color:var(--color-success)}.kd-neg{color:var(--color-danger)}.kd-warn{color:var(--color-warning)}.kd-accent{color:var(--color-primary)}.kd-unit{margin-left:4px}.kd-product{align-items:center;gap:12px;min-width:200px;display:flex}.kd-product-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:36px;height:36px;color:var(--text-muted);object-fit:cover;flex-shrink:0;place-items:center;display:grid}.kd-product-text{min-width:0}.kd-product-text .kd-sub{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kd-limiting{color:var(--color-warning);align-items:center;gap:4px;font-weight:500;display:inline-flex}.kd-days{border-radius:var(--radius-full);white-space:nowrap;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.kd-days.ok{background:var(--color-success-light);color:var(--color-success)}.kd-days.expiring{background:var(--color-warning-light);color:var(--color-warning)}.kd-days.expired{background:var(--color-danger-light);color:var(--color-danger)}.kd-callout-text{color:var(--text-secondary)}.kd-totals{border-top:1px solid var(--border-color);background:var(--bg-surface);flex-direction:column;align-items:flex-end;gap:4px;margin:0;padding:12px 16px 14px;display:flex}.kd-total-row{color:var(--text-secondary);grid-template-columns:auto 120px;gap:24px;font-size:13px;display:grid}.kd-total-row dd{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0}.kd-total-row.grand{color:var(--text-primary);font-size:14px;font-weight:600}.kd-total-row.grand dd{font-size:16px}.kd-fba-strip{background:var(--border-light);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.kd-fba-strip:last-child{border-bottom:none}.kd-fba-cell{background:var(--bg-card);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.kd-fba-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:20px;font-weight:600}.kd-ident{align-items:baseline;gap:8px;display:flex}.kd-ident .kd-sub{flex-shrink:0;width:44px}.kd-description{color:var(--text-secondary);white-space:pre-wrap;font-size:13.5px;line-height:1.6}.kd-ph-item+.kd-ph-item{border-top:1px solid var(--border-color)}.kd-ph-head{text-align:left;cursor:pointer;width:100%;min-height:48px;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 16px;display:flex}.kd-ph-head:hover{background:var(--bg-surface)}.kd-ph-head:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.kd-ph-chev{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0;transform:rotate(-90deg)}.kd-ph-chev.open{transform:rotate(0)}.kd-ph-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:13.5px;font-weight:600;overflow:hidden}.kd-ph-qty{color:var(--text-muted);flex-shrink:0;font-size:12.5px}.kd-ph-summary{flex-shrink:0;align-items:center;gap:14px;margin-left:auto;display:flex}.kd-ph-price{font-variant-numeric:tabular-nums;min-width:72px;color:var(--text-primary);justify-content:flex-end;align-items:center;gap:4px;font-size:13.5px;font-weight:600;display:inline-flex}.kd-ph-body{border-top:1px solid var(--border-light)}.kd-ph-none{border-top:1px solid var(--border-light);color:var(--text-muted);padding:16px 16px 16px 41px;font-size:13px}.kd-trend{align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:inline-flex}.kd-trend .kd-muted{font-weight:400}.kd-chart{height:260px;padding:16px 16px 12px 8px}.kd-legend{color:var(--text-secondary);align-items:center;gap:14px;font-size:12.5px;display:flex}.kd-legend-item{align-items:center;gap:6px;display:inline-flex}.kd-legend-item i{border-radius:var(--radius-full);width:8px;height:8px}.kd-log{margin:0;padding:0;list-style:none}.kd-log-entry{border-bottom:1px solid var(--border-light);gap:12px;padding:14px 16px;display:flex}.kd-log-entry:last-child{border-bottom:none}.kd-log-dot{border-radius:var(--radius-full);flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.kd-log-dot.up{background:var(--color-danger-light);color:var(--color-danger)}.kd-log-dot.down{background:var(--color-success-light);color:var(--color-success)}.kd-log-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kd-log-title{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13.5px}.kd-log-delta{margin-left:8px;font-size:12.5px}.kd-log-line{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.kd-log-details{margin-top:6px}.kd-log-details summary{width:fit-content;color:var(--text-secondary);cursor:pointer;font-size:12.5px}.kd-log-details summary:hover{color:var(--text-primary)}.kd-log-table{border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:8px}.kd-log-table .data-table tbody td{height:36px;padding-top:6px;padding-bottom:6px;font-size:12.5px}.kd-changed td{background:var(--color-warning-light);font-weight:600}.kd-log-time{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;display:flex}.kd-edit .form-section.kd-section-wide{grid-template-columns:minmax(0,1fr);gap:14px}.kd-money{position:relative}.kd-money-sign{color:var(--text-muted);pointer-events:none;font-size:13.5px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.kd-money .form-input{padding-left:26px}.kd-image-row{align-items:center;gap:16px;display:flex}.kd-image{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--bg-surface);cursor:pointer;width:96px;height:96px;transition:border-color var(--transition-fast);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.kd-image:hover,.kd-image:focus-within{border-color:var(--color-primary)}.kd-image img{object-fit:cover;width:100%;height:100%}.kd-image-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;font-size:12.5px;display:flex}.kd-file-input,.kd-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kd-image-side{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.kd-edit-table tbody td{vertical-align:middle}.kd-col-product{min-width:240px}.kd-col-qty{width:120px}.kd-col-uom{width:150px}.kd-col-x{width:48px}.kd-cell-input{height:32px;padding-top:0;padding-bottom:0;font-size:13px}.kd-table-empty{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:13px}.kd-gap-top{margin-top:12px}@media (max-width:768px){.kd-metrics,.kd-fba-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-ph-head{flex-wrap:wrap}.kd-ph-summary{width:100%;margin-left:25px}.kd-total-row{grid-template-columns:auto 96px;gap:16px}}.vd-loading,.vf-loading{min-height:300px;color:var(--text-muted);place-items:center;font-size:13.5px;display:grid}.vd-logo{flex-shrink:0;position:relative}.vd-logo-btn{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px}.vd-logo-btn.remove{top:-6px;bottom:auto}.vd-logo-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.vd-logo-btn.remove:hover{color:var(--color-danger)}.vd-logo-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vd-logo-btn:disabled{opacity:.5;cursor:default}.vd-identity-body{min-width:0}.vd-meta-role{color:var(--text-muted)}.vd-meta-link:hover,.vd-link:hover{color:var(--color-primary)}.vd-link{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.vd-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.vd-tag{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);padding:1px 9px;font-size:12px;font-weight:500}.vd-tab-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.vd-overview{flex-direction:column;gap:28px;display:flex}.vd-notes{max-width:68ch;color:var(--text-primary);white-space:pre-wrap;font-size:13.5px;line-height:1.6}.vd-notes.empty{color:var(--text-muted)}.vd-table-scroll{overflow-x:auto}.vd-strong{font-weight:600}.vd-status{text-transform:capitalize}.vd-secret{align-items:center;gap:2px;min-width:0;display:flex}.vd-secret-value{min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:1;font-size:12.5px}.vd-secret-value.masked{color:var(--text-muted);letter-spacing:.1em}.vd-copied{color:var(--color-success)}.vd-drop,.vf-drop{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;color:var(--text-muted);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.vd-drop:hover,.vf-drop:hover,.vd-drop.active,.vf-drop.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.vd-drop:focus-visible,.vf-drop:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vd-drop:disabled,.vf-drop:disabled{opacity:.6;cursor:progress}.vd-drop-text,.vf-drop-text{color:var(--text-primary);font-size:13.5px;font-weight:500}.vd-drop-hint,.vf-drop-hint{color:var(--text-muted);margin-left:auto;font-size:12.5px}.vd-doc-error,.vf-doc-error{color:var(--color-danger);margin-top:8px;font-size:13px}.vd-docs-empty,.vf-docs-empty{color:var(--text-muted);padding:16px 0 0;font-size:13px}.vd-docs,.vf-docs{margin:8px 0 0;padding:0;list-style:none}.vd-doc,.vf-doc{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:8px 0;display:flex}.vd-doc:last-child,.vf-doc:last-child{border-bottom:none}.vd-doc-kind,.vf-doc-kind{color:var(--text-muted);flex-shrink:0;place-items:center;display:grid}.vd-doc-kind.pdf,.vf-doc-kind.pdf{color:var(--color-danger)}.vd-doc-kind.spreadsheet,.vf-doc-kind.spreadsheet{color:var(--color-success)}.vd-doc-open,.vf-doc-open{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:1px;min-width:0;padding:0;display:flex}.vd-doc-open:focus-visible,.vf-doc-open:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.vd-doc-name,.vf-doc-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.vd-doc-open:hover .vd-doc-name,.vf-doc-open:hover .vf-doc-name{color:var(--color-primary)}.vd-doc-meta,.vf-doc-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.vd-doc-actions,.vf-doc-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.vd-doc-delete,.vf-danger-text{color:var(--color-danger)}.vf-logo{align-items:center;gap:16px;display:flex}.vf-logo-thumb{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-surface);width:72px;height:72px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.vf-logo-thumb.empty{border-style:dashed;border-color:var(--border-strong)}.vf-logo-thumb img{object-fit:cover;width:100%;height:100%}.vf-logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vf-lookup,.vf-lookup-field{position:relative}.vf-lookup-field .form-input{padding-left:36px;padding-right:34px}.vf-lookup-icon{color:var(--text-muted);pointer-events:none;display:grid;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.vf-lookup-field.filled .vf-lookup-icon{color:var(--color-success)}.vf-spin{animation:.7s linear infinite vf-spin}@keyframes vf-spin{to{transform:rotate(360deg)}}.vf-lookup-clear{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.vf-lookup-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.vf-lookup-menu{z-index:60;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-elevated);max-height:320px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.vf-lookup-none{color:var(--text-secondary);padding:12px 14px;font-size:13px}.vf-lookup-item{border:none;border-bottom:1px solid var(--border-light);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;padding:9px 14px;display:flex}.vf-lookup-item:hover,.vf-lookup-item:focus-visible{background:var(--bg-surface);outline:none}.vf-lookup-item-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vf-lookup-item-name{color:var(--text-primary);font-size:13.5px;font-weight:500}.vf-lookup-item-status{color:var(--text-muted);text-transform:capitalize;flex-shrink:0;font-size:12px}.vf-lookup-item-status.active{color:var(--color-success)}.vf-lookup-item-status.dissolved{color:var(--color-danger)}.vf-lookup-item-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;font-size:12.5px;display:flex}.vf-lookup-foot{color:var(--text-muted);background:var(--bg-surface);padding:7px 14px;font-size:11.5px}.vf-hint{align-items:center;gap:6px;display:flex}.vf-hint.success{color:var(--color-success)}.vf-hint.warning{color:var(--color-warning)}.vf-hint a{color:inherit;text-underline-offset:3px;text-decoration:underline}.vf-autofill{margin-top:10px}.vf-money{position:relative}.vf-money-sign{color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.vf-money .form-input{padding-left:24px}.vf-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.vf-tags.suggestions{margin:10px 0 0}.vf-tag{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-surface);height:26px;color:var(--text-primary);align-items:center;gap:4px;padding:0 4px 0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.vf-tag-remove{border-radius:var(--radius-full);width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.vf-tag-remove:hover{background:var(--bg-hover);color:var(--color-danger)}.vf-tag-add{gap:8px;display:flex}.vf-tag-add .form-input{flex:1;min-width:0}.vf-tag-suggest{border:1px dashed var(--border-strong);border-radius:var(--radius-full);height:24px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:0 9px 0 7px;font-size:12px;display:inline-flex}.vf-tag-suggest:hover{color:var(--text-primary);border-style:solid}.vf-tag-remove:focus-visible,.vf-tag-suggest:focus-visible,.vf-lookup-clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.vf-error{margin-top:16px}@media (max-width:768px){.vd-page .record-identity{align-items:flex-start}.vd-page .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-drop-hint,.vf-drop-hint{width:100%;margin-left:0}.vf-logo{align-items:flex-start}.vf-tag-add{flex-direction:column;align-items:stretch}}
.pur-loading{min-height:280px;color:var(--text-muted);place-items:center;font-size:13.5px;display:grid}.pur-spin{animation:.9s linear infinite pur-spin}@keyframes pur-spin{to{transform:rotate(360deg)}}.pur-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pur-count{border:1px solid var(--border-color);border-radius:var(--radius-full);font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;padding:1px 7px;font-size:11.5px}.pur-link{color:var(--color-primary);font-weight:500}.pur-link:hover{text-decoration:underline}.pur-optional{color:var(--text-muted);font-weight:400}.pur-note-text{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.6}.pur-note-text.empty{color:var(--text-muted)}.pur-card-tools{align-items:center;gap:8px;display:flex}.badge.pur-sent{background:var(--color-info-light);color:var(--color-info)}.badge.pur-quoted{background:var(--color-warning-light);color:var(--color-warning)}.badge.pur-accepted{background:var(--color-success-light);color:var(--color-success)}.badge.pur-unpaid{background:var(--color-gray-100);color:var(--text-secondary)}.badge.pur-partial{background:var(--color-warning-light);color:var(--color-warning)}.badge.pur-paid,.badge.pur-ack{background:var(--color-success-light);color:var(--color-success)}.badge.pur-expired{background:var(--color-danger-light);color:var(--color-danger)}.pur-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pur-dot.confirmed{background:var(--color-info)}.pur-dot.received{background:var(--color-success)}.pur-dot.cancelled{background:var(--color-danger)}.pur-table th.num,.pur-table td.num{text-align:right}.pur-table th.center,.pur-table td.center{text-align:center}.pur-table.static tbody tr{cursor:default}.pur-table.static tbody tr:hover{background:0 0}.pur-table td.muted{color:var(--text-secondary)}.pur-table td.strong{font-weight:600}.pur-table-scroll{overflow-x:auto}.pur-resp{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:inline-flex}.pur-resp.fast{color:var(--color-success)}.pur-resp.ok{color:var(--color-warning)}.pur-resp.slow{color:var(--color-danger)}.pur-steps-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin:-8px 0 24px;display:flex}.pur-steps{flex-wrap:wrap;align-items:center;row-gap:8px;margin:0;padding:0;list-style:none;display:flex}.pur-step{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.pur-step+.pur-step:before{content:"";background:var(--border-strong);width:36px;height:1px;margin:0 4px}.pur-step-dot{border:1px solid var(--border-strong);background:var(--bg-card);width:20px;height:20px;font-family:var(--font-mono);color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;display:grid}.pur-step.done{color:var(--text-secondary)}.pur-step.done .pur-step-dot{background:var(--btn-ink);border-color:var(--btn-ink);color:var(--text-inverse)}.pur-step.done+.pur-step:before{background:var(--btn-ink)}.pur-step.current{color:var(--text-primary);font-weight:600}.pur-step.current .pur-step-dot{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14)}.pur-step.complete{color:var(--text-primary);font-weight:600}.pur-step.complete .pur-step-dot{background:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.pur-steps-note{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.pur-steps-note.danger{color:var(--color-danger);font-weight:500}.pur-steps-note.success svg{color:var(--color-success)}.pur-totals{border-top:1px solid var(--border-color);justify-content:flex-end;padding:14px 18px 16px;display:flex}.pur-totals-list{flex-direction:column;gap:7px;width:300px;max-width:100%;display:flex}.pur-totals-row{color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:24px;font-size:13.5px;display:flex}.pur-totals-row b{color:var(--text-primary);font-weight:500}.pur-totals-row.discount b{color:var(--color-success)}.pur-totals-row.total{border-top:1px solid var(--border-color);color:var(--text-primary);margin-top:3px;padding-top:10px;font-size:15px;font-weight:600}.pur-totals-row.total b{letter-spacing:-.01em;font-weight:600}.pur-callout-body{flex:1;min-width:0}.pur-callout-action{flex-shrink:0;align-self:center}.modal.pur-modal-md{max-width:560px}.modal.pur-modal-lg{max-width:800px}.pur-modal-stack{flex-direction:column;gap:14px;display:flex}.pur-modal-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pur-modal-summary{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-bottom:12px;font-size:13px;display:flex}.pur-modal-summary b{color:var(--text-primary);font-weight:600}.pur-modal-title{align-items:center;gap:8px;display:inline-flex}.pur-subject{color:var(--text-secondary);font-size:13px}.pur-subject b{color:var(--text-primary);font-weight:600}.form-textarea.pur-email-body{min-height:260px;max-height:400px;font-family:var(--font-mono);font-size:12.5px;line-height:1.7}.form-textarea.pur-textarea-sm{min-height:60px}.pur-log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pur-log-item{grid-template-columns:24px minmax(0,1fr) auto;gap:2px 12px;padding-bottom:16px;display:grid;position:relative}.pur-log-item:before{content:"";background:var(--border-color);width:1px;position:absolute;top:26px;bottom:2px;left:11.5px}.pur-log-item:last-child{padding-bottom:0}.pur-log-item:last-child:before{display:none}.pur-log-dot{background:var(--bg-surface);border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;place-items:center;display:grid}.pur-log-dot.status_change{background:var(--color-info-light);color:var(--color-info);border-color:#0000}.pur-log-dot.email_sent,.pur-log-dot.vendor_acknowledged,.pur-log-dot.payment_recorded{background:var(--color-success-light);color:var(--color-success);border-color:#0000}.pur-log-dot.po_edited{background:var(--color-warning-light);color:var(--color-warning);border-color:#0000}.pur-log-body{min-width:0;padding-top:2px}.pur-log-title{color:var(--text-primary);font-size:13.5px;font-weight:500}.pur-log-details{color:var(--text-secondary);white-space:pre-line;overflow-wrap:anywhere;margin-top:2px;font-size:12.5px;line-height:1.5}.pur-log-meta{color:var(--text-muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:3px;font-size:12px;line-height:1.5}.pur-log-meta span{display:block}.pur-log-empty{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:20px 0;font-size:13.5px;display:flex}.data-table-wrapper.pol-wrap{overflow:visible}.pol-toolbar .filter-chips{flex:1;min-width:0}.pol-toolbar .data-table-search{flex:0 280px}.pol-toolbar .data-table-search input{padding-right:30px}.pol-search-x{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;place-items:center;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.pol-search-x:hover{background:var(--bg-hover);color:var(--text-primary)}.pol-po{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-size:12.5px;font-weight:500}a.pol-po:hover{color:var(--color-primary)}.pol-vendor{font-weight:500}.pol-status{display:inline-block;position:relative}.pol-status-btn{cursor:pointer;transition:border-color var(--transition-fast);font-family:inherit}.pol-status-btn:hover,.pol-status-btn[aria-expanded=true]{border-color:color-mix(in srgb,currentColor 45%,transparent)}.pol-status-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pol-status-menu{z-index:60;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:168px;box-shadow:var(--shadow-lg);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.pol-table tbody tr:nth-last-child(-n+3):not(:nth-child(-n+4)) .pol-status-menu{top:auto;bottom:calc(100% + 4px)}.pol-status-item{border-radius:var(--radius-sm);width:100%;height:30px;color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.pol-status-item:hover{background:var(--bg-hover)}.pol-status-item.active{font-weight:600}.pol-status-item svg{color:var(--text-secondary);margin-left:auto}.pol-board{align-items:flex-start;gap:12px;padding:12px;display:flex;overflow-x:auto}.pol-col{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;flex:1 1 0;min-width:232px;max-width:420px;display:flex}.pol-col-head{color:var(--text-primary);align-items:center;gap:8px;padding:10px 12px 8px;font-size:13px;font-weight:600;display:flex}.pol-col-count{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:11.5px;font-weight:400}.pol-col-body{flex-direction:column;flex:1;gap:6px;min-height:96px;padding:0 8px 8px;display:flex}.pol-col-empty{color:var(--text-muted);text-align:center;padding:20px 8px;font-size:12.5px}.pol-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:grab;touch-action:none;transition:border-color var(--transition-fast);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.pol-card:hover{border-color:var(--border-strong)}.pol-card.locked{cursor:default}.pol-card.dragging{opacity:.4}.pol-card.ghost{cursor:grabbing;border-color:var(--border-strong);min-width:220px;box-shadow:var(--shadow-lg)}.pol-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pol-card-total{color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.pol-card-vendor{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.pol-card-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.pol-card-meta span{align-items:center;gap:4px;display:inline-flex}.form-page.pof{max-width:1080px}.form-section.pof-wide{grid-template-columns:minmax(0,1fr);gap:14px}.pof-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;display:flex}.pof-head .data-table-search{flex:0 260px}.pof-head .data-table-search input{background:var(--bg-card);border-color:var(--border-color)}.pof-inline{align-items:center;gap:8px;display:flex}.pof-readonly{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);min-width:0;min-height:34px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;padding:0 11px;font-size:13.5px;display:flex;overflow:hidden}.pof-pending{min-height:34px;color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.pof-affix{flex:1;min-width:0;position:relative}.pof-affix-pre,.pof-affix-post{color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;transform:translateY(-50%)}.pof-affix-pre{left:11px}.pof-affix-post{right:11px}.pof-affix .form-input.has-pre{padding-left:24px}.pof-affix .form-input.has-post{padding-right:28px}.pof-picker{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);overflow:hidden}.pof-pick-list{max-height:448px;overflow-y:auto}.pof-pick{border-bottom:1px solid var(--border-light);min-height:56px;transition:background var(--transition-fast);grid-template-columns:40px minmax(0,1fr) auto 124px;align-items:center;gap:6px 12px;padding:8px 14px;display:grid}.pof-pick:last-child{border-bottom:none}.pof-pick.clickable{cursor:pointer}.pof-pick.clickable:hover{background:var(--bg-surface)}.pof-pick.added{background:rgba(var(--color-primary-rgb),.05);box-shadow:inset 2px 0 0 var(--color-primary)}.pof-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:40px;height:40px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.pof-thumb.sm{width:32px;height:32px}.pof-thumb img{object-fit:cover;width:100%;height:100%}.pof-pick-body{min-width:0}.pof-pick-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.pof-pick-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:1px;font-size:12.5px;display:flex}.pof-pick-sub b,.pof-stock b{color:var(--text-secondary);font-weight:600}.pof-stock{align-items:center;gap:4px;display:inline-flex}.pof-pick-price{color:var(--text-primary);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.pof-pick-price small{color:var(--text-muted);font-size:12px;font-weight:400}.pof-pick-action{justify-content:flex-end;display:flex}.pof-packs{border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;grid-column:2/-1;display:flex;overflow:hidden}.pof-pack{border-bottom:1px solid var(--border-light);min-height:40px;color:var(--text-secondary);grid-template-columns:minmax(0,1fr) auto 110px;align-items:center;gap:12px;padding:5px 0 5px 12px;font-size:13px;display:grid}.pof-pack:last-child{border-bottom:none}.pof-pack.added{background:rgba(var(--color-primary-rgb),.05);color:var(--text-primary)}.pof-pack .pof-pick-action{padding-right:0}.pof-qty{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;height:28px;display:inline-flex;overflow:hidden}.pof-qty button{width:28px;height:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);place-items:center;display:grid}.pof-qty button:hover{background:var(--bg-hover);color:var(--text-primary)}.pof-qty button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.pof-qty-value{min-width:34px;color:var(--text-primary);text-align:center;font-variant-numeric:tabular-nums;padding:0 4px;font-size:13px;font-weight:600}.pof-compare{border-bottom:1px solid var(--border-light);background:rgba(var(--color-primary-rgb),.05);box-shadow:inset 2px 0 0 var(--color-primary);padding:4px 14px 14px 66px}.pof-compare-title{color:var(--text-secondary);margin-bottom:8px;font-size:12.5px}.pof-compare-title b{color:var(--text-primary);font-weight:600}.pof-compare-box{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.pof-compare-table{font-variant-numeric:tabular-nums;width:100%;font-size:13px}.pof-compare-table th{text-align:left;height:32px;color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:500}.pof-compare-table td{height:40px;color:var(--text-primary);border-bottom:1px solid var(--border-light);white-space:nowrap;padding:4px 12px}.pof-compare-table tr:last-child td{border-bottom:none}.pof-compare-table td.vendor{font-weight:500}.pof-compare-table td.code{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.pof-compare-table .act{text-align:right;width:1%}.pof-best{border-radius:var(--radius-sm);background:var(--color-success-light);color:var(--color-success);margin-left:8px;padding:1px 6px;font-size:11.5px;font-weight:600}.pof-note{color:var(--text-secondary);align-items:center;gap:10px;padding:26px 18px;font-size:13.5px;display:flex}.pof-note svg{color:var(--text-muted);flex-shrink:0}.pof-note.warn svg{color:var(--color-warning)}.pof-lines{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);overflow:hidden}.pof-lines .data-table tbody td{height:44px;padding:6px 12px}.pof-lines .data-table thead th{padding:0 12px}.pof-lines .data-table tbody tr:last-child td{border-bottom:none}.pof-col-qty{width:112px}.pof-col-price{width:132px}.pof-col-sub{width:120px}.pof-col-act{width:44px}.pof-line-product{align-items:center;gap:10px;min-width:200px;display:flex}.pof-line-name{color:var(--text-primary);font-size:13.5px;font-weight:500}.pof-line-pack{color:var(--text-muted);font-size:12.5px}.pof-cell-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);width:100%;min-width:72px;height:30px;color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;padding:0 8px;font-size:13.5px}.pof-cell-input:hover{border-color:var(--border-strong)}.pof-cell-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14)}.btn.pof-remove{color:var(--text-muted)}.btn.pof-remove:hover{background:var(--color-danger-light);color:var(--color-danger)}.pof-lines-empty{color:var(--text-muted);text-align:center;padding:30px 18px;font-size:13.5px}.pof-alerts{flex-direction:column;gap:10px;margin-top:4px;margin-bottom:12px;display:flex}.pof-bar-total{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.pur-record-title{font-family:var(--font-mono);letter-spacing:-.03em;font-size:22px}.pod-callout{margin-bottom:24px}.pod-lines-head{gap:12px}.pod-conv{color:var(--text-secondary);font-size:13px}.pod-received-full{color:var(--color-success);font-weight:600}.pod-pay{background:var(--border-light);border-bottom:1px solid var(--border-light);grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;display:grid}.pod-pay-cell{background:var(--bg-card);flex-direction:column;gap:4px;padding:12px 18px 14px;display:flex}.pod-pay-label{color:var(--text-secondary);font-size:12.5px;font-weight:500}.pod-pay-value{letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.pod-pay-value.good{color:var(--color-success)}.pod-pay-value.muted{color:var(--text-muted)}.pod-pay-empty{color:var(--text-muted);text-align:center;padding:24px 18px;font-size:13.5px}.pod-pay-amount{color:var(--color-success);font-weight:600}.pod-pay-method{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;padding:1px 7px;font-size:12px}.pod-pay-by{color:var(--text-secondary);font-size:12.5px}.btn.pod-pay-delete{color:var(--text-muted)}.btn.pod-pay-delete:hover{background:var(--color-danger-light);color:var(--color-danger)}.pod-address{color:var(--text-secondary);font-size:13.5px;font-style:normal;line-height:1.55}.pod-address-name{color:var(--text-primary);font-weight:600}.pod-address-gap{margin-top:6px}.pod-address.empty{color:var(--text-muted)}.pod-activity .card-body{padding-top:16px}.ql-toolbar .filter-chips{flex:1;min-width:0}.ql-toolbar .data-table-search{flex:0 280px}.ql-bulk{border-bottom:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.ql-bulk-count{color:var(--text-primary);margin-right:auto;font-weight:500}.ql-sort{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:inline-flex}.ql-sort:hover,.ql-sort.on{color:var(--text-primary)}.ql-sort svg.idle{opacity:.35}.pur-table .ql-check{width:40px;padding-right:0}.ql-check input{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer;display:block}.ql-ref{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-size:12.5px;font-weight:500}a.ql-ref:hover{color:var(--color-primary)}.ql-status{align-items:center;gap:6px;display:flex}.ql-expiring{color:var(--color-warning);align-items:center;display:inline-flex}.ql-waiting{color:var(--text-muted);font-size:12.5px}.ql-empty-action{margin-top:4px}.ql-cmp{flex-direction:column;gap:22px;display:flex}.ql-cmp-empty{color:var(--text-muted);text-align:center;padding:24px;font-size:13.5px}.ql-cmp-title{color:var(--text-primary);margin-bottom:8px;font-size:13.5px;font-weight:600}.ql-cmp-rows{border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ql-cmp-row{border-bottom:1px solid var(--border-light);font-variant-numeric:tabular-nums;grid-template-columns:160px minmax(0,1fr) 84px 56px;align-items:center;gap:12px;min-height:38px;padding:6px 12px;font-size:13px;display:grid}.ql-cmp-row:last-child{border-bottom:none}.ql-cmp-vendor{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ql-cmp-track{border-radius:var(--radius-sm);background:var(--bg-hover);height:6px;overflow:hidden}.ql-cmp-fill{border-radius:var(--radius-sm);background:var(--btn-ink);height:100%;transition:width var(--transition-slow)}.ql-cmp-row.best .ql-cmp-fill{background:var(--color-success)}.ql-cmp-price{color:var(--text-primary);text-align:right;font-weight:600}.ql-cmp-diff{color:var(--color-warning);text-align:right;font-size:12px}.ql-cmp-row.best .ql-cmp-diff{color:var(--color-success);font-weight:600}.qf-lines{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card)}.qf-lines .data-table thead th{padding:0 10px}.qf-lines .data-table tbody td{height:48px;padding:6px 10px}.qf-col-qty{width:112px}.qf-col-unit{width:152px}.qf-col-act{width:44px}.qf-line-name{align-items:center;gap:6px;min-width:220px;display:flex}.qf-line-name .form-input,.qf-line-name .product-combobox,.qf-line-name .product-combobox-trigger{flex:1;min-width:0}.qf-mode{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);flex-shrink:0;place-items:center;display:grid}.qf-mode:hover{border-color:var(--border-strong);color:var(--text-primary)}.qf-mode.linked{background:var(--color-primary-lighter);color:var(--color-primary);border-color:#0000}.qf-mode:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.qf-add{margin-top:10px}.qf-alert{margin-bottom:16px}.qd-pending{color:var(--text-muted);align-items:center;gap:4px;font-size:12.5px;font-weight:400;display:inline-flex}.qd-expiry{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.qd-expiry.danger{color:var(--color-danger)}.qd-expiry.warning{color:var(--color-warning)}.qd-expiry-tag{font-size:11.5px;font-weight:600}.qd-index{width:40px;font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.qd-item{font-weight:500}.qd-line-note{color:var(--text-secondary);font-size:13px}.qd-link{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.qd-link span{align-items:center;gap:6px;display:inline-flex}.qd-link svg{color:var(--text-muted)}.qd-address{color:var(--text-secondary);font-size:13.5px;line-height:1.55}.qd-address b{color:var(--text-primary);font-weight:600;display:block}.qd-note-label{color:var(--text-muted);margin-bottom:2px;font-size:12px;font-weight:500}.qd-note+.qd-note{margin-top:12px}.dv-overlay{z-index:1000;background:color-mix(in srgb,var(--color-gray-900)60%,transparent);-webkit-backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dv{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-2xl);width:min(1240px,100%);height:min(880px,100%);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.dv-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 10px 8px 16px;display:flex}.dv-file{min-width:0;color:var(--text-muted);align-items:center;gap:10px;display:flex}.dv-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.dv-ext{border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;padding:1px 6px;font-size:11px}.dv-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.dv-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-card);align-items:center;gap:12px;padding:8px 12px;display:flex}.dv-search{border-radius:var(--radius-md);background:var(--bg-surface);min-width:180px;height:32px;color:var(--text-muted);transition:border-color var(--transition-fast),background var(--transition-fast);border:1px solid #0000;flex:0 320px;align-items:center;gap:8px;padding:0 6px 0 10px;display:flex}.dv-search:hover{border-color:var(--border-color)}.dv-search:focus-within{background:var(--bg-card);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14)}.dv-search input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.dv-search input::placeholder{color:var(--text-muted)}.dv-search-clear{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.dv-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.dv-tabs{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-surface);scrollbar-width:none;gap:2px;min-width:0;padding:2px;display:flex;overflow-x:auto}.dv-tab{border-radius:var(--radius-md);height:26px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);padding:0 10px;font-size:12.5px;font-weight:500}.dv-tab:hover{color:var(--text-primary)}.dv-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 0 0 1px var(--border-color)}.dv-count{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.dv-body{background:var(--bg-surface);flex:1;overflow:auto}.dv-frame{border:none;width:100%;height:100%;display:block}.dv-status{min-height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px;font-size:13.5px;display:flex}.dv-status.row{flex-direction:row}.dv-status.error{color:var(--color-danger)}.dv-more{justify-content:center;padding:14px;display:flex;position:sticky;left:0}.dv-sheet{border-collapse:separate;border-spacing:0;background:var(--bg-card);font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:12.5px}.dv-sheet th,.dv-sheet td{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);max-width:360px;color:var(--text-primary);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;overflow:hidden}.dv-sheet th{z-index:1;background:var(--bg-card);border-bottom-color:var(--border-color);font-size:12px;font-weight:600;position:sticky;top:0}.dv-sheet tbody tr:hover td{background:var(--bg-surface)}.dv-sheet .dv-rownum{z-index:1;background:var(--bg-card);min-width:44px;font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-size:11px;font-weight:400;position:sticky;left:0}.dv-sheet .dv-action{z-index:1;background:var(--bg-card);text-align:center;min-width:34px;padding:2px 4px;position:sticky;left:44px}.dv-sheet thead .dv-rownum,.dv-sheet thead .dv-action{z-index:2}.dv-sheet mark{background:var(--color-warning-light);color:inherit;border-radius:2px;padding:0 1px}.dv-create{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);opacity:.5;cursor:pointer;place-items:center;display:inline-grid}.dv-sheet tbody tr:hover .dv-create,.dv-create:focus-visible{opacity:1}.dv-create:hover{background:var(--color-primary-lighter);color:var(--color-primary)}@media (max-width:900px){.pof-pick{grid-template-columns:40px minmax(0,1fr) auto}.pof-pick>.pof-pick-action{grid-column:2/-1;justify-content:flex-start}.pof-compare{padding-left:14px}}@media (max-width:768px){.data-table-wrapper.pol-wrap{overflow-x:auto}.pol-toolbar .data-table-search,.ql-toolbar .data-table-search,.pof-head .data-table-search{flex:auto;width:100%}.pol-col{flex:0 0 248px}.pur-step+.pur-step:before{width:16px}.pur-totals-list{width:100%}.pur-modal-grid{grid-template-columns:1fr}.pur-log-item{grid-template-columns:24px minmax(0,1fr)}.pur-log-meta{text-align:left;white-space:normal;grid-column:2;padding-top:0}.pur-log-meta span{margin-right:8px;display:inline}.ql-cmp-row{grid-template-columns:minmax(0,1fr) 84px 56px}.ql-cmp-track{display:none}.dv-overlay{padding:0}.dv{border:none;border-radius:0;width:100%;height:100%}.dv-toolbar{flex-wrap:wrap}.dv-search{flex:100%}}@media print{.pur-steps-bar,.pod-actions,.pod-callout,.pod-activity{display:none!important}.pod .record-header{margin-bottom:16px;padding-bottom:12px}.pod-layout{flex-direction:column;gap:16px;display:flex}.pod-layout .detail-main{gap:16px}.pod-layout .detail-aside{order:-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;display:grid;position:static}.pod-print-wide{grid-column:1/-1}.pur-table-scroll{overflow:visible}}
.pi-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.pi-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.pi-scroll{overflow-x:auto}.pi-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pi-card-note,.pi-stat-note{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.pi-muted{color:var(--text-muted)}.pi-strong{font-weight:600}.pi-soft{color:var(--text-secondary);font-size:13px}.form-select.pi-ctl,.form-input.pi-ctl{width:auto;min-height:32px;font-size:13px}.pi-controls{border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 18px;display:flex}.pi-controls-end{align-items:center;gap:8px;margin-left:auto;display:flex}.pi-field{flex-direction:column;gap:5px;display:flex}.pi-field>span{color:var(--text-secondary);font-size:12.5px;font-weight:500}.pi-chart{height:280px;padding:16px 16px 12px 8px}.pi-tip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:128px;box-shadow:var(--shadow-md);padding:8px 12px;font-size:12.5px}.pi-tip-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.pi-tip-row{color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pi-tip-row b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.pi-dot{border-radius:var(--radius-full);background:var(--text-muted);flex-shrink:0;width:8px;height:8px}.pi-legend{flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.pi-legend-row{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:7px 0;font-size:13px;display:flex}.pi-legend-row:last-child{border-bottom:none}.pi-legend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;overflow:hidden}.pi-legend-row b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.pi-meter{border-radius:var(--radius-full);background:var(--bg-hover);min-width:0;height:6px;overflow:hidden}.pi-meter i{border-radius:inherit;background:var(--btn-ink);height:100%;display:block}.pi-meter.good i{background:var(--color-success)}.pi-meter.warning i{background:var(--color-warning)}.pi-meter.danger i{background:var(--color-danger)}.pi-empty{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:40px 20px;font-size:13px;display:flex}.pi-empty b{color:var(--text-primary);margin-top:6px;font-size:13.5px;font-weight:600}.pi-loading{min-height:260px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:13.5px;display:flex}.pi-spin{animation:.9s linear infinite piSpin}@keyframes piSpin{to{transform:rotate(360deg)}}.pi-skel-strip{border-radius:var(--radius-xl);height:96px}.pi-skel-chart{border-radius:var(--radius-xl);height:380px}.pi-static tbody tr{cursor:default}.data-table th.pi-num,.data-table td.pi-num{text-align:right}.pi-link{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-size:12.5px;font-weight:500}.pi-link:hover{color:var(--color-primary)}.pi-sort{height:28px;font:inherit;color:inherit;white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.pi-sort:hover,.pi-sort.active{color:var(--text-primary)}.pi-sort:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pi-sort-icon{opacity:.35}.pi-sort.active .pi-sort-icon{opacity:1;color:var(--color-primary)}.data-table tfoot .pi-tfoot td{border-top:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-variant-numeric:tabular-nums;padding:10px 16px;font-size:13px;font-weight:600}.data-table tfoot .pi-tfoot td[colspan]{text-align:right;color:var(--text-secondary);font-weight:500}.modal.pi-modal-sm{max-width:400px}.pi-modal-text{color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.5}.pi-modal-text strong{color:var(--text-primary)}.fin-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;display:flex}.fin-bar .tabs{margin-bottom:0}.fin-tab-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.fin-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fin-dates{align-items:center;gap:6px;display:inline-flex}.fin-dates-sep{color:var(--text-muted);font-size:12.5px}.fin-overview{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.fin-col{flex-direction:column;gap:20px;min-width:0;display:flex}.fin-chart-sm{height:210px}.fin-methods{align-items:center;gap:8px;padding:10px 18px 12px 6px;display:flex}.fin-donut{flex-shrink:0;width:150px;height:150px}.fin-methods .pi-legend{flex:1}.fin-props{padding:6px 18px 8px}.fin-props .prop-row{grid-template-columns:132px minmax(0,1fr);padding:10px 0}.fin-props .prop-value{flex-direction:column;gap:2px;display:flex}.fin-props .prop-value b{align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.fin-props .prop-value small{color:var(--text-muted);font-size:12.5px}.fin-meter{margin-top:6px;display:block}.fin-trend{align-items:center;gap:1px;font-size:12.5px;font-weight:600;display:inline-flex}.fin-trend.up{color:var(--color-success)}.fin-trend.down{color:var(--color-danger)}.fin-rows{flex-direction:column;display:flex}.fin-row{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:9px 18px;display:flex}.fin-row:last-child{border-bottom:none}.fin-row-body{flex:1;min-width:0}.fin-row-end{text-align:right;flex-shrink:0}.fin-row-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.fin-row-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.fin-row-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.fin-row-amount.zero{color:var(--text-muted);font-weight:500}.fin-vendors{padding:6px 0}.fin-vendor{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:9px 18px;font-size:13px;display:grid}.fin-vendor-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fin-vendor-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.fin-vendor-bar{grid-column:1/-1;height:4px}.fin-vendor:first-child .fin-vendor-bar i{background:var(--color-primary)}.data-table-filters.fin-filters{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end}.form-select.fin-vendor-select{max-width:190px}.fin-table thead th,.fin-table tbody td{white-space:nowrap;padding-left:10px;padding-right:10px}.fin-table .fin-col-expand{width:40px;padding-right:0}.fin-col-act{text-align:right;white-space:nowrap}.fin-overdue td:first-child{box-shadow:inset 2px 0 0 var(--color-danger)}.fin-vendor-link{color:inherit}.fin-vendor-link:hover{text-decoration:underline}.fin-settled{color:var(--color-success)}.fin-days{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-secondary);font-size:12.5px;font-weight:500}.fin-days.overdue{color:var(--color-danger);font-weight:600}.fin-days.due-soon{color:var(--color-warning);font-weight:600}.fin-days.paid{color:var(--color-success)}.fin-status-unpaid{background:var(--bg-hover);color:var(--text-secondary)}.fin-status-partial{background:var(--color-warning-light);color:var(--color-warning)}.fin-status-paid{background:var(--color-success-light);color:var(--color-success)}.fin-status-overdue,.btn.fin-danger:hover,.btn.bp-danger:hover,.btn.ct-danger:hover{background:var(--color-danger-light);color:var(--color-danger)}.data-table tbody tr.fin-sub td{background:var(--bg-surface);white-space:normal;height:auto;padding-top:0;padding-bottom:0}.fin-pays{margin:0;padding:2px 0;list-style:none}.fin-pay{border-bottom:1px solid var(--border-light);min-height:38px;color:var(--text-secondary);grid-template-columns:150px 110px minmax(110px,1fr) minmax(110px,1.4fr) 110px 28px;align-items:center;gap:12px;font-size:13px;display:grid}.fin-pay:last-child{border-bottom:none}.fin-pay-method{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.fin-pay-method svg{color:var(--text-muted)}.fin-pay-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fin-pay-cell small{color:var(--text-muted);margin-right:4px;font-size:12px}.fin-pay-amount{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.fin-modal-po{font-family:var(--font-mono);color:var(--text-muted);margin-left:6px;font-size:12.5px;font-weight:400}.fin-form{flex-direction:column;gap:14px;display:flex}.fin-sum{background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.fin-sum-item{background:var(--bg-surface);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.fin-sum-item span{color:var(--text-secondary);font-size:12.5px}.fin-sum-item b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.form-textarea.fin-notes{min-height:60px}.fin-success{text-align:center;color:var(--color-success);flex-direction:column;align-items:center;gap:6px;padding:44px 24px;display:flex}.fin-success-title{color:var(--text-primary);margin-top:6px;font-size:16px;font-weight:600}.fin-success-note{color:var(--text-muted);font-size:13px}.pan-chart{height:380px}.stat-card-value.pan-stat-text{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.6;overflow:hidden}.pan-pie{grid-template-columns:minmax(0,1fr) 300px;gap:16px;height:100%;display:grid}.pan-pie-chart{min-width:0;height:100%}.pan-pie-legend{align-self:center;max-height:100%;padding-right:8px;overflow-y:auto}.data-table .pan-share-col{width:180px}.vp-actions{flex-wrap:wrap;justify-content:flex-end}.form-select.vp-vendor{width:200px}.vp-chart{height:260px}.vp-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.vp-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.vp-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vp-card-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.vp-card-spend{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.vp-card-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:-6px;padding-bottom:4px;font-size:12.5px}.vp-metric{grid-template-columns:84px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.vp-metric-label{color:var(--text-secondary);font-size:12.5px}.vp-metric-label:empty{display:none}.vp-metric-value{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.vp-cell-metric .vp-metric{grid-template-columns:minmax(72px,1fr) 42px;min-width:140px;max-width:220px}.bp-fields{flex-direction:column;gap:14px;display:flex}.bp-money{position:relative}.bp-money-prefix{color:var(--text-muted);pointer-events:none;font-size:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-input.bp-money-input{font-variant-numeric:tabular-nums;min-height:40px;padding-left:28px;font-size:16px;font-weight:600}.bp-progress{flex-direction:column;gap:6px;display:flex}.bp-progress-bar{height:8px}.bp-progress-labels{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.bp-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.bp-add-row .btn{min-height:34px}.bp-stats .stat-card-value{font-size:22px}.bp-table-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 16px;display:flex}.data-table .bp-col-idx{width:40px;color:var(--text-muted);font-size:12.5px}.data-table .bp-col-act{text-align:right;width:48px;padding-left:0}.bp-item{align-items:center;gap:10px;min-width:200px;display:flex}.bp-item-text{min-width:0}.bp-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);width:30px;height:30px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.bp-thumb img{object-fit:cover;width:100%;height:100%}.bp-thumb-sm{border-radius:var(--radius-sm);width:22px;height:22px}.bp-item-name{color:var(--text-primary);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.bp-item-meta{color:var(--text-muted);font-size:12.5px}.bp-tag{border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary);padding:1px 6px;font-size:11.5px;font-weight:500}.form-input.bp-qty{text-align:right;font-variant-numeric:tabular-nums;width:84px;min-height:30px;padding:0 8px}.data-table td.bp-ok{color:var(--color-success)}.data-table td.bp-short{color:var(--color-danger)}.data-table td.pi-muted{color:var(--text-muted)}.data-table tbody tr.bp-child td{background:var(--bg-surface);height:36px;color:var(--text-secondary);padding-top:4px;padding-bottom:4px;font-size:12.5px}.data-table tbody tr.bp-child td.bp-short{color:var(--color-danger);font-weight:600}.data-table tbody tr.bp-child td.pi-muted{color:var(--text-muted)}.bp-item-child{gap:8px;padding-left:20px}.bp-child-name{color:var(--text-secondary)}.bp-child-per{color:var(--text-muted);white-space:nowrap;font-size:12px}.data-table tfoot .pi-tfoot td.bp-total{font-size:15px}.bp-po-list{flex-direction:column;display:flex}.bp-po-row{border-bottom:1px solid var(--border-light);align-items:center;gap:16px;padding:12px 18px;display:flex}.bp-po-row:last-child{border-bottom:none}.bp-po-body{flex:1;min-width:0}.bp-po-vendor{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.bp-po-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:12.5px;display:flex}.bp-po-warn{color:var(--color-warning);align-items:center;gap:4px;display:inline-flex}.bp-po-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.ct-actions{flex-wrap:wrap;justify-content:flex-end}.ct-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.ct-main{min-width:0}.data-table-filters.ct-filters{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end}.ct-name{color:var(--text-primary);font-size:13.5px;font-weight:550}.ct-provider{color:var(--text-muted);font-size:12.5px}.ct-cat{white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.ct-status{text-transform:capitalize}.ct-status-active{background:var(--color-success-light);color:var(--color-success)}.ct-status-paused{background:var(--color-warning-light);color:var(--color-warning)}.ct-status-cancelled{background:var(--bg-hover);color:var(--text-secondary)}.data-table .ct-col-act{width:112px}.ct-row-actions{justify-content:flex-end;gap:2px;display:flex}.ct-donut{height:196px;padding-top:12px}.ct-legend{padding:4px 18px 12px}.ct-label-row{justify-content:space-between;align-items:center;gap:8px;height:20px;display:flex}.ct-vat.segmented{padding:1px}.ct-vat .segmented-btn{height:20px;padding:0 7px;font-size:11.5px}.modal.ct-modal-cats{max-width:460px}.ct-cats{border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:0 0 14px;padding:0;list-style:none}.ct-cats-row{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding:7px 8px 7px 10px;display:flex}.ct-cats-row:last-child{border-bottom:none}.ct-cats-name{min-width:0;color:var(--text-primary);flex:1;font-size:13.5px;font-weight:500}.ct-cats-empty{color:var(--text-muted);margin:0 0 14px;font-size:13px}.ct-cats-add{align-items:center;gap:8px;display:flex}.ct-swatch{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;flex-shrink:0;width:28px;height:28px;padding:2px}.ct-drawer-overlay{z-index:200;animation:fadeIn var(--transition-fast);background:#00000073;position:fixed;inset:0}.ct-drawer{z-index:201;background:var(--bg-card);border-left:1px solid var(--border-color);width:440px;max-width:100vw;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ct-drawer-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.ct-drawer-title-wrap{min-width:0}.ct-drawer-eyebrow{color:var(--text-muted);font-size:12.5px}.ct-drawer-title{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.ct-drawer-sub{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:13px}.ct-drawer-body{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.ct-drawer-empty{color:var(--text-muted);margin:0;font-size:13px}.ct-pays{margin:0;padding:0;list-style:none}.ct-pay{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.ct-pay:last-child{border-bottom:none}.ct-pay-info{flex:1;min-width:0}.ct-pay-date{color:var(--text-primary);font-size:13.5px;font-weight:500}.ct-pay-notes{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12.5px}.ct-pay-receipt{color:var(--text-secondary);text-underline-offset:2px;align-items:center;gap:4px;margin-top:2px;font-size:12.5px;text-decoration:underline;display:inline-flex}.ct-pay-receipt:hover{color:var(--color-primary)}.ct-pay-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:4px;font-size:14px;font-weight:600}.ct-drawer-form{border-top:1px solid var(--border-color);background:var(--bg-surface);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.ct-drawer-form .prop-group-title{margin-bottom:0}.ct-drawer-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-input.ct-file{padding:6px 8px;font-size:12.5px}.ct-drawer-submit{align-self:flex-end}@media (max-width:1180px){.fin-overview,.ct-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.pi-grid{grid-template-columns:minmax(0,1fr)}.pi-stack>.stat-grid,.stat-grid.bp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-controls-end{margin-left:0}.pan-pie{grid-template-rows:220px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pan-chart{height:420px}.data-table .pan-share-col{display:none}.fin-range,.fin-bar .tabs{width:100%}.fin-range .segmented{max-width:100%;overflow-x:auto}.bp-table-head .pi-card-note{display:none}.bp-po-row{flex-wrap:wrap}}@media (max-width:768px){.page-actions.vp-actions,.page-actions.ct-actions{justify-content:flex-start}.fin-methods{flex-direction:column;align-items:stretch;padding-left:18px}.fin-donut{align-self:center}.fin-pay{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:8px 0}.ct-drawer-form-row{grid-template-columns:minmax(0,1fr)}}
