:root{--bg-app:#f7f7f8;--sidebar-bg:#18181b;--sidebar-text:#a1a1aa;--sidebar-text-active:#fff;--sidebar-hover:#27272a;--accent:#6366f1;--accent-dark:#4f46e5;--accent-soft:#eef2ff;--success:#059669;--success-dark:#047857;--success-soft:#d1fae5;--warning:#d97706;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--card-bg:#fff;--border:#e4e4e7;--text-primary:#18181b;--text-secondary:#71717a;--text-tertiary:#a1a1aa;--radius:10px;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased}.btn-primary{background:var(--accent);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600}.btn-secondary:hover{background:var(--bg-app)}.panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.product-search-input{font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:13.5px}.product-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-message{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.modal-footer .btn-primary,.modal-footer .btn-secondary{width:auto}.file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600}.app-shell{height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:232px;height:100%;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;padding:22px 14px;display:flex;overflow-y:auto}.brand{align-items:center;gap:9px;padding:6px 10px 26px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent) 0%, #a5b4fc 100%);width:28px;height:28px;font-family:var(--font-display);color:#fff;border-radius:7px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.brand-name{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:16px;font-weight:700}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:14px 12px 8px;font-size:10.5px;font-weight:600}.nav-item{color:var(--sidebar-text);cursor:pointer;border-radius:8px;align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-item.active{background:var(--accent);color:#fff}.nav-item.sub{padding-left:32px;font-size:13px}.nav-icon{flex-shrink:0;width:17px;height:17px}.sidebar-footer{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.avatar{color:#fff;width:30px;height:30px;font-size:12px;font-weight:600;font-family:var(--font-display);background:#3f3f46;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-meta{font-size:12px;line-height:1.35}.user-name{color:#fff;font-weight:600}.user-role{color:var(--text-tertiary)}.logout-btn{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.logout-btn svg{width:16px;height:16px}.logout-btn:hover{color:#fff;background:#ffffff0f}.main{flex:1;min-width:0;height:100%;padding:26px 34px 70px;overflow-y:auto}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.breadcrumb{color:var(--text-tertiary);margin-bottom:6px;font-size:12.5px}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.page-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:23px;font-weight:700}.page-sub{color:var(--text-secondary);margin-top:3px;font-size:13px}.topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}@media (width<=720px){.sidebar{display:none}.main{padding:20px 16px 60px}.topbar{flex-direction:column}}.field.span-3{grid-column:span 3}.pill-filter-group{gap:6px;display:flex}table.company-table{border-collapse:collapse;width:100%}.company-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-app);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:600}.company-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:14px 18px;font-size:13px}.company-table tr:last-child td{border-bottom:none}.company-table tr:hover td{background:#fafafb}.company-icon.inactive{background:var(--border);color:var(--text-tertiary)}.company-cell-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.company-cell-code{color:var(--text-tertiary);font-size:11.5px;font-family:var(--font-mono);margin-top:1px}.status-pill.inactive{background:var(--bg-app);color:var(--text-tertiary)}.status-pill.inactive .dot{background:var(--text-tertiary)}.users-count-cell{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;display:flex}.users-count-cell svg{width:14px;height:14px;color:var(--text-tertiary);flex-shrink:0}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.field-grid,.field-grid.cols-3{grid-template-columns:1fr}.field.span-2,.field.span-3{grid-column:span 1}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}.auth-shell{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:380px;padding:32px 28px}.auth-brand{align-items:center;gap:9px;margin-bottom:28px;display:flex}.auth-brand-mark{background:linear-gradient(135deg, var(--accent) 0%, #a5b4fc 100%);width:32px;height:32px;font-family:var(--font-display);color:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.auth-brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:700}.auth-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-top:4px;margin-bottom:22px;font-size:13px}.auth-form{flex-direction:column;gap:16px;display:flex}.field label{color:var(--text-primary);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.field input,.field select,.field textarea{font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:13.5px}.banner svg{flex-shrink:0;margin-top:1px}.recipe-tree{flex-direction:column;gap:8px;display:flex}.recipe-row{border:1px solid var(--border);background:#fff;border-radius:9px}.recipe-row.has-error{border-color:#fca5a5}.recipe-row-main{grid-template-columns:minmax(0,1.6fr) .8fr .7fr .7fr 32px;align-items:end;gap:10px;padding:11px 12px;display:grid}.recipe-row-product{align-items:center;gap:9px;min-width:0;display:flex}.recipe-row-product label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px;font-size:10.5px;font-weight:600;display:block}.recipe-row-product .product-search-input{border-radius:6px;padding:6px 8px;font-size:12.5px}.recipe-row-icon{background:var(--bg-app);width:28px;height:28px;color:var(--text-tertiary);font-family:var(--font-display);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.recipe-row-icon.sub{color:#9a3412;background:#fff7ed}.recipe-row-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.recipe-row-meta{color:var(--text-tertiary);margin-top:1px;font-size:11px}.recipe-row-meta.danger{color:var(--danger)}.recipe-row-field label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px;font-size:10.5px;font-weight:600;display:block}.recipe-row-field input,.recipe-row-field select{width:100%;font-family:var(--font-mono);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12.5px}.recipe-row-field input.has-error,.recipe-row-field select.has-error{border-color:#fca5a5}.recipe-row-remove{border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text-tertiary);background:#fff;border-radius:7px;justify-content:center;align-items:center;display:flex}.recipe-row-remove:hover{background:var(--danger-soft);color:var(--danger);border-color:#fca5a5}.sub-recipe-tag{color:#9a3412;background:#fff7ed;border-radius:999px;align-items:center;gap:5px;margin-top:2px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.add-ingredient-btn{border:1.5px dashed var(--border);width:100%;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-top:4px;padding:11px;font-size:12.5px;font-weight:600;display:flex}.add-ingredient-btn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}.yield-row{background:var(--bg-app);border:1px solid var(--border);border-radius:9px;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.yield-field{flex-direction:column;gap:5px;display:flex}.yield-field label{color:var(--text-secondary);font-size:11.5px;font-weight:600}.yield-field .value-row{align-items:center;gap:8px;display:flex}.yield-field input{width:90px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:14px;font-weight:600}.yield-field select{font-family:var(--font-body);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:12.5px}.yield-divider{background:var(--border);width:1px;height:34px}.cost-breakdown{flex-direction:column;gap:0;display:flex}.cost-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 0;font-size:12.5px;display:flex}.cost-row:last-child{border-bottom:none}.cost-row .label{color:var(--text-secondary)}.cost-row .value{font-family:var(--font-mono);font-weight:600}.cost-total-row{border-top:2px solid var(--border);justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:14px;display:flex}.cost-total-label{color:var(--text-primary);font-size:12.5px;font-weight:600}.cost-total-value{font-family:var(--font-mono);color:var(--text-primary);font-size:20px;font-weight:700}.cost-total-unit{color:var(--text-tertiary);margin-left:4px;font-size:11px}.company-select-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.company-chip-dot{background:var(--success);border-radius:50%;width:6px;height:6px;margin-left:2px}.company-chip-dot.off{background:var(--text-tertiary)}.toggle{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:38px;height:22px;position:relative}.override-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding:12px 14px;display:flex}.override-copy{flex-direction:column;gap:2px;display:flex}.override-copy label{color:var(--text-primary);font-size:12.5px;font-weight:600}.override-copy span{color:var(--text-tertiary);font-size:11.5px;line-height:1.4}.radio-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:flex}.radio-pill .count{background:var(--bg-app);color:var(--text-secondary);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600}.radio-pill.selected .count{color:var(--accent-dark);background:#6366f126}.product-icon.muted{background:var(--bg-app);color:var(--text-tertiary)}.product-sku{color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.level-badge{color:var(--text-secondary);background:var(--bg-app);border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill.draft{background:var(--warning-soft);color:#92400e}.status-pill.draft .dot{background:var(--warning)}.no-recipe{color:var(--text-tertiary);font-size:12.5px;font-style:italic}.row-actions{justify-content:flex-end;gap:8px;display:flex}.icon-btn{border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);background:#fff;border-radius:7px;justify-content:center;align-items:center;display:flex}.unit-warning-text{color:var(--warning)}.unit-warning-text ul{margin:6px 0 0;padding-left:18px}.recipe-row-unit-warning{background:var(--warning-soft);color:var(--warning);border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.5}.recipe-row-unit-warning a{color:inherit;text-decoration:underline}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}}.panel-header{border-bottom:1px solid var(--border);padding:16px 22px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-primary);font-size:12.5px;font-weight:600}.field input,.field select{font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:13.5px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.banner{border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:16px;padding:11px 14px;font-size:12.5px;line-height:1.45;display:flex}.banner.danger{background:var(--danger-soft);color:#7f1d1d;border:1px solid #fca5a5}.banner.info{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #c7d2fe}.banner strong{font-weight:700}.consumption-table{border-collapse:collapse;width:100%}.consumption-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:0 10px 8px;font-size:11px;font-weight:600}.consumption-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:11px 10px;font-size:12.5px}.consumption-table tr:last-child td{border-bottom:none}.mono{font-family:var(--font-mono)}.level-indent{color:var(--text-tertiary);margin-right:4px}.row-insufficient td{background:var(--danger-soft)}.row-insufficient .mono{color:var(--danger);font-weight:600}.status-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-chip.ok{background:var(--success-soft);color:var(--success-dark)}.status-chip.low{background:var(--danger-soft);color:var(--danger)}.recipe-preview{flex-direction:column;gap:8px;display:flex}.recipe-preview-row{border:1px solid var(--border);border-radius:8px;align-items:center;gap:11px;padding:10px 12px;display:flex}.recipe-preview-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-dark);font-family:var(--font-display);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.recipe-preview-name{font-size:13px;font-weight:600}.recipe-preview-meta{color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.recipe-preview-right{text-align:right;margin-left:auto}.recipe-preview-value{font-family:var(--font-mono);font-size:13px;font-weight:600}.recipe-preview-label{color:var(--text-tertiary);font-size:10.5px}.summary-value.danger{color:var(--danger)}.status-badge.ready{background:var(--success-soft);color:var(--success-dark)}.status-badge.ready .status-dot{background:var(--success)}.check-icon.blocked{background:var(--danger);border-color:var(--danger)}.btn-primary-full{background:var(--accent);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:12px;font-size:13.5px;font-weight:600}.btn-primary-full:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.kpi-strip{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi-sub{color:var(--text-tertiary);margin-top:3px;font-size:11px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.radio-pill-group{flex-wrap:wrap;gap:8px;display:flex}.radio-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600}.radio-pill.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.production-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-select{font-family:var(--font-body);color:var(--text-secondary);border:1px solid var(--border);text-overflow:ellipsis;background:#fff;border-radius:8px;flex-shrink:0;max-width:220px;padding:8px 10px;font-size:12.5px}.search-box{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:8px;width:240px;padding:9px 12px;display:flex}.search-box svg{color:var(--text-tertiary);flex-shrink:0}.search-box input{font-family:var(--font-body);border:none;outline:none;width:100%;font-size:13px}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:#fafafb;padding:12px 18px;font-size:11px;font-weight:600}.datetime-cell .date{font-size:13px;font-weight:600}.datetime-cell .time{color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.product-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-dark);font-family:var(--font-display);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.product-name{font-size:13px;font-weight:600}.product-company{color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill.done{background:var(--success-soft);color:var(--success-dark)}.status-pill .dot{background:var(--success);border-radius:50%;width:6px;height:6px}.user-cell{align-items:center;gap:8px;font-size:12.5px;display:flex}.user-cell-avatar{background:var(--bg-app);border:1px solid var(--border);width:22px;height:22px;color:var(--text-secondary);font-size:9.5px;font-weight:700;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}}@media (width<=1000px){.kpi-strip{grid-template-columns:repeat(2,1fr)}}.panel-tag{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:4px 9px;font-size:10.5px;font-weight:600}.company-select-bar{flex-wrap:wrap;gap:8px;display:flex}.company-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 13px 8px 8px;font-size:12.5px;font-weight:600;display:flex}.company-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.company-chip-avatar{background:var(--border);width:22px;height:22px;color:var(--text-tertiary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.company-chip.active .company-chip-avatar{background:var(--accent);color:#fff}.company-chip-all .company-chip-avatar{background:var(--text-primary);color:#fff}.company-chip.active.company-chip-all .company-chip-avatar{background:var(--accent)}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-label{color:var(--text-secondary);font-size:11.5px;font-weight:600}.search-input input{width:100%;font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-size:13.5px}.filter-select{font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;outline:none;min-width:150px;padding:9px 12px;font-size:13px}.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding-bottom:9px;font-size:12.5px;font-weight:500;display:flex}.filter-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.table-wrap{min-height:220px;transition:opacity .15s;overflow-x:auto}.table-wrap.is-loading{opacity:.45;pointer-events:none}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-app);padding:11px 14px;font-size:11px;font-weight:600}.data-table tbody tr[data-clickable=true]{cursor:pointer}.data-table tbody tr[data-clickable=true]:hover td{background:#fafafb}.item-cell{flex-direction:column;display:flex}.item-cell-name{font-size:13.5px;font-weight:600}.item-cell-sku{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.company-cell{align-items:center;gap:8px;display:flex}.company-cell-avatar{background:var(--accent-soft);width:22px;height:22px;color:var(--accent-dark);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:flex}.stock-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.stock-badge .dot{border-radius:50%;width:6px;height:6px}.stock-badge.ok{background:var(--success-soft);color:var(--success-dark)}.stock-badge.ok .dot{background:var(--success)}.stock-badge.low{background:var(--danger-soft);color:var(--danger)}.stock-badge.low .dot{background:var(--danger)}.stock-badge.off{background:var(--bg-app);color:var(--text-tertiary)}.stock-badge.off .dot{background:var(--text-tertiary)}.chevron-cell{text-align:right;color:var(--text-tertiary);width:20px}.pagination-bar{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.pagination-info{color:var(--text-secondary);font-size:12px}.pagination-actions{gap:8px;display:flex}.pagination-actions button{border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;display:flex}.pagination-actions button:disabled{opacity:.4;cursor:default}.pagination-actions button:not(:disabled):hover{background:var(--bg-app)}.balance-card{background:var(--bg-app);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 16px;display:flex}.balance-meta{flex-wrap:wrap;gap:22px;display:flex}.balance-meta-item{text-align:left}.balance-meta-item-label{color:var(--text-tertiary);font-size:11px}.balance-meta-item-value{font-family:var(--font-mono);color:var(--text-primary);margin-top:1px;font-size:13px;font-weight:600}.type-pill-group{flex-wrap:wrap;gap:8px;display:flex}.type-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600}.type-pill.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.movement-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.movement-badge .dot{border-radius:50%;width:6px;height:6px}.movement-badge.success{background:var(--success-soft);color:var(--success-dark)}.movement-badge.success .dot{background:var(--success)}.movement-badge.accent{background:var(--accent-soft);color:var(--accent-dark)}.movement-badge.accent .dot{background:var(--accent)}.movement-badge.warning{background:var(--warning-soft);color:#92400e}.movement-badge.warning .dot{background:var(--warning)}.movement-badge.danger{background:var(--danger-soft);color:var(--danger)}.movement-badge.danger .dot{background:var(--danger)}.qty-in{color:var(--success-dark);font-weight:600}.qty-out{color:var(--danger);font-weight:600}.qty-neutral{color:var(--text-primary);font-weight:600}.ref-muted{color:var(--text-tertiary);font-size:12.5px}.user-cell{color:var(--text-secondary);align-items:center;gap:7px;font-size:12.5px;display:flex}.user-cell-avatar{background:var(--border);width:20px;height:20px;color:var(--text-secondary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.modal-overlay{z-index:50;background:#18181b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-bg);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:0 20px 60px #00000040}.modal-header{border-bottom:1px solid var(--border);font-family:var(--font-display);padding:18px 22px;font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}@media (width<=900px){.kpi-row{grid-template-columns:1fr}.balance-card{flex-direction:column;align-items:flex-start}}@media (width<=720px){.filter-bar{flex-direction:column;align-items:stretch}}.panel-tag.percompany{color:#9a3412;background:#fff7ed}.kpi-value.accent{color:var(--accent-dark)}.kpi-value.warning{color:var(--warning)}.pill-filter-group{flex-shrink:0;gap:6px;display:flex}.pill-filter{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-size:12.5px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:999px;padding:8px 13px}.pill-filter.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.filter-select{font-family:var(--font-body);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:8px;flex-shrink:0;max-width:180px;padding:7px 10px;font-size:12.5px;font-weight:600;overflow:hidden}table.member-table{border-collapse:collapse;width:100%}.member-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-app);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:600}.member-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:14px 18px;font-size:13px}.member-table tr:last-child td{border-bottom:none}.member-table tr:hover td{background:#fafafb}.member-cell{align-items:center;gap:11px;display:flex}.member-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.member-name{font-size:13.5px;font-weight:600}.member-email{color:var(--text-secondary);margin-top:1px;font-size:12px}.role-tag{background:var(--accent-soft);color:var(--accent-dark);white-space:nowrap;border-radius:6px;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.role-tag.owner{color:#92400e;background:#fef3c7}.role-tag.admin{background:var(--accent-soft);color:var(--accent-dark)}.role-tag.manager{background:var(--success-soft);color:var(--success-dark)}.role-tag.operator{background:var(--bg-app);color:var(--text-secondary)}.role-tag.viewer{background:var(--bg-app);color:var(--text-tertiary)}.company-chips-cell{flex-wrap:wrap;align-items:center;gap:5px;max-width:220px;display:flex}.mini-chip{background:var(--bg-app);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:600}.mini-chip.more{color:var(--text-tertiary);background:0 0;border-style:dashed}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill .dot{border-radius:50%;width:6px;height:6px}.status-pill.active{background:var(--success-soft);color:var(--success-dark)}.status-pill.active .dot{background:var(--success)}.status-pill.invited{background:var(--warning-soft);color:#92400e}.status-pill.invited .dot{background:var(--warning)}.status-pill.suspended{background:var(--bg-app);color:var(--text-tertiary)}.status-pill.suspended .dot{background:var(--text-tertiary)}.last-access{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.last-access.never{color:var(--text-tertiary)}.menu-wrap{position:relative}.dropdown-menu{border:1px solid var(--border);z-index:10;background:#fff;border-radius:8px;min-width:180px;position:absolute;top:36px;right:0;overflow:hidden;box-shadow:0 8px 24px #00000014}.dropdown-item{color:var(--text-primary);cursor:pointer;text-align:left;width:100%;font-size:12.5px;font-weight:500;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:8px;padding:9px 13px;display:flex}.dropdown-item:hover{background:var(--bg-app)}.dropdown-item.danger{color:var(--danger)}.dropdown-item:disabled{color:var(--text-tertiary);cursor:not-allowed}.dropdown-item:disabled:hover{background:0 0}.table-footer{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:12.5px;display:flex}.pagination{align-items:center;gap:4px;display:flex}.page-btn{border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);background:#fff;border-radius:7px;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.page-btn:disabled{opacity:.4;cursor:default}.field input:disabled,.field select:disabled{background:var(--bg-app);color:var(--text-tertiary);cursor:not-allowed}.tab-panel{display:none}.tab-panel.active{display:block}.company-apply-all{background:var(--bg-app);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.company-apply-all-label{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.link-btn{color:var(--accent-dark);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none}.company-list{flex-direction:column;gap:10px;display:flex}.company-row{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;transition:border-color .12s,background .12s;display:flex}.company-row.is-off{background:var(--bg-app)}.company-identity{align-items:center;gap:11px;min-width:0;display:flex}.company-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font-family:var(--font-display);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.company-row.is-off .company-icon{background:var(--border);color:var(--text-tertiary)}.company-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.company-row-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.company-access-label{font-size:11.5px;font-weight:600}.company-row.is-off .company-access-label{color:var(--text-tertiary)}.company-row:not(.is-off) .company-access-label{color:var(--success-dark)}.company-mini-list{flex-direction:column;gap:9px;margin-top:4px;display:flex}.company-mini-row{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.company-mini-name{color:var(--text-primary);align-items:center;gap:8px;display:flex}.company-mini-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.company-mini-dot.off{background:var(--text-tertiary)}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.field-grid,.field-grid.cols-3{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.company-row{flex-direction:column;align-items:flex-start}.company-row-right{justify-content:space-between;width:100%}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}.field .optional,.field .opt{color:var(--text-tertiary);font-size:11.5px;font-weight:400}.field .req{color:var(--danger);margin-left:2px}.field input[readonly]{background:var(--bg-app);color:var(--text-secondary)}.field select:disabled{background:var(--bg-app);color:var(--text-secondary);cursor:not-allowed}.company-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.company-bar label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;font-size:11.5px;font-weight:600}.company-bar select{font-family:var(--font-body);border:1px solid var(--border);color:var(--text-primary);background:#fff;border-radius:8px;min-width:220px;padding:8px 12px;font-size:13.5px;font-weight:600}.company-bar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.company-bar-hint{color:var(--text-tertiary);margin-left:auto;font-size:12px}.mode-tabs{gap:10px;margin-bottom:20px;display:flex}.mode-tab{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;font-family:var(--font-body);flex:1;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.mode-tab.active{border-color:var(--accent);background:var(--accent-soft)}.mode-tab-title{color:var(--text-primary);font-size:13.5px;font-weight:600}.mode-tab-desc{color:var(--text-secondary);margin-top:3px;font-size:11.5px;line-height:1.4}.source-switch{gap:8px;margin-bottom:18px;display:flex}.source-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:8px;padding:8px 14px}.source-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.dropzone{border:1.5px dashed var(--border);text-align:center;background:var(--bg-app);border-radius:10px;padding:36px 20px}.dropzone-title{margin-bottom:4px;font-size:13.5px;font-weight:600}.dropzone-sub{color:var(--text-tertiary);margin-bottom:14px;font-size:12px}.cert-list{flex-direction:column;gap:8px;display:flex}.cert-item{border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.cert-item-title{font-size:13px;font-weight:600}.cert-item-sub{color:var(--text-tertiary);font-size:11.5px;font-family:var(--font-mono);margin-top:2px}.parsed-banner{background:var(--success-soft);border:1px solid var(--success);color:var(--success-dark);border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.data-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-app);padding:10px 16px;font-size:10.5px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px;font-size:13px}.prod-cell-name{font-weight:600}.prod-cell-sub{color:var(--text-tertiary);font-size:11.5px;font-family:var(--font-mono);margin-top:2px}.mono{font-family:var(--font-mono);font-weight:600}.link-pill{cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);border:none;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.link-pill.linked{background:var(--success-soft);color:var(--success-dark)}.link-pill.unlinked{background:var(--bg-app);color:var(--text-secondary)}.row-remove{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;padding:4px;font-size:15px;line-height:1}.row-remove:hover{background:var(--danger-soft);color:var(--danger)}.add-item-row td{background:var(--bg-app);padding:16px}.add-item-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.add-item-form .field{min-width:120px}.add-item-form .field.grow{flex:1;min-width:180px}.items-empty{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:13px}.items-footer{border-top:1px solid var(--border);background:var(--bg-app);justify-content:flex-end;align-items:center;padding:14px 20px;display:flex}.items-total-label{color:var(--text-secondary);margin-right:10px;font-size:12px;font-weight:500}.items-total{font-family:var(--font-mono);font-size:15px;font-weight:600}.action-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 20px #1018260d}.action-bar-note{color:var(--text-secondary);font-size:12.5px}.action-bar-buttons{gap:10px;display:flex}.action-bar-buttons .btn-primary,.action-bar-buttons .btn-secondary{width:auto}.new-supplier-hint{color:var(--text-tertiary);font-size:11.5px}.new-supplier-hint button{color:var(--accent-dark);cursor:pointer;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:0;font-size:11.5px}.badge{background:var(--bg-app);color:var(--text-secondary);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px}.status-badge.saved{background:var(--success-soft);color:var(--success-dark)}.status-badge.saved .status-dot{background:var(--success)}@media (width<=900px){.field-grid,.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.field-grid{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.mode-tabs{flex-direction:column}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}.fiscal-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.fiscal-summary{position:sticky;top:26px}@media (width<=1180px){.fiscal-grid{grid-template-columns:1fr}.fiscal-summary{position:static}}.fiscal-company-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.fiscal-company-chip{border:1px solid var(--border,#e4e4e7);cursor:pointer;color:var(--text-secondary,#71717a);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:12.5px;font-weight:600;display:flex}.fiscal-company-chip.active{border-color:var(--accent,#6366f1);background:var(--accent-soft,#eef2ff);color:var(--accent-dark,#4f46e5)}.fiscal-chip-dot{background:var(--success,#059669);border-radius:50%;width:7px;height:7px}.fiscal-chip-dot.off{background:var(--text-tertiary,#a1a1aa)}.fiscal-chip-dot.warn{background:var(--warning,#d97706)}.fiscal-info-row{border-bottom:1px solid var(--border,#e4e4e7);justify-content:space-between;gap:10px;padding:11px 0;font-size:12.5px;display:flex}.fiscal-info-row:last-child{border-bottom:none}.fiscal-info-label{color:var(--text-secondary,#71717a)}.fiscal-info-value{text-align:right;font-weight:600}.fiscal-alert{border-radius:8px;gap:9px;margin-bottom:16px;padding:12px 14px;font-size:12.5px;line-height:1.45;display:flex}.fiscal-alert.warn{background:var(--warning-soft,#fef3c7);color:#92400e;border:1px solid #fde68a}.fiscal-alert.danger{background:var(--danger-soft,#fee2e2);color:var(--danger,#dc2626);border:1px solid #fca5a5}.fiscal-dropzone{border:1.6px dashed var(--border,#e4e4e7);text-align:center;background:var(--bg-app,#f7f7f8);cursor:pointer;border-radius:10px;padding:24px 20px}.fiscal-dropzone:hover{border-color:var(--accent,#6366f1)}.fiscal-radio-group{flex-wrap:wrap;gap:8px;display:flex}.fiscal-radio-pill{border:1px solid var(--border,#e4e4e7);color:var(--text-secondary,#71717a);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600}.fiscal-radio-pill.selected{background:var(--accent-soft,#eef2ff);border-color:var(--accent,#6366f1);color:var(--accent-dark,#4f46e5)}.fiscal-radio-pill.locked{opacity:.5;cursor:not-allowed}.fiscal-soon-tag{letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary,#a1a1aa);background:var(--bg-app,#f7f7f8);border-radius:5px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:600}.fiscal-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.fiscal-field label{font-size:12.5px;font-weight:600}.fiscal-field input{font:inherit;border:1px solid var(--border,#e4e4e7);border-radius:8px;padding:9px 12px;font-size:13.5px}.fiscal-hint{color:var(--text-tertiary,#a1a1aa);font-size:11px}.fiscal-doc-type{text-transform:uppercase;background:var(--accent-soft,#eef2ff);color:var(--accent-dark,#4f46e5);border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:600}.fiscal-actions-cell{white-space:nowrap;gap:10px;display:flex}.fiscal-link-btn{color:var(--accent-dark,#4f46e5);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:600}.fiscal-link-btn:disabled{color:var(--text-tertiary,#a1a1aa);cursor:not-allowed}.panel-tag.perstore{color:#9a3412;background:#fff7ed}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.field textarea{font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);resize:vertical;background:#fff;border-radius:8px;outline:none;width:100%;min-height:64px;padding:9px 12px;font-size:13.5px}.toggle-field{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding-top:16px;display:flex}.toggle-field-label{color:var(--text-primary);font-size:12.5px;font-weight:600}.toggle-field-hint{color:var(--text-tertiary);max-width:420px;margin-top:3px;font-size:11px;line-height:1.5}.toggle{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.tab-bar{border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:9px 16px;display:flex}.tab-btn.active{background:var(--accent);color:#fff}.tab-btn .tab-count{background:var(--bg-app);color:var(--text-secondary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.tab-btn.active .tab-count{color:#fff;background:#ffffff38}.store-select-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.store-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 13px 8px 8px;font-size:12.5px;font-weight:600;display:flex}.store-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.store-chip-avatar{background:var(--border);width:22px;height:22px;color:var(--text-tertiary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.store-chip.active .store-chip-avatar{background:var(--accent);color:#fff}.store-chip-dot{background:var(--success);border-radius:50%;width:6px;height:6px;margin-left:2px}.store-chip-dot.off{background:var(--text-tertiary)}.store-detail-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.store-detail-title{font-family:var(--font-display);font-size:15px;font-weight:600}.overview-table{border-collapse:collapse;width:100%;margin-top:6px}.overview-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:0 10px 8px;font-size:11px;font-weight:600}.overview-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:10px;font-size:12.5px}.overview-table tr:last-child td{border-bottom:none}.overview-table .mono{font-family:var(--font-mono);color:var(--text-secondary)}.overview-table .mono.low{color:var(--danger);font-weight:600}.balance-card{background:var(--bg-app);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:flex}.balance-main{align-items:center;gap:12px;display:flex}.balance-icon{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.balance-label{color:var(--text-tertiary);font-size:11.5px}.balance-value{font-family:var(--font-mono);color:var(--text-primary);margin-top:1px;font-size:18px;font-weight:600}.balance-value.low{color:var(--danger)}.balance-meta{text-align:right}.balance-meta-row{color:var(--text-tertiary);font-size:11.5px}.link-btn{color:var(--accent-dark);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none}.link-btn:hover{text-decoration:underline}.stock-disabled-banner{background:var(--bg-app);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;margin-bottom:18px;padding:14px 16px;font-size:12.5px}.kpi-label{color:var(--text-secondary);font-size:11.5px}.kpi-value{font-family:var(--font-mono);margin-top:6px;font-size:22px;font-weight:600}.kpi-delta{color:var(--text-tertiary);margin-top:3px;font-size:11px}.filter-select{font-family:var(--font-body);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500}.active-filters{border-bottom:1px solid var(--border);background:var(--bg-app);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;display:flex}.filter-chip{color:var(--accent-dark);background:var(--accent-soft);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}.clear-filters{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.clear-filters:hover{color:var(--text-secondary)}table.product-table{border-collapse:collapse;width:100%}.product-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-app);padding:9px 14px;font-size:11px;font-weight:600}.product-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 14px;font-size:13px}.product-table tr:last-child td{border-bottom:none}.product-table tr:hover td{background:#fafafb}.product-cell{align-items:center;gap:10px;display:flex}.product-thumb{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-dark);font-family:var(--font-display);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.product-name{font-size:13px;font-weight:600;line-height:1.3}.product-sku{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px;line-height:1.3}.category-pill{background:var(--bg-app);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.store-coverage{align-items:center;gap:6px;display:flex}.coverage-dots{gap:2px;display:flex}.coverage-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.coverage-dot.off{background:var(--border)}.mono.low{color:var(--danger);font-weight:600}.avail-tag{background:var(--success-soft);color:var(--success-dark);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.avail-tag.partial{background:var(--warning-soft);color:#92400e}.avail-tag.off{background:var(--bg-app);color:var(--text-tertiary)}.avail-tag .dot{background:var(--success);border-radius:50%;width:6px;height:6px}.avail-tag.partial .dot{background:var(--warning)}.avail-tag.off .dot{background:var(--text-tertiary)}.table-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.table-footer-count{color:var(--text-secondary);font-size:12.5px}.empty-row{text-align:center;color:var(--text-tertiary);padding:40px 18px;font-size:13px}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.field-grid,.field-grid.cols-3{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}.alt-units-section{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.alt-units-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.alt-unit-row{border:1px solid var(--border);background:var(--surface,#fff);border-radius:9px;grid-template-columns:minmax(0,1fr) 160px 38px;align-items:end;gap:10px;margin-top:8px;padding:11px 12px;display:grid}.alt-unit-field{min-width:0}.alt-unit-field label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px;font-size:10.5px;font-weight:600;display:block}.alt-unit-field select,.alt-unit-field input{width:100%;font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-size:13.5px}.alt-unit-field select:focus,.alt-unit-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.alt-unit-remove{border:1px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--text-tertiary);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:flex}.alt-unit-remove:hover{background:var(--danger-soft);color:var(--danger);border-color:#fca5a5}@media (width<=640px){.alt-unit-row{grid-template-columns:1fr;align-items:stretch}.alt-unit-remove{justify-self:end}}.status-badge.sent,.status-badge.partially_received{background:var(--accent-soft);color:var(--accent-dark)}.status-badge.sent .status-dot,.status-badge.partially_received .status-dot{background:var(--accent)}.status-badge.received{background:var(--success-soft);color:var(--success-dark)}.status-badge.received .status-dot{background:var(--success)}.status-badge.cancelled{background:var(--danger-soft);color:var(--danger)}.status-badge.cancelled .status-dot{background:var(--danger)}.filter-pill-group{flex-wrap:wrap;gap:6px;display:flex}.data-table th.num,.data-table td.num{text-align:right}.add-item-row{background:var(--bg-app);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:16px;display:flex}.add-item-row .field{min-width:140px}.add-item-row .field.grow{flex:1;min-width:200px}.items-total-row td{background:var(--bg-app);font-weight:600}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.field-grid{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}.panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 22px;display:flex}.panel-title{font-family:var(--font-display);font-size:15px;font-weight:600}.panel-desc{color:var(--text-secondary);margin-top:3px;font-size:12px}.panel-body{padding:20px 22px}.panel-tag{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:6px;flex-shrink:0;margin-top:1px;padding:4px 9px;font-size:10.5px;font-weight:600}.panel-tag.shared{background:var(--accent-soft);color:var(--accent-dark)}.form-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.field-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.field-grid.cols-3{grid-template-columns:repeat(3,1fr)}.field.span-2{grid-column:span 2}.field .optional{color:var(--text-tertiary);font-size:11.5px;font-weight:400}.field-hint{color:var(--text-tertiary);font-size:11px}.field-error{color:var(--danger);font-size:11.5px;font-weight:600}.field.has-error input,.field.has-error select{border-color:var(--danger)}.field-toggle-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 14px;display:flex}.field-toggle-copy{flex-direction:column;gap:2px;display:flex}.field-toggle-copy label{color:var(--text-primary);font-size:12.5px;font-weight:600}.field-toggle-copy span{color:var(--text-tertiary);font-size:11.5px;line-height:1.4}.toggle{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:38px;height:22px;margin-top:2px;padding:0;transition:background .15s;position:relative}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.toggle.on{background:var(--success)}.toggle.on .toggle-knob{transform:translate(16px)}.section-divider{border-top:1px solid var(--border);margin:22px 0 20px}.inactive-banner{background:var(--warning-soft);color:#92400e;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:9px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.4;display:flex}.inactive-banner svg{flex-shrink:0}.summary-card{position:sticky;top:26px}.summary-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:11px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--text-secondary);font-size:12px}.summary-value{text-align:right;font-size:12.5px;font-weight:600}.summary-value.mono{font-family:var(--font-mono)}.summary-value.muted{color:var(--text-tertiary);font-weight:500}.status-badge{background:var(--warning-soft);color:#92400e;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:var(--warning);border-radius:50%;width:6px;height:6px}.status-badge.active{background:var(--success-soft);color:var(--success-dark)}.status-badge.active .status-dot{background:var(--success)}.status-badge.inactive{background:var(--bg-app);color:var(--text-tertiary)}.status-badge.inactive .status-dot{background:var(--text-tertiary)}.checklist{flex-direction:column;gap:10px;margin-top:4px;display:flex}.checklist-item{color:var(--text-secondary);align-items:center;gap:9px;font-size:12.5px;display:flex}.check-icon{border:1.6px solid var(--border);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.check-icon.done{background:var(--success);border-color:var(--success)}.checklist-item.done{color:var(--text-primary)}.used-in-card{background:var(--bg-app);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.used-in-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:12.5px;display:flex}.used-in-row:not(:last-child){border-bottom:1px solid var(--border)}.used-in-label{color:var(--text-secondary)}.used-in-value{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.kpi-label{color:var(--text-secondary);font-size:11.5px;font-weight:600}.kpi-value{font-family:var(--font-mono);color:var(--text-primary);margin-top:8px;font-size:22px;font-weight:600}.kpi-value.danger{color:var(--danger)}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.search-input{flex:1;min-width:220px;position:relative}.search-input input{width:100%;font-family:var(--font-body);border:1px solid var(--border);border-radius:8px;outline:none;padding:9px 12px;font-size:13.5px}.search-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-pill-group{gap:6px;display:flex}.filter-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-size:12.5px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:999px;padding:8px 13px}.filter-pill.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.table-wrap{overflow-x:auto}table.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-app);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:14px 18px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fafafb}.supplier-identity{align-items:center;gap:11px;min-width:0;display:flex}.supplier-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font-family:var(--font-display);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.supplier-icon.inactive{background:var(--border);color:var(--text-tertiary)}.supplier-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.supplier-meta{color:var(--text-tertiary);margin-top:1px;font-size:11.5px}.doc-type-tag{letter-spacing:.03em;text-transform:uppercase;background:var(--bg-app);color:var(--text-tertiary);border-radius:5px;margin-right:6px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.icon-btn{border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);background:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--bg-app);color:var(--text-primary)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.mono{font-family:var(--font-mono);color:var(--text-secondary)}.table-footer{border-top:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:14px 18px;font-size:12.5px;display:flex}.empty-row{text-align:center;color:var(--text-tertiary);padding:60px 20px}.empty-row-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.empty-row-sub{color:var(--text-secondary);max-width:320px;margin:0 auto;font-size:12.5px}@media (width<=1180px){.form-grid{grid-template-columns:1fr}.summary-card{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.field-grid,.field-grid.cols-3{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}}
