:root { --purple:#6f3ff5; --purple-dark:#5230ba; --purple-soft:#f3f0ff; --bg:#f6f7fb; --panel:#fff; --text:#202124; --muted:#6b7280; --border:#e3e5ea; --red:#b42318; --red-bg:#fef3f2; --orange:#b54708; --orange-bg:#fffaeb; --green:#067647; --green-bg:#ecfdf3; --blue:#175cd3; --blue-bg:#eff8ff; }
* { box-sizing:border-box; }
body { margin:0; font:14px/1.45 Arial,sans-serif; color:var(--text); background:var(--bg); }
.topbar { position:sticky; top:0; z-index:10; display:flex; align-items:center; gap:28px; padding:0 28px; min-height:64px; background:rgba(255,255,255,.97); border-bottom:1px solid var(--border); box-shadow:0 1px 3px rgba(16,24,40,.04); }
.brand { color:#262231; font-size:20px; font-weight:800; letter-spacing:-.02em; text-decoration:none; white-space:nowrap; }.brand span { color:var(--purple); }.brand .app-version { display:inline; margin:0 0 0 3px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:0; }
nav { display:flex; flex-wrap:wrap; gap:4px; }
nav a { color:#414651; text-decoration:none; padding:10px 11px; border-radius:8px; }
nav a:hover, nav a.active { background:var(--purple-soft); color:var(--purple-dark); }.primary-nav a.active { font-weight:700; }
.nav-more { position:relative; margin-left:auto; }.nav-more summary { list-style:none; color:#414651; padding:10px 12px; border-radius:8px; cursor:pointer; font-weight:700; }.nav-more summary::-webkit-details-marker { display:none; }.nav-more summary::after { content:"⌄"; margin-left:7px; color:var(--muted); }.nav-more[open] summary,.nav-more summary:hover { background:#f2f4f7; }.nav-menu { position:absolute; right:0; top:48px; width:280px; padding:8px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 14px 34px rgba(16,24,40,.14); }.nav-menu a { display:block; padding:10px 12px; border-radius:8px; color:var(--text); text-decoration:none; font-weight:700; }.nav-menu a:hover { background:var(--purple-soft); color:var(--purple-dark); }.nav-menu small { font-weight:400; }
.container { max-width:1500px; margin:0 auto; padding:28px; }
h1 { margin:0 0 8px; font-size:30px; line-height:1.2; letter-spacing:-.025em; } h2 { margin:0 0 14px; font-size:17px; }
.muted, small { color:var(--muted); } small { display:block; margin-top:3px; }
.page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:22px; }
.actions, .filters, .form-actions { display:flex; gap:10px; align-items:center; }.actions { flex-wrap:wrap; }
button, .button { border:0; border-radius:8px; background:var(--purple); color:#fff; padding:10px 16px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover, .button:hover { background:var(--purple-dark); }.secondary { background:#ede9fe; color:var(--purple-dark); }.secondary:hover { background:#ddd4ff; }
.cards { display:grid; grid-template-columns:repeat(6,minmax(150px,1fr)); gap:12px; margin:20px 0; }
.cards article, .panel { background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:18px; box-shadow:0 1px 2px rgba(16,24,40,.03); }
.cards article span { display:block; color:var(--muted); margin-bottom:8px; }.cards article strong { font-size:28px; }.cards .danger { background:var(--red-bg); }.cards .warning { background:var(--orange-bg); }
.meta-grid, .settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }.panel { margin-bottom:14px; }.narrow { max-width:680px; }
.table-wrap { overflow:auto; border:1px solid var(--border); border-radius:10px; background:#fff; }
table { width:100%; border-collapse:collapse; white-space:nowrap; } th { position:sticky; top:0; background:#f2f4f7; text-align:left; font-size:12px; color:#475467; } th,td { padding:10px 12px; border-bottom:1px solid #eceef2; vertical-align:top; } tr:last-child td { border-bottom:0; }.num { text-align:right; font-variant-numeric:tabular-nums; }.empty { text-align:center; color:var(--muted); padding:28px; }
.table-copy-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:9px; margin:8px 0; }.copy-table-button { min-height:34px; padding:7px 11px; background:#f2f4f7; color:#475467; font-size:12px; }.copy-table-button:hover { background:#e4e7ec; }.copy-table-status { min-width:84px; color:var(--green); font-size:12px; text-align:right; }.table-wrap td,.table-wrap th,main table td,main table th { user-select:text; }
.delta.plus { color:var(--green); font-weight:700; }.delta.minus { color:var(--red); font-weight:700; }
.badge { display:inline-block; padding:3px 8px; border-radius:999px; background:#eef2f6; font-size:12px; font-weight:700; }.badge.success,.badge.success { color:var(--green); background:var(--green-bg); }.badge.error,.badge.unavailable { color:var(--red); background:var(--red-bg); }.badge.running,.badge.partial { color:var(--orange); background:var(--orange-bg); }
.notice { margin-bottom:18px; padding:12px 15px; border-radius:8px; }.notice.success { color:var(--green); background:var(--green-bg); }.notice.error { color:var(--red); background:var(--red-bg); }.notice.warning { color:var(--orange); background:var(--orange-bg); }
.stack, label { display:flex; flex-direction:column; gap:7px; }.stack { gap:14px; } label { margin-bottom:13px; font-weight:700; color:#344054; }
.seller-settings-list { display:grid; gap:10px; }.seller-settings-card { padding:13px; border:1px solid var(--border); border-radius:10px; background:#fff; transition:.15s ease; }.seller-settings-card.is-disabled { border-color:#e4e7ec; background:#f2f4f7; opacity:.72; }.seller-settings-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }.seller-settings-head>div { display:flex; align-items:center; gap:8px; }.seller-settings-head>div>strong { font-size:18px; }.seller-enabled-control { flex-direction:row; align-items:center; gap:8px; margin:0; cursor:pointer; }.seller-token-label { margin:12px 0 0; font-size:12px; }.cabinet-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0 0 16px; padding:11px 14px; border:1px solid #abefc6; border-radius:10px; background:var(--green-bg); color:#067647; font-size:13px; }.cabinet-status.partial { border-color:#fedf89; background:var(--orange-bg); color:#b54708; }.cabinet-status a { margin-left:auto; color:inherit; font-weight:800; }
input,select { min-height:40px; border:1px solid #cfd4dc; border-radius:7px; padding:8px 10px; background:#fff; color:var(--text); } input[type=checkbox] { min-height:auto; width:18px; height:18px; }.filters { margin:16px 0; }.filters input { min-width:320px; }
.form-actions { margin-top:14px; }.span-all { grid-column:1/-1; }
.compact { padding:12px 14px; }.error-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin:18px 0 14px; }
.error-card { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 16px; border:1px solid var(--border); border-radius:10px; background:#fff; color:var(--text); text-decoration:none; }.error-card:hover,.error-card.selected { border-color:#a78bfa; background:#f5f3ff; }.error-card strong { font-size:21px; }
.help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; }.help-grid p { margin:0; }.error-table { white-space:normal; }.error-table th:nth-child(1){width:150px}.error-table th:nth-child(2){width:32%}.error-table th:nth-child(4){width:190px}.pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin:18px 0; }

/* Recommendations */
.eyebrow { margin:0 0 6px; color:var(--purple); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.lead { margin:0; color:var(--muted); font-size:15px; }.recommendation-head { align-items:center; margin-bottom:18px; }
.recommendation-export-panel { display:grid; grid-template-columns:minmax(240px,1fr) minmax(170px,220px) auto auto; gap:10px; align-items:end; margin:0 0 18px; padding:13px 15px; border:1px solid #d9d2ff; border-radius:12px; background:linear-gradient(135deg,#fff 0%,#f7f4ff 100%); }.recommendation-export-panel label { margin:0; gap:5px; font-size:12px; }.recommendation-export-panel button { min-height:40px; }.recommendation-export-copy strong,.recommendation-export-copy small { display:block; }.recommendation-export-copy strong { font-size:15px; }.recommendation-export-copy small { margin-top:3px; }
.setup-notice { display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #fedf89; }.setup-notice strong,.setup-notice span { display:block; }.setup-notice span { margin-top:3px; }
.stock-kpis { display:grid; grid-template-columns:repeat(6,minmax(145px,1fr)); gap:10px; margin:18px 0; }.stock-kpis article { padding:16px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(16,24,40,.03); }.stock-kpis article.accent { border-color:#c7b9ff; background:var(--purple-soft); }.stock-kpis span,.stock-kpis small { display:block; color:var(--muted); }.stock-kpis strong { display:block; margin:4px 0 2px; font-size:27px; font-variant-numeric:tabular-nums; }.stock-kpis .accent span,.stock-kpis .accent strong { color:var(--purple-dark); }
.calculation-note { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 18px; padding:13px 18px; border:1px solid #d6e4ff; border-radius:12px; background:var(--blue-bg); color:#1849a9; }.calculation-note>i { font-style:normal; color:#84adff; }.flow-step { display:flex; align-items:center; gap:9px; }.flow-step>b { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:50%; background:#d1e9ff; font-size:12px; }.flow-step span,.flow-step strong,.flow-step small { display:block; }.flow-step small { color:#5281c5; }
.recommendation-workspace { border:1px solid var(--border); border-radius:14px; background:#fff; overflow:hidden; }.action-tabs { display:flex; gap:6px; padding:12px; border-bottom:1px solid var(--border); background:#fafbfc; }.action-tab { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px 13px; border:1px solid transparent; border-radius:9px; color:#475467; text-decoration:none; }.action-tab strong { font-size:16px; color:var(--text); }.action-tab small { display:inline; margin:0; }.action-tab:hover,.action-tab.selected { border-color:#c7b9ff; background:var(--purple-soft); color:var(--purple-dark); }.action-tab.add.selected { border-color:#abefc6; background:var(--green-bg); color:var(--green); }.action-tab.reduce.selected { border-color:#fecdca; background:var(--red-bg); color:var(--red); }
.recommendation-filters { display:grid; grid-template-columns:minmax(240px,1fr) repeat(3,minmax(150px,auto)) auto auto; align-items:end; margin:0; padding:14px 16px; border-bottom:1px solid var(--border); }.recommendation-filters label { margin:0; gap:5px; font-size:12px; }.recommendation-filters input { width:100%; min-width:0; }.recommendation-filters button,.recommendation-filters .button { min-height:40px; }.results-meta { display:flex; justify-content:space-between; padding:10px 16px; color:var(--muted); font-size:13px; }
.recommendation-table-wrap { border:0; border-top:1px solid var(--border); border-radius:0; }.recommendation-table { min-width:1280px; white-space:normal; }.recommendation-table th { position:static; padding-top:11px; padding-bottom:11px; }.recommendation-table th small { font-size:10px; font-weight:400; }.recommendation-table td { padding:12px; vertical-align:middle; }.recommendation-table tbody tr:hover { background:#fafaff; }.recommendation-table .row-add { box-shadow:inset 3px 0 0 #32d583; }.recommendation-table .row-reduce { box-shadow:inset 3px 0 0 #f97066; }.product-cell { min-width:235px; }.product-cell strong,.location-cell strong { display:block; }.product-cell small,.location-cell small { white-space:nowrap; }.location-cell { min-width:210px; }.seller-badge { display:inline-grid; place-items:center; min-width:35px; height:28px; padding:0 8px; border-radius:7px; background:#f2f4f7; font-weight:800; }.ms-column { background:#ede9fe; color:var(--purple-dark); }.ms-value { background:#faf8ff; }.demand-column { background:#eaf6ff; color:#175cd3; }.demand-value { background:#f5fbff; }.ms-value strong,.demand-value strong,.amount-target strong { font-size:17px; }.amount-current,.amount-target { font-size:16px; }.status-pill { display:inline-block; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:800; }.status-pill.add { color:var(--green); background:var(--green-bg); }.status-pill.reduce { color:var(--red); background:var(--red-bg); }.status-pill.ok { color:#475467; background:#f2f4f7; }
.formula-box { margin-bottom:16px; padding:14px; border:1px solid #d6e4ff; border-radius:10px; background:var(--blue-bg); }.formula-box strong,.formula-box code { display:block; }.formula-box code { margin:7px 0; color:#1849a9; font-size:13px; white-space:normal; }
.empty-state { max-width:620px; margin:0 auto; padding:54px 24px 64px; text-align:center; }.empty-state .empty-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 16px; border-radius:14px; background:var(--purple-soft); color:var(--purple); font-size:28px; }.empty-state h2 { margin-bottom:8px; font-size:22px; }.empty-state p { margin:0 auto 20px; color:var(--muted); font-size:15px; }

/* Assortment */
.assortment-head { align-items:center; }.assortment-stats { display:grid; grid-template-columns:repeat(6,minmax(145px,1fr)); gap:10px; margin:18px 0; }.assortment-stats article { padding:15px 16px; border:1px solid var(--border); border-radius:12px; background:#fff; }.assortment-stats span,.assortment-stats strong,.assortment-stats small { display:block; }.assortment-stats span,.assortment-stats small { color:var(--muted); }.assortment-stats strong { margin-top:5px; font-size:25px; }.assortment-stats small { margin-top:2px; }.assortment-stats .success { background:var(--green-bg); }.assortment-stats .accent { background:var(--purple-soft); }.assortment-stats .warning { background:var(--orange-bg); }.assortment-stats .danger { background:var(--red-bg); }
.assortment-excel-panel { border-color:#c7b9ff; background:linear-gradient(135deg,#fff 0%,#faf8ff 100%); }.excel-rule-counts { display:flex; flex-wrap:wrap; gap:7px; }.assortment-excel-actions { display:grid; grid-template-columns:auto minmax(460px,1fr); gap:18px; align-items:end; }.assortment-upload-form { display:grid; grid-template-columns:minmax(280px,1fr) auto; gap:10px; align-items:end; }.assortment-upload-form label { margin:0; }.assortment-upload-form button,.assortment-excel-actions>.button { min-height:40px; }.excel-help-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:14px; }.excel-help-grid>span { padding:10px 12px; border:1px solid #e4e0fb; border-radius:9px; background:#fff; }.excel-help-grid b,.excel-help-grid small { display:block; }.assortment-import-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }.assortment-import-summary article { padding:15px; border:1px solid var(--border); border-radius:11px; background:#fff; }.assortment-import-summary span,.assortment-import-summary strong { display:block; }.assortment-import-summary span { color:var(--muted); }.assortment-import-summary strong { margin-top:4px; font-size:25px; }.import-problems ul { margin:8px 0 0; padding-left:22px; }.error-block { border-color:#fecdca; background:var(--red-bg); }.warning-block { border-color:#fedf89; background:var(--orange-bg); }.import-confirm-actions { display:flex; gap:9px; justify-content:flex-end; margin:18px 0; }
.kit-badge { display:block; width:max-content; margin-top:5px; border-color:#c7b9ff; background:var(--purple-soft); color:var(--purple-dark); }
.section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }.section-head>.badge { flex:0 0 auto; }.section-head p { margin:0 0 14px; }.category-rule-form { display:grid; grid-template-columns:minmax(360px,1fr) minmax(180px,260px) auto; gap:12px; align-items:end; }.category-rule-form label { margin:0; }.category-rule-form>button { min-height:40px; }.category-field { display:flex; flex-direction:column; gap:7px; min-width:0; }.field-label { font-weight:700; color:#344054; }.category-picker { position:relative; }.category-picker-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:40px; padding:8px 10px; border:1px solid #cfd4dc; border-radius:7px; background:#fff; color:var(--text); font-weight:400; text-align:left; }.category-picker-toggle:hover { border-color:#9b8afb; background:#fff; }.category-picker-toggle::after { content:"⌄"; margin-left:auto; padding-left:10px; color:var(--muted); }.category-picker-count { display:grid; place-items:center; min-width:23px; height:23px; margin-left:10px; padding:0 6px; border-radius:999px; background:var(--purple-soft); color:var(--purple-dark); font-size:12px; font-weight:800; }.category-picker-panel { position:absolute; z-index:30; top:calc(100% + 6px); left:0; right:0; min-width:480px; padding:10px; border:1px solid #d0d5dd; border-radius:10px; background:#fff; box-shadow:0 16px 36px rgba(16,24,40,.16); }.category-picker-panel[hidden] { display:none; }.category-picker-search { width:100%; }.category-picker-actions { display:flex; gap:7px; padding:8px 0; }.category-picker-actions button { min-height:30px; padding:6px 9px; background:#f2f4f7; color:#475467; font-size:12px; }.category-picker-actions button:hover { background:#e4e7ec; }.category-picker-options { max-height:310px; overflow:auto; border-top:1px solid #eaecf0; }.category-option { display:flex; flex-direction:row; align-items:center; gap:10px; min-height:48px; margin:0; padding:8px 9px; border-bottom:1px solid #f2f4f7; color:var(--text); cursor:pointer; }.category-option:hover { background:#fafaff; }.category-option[hidden] { display:none; }.category-option input { flex:0 0 auto; }.category-option-copy { min-width:0; }.category-option-copy strong,.category-option-copy small { display:block; }.category-option-copy strong { font-size:13px; }.category-option.has-exclusion small { color:#667085; }.category-option.is-disabled-for-target { background:#f2f4f7; color:#98a2b3; cursor:not-allowed; }.category-option.is-disabled-for-target strong,.category-option.is-disabled-for-target small { color:#98a2b3; }.category-picker-empty { padding:24px; color:var(--muted); text-align:center; }.rule-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }.rule-chip { display:flex; align-items:center; gap:7px; padding:5px 6px 5px 11px; border:1px solid #fecdca; border-radius:999px; background:var(--red-bg); color:var(--red); }.rule-chip button { width:25px; height:25px; padding:0; border-radius:50%; background:transparent; color:var(--red); font-size:18px; }
.assortment-workspace { overflow:hidden; border:1px solid var(--border); border-radius:14px; background:#fff; }.assortment-filters { display:grid; grid-template-columns:minmax(230px,1fr) repeat(4,minmax(140px,auto)) auto auto; gap:10px; align-items:end; padding:14px 16px; border-bottom:1px solid var(--border); }.assortment-filters label { margin:0; gap:5px; font-size:12px; }.assortment-filters input { width:100%; min-width:0; }.assortment-filters button,.assortment-filters .button { min-height:40px; }.assortment-table-wrap { border:0; border-top:1px solid var(--border); border-radius:0; }.assortment-table { min-width:1320px; white-space:normal; }.assortment-table th { position:static; }.assortment-table td { vertical-align:middle; }.assortment-product { min-width:250px; }.assortment-product strong { display:block; font-size:15px; }.assortment-product .badge { margin-top:6px; }.seller-toggle-head,.seller-toggle-cell { width:68px; text-align:center; }.seller-toggle-cell form { display:inline; }.seller-toggle { width:34px; height:34px; padding:0; border:1px solid; border-radius:9px; font-size:17px; }.seller-toggle.on { border-color:#75e0a7; background:var(--green-bg); color:var(--green); }.seller-toggle.off { border-color:#fda29b; background:var(--red-bg); color:var(--red); }.seller-toggle.mixed { border-color:#fedf89; background:var(--orange-bg); color:var(--orange); }.seller-absent { color:#c4c9d1; }.seller-fbo { display:block; margin-top:4px; color:var(--muted); font-size:10px; white-space:nowrap; }.seller-fbo.has-disabled { padding:2px 3px; border-radius:4px; background:var(--red-bg); color:var(--red); font-weight:800; }.assortment-actions { min-width:330px; }.only-seller-form,.inline-actions { display:flex; gap:6px; align-items:center; }.only-seller-form select { min-width:105px; }.only-seller-form button,.inline-actions button { min-height:34px; padding:7px 10px; font-size:12px; }.inline-actions { margin-top:7px; }.danger-button { background:var(--red-bg); color:var(--red); }.danger-button:hover { background:#fee4e2; }.ghost-button { background:#f2f4f7; color:#475467; }.ghost-button:hover { background:#e4e7ec; }

@media(max-width:1200px){.stock-kpis{grid-template-columns:repeat(3,1fr)}.calculation-note{justify-content:flex-start;overflow:auto}.recommendation-filters{grid-template-columns:repeat(3,1fr)}.recommendation-filters .search-field{grid-column:span 2}.assortment-filters{grid-template-columns:repeat(3,1fr)}.assortment-filters .search-field{grid-column:span 2}.assortment-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.meta-grid,.settings-grid{grid-template-columns:1fr}.topbar{padding:10px 18px;gap:10px;flex-wrap:wrap}.primary-nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.nav-more{margin-left:auto}.container{padding:18px}.page-head{flex-direction:column;align-items:flex-start}.recommendation-head{align-items:flex-start}.recommendation-export-panel{grid-template-columns:1fr 1fr}.recommendation-export-copy{grid-column:1/-1}.assortment-excel-actions{grid-template-columns:1fr}.assortment-excel-actions>.button{justify-self:start}}
@media(max-width:700px){.help-grid{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filters input{min-width:0}.stock-kpis{grid-template-columns:repeat(2,1fr)}.stock-kpis article{padding:13px}.calculation-note>i{display:none}.calculation-note{display:grid;grid-template-columns:1fr 1fr}.action-tabs{overflow:auto}.action-tab{white-space:nowrap}.recommendation-export-panel{display:flex;flex-direction:column;align-items:stretch}.recommendation-export-copy{grid-column:auto}.recommendation-filters,.assortment-filters{display:flex;flex-direction:column;align-items:stretch}.recommendation-filters .search-field,.assortment-filters .search-field{grid-column:auto}.setup-notice{align-items:flex-start;flex-direction:column}.nav-menu{position:fixed;right:12px;left:12px;top:62px;width:auto}.assortment-stats{grid-template-columns:repeat(2,1fr)}.category-rule-form{display:flex;flex-direction:column;align-items:stretch}.category-picker-panel{min-width:0}.assortment-upload-form{grid-template-columns:1fr}.excel-help-grid,.assortment-import-summary{grid-template-columns:1fr}}

/* Exclusion lifetime and replace-import controls */
.assortment-excel-actions { grid-template-columns:auto minmax(620px,1fr); }
.assortment-download-actions { display:flex; flex-wrap:wrap; gap:8px; }
.assortment-download-actions .button { min-height:40px; }
.assortment-upload-form { grid-template-columns:minmax(250px,1fr) minmax(190px,240px) auto; }
.excel-import-note { margin:12px 0 0; color:var(--muted); font-size:13px; }
.category-rule-form { grid-template-columns:minmax(190px,230px) minmax(300px,1fr) minmax(130px,180px); }
.category-rule-form [hidden] { display:none; }
.category-option[aria-disabled="false"] { cursor:pointer; }
.assortment-table { min-width:1420px; }
.assortment-actions { min-width:430px; }
.article-exclusion-form { display:flex; align-items:center; gap:6px; }
.article-exclusion-form select { min-width:105px; max-width:125px; }
.inline-actions { flex-wrap:wrap; }
@media(max-width:1000px){.assortment-excel-actions{grid-template-columns:1fr}.assortment-upload-form{grid-template-columns:minmax(240px,1fr) minmax(190px,240px) auto}}
@media(max-width:700px){.assortment-upload-form{grid-template-columns:1fr}.assortment-download-actions{flex-direction:column;align-items:stretch}.assortment-download-actions .button{justify-content:center}}
/* Server sign-in and export verification */
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f5f6fa; }
.login-card { width: min(440px, 100%); padding: 32px; border-radius: 18px; background: #fff; box-shadow: 0 16px 50px rgba(31, 35, 48, .12); }
.login-card .brand { display: inline-flex; margin-bottom: 18px; }
.login-card h1 { margin-bottom: 6px; }
.login-card .stack { display: grid; gap: 16px; margin-top: 22px; }
.login-card label { display: grid; gap: 7px; font-weight: 600; }
.login-card input { width: 100%; }
.logout-form { margin: 0; }
.link-button { background: transparent; color: inherit; border: 0; padding: 10px 12px; box-shadow: none; }
.link-button:hover { background: rgba(111, 63, 245, .08); }
.verification-card { margin-bottom: 24px; }
.stat-grid.compact { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
.stat-grid.compact > div { display: grid; gap: 4px; padding: 16px; border: 1px solid var(--line, #e4e6ef); border-radius: 12px; }
.stat-grid.compact strong { font-size: 26px; }
.badge.matched { background: #ddf8e8; color: #13723c; }
.badge.mismatch, .badge.partial { background: #fff0e9; color: #a13e15; }
.badge.waiting { background: #fff5d9; color: #805d00; }
@media (max-width: 760px) { .stat-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); } .logout-form { display: none; } }
