:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #141f33;--text: #e8eef5;--heading: #f8fafc;--text-secondary: #b8c5d6;--muted: #9fb0c4;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .14);--danger: #f87171;--warn: #fbbf24;--success: #86efac;--border: #3d5168;--border-subtle: rgba(148, 163, 184, .18)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.card>h2,.card-head h2{margin:0;font-size:1.375rem;font-weight:650;letter-spacing:-.015em;color:var(--heading);line-height:1.35}.card>h2{margin-bottom:4px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle);gap:12px}.center{min-height:100vh;display:grid;place-items:center}.muted{color:var(--muted)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;min-height:56px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:20px;min-width:0;flex:1}.topnav{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:8px 0}.topnav-item{background:transparent;color:var(--text-secondary);padding:8px 12px;font-size:14px;white-space:nowrap;border-radius:8px}.topnav-item:hover{color:var(--heading);background:var(--panel-2)}.topnav-item.active{color:var(--heading);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--border);font-weight:600}.userbox-btn{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;text-align:right;padding:8px 12px;border-radius:10px}.userbox-btn:hover{border-color:var(--accent)}.userbox-name{display:block;font-size:14px;font-weight:600;color:var(--heading)}.content-wide{justify-content:stretch;max-width:1400px;margin:0 auto;width:100%}.stack.full-width,.stack{width:100%}.drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;border:none;cursor:pointer}.drawer-panel{position:relative;width:min(420px,100vw);height:100%;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-8px 0 24px #00000040}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-header h2{margin:0;font-size:1.25rem;font-weight:650;color:var(--heading)}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.drawer-footer{padding:16px 20px;border-top:1px solid var(--border)}.drawer-form{display:flex;flex-direction:column;gap:12px}.drawer-form textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:14px;resize:vertical}.drawer-section{margin-top:20px}.drawer-section h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--heading)}.account-block{display:flex;gap:12px;align-items:center}.account-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#0f172a;display:grid;place-items:center;font-weight:700;font-size:20px}.account-name{font-weight:600}.info-list{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:13px}.info-list dt{color:var(--muted)}.info-list dd{margin:0}.status-signal{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:6px 10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border-subtle)}.status-signal.ok{color:#86efac}.status-signal.warn{color:#fde68a}.signal-dot{width:10px;height:10px;border-radius:50%;background:currentColor}.overview-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.alert-banner{margin-top:10px;padding:10px 12px;border-radius:8px;background:#450a0a;color:#fca5a5;font-size:13px}.alert-banner.warn{background:#422006;color:#fcd34d}.alerts-hints li{margin-bottom:10px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#38bdf814}.product-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;background:var(--panel-2)}.product-thumb-lg{width:72px;height:72px;object-fit:cover;border-radius:10px;background:var(--panel-2);display:block}.thumb-placeholder{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);background:var(--panel-2);border-radius:6px;font-size:12px}.product-thumb-lg.thumb-placeholder,.thumb-placeholder.product-thumb-lg{width:72px;height:72px;border-radius:10px}.btn-danger{width:100%;background:#7f1d1d;color:#fecaca}.data-table.compact td,.data-table.compact th{padding:6px 8px;font-size:12px}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo-wrap{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:8px;background:#f8fafc;border:1px solid rgba(148,163,184,.35)}.brand-logo-on-light{background:transparent;border-color:transparent;padding:0}.brand-logo-sm .brand-wordmark{height:22px}.brand-logo-sm .brand-icon{height:24px}.brand-logo-md .brand-wordmark{height:28px}.brand-logo-md .brand-icon{height:32px}.brand-logo-lg .brand-wordmark{height:36px}.brand-logo-lg .brand-icon{height:44px}.brand-wordmark,.brand-icon{width:auto;display:block;object-fit:contain}.app-loading{flex-direction:column;gap:16px}.login-brand{display:flex;justify-content:center;margin-bottom:4px}.login-brand .brand-logo-wrap{padding:10px 16px;border-radius:12px}.userbox{display:flex;align-items:center;gap:12px;font-size:14px}.roles{color:var(--text-secondary);font-size:12px}.content{flex:1;padding:24px;display:flex;justify-content:center}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000024}.card-head-actions{display:flex;align-items:center;gap:6px}.icon-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);cursor:pointer}.icon-tool-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-tool-btn:disabled{opacity:.55;color:var(--text-secondary);cursor:not-allowed}.login{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;margin-top:8vh}.login h1{margin:0 0 4px;font-size:1.5rem;font-weight:650;color:var(--heading)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500}input{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}button{padding:10px 14px;border-radius:8px;border:none;background:var(--accent);color:#06283d;font-weight:600;cursor:pointer}button:disabled{opacity:.72;cursor:not-allowed;filter:saturate(.85)}button:disabled:not(.link):not(.secondary):not(.btn-muted):not(.icon-tool-btn){background:#2d4a62;color:#9eb4c8}button.link{background:none;color:var(--accent);padding:4px 8px;font-weight:500}button.secondary,button.btn-muted{background:var(--panel);color:var(--text);border:1px solid var(--border);font-weight:600}button.secondary:hover:not(:disabled),button.btn-muted:hover:not(:disabled){background:#243652;border-color:#647f9c;color:var(--heading)}button.secondary:active:not(:disabled),button.btn-muted:active:not(:disabled){background:var(--panel-2)}button.secondary:disabled,button.btn-muted:disabled{background:var(--panel-2);border-color:var(--border);color:#8fa3b8;opacity:1;filter:none}.error{color:var(--danger);font-size:13px}.grid{width:100%;max-width:960px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack{width:100%;max-width:960px;display:flex;flex-direction:column;gap:20px}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.btn-row button{font-size:13px}.sync-msg{font-size:13px;color:var(--accent);margin-bottom:8px;word-break:break-word}.subhead{margin:18px 0 10px;font-size:15px;font-weight:600;color:var(--heading)}.small{font-size:13px;margin:0 0 8px}.full-width{max-width:1100px;width:100%}.tabs{display:flex;gap:8px;margin-bottom:4px}.tab{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-secondary);font-size:13px;cursor:pointer}.tab:hover:not(.active){color:var(--text);border-color:var(--border)}.tab.active{background:var(--panel);color:var(--accent);border-color:var(--accent);font-weight:600}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.inline-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.inline-form input{flex:1;min-width:140px}.table-wrap{overflow-x:auto;margin-top:12px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{color:var(--text-secondary);font-weight:600;font-size:12px;background:#0f172a59}.data-table th,.data-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.cell-title{font-weight:500;color:var(--text)}.cell-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-suggested,.badge-auto_detected{background:#1e3a5f;color:#7dd3fc}.badge-confirmed{background:#14532d;color:#86efac}.badge-missing_product,.badge-sku_not_found{background:#422006;color:#fcd34d}.badge-needs_review{background:#3b0764;color:#d8b4fe}.badge-invalid_format{background:#450a0a;color:#fca5a5}.badge-valid{background:#14532d;color:#86efac}.badge-locked{background:#475569;color:#f1f5f9}.badge-rejected{background:#450a0a;color:#fca5a5}.badge-draft_uploaded{background:#312e81;color:#c4b5fd}.status-box{margin-top:16px;padding:14px;background:var(--panel-2);border-radius:8px}.status-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.warn-box{margin-top:10px;padding:10px 12px;border-radius:8px;background:#422006;color:#fde68a;border:1px solid rgba(251,191,36,.35);font-size:13px;line-height:1.45}.warn-box-clickable{display:block;width:100%;text-align:left;border:1px solid #78350f;cursor:pointer;font-family:inherit}.warn-box-clickable:hover{background:#4c2510}.warn-box-hint{color:#fef3c7;font-weight:400}.no-revenue-block{margin-top:14px;display:flex;flex-direction:column;gap:10px}.no-revenue-block textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:inherit;resize:vertical}.date-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:12px}.calendar-grid-pages{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.cal-day{padding:10px 8px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);text-align:center}.cal-day-pages{text-align:left;cursor:default;min-height:120px}.cal-day.active{border-color:var(--accent)}.cal-date{font-weight:600;font-size:13px;margin-bottom:6px}.cal-badge{font-size:10px;display:inline-block;white-space:normal;line-height:1.3;color:var(--text-secondary);margin-bottom:8px}.cal-page-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-page-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.cal-page-name{font-size:11px;line-height:1.3;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cal-page-badge{flex-shrink:0;font-size:9px;max-width:72px;white-space:normal;text-align:center;line-height:1.2}.btn-row.compact button{padding:6px 10px;font-size:12px}.compact-json{max-height:200px}code{font-size:12px;color:var(--accent)}select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:14px}.tree{margin-top:12px;font-size:13px}.tree-node{margin-bottom:12px}.tree-node.nested{margin-left:16px;padding-left:12px;border-left:2px solid var(--border)}.tree-title{font-weight:600;margin-bottom:6px}.tree-leaf{margin-left:16px;padding:4px 0;color:var(--text-secondary)}.owner-tag{display:inline-block;margin-left:8px;font-size:11px;font-weight:400;color:var(--accent)}.upload-form{display:flex;flex-direction:column;gap:14px;margin-top:12px;max-width:400px}.mapping-grid{display:flex;flex-direction:column;gap:10px;margin:12px 0 16px}.mapping-row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center;font-size:13px}.summary-grid{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;font-size:13px}.summary-grid .ok{color:#86efac}.summary-grid .warn{color:#fde68a}.summary-grid .err{color:#fca5a5}.preview-group{margin-top:16px}.preview-group h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--heading)}.order-block{margin-bottom:8px;padding:8px 10px;background:var(--panel-2);border-radius:8px;border:1px solid var(--border-subtle)}.order-block summary{cursor:pointer;font-size:13px;color:var(--text)}.err-inline{color:#f87171;font-size:12px}.filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.filter-row .tab{font-size:12px;padding:6px 10px}.preview-split{display:grid;grid-template-columns:260px 1fr;gap:16px;margin-top:12px;min-height:280px}.preview-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto}.preview-list h4,.preview-detail h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--heading)}.order-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:8px 10px;background:var(--panel-2);border:1px solid transparent;border-radius:8px;cursor:pointer;width:100%;color:var(--text);font-weight:500}.order-pick:hover:not(.active){border-color:var(--border);background:#243652}.order-pick.active{border-color:var(--accent);color:var(--heading)}.order-pick .badge{font-size:10px;padding:2px 6px;border-radius:4px;margin-top:4px}.order-pick .badge.warn{background:#422006;color:#fcd34d}.order-pick .badge.muted{background:var(--panel);color:var(--muted)}.preview-detail{background:var(--panel-2);border-radius:8px;padding:12px}.attr-meta{font-size:13px;margin-bottom:12px}.attr-meta p{margin:4px 0}.resolve-box{margin-bottom:12px;padding:10px;background:var(--panel);border-radius:8px}@media (max-width: 720px){.preview-split{grid-template-columns:1fr}}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}.filter-bar .date-label{font-size:12px}.dashboard-section h4{margin:0 0 8px;font-size:14px}.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:8px}.period-select-wrap{min-width:200px}.period-select{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.custom-range-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.custom-range-inputs input[type=date]{padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.filter-popover-wrap{position:relative;margin-left:auto}.icon-filter-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.icon-filter-btn:hover,.icon-filter-btn.active{border-color:var(--accent);color:var(--accent)}.filter-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.filter-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(320px,90vw);padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--panel);box-shadow:0 12px 32px #00000047}.filter-popover h4{margin:0 0 12px;font-size:15px}.filter-popover label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px}.filter-popover input{padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.dashboard-period-hint{margin:0 0 16px}.overview-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:20px}.overview-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.overview-section-head .subhead{margin:0}.overview-expand-btn{flex-shrink:0;font-size:13px}.overview-extended-title{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.overview-metric-card{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2)}.overview-metric-label{font-size:13px;color:var(--text-secondary);line-height:1.4;margin-bottom:6px}.overview-metric-value{font-size:20px;font-weight:700;line-height:1.2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-panel-wide{width:min(960px,100%)}.modal-subtitle{margin:4px 0 0}.modal-body h4.subhead{margin:8px 0 0}.compact-hints{margin-bottom:16px}.btn-row.tight{gap:8px;margin-top:4px}.product-perf-group-row{cursor:pointer}.product-perf-group-row:hover{background:var(--panel-2)}.product-perf-sku-row td{background:var(--panel)}.product-perf-sku-row .sku-indent{padding-left:1.25rem}.group-expand-btn{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer}.dashboard-overview-hint{margin:-4px 0 12px}.dashboard-section{margin:16px 0 1.5rem}.product-perf-table .pick-mosaic,.product-perf-table .product-perf-mosaic,.product-perf-table .pick-thumb,.product-perf-table .product-perf-thumb{width:60px;height:60px}.product-detail-modal-head{display:flex;align-items:center;gap:12px}.product-perf-modal-mosaic,.product-perf-modal-thumb{width:60px;height:60px}.dashboard-section h4{margin:8px 0 4px;font-size:13px}.hint-list{margin:8px 0;padding-left:18px;font-size:13px;color:var(--muted)}.inner-tabs{margin-top:16px}.table-scroll{overflow-x:auto;margin-top:12px}.cell-title{font-weight:500}.warn-inline{color:#fde68a;font-size:12px}.full-width{flex-basis:100%}.badge-not_started{background:#334155;color:#e2e8f0}.badge-submitted{background:#1e3a5f;color:#93c5fd}.badge-pending_confirmation{background:#713f12;color:#fde68a}.badge-approved{background:#14532d;color:#86efac}.badge-no_revenue{background:#422006;color:#fcd34d}.badge-needs_review{background:#4c1d95;color:#c4b5fd}.badge-rejected{background:#7f1d1d;color:#fca5a5}.search-results{display:flex;flex-direction:column;gap:6px;margin:8px 0}.search-result-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:var(--panel-2);border-radius:8px;font-size:13px}.row-error td{background:#f8717114}.settings-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.data-table.compact th,.data-table.compact td{padding:6px 8px;font-size:12px}.link.danger{color:var(--danger);background:none;border:none;padding:0;cursor:pointer;font-size:12px}.product-checklist{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;margin-top:8px}.check-row{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.upload-label{display:inline-flex;align-items:center;flex-direction:row;gap:0;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text)}.upload-label:hover{border-color:var(--accent);color:var(--heading);background:#38bdf814}.product-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.product-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;font-size:12px}.chip-thumb{width:28px;height:28px;border-radius:6px;object-fit:cover;background:var(--panel)}.chip-thumb.placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted)}.chip-remove{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-weight:600;font-size:16px;line-height:1;padding:0 2px}.chip-remove:hover{color:var(--danger)}.product-chip-group{border-radius:10px;padding-right:8px}.chip-mosaic,.pick-mosaic{width:36px;height:36px;flex-shrink:0;border-radius:6px;overflow:hidden}.chip-kind,.pick-kind{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--accent);margin-right:4px}.image-mosaic{position:relative;display:grid;width:100%;height:100%;background:var(--panel);overflow:hidden}.image-mosaic img{width:100%;height:100%;object-fit:cover}.image-mosaic.mosaic-1{grid-template-columns:1fr;grid-template-rows:1fr}.image-mosaic.mosaic-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.image-mosaic.mosaic-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.image-mosaic.mosaic-3 img:first-child{grid-row:span 2}.image-mosaic.mosaic-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.mosaic-more{position:absolute;right:2px;bottom:2px;padding:1px 5px;border-radius:4px;background:#000000b8;color:#fff;font-size:10px;font-weight:700;line-height:1.4;pointer-events:none}.mosaic-placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted)}.pick-mosaic{width:40px;height:40px}.product-pick-group{border-style:dashed}.product-group-tab{position:absolute;top:8px;left:8px;z-index:1;max-width:calc(100% - 16px);padding:3px 8px;border-radius:6px;background:#000000b8;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-group-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:12px;font-weight:500}.product-group-field{display:flex;flex-direction:column;gap:8px}.product-group-field select{width:100%}.product-group-create{margin-top:4px}.product-pick-list{margin-top:8px}.product-pick-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text)}.product-pick-row:hover{border-color:var(--accent)}.pick-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--panel)}.pick-thumb.placeholder{display:grid;place-items:center;font-size:11px;color:var(--muted)}.pick-meta{display:flex;flex-direction:column;flex:1;min-width:0}.pick-add{font-size:12px;color:var(--accent);flex-shrink:0}.product-link-section,.naming-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.naming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}.naming-block{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.naming-block h4{margin:0 0 6px;font-size:13px}.naming-fields{margin:8px 0 0;padding-left:16px;font-size:12px;color:var(--muted)}.naming-fields li{margin:2px 0}.page-link{color:var(--accent);text-decoration:none}.page-link:hover{text-decoration:underline}.sku-confirm-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:12px;background:var(--panel-2);border:1px solid var(--accent);border-radius:8px}.sku-confirm-meta{display:flex;align-items:center;gap:10px;font-size:13px}.severity-high{background:#7f1d1d;color:#fca5a5}.severity-medium{background:#422006;color:#fcd34d}.severity-low{background:#1e3a5f;color:#93c5fd}.btn-row.compact{gap:6px}.decision-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start;margin-bottom:16px;overflow:visible}.decision-form>label,.decision-form>.entity-search-field{display:flex;flex-direction:column;gap:6px;min-width:0}.decision-form>label>input,.decision-form>label>select,.decision-form>label>textarea,.decision-form .entity-search-wrap>input{width:100%;box-sizing:border-box}.decision-form .full-width,.decision-form>button[type=submit],.decision-form>.entity-search-field{grid-column:1 / -1}.decision-form .date-label{min-width:0}@media (max-width: 720px){.decision-form,.grid{grid-template-columns:1fr}}.json{margin:12px 0 0;padding:12px;background:var(--panel-2);border-radius:8px;font-size:12px;overflow:auto;max-height:360px}.small-badge{display:inline-block;margin-left:6px;font-size:9px;padding:1px 6px;vertical-align:middle}.products-page .card-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.products-hint{margin:0 0 12px}.products-empty{padding:24px;text-align:center}.view-toggle{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:2px}.view-toggle button{border:none;background:transparent;color:var(--muted);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.view-toggle button.active{background:var(--accent);color:#0f172a;font-weight:600}.product-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.product-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel-2);cursor:pointer;transition:border-color .15s,transform .15s;min-height:300px}.product-card:hover{border-color:var(--accent);transform:translateY(-2px)}.product-card-media{position:relative;flex:2;min-height:160px;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card-media img{width:100%;height:100%;object-fit:cover}.product-card-media .thumb-placeholder{width:100%;height:100%;min-height:160px;border-radius:0;font-size:14px}.product-card-body{flex:1;padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.product-card-sku{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--accent)}.product-card-name{font-size:14px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-desc{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px}.product-card-links a{color:var(--accent);text-decoration:none}.product-card-links a:hover{text-decoration:underline}.product-card-prices{display:flex;flex-direction:column;gap:2px;font-size:12px;margin-top:4px}.product-card-prices em{font-style:normal;color:var(--muted);margin-right:4px}.product-card-footer{margin-top:auto;padding-top:8px}.badge-active{background:#14532d;color:#86efac;font-size:11px;padding:3px 8px;border-radius:999px}.products-table .col-img{width:88px}.products-table .col-num{text-align:right;white-space:nowrap}.products-table .sku-cell{font-family:ui-monospace,monospace;font-size:13px}.products-table .name-cell{max-width:280px}.product-drawer-form .drawer-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-drawer-preview{margin-bottom:8px}.product-drawer-img{width:100%;max-height:200px;object-fit:contain;border-radius:10px;background:var(--panel-2)}.drawer-field-readonly{display:flex;flex-direction:column;gap:4px;font-size:14px}.drawer-field-readonly .field-label{font-size:12px;color:var(--muted)}.note-field{display:flex;flex-direction:column;gap:8px}.note-field>label{font-size:13px;color:var(--muted)}.note-linkified{padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.note-linkified a{color:var(--accent);text-decoration:underline}.note-textarea{min-height:280px;resize:vertical;font-family:inherit;line-height:1.5}@media (max-width: 720px){.product-cards-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.product-drawer-form .drawer-field-row{grid-template-columns:1fr}}.order-row{cursor:pointer}.row-warn td{background:#fbbf241a}.order-row:hover td{background:#38bdf814}.ad-id-list{display:flex;flex-wrap:wrap;gap:4px}.ad-id-chip{font-family:ui-monospace,monospace;font-size:12px;padding:2px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}button.ad-id-chip{cursor:pointer;color:inherit}button.ad-id-chip:hover:not(:disabled){border-color:var(--accent)}.ad-id-primary{font-weight:700;border-color:var(--accent);background:#6366f11f}.ad-id-muted{color:var(--text-secondary)}.ad-id-invalid{color:#94a3b8;text-decoration:line-through;border-color:var(--border);background:#0f172a80}.linkish{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.mapping-row .req{color:#f87171}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;font-size:14px}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;border:none;cursor:pointer}.modal-panel{position:relative;width:min(920px,100%);max-height:min(88vh,900px);background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000059}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.125rem;font-weight:650;color:var(--heading)}.modal-body{overflow-y:auto;padding:16px 18px 20px}.modal-footer{padding:12px 18px 16px;border-top:1px solid var(--border);justify-content:flex-end}.sync-field-checklist{display:flex;flex-direction:column;gap:10px}.sync-field-option{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text);background:var(--panel)}.sync-field-option:hover{border-color:#647f9c;background:#243652}.sync-field-option input{margin-top:3px}.sync-field-preview{grid-column:2;word-break:break-word}.drawer-footer-actions{width:100%;justify-content:flex-end}.drawer-readonly-hint{margin:0;text-align:right}.staff-product-edit-permissions{margin:4px 0 8px;padding:14px;border-radius:10px;border:1px solid var(--border);background:#38bdf80f}.staff-product-edit-permissions .subhead{margin:0 0 8px}.staff-permission-toggle{margin-top:10px}.product-editor-permissions{margin:4px 0 12px;padding:14px;border-radius:10px;border:1px solid var(--border);background:#38bdf80f}.product-editor-permissions .subhead{margin:0 0 6px}.product-card-ads{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.product-editor-badge{margin-left:0}.icon-btn{background:none;border:none;color:var(--text);font-size:24px;line-height:1;cursor:pointer;padding:0 4px}.page-create-form{max-width:480px;margin-bottom:16px}.compact-btn{padding:4px 10px;font-size:13px}.optimization-suggestions-page{margin-top:4px}.optimization-hint{margin-bottom:12px}.optimization-form{margin-bottom:20px}.optimization-list-title{margin-top:8px}.entity-search-field{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.entity-search-field.is-open{z-index:40}.entity-search-wrap{position:relative}.entity-search-dropdown{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px 0;list-style:none;max-height:220px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040}.entity-search-dropdown button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 12px;border:none;background:none;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px}.entity-search-dropdown button:hover{background:#ffffff0f}.optimization-table .th-sort{background:none;border:none;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0}.optimization-table .note-cell{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.optimization-table .nowrap{white-space:nowrap}.opt-status{font-size:12px;padding:2px 8px;border-radius:999px;white-space:nowrap}.opt-status-pending{background:#422006;color:#fcd34d}.opt-status-in_progress{background:#1e3a5f;color:#93c5fd}.opt-status-waiting_info{background:#3b0764;color:#e9d5ff}.opt-status-done{background:#14532d;color:#86efac}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.section-title-row .subhead{margin:0}.perf-col-settings .modal-body{max-height:min(70vh,640px);overflow:auto}.perf-col-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width: 820px){.perf-col-settings-grid{grid-template-columns:1fr}}.perf-col-pane{display:flex;flex-direction:column;gap:10px;min-width:0}.perf-col-list{list-style:none;margin:0;padding:8px;display:flex;flex-direction:column;gap:6px;max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.perf-col-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--border)}.perf-col-item:last-child{border-bottom:none}.perf-col-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;min-width:0}.perf-col-order-btns,.perf-col-actions{display:inline-flex;gap:6px;flex-shrink:0}.danger-link{color:#f87171}.perf-col-chips,.perf-col-ops{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.chip-btn:hover{border-color:var(--accent)}.my-work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.my-work-card{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.my-work-card:hover{border-color:var(--accent);transform:translateY(-2px)}.my-work-card h3{margin:0 0 6px}.my-work-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px}.my-work-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px}.my-work-stat.active{border-color:var(--accent)}.my-work-stat-count{font-size:1.6rem;font-weight:700}.my-work-stat-label{font-size:.85rem;color:var(--muted)}.my-work-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px}.dq-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.dq-item:hover{transform:translateY(-2px)}.dq-item.dq-warn{border-color:var(--warn, #f59e0b)}.dq-count{font-size:1.5rem;font-weight:700}.dq-warn .dq-count{color:var(--warn, #f59e0b)}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.subnav-item{display:inline-block;padding:8px 14px;border-radius:8px;text-decoration:none;color:var(--muted);border:1px solid var(--border-subtle);font-size:.9rem}.subnav-item:hover{color:var(--text);border-color:var(--border)}.revenue-drill-link{font:inherit;font-weight:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;background:none;border:0;padding:0;cursor:pointer}.revenue-drill-link:hover{color:var(--text)}.note-input{width:100%;min-width:140px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface, transparent);color:inherit;font:inherit;font-size:.9rem}
