@import "https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";:root{--primary:#091d5b;--primary-dark:#1a3366;--primary-mid:#3b82f6;--primary-light:#eff6ff;--success:#10b981;--success-bg:#d1fae5;--success-text:#065f46;--warning:#f59e0b;--warning-bg:#fef3c7;--warning-text:#92400e;--danger:#ef4444;--danger-bg:#fee2e2;--danger-text:#991b1b;--bg:#edf1f9;--surface:#fff;--surface-2:#f3f7fc;--border:#dde4f0;--border-strong:#c4cedd;--text:#0d1526;--text-secondary:#2d3e58;--text-muted:#6b7a99;--text-faint:#9aaabf;--sidebar-bg:#071646;--sidebar-w:232px;--topbar-h:54px;--radius-xs:5px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 3px #0000000d, 0 0 0 1px #00000008;--shadow-sm:0 2px 10px #00000012, 0 1px 3px #0000000a;--shadow-md:0 4px 24px #00000017, 0 2px 8px #0000000a;--shadow-lg:0 20px 64px #00000024, 0 8px 24px #0000000f;--glass-inset:inset 0 1px 0 #ffffffd9;--primary-border:#bfdbfe}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:#ffffffb3;inset-block:0;z-index:50;border-right:1px solid #ffffff0d;flex-direction:column;display:flex;position:fixed;left:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid #ffffff0f;align-items:center;padding:14px 18px 12px;display:flex}.sidebar-logo-img{object-fit:contain;width:auto;height:48px}.sidebar-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin-top:14px;padding:5px 4px;font-size:10px;font-weight:600}.sidebar-nav>.sidebar-label:first-child{margin-top:2px}.sidebar-nav{flex:1;padding:4px 10px 8px}.sidebar-nav a{color:#ffffffb8;border-radius:10px;align-items:center;gap:9px;margin-bottom:2px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .18s cubic-bezier(.25,.46,.45,.94),color .18s cubic-bezier(.25,.46,.45,.94),transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s cubic-bezier(.25,.46,.45,.94);display:flex}.sidebar-nav a:hover{color:#ffffffeb;background:#ffffff17;transform:scale(1.03)}.sidebar-nav a:active{transform:scale(.97)}.sidebar-nav a.active{color:#fff;background:#ffffff24;font-weight:600;transform:translate(0);box-shadow:inset 0 1px #ffffff1a,0 1px 3px #0003}.sidebar-footer{border-top:1px solid #ffffff0f;padding:14px}.sidebar-user-row{align-items:flex-start;gap:8px;padding:4px 2px 12px;display:flex}.sidebar-user-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:11px;font-weight:700;display:flex;box-shadow:0 2px 6px #0000004d}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.sidebar-user-email{color:#ffffff61;overflow-wrap:anywhere;font-size:10.5px;line-height:1.4}.sidebar-user{color:#ffffff61;white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;padding:0 4px;font-size:12px;overflow:hidden}.sidebar-footer button{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:9px;width:100%;padding:7px;font-family:inherit;font-size:12px;font-weight:500;transition:background .18s cubic-bezier(.25,.46,.45,.94),color .18s cubic-bezier(.25,.46,.45,.94),border-color .18s cubic-bezier(.25,.46,.45,.94),transform .14s cubic-bezier(.34,1.56,.64,1),box-shadow .18s cubic-bezier(.25,.46,.45,.94)}.sidebar-footer button:hover{color:#ffffffe0;background:#ffffff17;border-color:#ffffff38;transform:scale(1.03);box-shadow:0 3px 8px #0003}.sidebar-footer button:active{box-shadow:none;transform:scale(.97)}.main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);z-index:40;box-shadow:0 1px 0 var(--border);background:linear-gradient(#fff 0%,#fafcff 100%);flex-shrink:0;justify-content:flex-end;align-items:center;padding:0 36px;display:flex;position:sticky;top:0}.topbar-env-badge{color:#dc2626;letter-spacing:.01em;margin-right:14px;font-size:13px;font-weight:700}.topbar-menu-wrap{position:relative}.topbar-user{border:1.5px solid var(--border);cursor:pointer;color:inherit;background:var(--surface);border-radius:40px;align-items:center;gap:9px;padding:5px 14px 5px 5px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.topbar-user:hover,.topbar-user[aria-expanded=true]{border-color:var(--primary);background:var(--primary-light);box-shadow:0 2px 8px #091d5b1f}.topbar-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg), var(--glass-inset);z-index:500;border-radius:14px;min-width:230px;animation:.15s cubic-bezier(.34,1.16,.64,1) dropdown-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@keyframes dropdown-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.topbar-dropdown-identity{padding:14px 16px 12px}.topbar-dropdown-name{color:var(--text);font-size:13.5px;font-weight:600}.topbar-dropdown-email{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px;line-height:1.4}.topbar-dropdown-divider{background:var(--border);height:1px}.topbar-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:background .16s cubic-bezier(.25,.46,.45,.94),color .16s cubic-bezier(.25,.46,.45,.94),transform .14s cubic-bezier(.34,1.56,.64,1);display:flex}.topbar-dropdown-item:hover{background:var(--surface-2);color:var(--text);transform:scale(1.02)}.topbar-dropdown-item:active{transform:scale(.98)}.topbar-dropdown-logout{color:var(--danger-text)}.topbar-dropdown-logout:hover{background:var(--danger-bg);color:var(--danger-text)}.topbar-avatar{background:linear-gradient(135deg, var(--primary), #60a5fa);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.topbar-user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:13px;font-weight:600;overflow:hidden}.page-head{border-bottom:1px solid var(--border);background:linear-gradient(#fff 0%,#fafcff 100%);padding:18px 36px 16px}.page-head:has(.page-head-actions){justify-content:space-between;align-items:center;gap:16px;display:flex}.page-head h1{letter-spacing:-.4px;color:var(--text);font-size:21px;font-weight:700}.page-head p{color:var(--text-muted);margin-top:3px;font-size:13.5px}.page-head-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.order-head-archive-info{color:var(--text-muted);flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;line-height:1.4;display:flex}.page-head-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;padding-top:2px;display:flex}.page-head-actions-row{align-items:center;gap:8px;display:flex}.page-head-actions .last-refreshed{color:var(--text-muted);font-size:12px}.page-body{flex:1;padding:28px 36px 44px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.stats.stats-two-col{grid-template-columns:repeat(2,1fr)}.stats.stats-three-col{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--glass-inset);border-radius:16px;padding:16px 20px 14px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--primary-mid));border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-icon{width:44px;height:44px;color:var(--primary);opacity:.11;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:8px;font-size:10.5px;font-weight:700;display:flex}.stat-label .info-tooltip-icon{opacity:.45;border-width:1px;flex-shrink:0;width:12px;height:12px;font-size:8px}.stat-label .info-tooltip-icon:hover{opacity:1}.stat-value{letter-spacing:-1.5px;color:var(--text);font-size:30px;font-weight:800;line-height:1}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--surface-2) 37%, var(--border) 63%);vertical-align:middle;background-size:400% 100%;border-radius:8px;animation:1.4s infinite skeleton-pulse;display:inline-block}.skeleton-stat{width:64px;height:30px}@keyframes skeleton-pulse{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.stat-link{color:var(--primary);margin-top:12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-block}.stat-link:hover{text-decoration:underline}.dashboard-charts{grid-template-columns:1fr 1fr;gap:20px;display:grid}.dashboard-charts>:first-child{grid-column:1/-1}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), var(--glass-inset);position:relative;overflow:hidden}.chart-card-header{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 14px;display:flex}.chart-card-title{color:var(--text);font-size:16px;font-weight:600}.chart-card-controls{align-items:center;gap:8px;display:flex}.chart-range-select{border-radius:var(--radius-sm);cursor:pointer;width:auto;padding:5px 8px;font-size:12.5px}.chart-card-left{align-items:center;gap:12px;display:flex}.chart-date-range{align-items:center;gap:6px;display:flex}.chart-date-input{border-radius:var(--radius-sm);cursor:pointer;width:auto;padding:5px 8px;font-size:12.5px}.chart-date-sep{color:var(--text-muted);font-size:12px}.chart-card-body{padding:0 16px 20px}.chart-toggle-group{border:1.5px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.chart-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:5px 14px;font-family:inherit;font-size:12.5px;font-weight:500;transition:background .15s,color .15s}.chart-toggle-btn:not(:last-child){border-right:1.5px solid var(--border)}.chart-toggle-btn:hover{background:var(--surface-2);color:var(--text)}.chart-toggle-btn.active{background:var(--primary-light);color:var(--primary)}.chart-status-multiselect{position:relative}.chart-status-multiselect .sel-trigger{min-width:115px}.chart-status-active{border-color:var(--primary);color:var(--primary)}.chart-status-dropdown{z-index:100;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);min-width:180px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001a}.chart-status-option{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-bottom:0;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:400;display:flex}.chart-status-option:hover{background:var(--surface-2)}.chart-status-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.chart-archived-label{color:var(--text-muted);cursor:default;white-space:nowrap;border-right:1.5px solid var(--border);align-items:center;gap:6px;margin-right:2px;padding-right:10px;font-size:12.5px;display:flex}.chart-archived-label span{line-height:20px}.chart-archived-label .toggle-switch{align-self:center;margin:0}.skeleton-chart{border-radius:var(--radius-sm);width:100%;height:220px;display:block}.recharts-wrapper,.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-surface,.recharts-surface:focus,.recharts-surface:focus-visible{outline:none}.chart-card.loading:before,.stat-card.loading:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--primary) 50%, transparent 100%);z-index:1;background-size:200% 100%;border-radius:2px 2px 0 0;height:2px;animation:1.3s ease-in-out infinite card-sweep;position:absolute;top:0;left:0;right:0}@keyframes card-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-list{flex-direction:column;gap:10px;display:flex}.skeleton-list-row{align-items:center;gap:10px;display:flex}.sk-rank{flex-shrink:0;width:28px;height:12px}.sk-badge{border-radius:var(--radius-sm);flex-shrink:0;width:60px;height:20px}.sk-name{flex-shrink:0;width:130px;height:12px}.sk-name-wide{flex-shrink:0;width:200px;height:12px}.sk-bar{border-radius:99px;flex:1;height:10px}.sk-count{flex-shrink:0;width:28px;height:12px}.top-merchant-list{flex-direction:column;gap:10px;display:flex}.top-merchant-row{align-items:center;gap:10px;display:flex}.top-merchant-rank{text-align:center;flex-shrink:0;width:28px;font-size:13px}.top-merchant-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:155px;font-size:13px;overflow:hidden}.top-merchant-bar-track{background:var(--surface-2);border-radius:99px;flex:1;min-width:0;height:10px;overflow:hidden}.top-merchant-bar-fill{height:100%;width:var(--bar-pct);border-radius:99px;transition:width .4s}.top-merchant-count{color:var(--text-muted);text-align:right;flex-shrink:0;width:28px;font-size:12px;font-weight:600}.top-sku-badge{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-sm);white-space:nowrap;text-align:center;text-overflow:ellipsis;flex-shrink:0;width:75px;padding:2px 6px;font-size:11px;font-weight:600;overflow:hidden}.top-sku-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:220px;font-size:13px;overflow:hidden}.table-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--glass-inset);border-radius:16px;overflow:clip}.table-card.card-body,.table-card.card-body-md,.table-card.card-body-lg,.table-card.card-body-sm{overflow:visible}.card-body{padding:20px 24px}.card-body-md{padding:16px 20px}.card-body-lg{padding:28px}.card-body-sm{padding:12px 20px 20px}.ml-auto{margin-left:auto}.drawer-stack{flex-direction:column;gap:12px;display:flex}.table-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 22px;display:flex;box-shadow:0 3px 6px #0000000a}.table-toolbar h2{color:var(--text);font-size:16px;font-weight:600}.table-toolbar-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.table-toolbar-filters{align-items:center;gap:10px;display:flex}.table-toolbar-filters select{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);border-radius:8px;min-width:110px;padding:0 10px;font-size:13px}.table-toolbar-filters .sel-trigger{min-width:140px}.table-toolbar-filters input{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);border-radius:8px;min-width:320px;padding:0 10px;font-size:13px}.table-toolbar-filters .btn{border-radius:8px;height:34px;padding:0 12px;font-size:13px}.table-toolbar-filters input.input-narrow{min-width:220px}.daterange-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:12px 22px;font-size:13px;display:flex}.daterange-section{align-items:center;gap:10px;display:flex}.daterange-section-meta{flex-direction:column;gap:2px;margin-right:2px;display:flex}.daterange-bar-label{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.daterange-section-affects{color:var(--text-muted);white-space:nowrap;font-size:11px}.daterange-bar-sep{background:var(--border);flex-shrink:0;width:1px;height:32px;margin:0 4px}.daterange-bar-field{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.daterange-bar-field input[type=date],.daterange-bar-field input[type=text]{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);border-radius:6px;padding:0 10px;font-size:13px}.daterange-bar-select{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);cursor:pointer;border-radius:6px;padding:0 10px;font-size:13px}@media (width>=768px){.half-width{width:50%}}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);top:var(--topbar-h);z-index:5;padding:10px 22px;font-size:10.5px;font-weight:700;position:sticky}.modal thead th,.drawer-body thead th{top:0}thead th.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}thead th.th-sort:hover{color:var(--text)}thead th.th-sort.th-sort-active{color:var(--primary)}.th-sort-icon{vertical-align:middle;opacity:.35;margin-left:4px;font-size:9px;font-style:normal;display:inline-block}thead th.th-sort-active .th-sort-icon{opacity:1}tbody td{vertical-align:middle;color:var(--text-secondary);border-bottom:1px solid #edf1f7;padding:13px 22px;font-size:13.5px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--primary-light)}tfoot td{color:var(--text);background:var(--surface-2);border-top:1px solid var(--border);padding:11px 22px;font-size:13.5px}.mono{letter-spacing:-.2px;color:var(--text-secondary);font-family:SF Mono,Fira Code,Menlo,monospace;font-size:12px}.sub-text{color:var(--text-muted);margin-top:2px;font-size:11.5px;display:block}.channel-disconnected{letter-spacing:.03em;color:var(--danger-text);font-weight:700}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.badge{border-radius:20px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-pending{background:var(--warning-bg);color:var(--warning-text)}.badge-processing{color:#1e40af;background:#dbeafe}.badge-sent_to_fulfillment{color:#5b21b6;background:#ede9fe}.badge-fulfilled{background:var(--success-bg);color:var(--success-text)}.badge-cancelled{background:var(--danger-bg);color:var(--danger-text)}.badge-connected{background:var(--success-bg);color:var(--success-text)}.badge-archived,.badge-qs-not_in_stock{color:#4b5563;background:#e5e7eb}.badge-qs-quoted{color:#1e40af;background:#dbeafe}.badge-qs-awaiting_coa{background:var(--warning-bg);color:var(--warning-text)}.badge-qs-approved{background:var(--success-bg);color:var(--success-text)}.badge-qs-rejected{background:var(--danger-bg);color:var(--danger-text)}.badge-qs-needs_attention{color:#c2410c;background:#fed7aa}.badge-qs-supplier_revision{color:#5b21b6;background:#ede9fe}.badge-qs-awaiting_price,.badge-qs-awaiting_the_price{color:#854d0e;background:#fef9c3}.badge-qs-not_quoted{color:#6b7280;background:#f3f4f6}.icon-warn{color:var(--warning);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--warning) 60%, transparent));font-size:1.1rem;line-height:1}.channel-status{flex-direction:column;align-items:flex-start;gap:4px;max-width:280px;display:flex}.channel-status-error{color:var(--danger-text);overflow-wrap:anywhere;white-space:normal;font-size:12px;line-height:1.4}.channel-status-result{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.cell-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;letter-spacing:-.1px;border:none;border-radius:10px;align-items:center;gap:6px;padding:8.5px 16px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s cubic-bezier(.25,.46,.45,.94),color .18s cubic-bezier(.25,.46,.45,.94),border-color .18s cubic-bezier(.25,.46,.45,.94),box-shadow .18s cubic-bezier(.25,.46,.45,.94),transform .14s cubic-bezier(.34,1.56,.64,1),opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 3px #091d5b40, var(--glass-inset)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.03);box-shadow:0 6px 16px #091d5b61,0 2px 4px #091d5b33}.btn-primary:active:not(:disabled){transform:scale(.96);box-shadow:0 1px 4px #091d5b40}.btn-outline{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:scale(1.03);box-shadow:0 4px 10px #091d5b1a}.btn-outline:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn-danger{background:var(--danger-bg);color:#b91c1c;border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;transform:scale(1.03);box-shadow:0 4px 10px #b91c1c24}.btn-danger:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn-dark{color:#fff;background:#091d5b;border:1px solid #091d5b}.btn-dark:hover:not(:disabled){background:#1a3366;border-color:#1a3366;transform:scale(1.03);box-shadow:0 4px 12px #091d5b47}.btn-dark:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn-sm{border-radius:8px;padding:5px 11px;font-size:12px}.btn-full{justify-content:center;width:100%}.btn-icon-only{padding:6px 8px;line-height:1}.form-group{min-width:0;margin-bottom:16px}label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}input,select{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}input:hover:not(:focus),select:hover:not(:focus){border-color:var(--border-strong)}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #091d5b1a}input.input-error,input.input-error:hover:not(:focus){border-color:var(--danger)}input.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441f}.field-error-hint{color:var(--danger);margin-top:5px;font-size:12px}input::placeholder{color:var(--text-faint)}textarea{border:1.5px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}textarea:hover:not(:focus){border-color:var(--border-strong)}textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #091d5b1a}textarea::placeholder{color:var(--text-faint)}.password-field{align-items:center;display:flex;position:relative}.password-field-input{padding-right:40px}.password-toggle{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-secondary);background:var(--surface-hover,#0000000a)}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;background:#060e1c9e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:450px;max-width:100%;box-shadow:var(--shadow-lg), 0 0 0 1px #0000000a, var(--glass-inset);border-radius:20px;max-height:92vh;padding:30px;animation:.2s cubic-bezier(.34,1.16,.64,1) modal-in;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.94)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-title{letter-spacing:-.3px;margin-bottom:22px;font-size:17px;font-weight:700}.modal-title-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-subtitle{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:16px;font-size:13px;overflow:hidden}.modal-description{color:var(--text-secondary);margin-bottom:20px;font-size:13.5px;line-height:1.5}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;display:flex}.modal-wide{width:740px}.modal-chart{width:min(96vw,1400px);padding:0;overflow:hidden}.modal-chart .chart-card-header{padding:20px 24px 16px}.modal-chart .chart-card-body{padding:0 20px 24px}.chart-expand-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.chart-expand-btn:hover{background:var(--surface-2);color:var(--text)}.empty{text-align:center;color:var(--text-muted);padding:56px 24px}.empty strong{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.error-box{background:var(--danger-bg);color:#b91c1c;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;font-weight:500}.info-box{background:var(--primary-light);color:var(--primary-dark);border:1px solid var(--primary-border);border-radius:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;font-weight:500}.wip-notice{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning);border-radius:8px;margin-bottom:16px;padding:11px 14px;font-size:13px;font-weight:500}.auth-link{text-align:center;color:var(--text-muted);margin-top:22px;font-size:13px}.auth-link a{color:var(--primary);font-weight:500;text-decoration:none}.auth-link a:hover{text-decoration:underline}.link-button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.link-button:hover{text-decoration:underline}.auth-hint{color:var(--text-muted);margin-bottom:18px;font-size:13px;line-height:1.5}.login-card .form-group{margin-bottom:18px}.login-card input{padding:11px 14px;font-size:14px}.login-card .password-field-input{padding-right:44px}.btn-auth-submit{margin-top:8px;padding:12px 20px;font-size:14px}.login-card input:focus,.login-card select:focus,.login-card textarea:focus,.btn-auth-submit,.btn-auth-submit:hover:not(:disabled),.btn-auth-submit:active:not(:disabled){box-shadow:none}.checkbox-row{color:var(--text);cursor:pointer;align-items:center;gap:10px;margin-bottom:30px;font-size:14px;display:flex}.checkbox-row input[type=checkbox]{cursor:pointer;width:16px;height:16px}.toggle-switch{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border);border-radius:20px;transition:background .18s;position:absolute;inset:0}.toggle-switch input:checked+.toggle-track{background:var(--primary)}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-track:after{transform:translate(16px)}.toggle-switch input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.toggle-switch input:focus-visible+.toggle-track{outline:2px solid var(--primary);outline-offset:2px}.settings-stack{flex-direction:column;gap:24px;display:flex}.settings-card{padding:28px}.settings-card-title{margin-bottom:8px;font-size:14px;font-weight:600}.settings-card-desc{color:var(--text-muted);margin-bottom:10px;font-size:12px}.auth-checking{text-align:center;color:var(--text-muted);padding:14px;font-size:14px}.login-wrap{background:linear-gradient(160deg,#eef2fb 0%,#f5f7ff 50%,#e8edf8 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{z-index:1;border:1px solid var(--border);background:#fff;border-radius:24px;width:420px;max-width:94vw;position:relative;overflow:hidden;box-shadow:0 8px 48px #1e3a782e,0 1px 3px #0000000f}.login-header{text-align:center;background:#091d5b;padding:40px 48px 36px}.login-logo-img{object-fit:contain;width:auto;height:58px;margin:0 auto;display:block}.login-subtitle{color:#ffffffb3;margin:14px 0 0;font-size:13px}.login-body{padding:36px 48px 44px}.empty-cta{background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow-xs), var(--glass-inset);border-radius:16px;padding:40px 28px}.empty-cta p{color:var(--text-muted);margin-bottom:18px;font-size:14px}.commodity-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:22px;display:flex}.table-card .commodity-tabs{margin-bottom:0}.commodity-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:13.5px;font-weight:600;transition:color .14s,border-color .14s}.commodity-tab:hover{color:var(--text)}.commodity-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.tab-count{color:var(--text-muted);background:#e6ecf5;border-radius:20px;justify-content:center;align-items:center;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.commodity-tab-active .tab-count{color:var(--primary);background:#dbeafe}.badge-ing-active{color:#1e40af;background:#dbeafe}.badge-ing-inactive{color:#475569;background:#f0f4f8}tbody tr.row-clickable{cursor:pointer}tbody tr.row-clickable:hover td{background:var(--primary-light)}tbody tr.row-archived td{background:#f6f6f7}tbody tr.row-archived:hover td{background:#ededef}.detail-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.detail-full{grid-column:1/-1}.detail-section{flex-direction:column;display:flex}.detail-section .card-body-col{flex:1}.detail-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.detail-meta{color:var(--text-muted);gap:16px;margin:8px 0 0;font-size:13px;display:flex}.detail-meta span:before{content:"·";margin-right:16px}.detail-meta span:first-child:before{content:"";margin-right:0}.timeline{align-items:flex-start;display:flex}.timeline-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.timeline-dot{border:2px solid var(--border);z-index:1;background:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px}.timeline-line{background:var(--border);z-index:0;width:100%;height:2px;position:absolute;top:7px;left:50%}.timeline-label{color:var(--text-muted);text-align:center;margin-top:8px;font-size:12px;font-weight:500}.timeline-done .timeline-dot{background:var(--success);border-color:var(--success)}.timeline-done .timeline-line{background:var(--success)}.timeline-done .timeline-label{color:var(--success);font-weight:600}.timeline-cancelled{justify-content:center;padding:8px 0;display:flex}.timeline-step-cancelled .timeline-dot{background:var(--danger);border-color:var(--danger)}.timeline-step-cancelled .timeline-label{color:var(--danger)}.timeline-cancelled-state .timeline-done .timeline-line{background:var(--danger)}.timeline-step-info{text-align:center;width:100%;margin-top:10px}.timeline-step-date{color:var(--text);font-size:11.5px;font-weight:500;line-height:1.5}.timeline-step-meta{color:var(--text-muted);word-break:break-all;margin-top:3px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:11px}.timeline-step-note{word-break:break-word;font-family:inherit;font-style:italic}.timeline-step-empty{color:var(--border);margin-top:2px;font-size:11.5px;font-style:italic}.timeline-hold-tag{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;margin-top:5px;padding:2px 7px;font-size:11px;display:inline-block}.timeline-actions{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:20px 24px;display:flex;box-shadow:inset 0 3px 6px #0000000a}.tracking-section{flex-direction:column;gap:10px;display:flex}.tracking-section-divided{border-top:1px solid #0000001f;margin-left:-24px;margin-right:-24px;padding-top:14px;padding-left:24px;padding-right:24px;box-shadow:inset 0 3px 6px #0000000a}.tracking-section-footer{justify-content:flex-end;padding-top:2px;display:flex}.tracking-fields{flex-direction:column;gap:8px;display:flex}.tracking-field{align-items:center;gap:6px;display:flex}.tracking-field input{flex:1}.tracking-remove{flex:none;padding:4px 9px;line-height:1}.tracking-add{align-self:flex-start}.timeline-step-tracking{flex-direction:column;gap:1px;display:flex}.hold-banner{border-radius:6px;align-items:flex-start;gap:9px;padding:10px 14px;font-size:12.5px;font-weight:500;display:flex}.hold-banner-active{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.hold-banner-ready{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.hold-banner-icon{flex-shrink:0;padding-top:1px;font-size:14px}.hold-banner-body{flex-direction:column;gap:3px;display:flex}.hold-banner-status{font-size:13px;font-weight:600}.hold-banner-detail{opacity:.85;font-size:12px;font-weight:400}.shipment-history{flex-direction:column;gap:6px;width:100%;display:flex}.shipment-event{flex-direction:column;gap:2px;display:flex}.shipment-event-source{color:var(--text-muted);margin-top:2px;font-size:10.5px;font-style:italic}.shipment-history-prior{margin-top:4px}.shipment-history-prior>summary{color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;font-size:11px;list-style:none;display:flex}.shipment-history-prior>summary:before{content:"▸";font-size:10px}.shipment-history-prior[open]>summary:before{content:"▾"}.shipment-history-prior-list{border-top:1px dashed var(--border);flex-direction:column;gap:10px;margin-top:8px;padding-top:8px;display:flex}.badge-formula-active{background:var(--success-bg);color:var(--success-text)}.badge-formula-coming_soon{color:#92400e;background:#fef3c7}.badge-formula-discontinued{color:#64748b;background:#f0f4f8}.badge-product-active{color:#065f46;background:#d1fae5}.badge-product-discontinued{color:#64748b;background:#f0f4f8}.badge-source-manual{color:#1d4ed8;background:#eff6ff}.badge-source-shipstation{color:#92400e;background:#fef3c7}.badge-lot-ordered{color:#475569;background:#f0f4f8}.badge-lot-pending_testing{color:#92400e;background:#fef3c7}.badge-lot-testing{color:#1d4ed8;background:#dbeafe}.badge-lot-released{color:#065f46;background:#d1fae5}.badge-lot-in_production{color:#3730a3;background:#e0e7ff}tbody tr.row-draft>td{background:var(--warning-bg)}tfoot tr.forecast-totals-row>td{background:var(--primary-light);color:var(--text-secondary);border-top:2px solid #bfdbfe;padding-top:10px;padding-bottom:10px;font-size:13px;font-weight:700}tbody tr.forecast-group-row>td{background:var(--primary-light);color:var(--text-secondary);border-top:2px solid #bfdbfe;font-size:13px;font-weight:600}tbody tr.forecast-group-row:first-child>td{border-top:none}.forecast-group-label{align-items:center;gap:8px;display:flex}.forecast-group-sku{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:12px;font-weight:400}.badge-v0{color:var(--warning-text);font-size:13px;font-weight:700}.form-hint-muted{color:var(--text-muted);margin-bottom:12px;font-size:12.5px}.cat-filter{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.cat-pill{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:5px 16px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .14s}.cat-pill:hover:not(.cat-pill-active){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.cat-pill-active{background:var(--primary);border-color:var(--primary);color:#fff}.cat-pill-active:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;transform:scale(1.03)}.formula-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.formula-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:16px;padding:22px;transition:box-shadow .18s,border-color .18s,transform .18s}.formula-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 28px #0000001a}.formula-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.formula-category{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10.5px;font-weight:700}.formula-name{letter-spacing:-.2px;margin-bottom:2px;font-size:15px;font-weight:700}.formula-sku{color:var(--text-muted);margin-bottom:10px;font-family:monospace;font-size:11px}.formula-desc{color:var(--text-muted);margin-bottom:10px;font-size:12.5px;line-height:1.55}.formula-serving{color:var(--text-muted);border-top:1px solid var(--border);margin-bottom:14px;padding-top:10px;font-size:12px}.formula-price{align-items:baseline;gap:8px;display:flex}.formula-price-label{color:var(--text-muted);font-size:11px}.formula-price-value{color:var(--text);font-size:18px;font-weight:700}.formula-price-retail{color:var(--text-muted);font-size:12px;text-decoration:line-through}.formula-card-footer{justify-content:space-between;align-items:center;display:flex}.ingredient-list{flex-direction:column;gap:4px;list-style:none;display:flex}.ingredient-list li{background:var(--surface-2);border-left:3px solid var(--primary);border-radius:7px;padding:7px 12px;font-size:13px}.formula-price-detail{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:28px;margin-bottom:8px;padding:16px 20px;display:flex}.formula-price-big{margin-top:4px;font-size:22px;font-weight:700}.modal-lg{width:820px;max-height:90vh;overflow-y:auto}.url-input-row{align-items:center;gap:8px;display:flex}.url-input-row input{flex:1;min-width:0}.url-input-row .url-open-link{border:1.5px solid var(--border);color:var(--primary);white-space:nowrap;background:#fff;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:5px 11px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.url-input-row .url-open-link:hover{border-color:var(--primary);background:#091d5b0a}.url-input-wrap{border:1.5px solid var(--border);background:#fff;border-radius:10px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.url-input-wrap:hover:not(:focus-within){border-color:var(--border-strong)}.url-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #091d5b14}.url-input-wrap input,.url-input-wrap input:hover:not(:focus),.url-input-wrap input:focus{flex:1;min-width:0;width:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important}.url-input-wrap .url-open-link{color:var(--primary);border-left:1px solid var(--border);white-space:nowrap;flex-shrink:0;align-items:center;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.url-input-wrap .url-open-link:hover{background:#091d5b0f}.url-open-link-inactive{color:var(--text-faint);cursor:default;pointer-events:none}.form-section-divider{border:none;border-top:1px solid var(--border);margin:4px 0 16px}.form-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;display:grid}.form-row-desc,.commodity-form-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:start;gap:12px;display:grid}.commodity-form-grid-desc{flex-direction:column;grid-area:1/1/3/3;display:flex}.commodity-form-grid-desc .textarea{resize:none;flex:1;min-height:130px}.commodity-form-grid-r1c3{grid-area:1/3}.commodity-form-grid-r1c4{grid-area:1/4}.commodity-form-grid-r2c3{grid-area:2/3}.commodity-form-grid-r2c4{grid-area:2/4}.form-row-desc-main{flex-direction:column;grid-area:1/1/3/3;display:flex}.form-row-desc-main textarea{resize:none;flex:1;min-height:120px}.textarea{border:1.5px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.textarea:hover:not(:focus){border-color:var(--border-strong)}.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #091d5b1a}.label-hint{color:var(--text-muted);font-size:11px;font-weight:400}.required{color:var(--danger);margin-left:2px}.assign-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.assign-chips{background:var(--surface-2);border:1.5px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:6px;min-height:40px;margin-bottom:6px;padding:8px 10px;display:flex}.assign-chip{background:var(--primary);color:#fff;border-radius:20px;align-items:center;gap:5px;padding:3px 10px 3px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.assign-chip-remove{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:14px;line-height:1;transition:background .12s;display:inline-flex}.assign-chip-remove:hover{background:#fff6}.assign-results{border:1.5px solid var(--border);border-radius:10px;max-height:220px;margin-bottom:6px;overflow-y:auto}.assign-result-row{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-family:inherit;font-size:13.5px;transition:background .12s;display:flex}.assign-result-row:last-child{border-bottom:none}.assign-result-row:hover{background:var(--primary-light)}.assign-add-badge{color:var(--primary);background:var(--primary-light);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 10px;font-size:11.5px;font-weight:600}.version-badge{color:#93c5fd;background:#1e3a5f;border-radius:4px;padding:2px 7px;font-family:SF Mono,Menlo,monospace;font-size:11px;font-weight:700;display:inline-block}.modal-xl{width:800px;max-height:90vh;overflow-y:auto}.modal-import{flex-direction:column;width:min(1100px,95vw);display:flex;overflow:hidden}.modal-import .import-preview-scroll{flex:1;min-height:0;max-height:none}.import-steps{gap:32px;margin:20px 0 8px;display:flex}.import-step{flex-direction:column;gap:10px;display:flex}.import-step-label{font-size:14px;font-weight:600}.import-file-label{cursor:pointer;display:inline-block}.import-file-input{display:none}.import-preview-scroll{border:1px solid var(--border);border-radius:8px;max-height:400px;margin:12px 0;overflow:auto}.import-preview-scroll table{border:none;border-radius:0}.import-cell-error{color:var(--danger);max-width:220px;font-size:12px}.import-formula-warn{color:var(--warning,#d97706);font-size:12px}.text-danger{color:var(--danger);font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.inline-spinner{border:2px solid var(--border);border-top-color:var(--text-muted);vertical-align:middle;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}.import-progress{flex-direction:column;align-items:center;gap:16px;padding:32px 0;display:flex}.import-progress-label{color:var(--text-muted);font-weight:500}.import-progress-bar{appearance:none;background:var(--border);border:none;border-radius:4px;width:100%;height:8px;overflow:hidden}.import-progress-bar::-webkit-progress-bar{background:var(--border);border-radius:4px}.import-progress-bar::-webkit-progress-value{background:var(--primary);border-radius:4px}.import-progress-bar::-moz-progress-bar{background:var(--primary);border-radius:4px}.version-layout{grid-template-columns:260px 1fr;gap:16px;min-height:320px;display:grid}.version-list-col{position:relative}.version-list{flex-direction:column;gap:6px;display:flex;position:absolute;inset:0;overflow-y:auto}.version-list-item{text-align:left;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;transition:all .12s}.version-list-item:hover{background:var(--surface-2);border-color:var(--primary)}.version-list-item-active{background:var(--primary-light);border-color:var(--primary)}.version-detail{border:1.5px solid var(--border);border-radius:12px;padding:16px 20px}.version-detail-title{margin-bottom:14px;font-size:13px;font-weight:600}.version-editor-header{margin-bottom:4px}.ing-editor{border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.ing-editor-head{background:var(--surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;font-size:10.5px;font-weight:700;display:flex}.ing-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 12px;display:flex}.ing-row:last-of-type{border-bottom:none}.ing-cell{border:1.5px solid var(--border);color:var(--text);background:#fff;border-radius:8px;outline:none;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .12s}.ing-cell:focus{border-color:var(--primary)}.ing-remove{border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:16px;line-height:1;transition:all .12s;display:flex}.ing-remove:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:#fca5a5}.ing-remove:disabled{opacity:.3;cursor:not-allowed}.ing-editor>.btn{margin:10px 12px}.ing-table{flex-direction:column;gap:4px;display:flex}.ing-table-section{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px;font-size:10.5px;font-weight:700}.ing-section-hint{text-transform:none;letter-spacing:0;margin-left:4px;font-weight:400}.ing-table-row{background:var(--surface-2);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;display:flex}.ing-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ing-dot-active{background:var(--primary)}.ing-dot-inactive{background:#cbd5e1}.ing-table-name{flex:1;font-size:13px}.ing-table-amount{color:var(--text-muted);white-space:nowrap;font-size:12.5px;font-weight:600}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;display:flex}.pagination-info{color:var(--text-muted)}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-page{color:var(--text-muted);text-align:center;min-width:100px}.pagination-divider{background:var(--border);width:1px;height:18px;margin:0 4px}.pagination-size-label{color:var(--text-muted);cursor:default;align-items:center;gap:6px;margin-bottom:0;font-size:13px;display:flex}.pagination-size-select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:5px;font-family:inherit;font-size:13px}.role-list-item{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;width:100%;padding:10px 16px;transition:background .1s;display:flex}.role-list-item:hover{background:var(--surface-2)}.role-list-item.active{background:var(--primary-light)}.role-list-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.role-list-badge{flex-shrink:0}.role-detail-head-text{flex:1;min-width:0}.role-detail-name{overflow-wrap:anywhere;word-break:break-word}.role-detail-desc{color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;display:-webkit-box;overflow:hidden}.perm-editor{flex-direction:column;gap:0;display:flex}.perm-group{margin-bottom:20px}.perm-group-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border);margin-bottom:2px;padding:6px 0;font-size:11px;font-weight:700}.perm-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.perm-row-label{color:var(--text);min-width:130px;font-size:13px}.perm-row-levels{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.perm-level-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:11px;transition:background .16s cubic-bezier(.25,.46,.45,.94),color .16s cubic-bezier(.25,.46,.45,.94),border-color .16s cubic-bezier(.25,.46,.45,.94),transform .14s cubic-bezier(.34,1.56,.64,1),box-shadow .16s cubic-bezier(.25,.46,.45,.94)}.perm-level-btn:hover{color:var(--primary);background:#e0eaff;border-color:#bfdbfe;transform:scale(1.03);box-shadow:0 2px 6px #2563eb1f}.perm-level-btn:active{box-shadow:none;transform:scale(.96)}.perm-level-btn.active{background:var(--primary);color:#fff;border-color:var(--primary-dark);font-weight:600}.perm-level-btn.inherited{color:#065f46;background:#ecfdf5;border-color:#6ee7b7;font-weight:500}.perm-level-btn.inherited:hover{background:#d1fae5;border-color:#34d399}.perm-level-btn.active.inherited{background:var(--primary);color:#fff;border-width:2px;border-color:#34d399}.perm-level-btn.role-no-access{color:#991b1b;border-width:1.5px;border-color:#fca5a5}.perm-level-btn.role-no-access:hover{background:#fef2f2;border-color:#f87171}.perm-level-btn.active.role-no-access{background:var(--primary);color:#fff;border-width:2px;border-color:#fca5a5}.perm-legend{color:var(--text-muted);align-items:center;gap:16px;margin-bottom:10px;font-size:12px;display:flex}.perm-legend-dot{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.perm-legend-role-ok{background:#ecfdf5;border:1px solid #6ee7b7}.perm-legend-role-none{background:0 0;border:1.5px solid #fca5a5}.perm-legend-override{background:var(--primary)}.perm-legend-hint{margin-left:auto;font-style:italic}.form-error{color:#b91c1c;background:#fee2e2;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.drawer-backdrop{z-index:200;background:#0f172a66;animation:.2s drawerFadeIn;position:fixed;inset:0}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.drawer{background:var(--surface-2);z-index:201;flex-direction:column;width:min(900px,70vw);max-width:100vw;height:100vh;animation:.25s cubic-bezier(.4,0,.2,1) drawerSlideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-6px 0 32px #0000002e}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-header-title{color:var(--text);font-size:15px;font-weight:700}.drawer-header-sub{color:var(--text-muted);margin-top:1px;font-size:12px}.drawer-close{border:1px solid var(--border);background:var(--surface-2);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.drawer-close:hover{background:var(--border);color:var(--text)}.drawer-body{flex:1;min-height:0;padding:16px;overflow-y:auto}.drawer-body>*+:not(.backdrop){margin-top:12px}.drawer-body .table-card{overflow-x:auto}.drawer-body .table-card thead th,.drawer-body .table-card tbody td{padding-left:12px;padding-right:12px}.drawer-body .table-card tbody td{vertical-align:top}.drawer-body .table-card thead th:first-child,.drawer-body .table-card tbody td:first-child{white-space:nowrap}.drawer-body .table-card .cell-actions{flex-wrap:nowrap;justify-content:flex-end}.drawer-body .cell-truncate{width:100%;max-width:0}.fixed-tooltip{background:var(--text);color:var(--surface);white-space:normal;z-index:9999;pointer-events:none;text-align:left;text-transform:none;letter-spacing:0;border-radius:6px;width:220px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.5;position:fixed;transform:translate(-50%,-100%)}.fixed-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--text);position:absolute;top:100%;left:50%;transform:translate(-50%)}.fixed-tooltip--below{transform:translate(-50%)}.fixed-tooltip--pre-wrap{white-space:pre-wrap}.fixed-tooltip--below:after{border-top-color:#0000;border-bottom-color:var(--text);top:auto;bottom:100%}.th-has-tooltip{cursor:default}thead th.th-daterange-linked{background:var(--primary-light);color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary);transition:background .15s,color .15s,box-shadow .15s}.info-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.info-tooltip-icon{border:1.5px solid var(--text-muted);width:15px;height:15px;color:var(--text-muted);cursor:default;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.info-tooltip-icon:hover{border-color:var(--primary);color:var(--primary)}.info-tooltip-bubble{background:var(--text);color:var(--surface);white-space:normal;z-index:9999;pointer-events:none;border-radius:6px;width:220px;padding:8px 10px;font-size:12px;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tooltip-bubble:after{content:"";border:5px solid #0000;border-top-color:var(--text);position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-tooltip-wrap:hover .info-tooltip-bubble{display:block}.info-tooltip-portal{bottom:auto;left:var(--tip-x);top:var(--tip-y);display:block;position:fixed;transform:translate(-50%)translateY(calc(-100% - 6px))}.rh-modal{flex-direction:column;width:920px;max-height:min(82vh,740px);padding:30px 32px 0;display:flex;overflow:hidden}.rh-modal-head{flex-shrink:0;align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.rh-modal-head .modal-title{margin-bottom:0}.rh-total{color:var(--text-muted);font-size:12px}.rh-state{color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:40px 0;font-size:14px;display:flex}.rh-list{flex:1;min-height:0;margin:0 -32px;padding:0 32px;overflow-y:auto}.rh-table{border-collapse:collapse;width:100%;font-size:13px}.rh-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 10px 10px 4px;font-size:11px;font-weight:600}.rh-table thead th:last-child{padding-right:0}.rh-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 10px 10px 4px}.rh-row:last-child td{border-bottom:none}.rh-row--clickable{cursor:pointer}.rh-row--clickable:hover td{background:var(--surface-2)}.rh-row--open td{background:var(--surface-2);border-bottom-color:#0000}.rh-td-date{color:var(--text);white-space:nowrap;width:158px;font-weight:600}.rh-td-user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:0;font-size:12px;overflow:hidden}.rh-td-result{white-space:nowrap;width:1px}.rh-pills{align-items:center;gap:5px;display:flex}.rh-pill{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.5}.rh-pill--updated{background:var(--primary-light);color:var(--primary-dark)}.rh-pill--created{background:var(--success-bg);color:var(--success-text)}.rh-pill--skipped{background:var(--surface-2);color:var(--text-faint)}.rh-td-changes{text-align:right;width:72px;font-size:13px}.rh-count{color:var(--text-secondary);font-weight:600}.rh-none{color:var(--text-faint)}.rh-td-chevron{text-align:center;width:28px;padding-right:0!important}.rh-chevron{color:var(--text-faint);margin:0 auto;transition:transform .18s;display:block}.rh-chevron--open{color:var(--text-muted);transform:rotate(180deg)}.rh-row--clickable:hover .rh-chevron{color:var(--text-muted)}.rh-detail-row td{border-bottom:1px solid var(--border);background:var(--surface-2);padding:0}.rh-detail{flex-direction:column;gap:10px;max-height:320px;padding:10px 0 14px;display:flex;overflow-y:auto}.rh-product{flex-direction:column;gap:4px;padding:0 32px;display:flex}.rh-product+.rh-product{border-top:1px solid var(--border);padding-top:10px}.rh-product-head{align-items:center;gap:8px;display:flex}.rh-sku{font-size:11px;font-family:var(--font-mono,monospace);background:var(--border);color:var(--text-muted);border-radius:4px;flex-shrink:0;padding:1px 6px;font-style:normal}.rh-product-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.rh-badge{border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.rh-badge--created{background:var(--success-bg);color:var(--success-text)}.rh-badge--updated{background:var(--primary-light);color:var(--primary-dark)}.rh-fc{align-items:baseline;gap:6px;padding-left:2px;font-size:12px;display:flex}.rh-fc-label{color:var(--text-faint);flex-shrink:0;width:80px;font-size:11px}.rh-fc-from{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;text-decoration:line-through;overflow:hidden}.rh-fc-arrow{color:var(--text-faint);flex-shrink:0;font-size:11px}.rh-fc-to{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;overflow:hidden}.rh-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 0 28px;display:flex}.rh-modal .modal-footer{padding-bottom:28px}.rh-range{color:var(--text-muted);min-width:80px;font-size:12px}.rh-pagination{align-items:center;gap:10px;display:flex}.rh-page-info{color:var(--text-muted);text-align:center;min-width:40px;font-size:13px}.refresh-stock-desc{margin-bottom:14px;font-size:14px}.refresh-stock-fields{color:var(--text);flex-direction:column;gap:6px;margin:0 0 14px;padding-left:20px;font-size:14px;display:flex}.refresh-stock-note{margin-bottom:0;font-size:13px}.modal-events{width:920px;max-height:82vh;overflow-y:auto}.events-modal-subtitle{color:var(--text-muted);margin-top:-14px;margin-bottom:18px;font-size:12px}.events-table{border-collapse:collapse;width:100%;font-size:13px}.events-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:0 10px 8px 0;font-size:11px;font-weight:600}.events-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px 9px 0}.events-table tr:last-child td{border-bottom:none}.events-table-time{white-space:nowrap;color:var(--text-muted);width:130px;font-size:12px}.events-table-event{width:130px}.events-table-status{width:100px}.events-table-message{color:var(--text-secondary);word-break:break-word}.audit-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 22px 18px;display:flex}.audit-filter-group{flex-direction:column;gap:5px;display:flex}.audit-filter-group label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-size:10.5px;font-weight:600}.audit-filter-group .sel-trigger{min-width:160px}.audit-filter-group select,.audit-filter-group input[type=date],.audit-filter-group input[type=text]{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);border-radius:10px;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.audit-filter-group select:focus,.audit-filter-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #091d5b1a}.audit-user-search{position:relative}.audit-user-search input[type=text]{width:240px;padding-right:28px}.audit-clear-filters-btn{height:36px}.audit-clear-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:16px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.audit-clear-btn:hover{color:var(--text)}.audit-suggestions{background:var(--surface);border:1.5px solid var(--border);box-shadow:0 4px 20px #0000001a, var(--glass-inset);z-index:200;border-radius:10px;max-height:240px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.audit-suggestions li{cursor:pointer;flex-direction:column;gap:2px;padding:8px 14px;display:flex}.audit-suggestions li:hover{background:var(--surface-2)}.audit-suggestions li span:first-child{color:var(--text);font-size:13px}.audit-ts{white-space:nowrap}.audit-status{text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.audit-status-success{background:var(--success-bg);color:var(--success-text)}.audit-status-failure{background:var(--danger-bg);color:var(--danger-text)}.audit-value-change{align-items:center;gap:5px;margin-top:5px;display:inline-flex}.audit-val{border-radius:4px;padding:2px 7px;font-size:11.5px;font-weight:500}.audit-val-before{background:var(--danger-bg);color:var(--danger-text)}.audit-val-after{background:var(--success-bg);color:var(--success-text)}.audit-val-arrow{color:var(--text-muted);font-size:11px}.fw-600{font-weight:600}.text-muted{color:var(--text-muted)}.row-actions{justify-content:flex-end;gap:6px;display:flex}.price-breakdown{flex-direction:column;gap:10px;display:flex}.price-breakdown-row{justify-content:space-between;align-items:baseline;gap:16px;font-size:14px;display:flex}.price-breakdown-label{color:var(--text-muted)}.price-breakdown-value{white-space:nowrap}.price-breakdown-divider{border-top:1px solid var(--border-strong)}.price-breakdown-total .price-breakdown-label,.price-breakdown-total .price-breakdown-value{color:var(--text);font-size:15px;font-weight:600}.page-back-link{margin-bottom:6px;font-size:13px}.page-back-link a{color:var(--text-muted);text-decoration:none}.page-back-link a:hover{color:var(--primary)}.page-head-meta{align-items:center;gap:8px;margin-top:6px;display:flex}.detail-grid-3{grid-template-columns:1fr 1fr 1fr;gap:20px;padding:20px 24px;display:grid}.detail-value{color:var(--text);font-size:14px}.detail-stock-total{color:var(--text-muted);margin-top:2px;font-size:13px}.section-gap{margin-top:28px}.detail-form{padding:20px 24px 8px}.detail-form-pad{padding:0 24px}.detail-form-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:8px;padding:16px 0 12px;display:flex}.ds24-ipn-modal-help{color:var(--text-muted);margin-bottom:16px;font-size:13px;line-height:1.5}.ds24-ipn-modal-row{align-items:center;gap:8px;margin-bottom:20px;display:flex}.ds24-ipn-modal-input{border:1px solid var(--border);background:var(--surface-raised,#f5f7fa);border-radius:10px;flex:1;padding:8px 10px;font-family:monospace;font-size:13px}.hg-step-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:700}.hg-doc{border-top:1px solid var(--border);margin-top:4px;padding-top:24px}.hg-doc-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:14px;font-size:11px;font-weight:600}.hg-doc-section{margin-bottom:20px}.hg-doc-section-title{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:700}.hg-doc-desc{color:var(--text-muted);margin-bottom:8px;font-size:12px;line-height:1.55}.hg-doc-flow{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;padding:10px 14px;font-size:12px;display:flex}.hg-doc-flow-step{color:var(--text-secondary);font-weight:500}.hg-doc-flow-arrow{color:var(--text-faint);font-size:11px}.hg-doc-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hg-doc-code-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:5px;font-size:10.5px;font-weight:600}.hg-doc-pre{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);white-space:pre;border-radius:10px;margin:0;padding:12px 14px;font-family:monospace;font-size:11.5px;line-height:1.6;display:block;overflow-x:auto}.text-right{text-align:right}.col-shrink{white-space:nowrap;width:1%}.col-product{min-width:220px}.col-num{width:115px}.col-num-wide{width:165px}.col-date{width:160px}thead th.col-num,thead th.col-num-wide,thead th.col-date{white-space:normal}thead th.col-num .th-sort-icon,thead th.col-num-wide .th-sort-icon,thead th.col-date .th-sort-icon{margin-left:0;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.col-notes{width:220px}.table-scroll-x{overflow-x:auto}.stock-low{color:#dc2626;align-items:center;font-weight:700;display:inline-flex}.fulfillment-grid{align-items:flex-start;gap:24px;display:flex}.fulfillment-grid-left{flex-direction:column;flex:0 0 560px;gap:20px;min-width:0;display:flex}.fulfillment-grid-right{flex:1;min-width:320px;max-width:560px}.searchable-select{min-width:200px}.searchable-select-trigger{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s;display:flex}.searchable-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.searchable-select-trigger:hover{border-color:var(--border-strong)}.searchable-select-trigger:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #091d5b1a}.searchable-select-placeholder{color:var(--text-faint)}.searchable-select-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:280px;max-width:400px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.searchable-select-dropdown--wide{min-width:360px;max-width:600px}.searchable-select-search{border-bottom:1px solid var(--border);padding:8px 8px 4px}.searchable-select-search input{border:1px solid var(--border);background:var(--surface-2);height:28px;color:var(--text);box-sizing:border-box;border-radius:5px;width:100%;padding:0 8px;font-size:12.5px}.searchable-select-search input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #091d5b1a}.searchable-select-options{max-height:400px;padding:4px 0;overflow-y:auto}.searchable-select-option{text-align:left;cursor:pointer;width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:7px 12px;font-family:inherit;font-size:13px;display:block;overflow:hidden}.searchable-select-option:hover{background:var(--primary-light)}.searchable-select-option.selected{color:var(--primary);background:var(--primary-light);font-weight:600}.searchable-select-empty{color:var(--text-muted);padding:8px 12px;font-size:13px}.sel-wrap{display:block}.sel-trigger{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s;display:flex}.sel-trigger:hover:not(:disabled){border-color:var(--border-strong)}.sel-trigger:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #091d5b1a}.sel-trigger:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-2)}.sel-trigger-inner{flex:1;min-width:0;display:grid;overflow:hidden}.sel-trigger-inner>*{white-space:nowrap;text-overflow:ellipsis;text-align:left;grid-area:1/1;overflow:hidden}.sel-sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.sel-placeholder{color:var(--text-faint)}.sel-arrow{color:var(--text-muted);flex-shrink:0}.sel-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:8px;max-width:420px;overflow:hidden}.sel-options{max-height:240px;padding:4px 0;overflow-y:auto}.sel-option{text-align:left;cursor:pointer;width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:7px 12px;font-family:inherit;font-size:13px;display:block;overflow:hidden}.sel-option:hover{background:var(--surface-2)}.sel-option.selected{color:var(--primary);background:var(--primary-light);font-weight:500}.sel-group-header{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-top:1px solid var(--border);margin-top:2px;padding:6px 12px 2px;font-size:10.5px;font-weight:700}.sel-group-header:first-child{border-top:none;margin-top:0}.sel-wrap.sel-inline{width:auto;display:inline-block}.sel-inline .sel-trigger{width:auto;min-width:80px}.ing-row .sel-wrap{flex-direction:column;display:flex}.ing-row .sel-trigger{border-width:1.5px;border-radius:8px;flex:1;height:auto;padding:5px 8px;font-size:13px}.ing-row .sel-trigger:focus-visible{box-shadow:none}.forecast-filters{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 22px 14px;display:flex}.note-cell{cursor:pointer;border-radius:4px;min-width:100px;padding:3px 6px;transition:background .1s;display:inline-block}.note-cell:hover{background:var(--border)}.note-placeholder{color:var(--text-faint);font-size:12px;font-style:italic}.note-input{border:1px solid var(--primary-mid);background:var(--surface);width:100%;min-width:140px;height:30px;color:var(--text);border-radius:6px;outline:none;padding:0 8px;font-family:inherit;font-size:13px;box-shadow:0 0 0 3px #3b82f61f}.note-input.note-input--at-limit{border-color:var(--danger);box-shadow:0 0 0 3px #ef444426}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-head .modal-title{margin-bottom:2px}.modal-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.badge-invoice-draft{color:#64748b;background:#f1f5f9}.badge-invoice-sent{background:var(--primary-light);color:var(--primary-dark)}.badge-invoice-paid{background:var(--success-bg);color:var(--success-text)}tbody{transition:opacity .2s}.tbody-loading{opacity:.45;pointer-events:none}.table-loading{text-align:center;color:var(--text-muted);padding:40px 24px}.table-loading strong{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.tier-selector{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:flex}.tier-header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 20px;display:flex}.tier-header-name{font-size:15px;font-weight:600}.tier-header-desc{color:var(--text-muted);margin-top:2px;font-size:13px}.td-muted{color:var(--text-muted)}.td-sm{color:var(--text-muted);font-size:12.5px}.td-bold{font-weight:600}.td-medium{font-weight:500}.text-muted{color:var(--text-muted);font-weight:400}.text-danger{color:var(--danger)}.text-success{color:var(--success-text)}.td-sub{color:var(--text-muted);font-size:12px}.td-right{text-align:right}.input-sm{border:1px solid var(--border);border-radius:8px;width:100px;padding:5px 8px;font-size:13px}.price-cell{align-items:center;gap:4px;display:flex}.price-cell-symbol{color:var(--text-muted);font-size:13px}.select-sm{padding:5px 8px;font-size:13px}.invoice-meta{color:var(--text-muted);gap:24px;margin-bottom:16px;font-size:13px;display:flex}.tfoot-label{text-align:right;border-top:2px solid var(--border);padding:12px 20px;font-weight:600}.tfoot-value{text-align:right;border-top:2px solid var(--border);padding:12px 20px;font-size:15px;font-weight:700}.empty-compact{text-align:center;color:var(--text-muted);padding:24px}.empty-compact strong{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.text-border{color:var(--border)}.mono-xs{font-family:monospace;font-size:11px}.row-selected{background:var(--primary-light)}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sort-arrow{opacity:.25;margin-left:5px}.sort-arrow-active{opacity:1}.info-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.info-row-label{width:140px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;font-size:13px;display:flex}.info-row-value{flex:1;font-size:13px}.info-row select{min-width:200px}.config-card{max-width:560px;padding:24px 28px}.alert{border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.alert-ok{background:var(--success-bg);color:var(--success-text)}.alert-warn{background:var(--warning-bg);color:var(--warning-text)}.alert-error{background:var(--danger-bg);color:var(--danger-text)}.note-text{color:var(--text-muted);margin-bottom:20px;font-size:13px;line-height:1.6}.note-text p+p{margin-top:10px}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.panel-name{font-size:17px;font-weight:700}.panel-name-sm{font-size:15px;font-weight:700}.panel-meta{color:var(--text-muted);margin-top:2px;font-size:13px}.panel-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.chip{border-radius:4px;padding:2px 8px;font-size:11px;display:inline-block}.chip-neutral{background:var(--surface-2);color:var(--text-muted)}.chip-warn{background:var(--warning-bg);color:var(--warning-text);border:1px solid #fde047}.chip-mono{background:var(--surface-2);color:var(--text-muted);font-family:monospace}.detail-tab-bar{padding:0 8px;display:flex;overflow-x:auto}.detail-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:400}.detail-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.form-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.panel-flex{flex:1;min-width:0}.form-label-sm{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.mini-pager{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 22px;font-size:12px;display:flex}.mini-pager-controls{align-items:center;gap:6px;display:flex}.mini-pager-btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:7px;padding:3px 9px;font-size:12px;font-weight:600}.mini-pager-btn:disabled{opacity:.3;cursor:default}.mt-2{margin-top:2px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-2{margin-bottom:2px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-auto{margin-top:auto}.align-self-end{align-self:flex-end}.cell-nowrap{white-space:nowrap}.col-80{width:80px}.col-100{width:100px}.col-120{width:120px}.col-130{width:130px}.col-140{width:140px}.col-160{width:160px}.col-200{width:200px}.col-240{width:240px}.flex-row{align-items:center;gap:12px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.stack-24{flex-direction:column;gap:24px;display:flex}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.form-narrow{max-width:420px}.scroll-320{max-height:320px;overflow-y:auto}.row-viewing{background:var(--primary-light);border-left:3px solid var(--primary)}.chip-self{text-transform:uppercase;letter-spacing:.05em;color:#1d4ed8;background:#dbeafe;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.fw-bold{font-weight:700}.fw-normal{font-weight:400}.text-italic{font-style:italic}.fs-18{font-size:18px}.fs-20{font-size:20px}.section-head{margin-bottom:20px;font-size:14px;font-weight:600}.ml-8{margin-left:8px}.mb-10{margin-bottom:10px}.modal-2xl{width:860px;max-height:90vh;overflow-y:auto}.modal-head{justify-content:space-between;align-items:flex-start;display:flex}.badge-sm{padding:1px 6px;font-size:10px}.hg-step{margin-bottom:20px}.hg-description{color:var(--text-muted);margin-bottom:8px;font-size:12px}.input-url{border:1px solid var(--border);background:var(--surface-raised,#f5f7fa);border-radius:10px;flex:1;padding:8px 10px;font-family:monospace;font-size:12px}.card-body-timeline{padding:24px 28px 16px}.card-body-col{flex-direction:column;gap:16px;padding:20px 28px;display:flex}.notify-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-top:16px;padding:8px 12px;font-size:12px}.version-note{margin-top:4px;font-size:12px;line-height:1.4}.ing-dot-pkg{background:#94a3b8}.ing-col-wide{flex:3}.ing-col-amount{flex:1}.ing-col-role{width:80px}.ing-role-cell{color:var(--text-muted);background:#f8fafc;justify-content:center;align-items:center;font-size:12px;display:flex}.ing-col-unit{width:72px}.ing-col-btn{width:32px}.formula-desc{margin:16px 0;font-size:13.5px;line-height:1.6}.modal-desc{color:var(--text-muted);margin-bottom:16px;font-size:13px}.confirm-message{color:var(--text-muted);overflow-wrap:anywhere;margin-bottom:20px}.assign-empty{color:var(--text-muted);padding:12px 0;font-size:13px}.channel-info{background:var(--surface-raised,#f5f7fa);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px}.pills-row{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:13px;transition:all .14s}.filter-pill:hover:not(.filter-pill-active){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.filter-pill-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.filter-pill-active:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;transform:scale(1.03)}.session-list{flex-direction:column;gap:10px;display:flex}.session-row{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.session-info{flex-direction:column;gap:3px;min-width:0;display:flex}.session-device{color:var(--text);font-size:13px;font-weight:600}.session-meta{color:var(--text-muted);font-size:12px}.upload-zone-wrap{flex-direction:column;gap:8px;display:flex}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:28px 20px;transition:border-color .15s,background .15s}.upload-zone:hover,.upload-zone--drag-over{border-color:var(--primary);background:var(--primary-light)}.upload-zone--loading{pointer-events:none;opacity:.65}.upload-zone__icon{width:28px;height:28px;color:var(--text-muted);margin:0 auto 8px}.upload-zone__text{color:var(--text-muted);margin:0;font-size:.875rem}.upload-zone__text--loading{font-style:italic}.upload-zone__browse{color:var(--primary);font-weight:600}.upload-zone__hint{color:var(--text-faint);margin:6px 0 0;font-size:.75rem}.upload-file-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 14px;display:flex}.upload-file-chip__icon{flex-shrink:0;font-size:1rem}.upload-file-chip--uploading{border-color:var(--primary);background:var(--primary-light)}.upload-file-chip__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.upload-file-chip__status{color:var(--text-muted);white-space:nowrap;font-size:.8rem;font-style:italic}.badge-success{background:var(--success-bg);color:var(--success-text)}.mb-0{margin-bottom:0}.ul-plain{margin:0;padding-left:18px}.color-picker-row{align-items:stretch;gap:8px;display:flex}.color-input{border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;width:40px;height:40px;padding:3px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:5px}.color-hex-input{flex-shrink:0;width:100px}.td-name-with-swatch{align-items:center;gap:8px;display:flex}.ingredient-color-swatch{background-color:var(--swatch-color);border:1px solid #0000001f;border-radius:6px;flex-shrink:0;width:24px;height:24px;display:inline-block}
