.header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.deficit-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-weight: 600;
}

.image-shell { position: relative; overflow: hidden; }
.image-shell > span { display: none; color: var(--muted); font-size: 11px; text-align: center; }
.image-shell.image-missing > span, .image-shell:not(:has(img)) > span { display: grid; place-items: center; width: 100%; height: 100%; }
.stock-days { display: grid; gap: 4px; min-width: 120px; font-weight: 700; }
.stock-state { display: block; font-size: 12px; font-weight: 650; color: var(--muted); }
.stock-state.empty,.stock-state.risk { color: #a53e31; }
.stock-state.replenish { color: #a56700; }
.stock-state.enough { color: #087957; }
.stock-state.excess { color: #536d79; }
.planning-head,.planning-size { display: grid; grid-template-columns: minmax(320px,2fr) .8fr 1fr .8fr; gap: 16px; align-items: center; }
.planning-head { padding: 14px 20px; color: var(--muted); font-size: 12px; border-bottom: 1px solid var(--line); }
.planning-size { padding: 14px 20px 14px 58px; border-top: 1px solid var(--line); }
.planning-size small,.stock-state small { display:block; margin-top:4px; }
.setting-grid { display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-top:18px; }
.setting-grid label { display:grid;gap:6px;color:var(--muted); }
.planning-settings summary { cursor:pointer; }
.product-period{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.product-period .period-presets{flex:1 0 100%}.product-period label{display:grid;gap:2px;color:var(--muted);font-size:11px}.product-period input{width:145px;min-height:36px;padding:6px 8px}.product-period>button{min-height:36px;padding:6px 12px}.tab-summary dd small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.planning-size .warehouse-breakdown,.planning-size .plan-inline{grid-column:1/-1}.warehouse-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}.plan-inline,.ad-schedule{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.plan-inline label,.ad-controls label{display:grid;gap:3px;color:var(--muted);font-size:12px}.ad-wizard{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-top:14px}.ad-wizard label{display:grid;gap:4px}.ad-wizard fieldset,.ad-review,.ad-wizard button{grid-column:1/-1}.ad-controls{display:grid;gap:6px;min-width:220px}.ad-controls form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px 0}.ad-controls form>button,.ad-controls form>small,.ad-controls form>.inline-check,.ad-controls form>fieldset,.ad-controls form>.ad-schedule{grid-column:1/-1}.ad-controls input,.ad-controls select,.ad-filters input,.ad-filters select,.compact-form button{min-height:34px;padding:5px 8px}.ad-controls button,.ad-control-menu>summary{min-height:32px;padding:5px 9px;font-size:12px}.ad-controls .button-row button{width:auto}.ad-controls fieldset{display:flex;gap:6px;flex-wrap:wrap}.ad-controls fieldset label,.inline-check{display:flex;align-items:center}.ad-controls fieldset input,.inline-check input{min-height:auto}.ad-control-menu>summary{display:inline-flex;align-items:center;border:1px solid var(--green);border-radius:7px;font-weight:650}.ad-control-menu[open]>summary{background:#edf5f1}.ad-table{min-width:900px}.campaign-products{display:grid;gap:7px;padding-top:8px}.campaign-products .message-product{min-width:220px}.ad-filters{gap:8px}.ad-filters label{font-size:12px}.ad-filters button{min-height:34px;padding:5px 10px}.compact-form{display:inline-flex}.compact-form button{font-size:12px}
@media(max-width:760px){body.sidebar-open{overflow:hidden}.planning-head{display:none}.planning-size{grid-template-columns:1fr;padding:14px}.setting-grid,.ad-wizard{grid-template-columns:1fr}.planning-size>span:first-child,.ad-wizard>*{grid-column:1}.warehouse-breakdown>div{display:grid}.plan-inline>*{width:100%}.advanced-filters{position:static!important;width:auto!important;padding:0!important;box-shadow:none!important;border:0!important}.filter-primary .period-presets{padding-right:0}.period-bar .period-presets .chip{width:auto;flex:0 0 auto}.filter-primary>label,.filter-primary select{width:100%}.ad-table{display:block;min-width:0}.ad-table thead{display:none}.ad-table tbody,.ad-table tr,.ad-table td{display:block;width:100%}.ad-table tr{padding:12px 14px;border-bottom:1px solid var(--line)}.ad-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;border:0;text-align:left;white-space:normal}.ad-table td::before{content:attr(data-label);color:var(--muted);font-size:11px}.ad-table td>*{min-width:0}.ad-table td[data-col="campaign"]{display:block}.ad-table td[data-col="campaign"]::before{display:none}.ad-table td[data-col="controls"]{align-items:start}.campaign-products,.campaign-products .message-product{min-width:0}.ad-controls{min-width:0}.ad-controls form{grid-template-columns:1fr}.ad-controls form>*{grid-column:1}.ad-filters label,.ad-filters input,.ad-filters select,.ad-filters button{flex:1 1 100%;width:100%;max-width:none}.product-period label{flex:1 1 calc(50% - 4px)}.product-period input{width:100%}.product-period>button{width:auto}.product-tab-panel{padding:14px}.tab-summary dl{grid-template-columns:minmax(120px,1fr) minmax(0,1fr);gap:8px}.tab-summary dd{margin:0;text-align:right}.product-tabs{margin-top:12px}.product-kpis section{padding:11px}.product-kpis strong{font-size:18px}}
@media(max-width:760px){body.sidebar-open{overflow:hidden}.planning-head{display:none}.planning-size{grid-template-columns:1fr;padding:14px}.setting-grid,.ad-wizard{grid-template-columns:1fr}.planning-size>span:first-child,.ad-wizard>*{grid-column:1}.warehouse-breakdown>div{display:grid}.plan-inline>*{width:100%}.advanced-filters{position:static!important;width:auto!important;padding:0!important;box-shadow:none!important;border:0!important}.filter-primary .period-presets{padding-right:0}.period-bar .period-presets .chip{width:auto;flex:0 0 auto}.filter-primary>label,.filter-primary select{width:100%}.campaign-table{display:block;min-width:0}.campaign-table thead{display:none}.campaign-table tbody,.campaign-table tr,.campaign-table td{display:block;width:100%}.campaign-table tr{padding:12px 14px;border-bottom:1px solid var(--line)}.campaign-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;border:0;text-align:left;white-space:normal}.campaign-table td::before{content:attr(data-label);color:var(--muted);font-size:11px}.campaign-table td>*{min-width:0}.campaign-table td[data-col="campaign"]{display:block}.campaign-table td[data-col="campaign"]::before{display:none}.campaign-table td[data-col="controls"]{align-items:start}.campaign-products,.campaign-products .message-product{min-width:0}.ad-controls{min-width:0}.ad-controls form{grid-template-columns:1fr}.ad-controls form>*{grid-column:1}.ad-filters label,.ad-filters input,.ad-filters select,.ad-filters button{flex:1 1 100%;width:100%;max-width:none}.product-period label{flex:1 1 calc(50% - 4px)}.product-period input{width:100%}.product-period>button{width:auto}.product-tab-panel{padding:14px}.tab-summary dl{grid-template-columns:minmax(120px,1fr) minmax(0,1fr);gap:8px}.tab-summary dd{margin:0;text-align:right}.product-tabs{margin-top:12px}.product-kpis section{padding:11px}.product-kpis strong{font-size:18px}}
.campaign-table{min-width:900px}
@media(max-width:760px){.campaign-table{min-width:0}}
.campaign-link{display:block;color:var(--ink)}.campaign-link:hover{color:var(--green)}.campaign-table{min-width:1280px}.funnel-line{font-variant-numeric:tabular-nums;white-space:nowrap}.compact-tabs{margin:0}.compact-tabs button{min-height:32px;padding:5px 10px;font-size:12px}.compact-tabs button.secondary.selected{background:var(--green);color:#fff}.campaign-trend{min-height:250px}.campaign-trend svg{display:block;width:100%;height:205px}.campaign-trend polyline{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.campaign-trend .axis{stroke:#cad7d1;stroke-width:1}.campaign-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;color:var(--muted);font-size:12px}.campaign-chart-legend i{display:inline-block;width:14px;height:3px;margin:0 6px 3px 0}.campaign-subnav{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap;margin-bottom:18px}.campaign-subnav span{width:auto;padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px}.campaign-subnav .selected{background:var(--green);border-color:var(--green);color:white}.campaign-state{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px 18px}.campaign-state>div{display:grid;gap:3px}.campaign-state strong{font-size:16px}.campaign-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ad-limit-panel>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}.ad-limit-panel[open]>summary{margin-bottom:12px}.ad-limit-panel .section-heading{margin-bottom:4px}
@media(max-width:900px){.campaign-state{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.campaign-table{min-width:0}.campaign-detail-header .button{width:100%}.campaign-state{grid-template-columns:1fr}.campaign-detail-metrics{grid-template-columns:1fr!important}.campaign-trend{min-height:220px}.campaign-trend svg{height:175px}.campaign-trend-panel .section-heading{display:grid}.compact-tabs{margin-top:8px}}
/* Release 0.14: campaign clusters and honest live payout */
.campaign-subnav a{width:auto;padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px}.campaign-subnav a:hover{border-color:var(--green);color:var(--green)}
.attributed-block{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.attributed-block>summary,.minus-editor>summary{cursor:pointer;color:var(--green)}
.compact-filter{display:flex;align-items:end;gap:7px;margin:12px 0}.compact-filter input{flex:1 1 260px}.compact-filter input,.compact-filter select,.compact-filter button,.cluster-bid-form input,.cluster-bid-form button,.minus-form input,.minus-form button{min-height:32px;padding:5px 8px;font-size:12px}
.cluster-table{min-width:980px}.cluster-table small{display:block}.cluster-bid-form{display:flex;gap:5px;margin-top:5px}.cluster-bid-form input{width:90px}.minus-editor{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.minus-form{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:9px}.minus-form .section-heading{gap:8px;margin:0 0 8px}.minus-form .section-heading label{display:flex;align-items:center;gap:5px}.minus-form .section-heading input{width:76px}.minus-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0 10px;max-height:290px;overflow:auto}.minus-options label{display:grid;grid-template-columns:auto 1fr;column-gap:6px;padding:7px;border-radius:6px;background:#f5f8f6;font-size:12px}.minus-options input{grid-row:1/3;min-height:auto}.minus-options small{color:var(--muted)}
.cluster-heatmap th,.cluster-heatmap td{text-align:center;white-space:nowrap}.cluster-heatmap th:first-child,.cluster-heatmap td:first-child{text-align:left;position:sticky;left:0;background:#fff}.cluster-heatmap td[class^="heat-"]{min-width:48px}.heat-1{background:#e6f3ed}.heat-2{background:#c2e3d4}.heat-3{background:#8ecbb2}.heat-4{background:#48a980;color:#fff}.heat-5{background:#087957;color:#fff}
@media(max-width:760px){.compact-filter{display:grid;grid-template-columns:1fr auto}.compact-filter input{grid-column:1/-1;width:100%}.cluster-table{min-width:860px}.minus-options{grid-template-columns:1fr}.minus-form .section-heading{display:grid}.minus-form .section-heading>*{width:100%}.cluster-heatmap{min-width:720px}}
/* Release 0.9: compact supply matrix */
.supply-tabs{flex-direction:row;flex-wrap:wrap}
.supply-title{align-items:flex-start}.supply-tabs{margin-bottom:14px}.compact-supply-filters{padding:12px;gap:8px}.compact-supply-filters label{min-width:120px;font-size:11px}.compact-supply-filters input,.compact-supply-filters select,.compact-supply-filters button{min-height:34px;padding:6px 8px}.supply-freshness{margin:8px 0}.supply-counters{margin:8px 0}.supply-counters .button{min-height:30px;padding:4px 9px}.supply-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.supply-toolbar .tabs{margin:0}.supply-toolbar .tabs a{min-height:32px;padding:5px 10px}.supply-matrix{padding:0;overflow:hidden}.supply-matrix-head{display:grid;grid-template-columns:250px minmax(520px,1fr) 150px;gap:0;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}.supply-matrix-head span{padding:8px 10px}.supply-matrix-row{display:grid;grid-template-columns:250px minmax(520px,1fr) 150px;min-height:64px;border-bottom:1px solid var(--line);background:#fff}.supply-product{display:flex;align-items:center;gap:8px;padding:7px 10px;position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid var(--line)}.supply-product .table-product-thumb{width:36px;height:46px;flex:0 0 36px}.supply-product strong,.supply-product small{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supply-product strong{font-size:12px}.supply-product small{font-size:10px;color:var(--muted)}.supply-product .stock-state{margin-top:2px}.supply-size-strip{display:flex;align-items:stretch;overflow-x:auto;min-width:0}.supply-cell{position:relative;flex:0 0 92px;border-right:1px solid var(--line)}.supply-cell>summary{display:grid;align-content:center;justify-items:center;gap:2px;height:100%;min-height:63px;padding:4px;cursor:pointer;list-style:none}.supply-cell>summary::-webkit-details-marker{display:none}.supply-cell>summary b{font-size:11px}.supply-cell>summary strong{font-size:13px;white-space:nowrap}.supply-cell>summary small{font-size:9px;color:var(--muted)}.supply-cell.empty,.supply-cell.risk{background:#fff0ed}.supply-cell.replenish{background:#fff7e4}.supply-cell.enough{background:#eff8f2}.supply-cell.excess{background:#edf1fb}.supply-cell.unknown,.supply-cell.settings{background:#f2f3f3}.supply-cell.no_demand{background:#fafafa}.supply-popover{display:none;position:fixed;z-index:50;width:250px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 35px #173d3040;font-size:11px}.supply-cell[open] .supply-popover{display:grid;gap:4px}.supply-total{display:grid;align-content:center;gap:3px;padding:7px 10px;border-left:1px solid var(--line)}.supply-total strong{font-size:14px}.supply-total small{font-size:9px;color:var(--muted)}.supply-return-line{display:none}.show-supply-returns .supply-return-line{display:block}.empty-size{padding:20px;color:var(--muted);font-size:11px}.planning-settings .setting-grid,.supply-draft .setting-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.supply-panel-heading{padding:16px 18px 8px}.supply-inbound-table small{display:block}.supply-state-form{display:flex;align-items:center;gap:5px;min-width:250px}.supply-state-form input{width:72px;min-height:30px;padding:4px}.supply-state-form button{min-height:30px;padding:4px 8px;font-size:11px}
.supply-bulk{padding:10px 14px;margin-bottom:10px}.supply-bulk-form{display:flex;align-items:end;gap:8px;margin-top:10px}.supply-bulk-form label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.supply-bulk-form select{min-width:280px;height:72px}.supply-bulk-form input,.supply-bulk-form button{min-height:34px;padding:6px 8px}
@media(max-width:760px){.supply-title{display:flex}.supply-title h1{font-size:24px}.supply-tabs{overflow-x:auto;gap:18px}.compact-supply-filters label{flex:1 1 calc(50% - 8px);min-width:130px}.compact-supply-filters button{flex:1 1 100%}.supply-toolbar{align-items:flex-start;flex-direction:column}.supply-toolbar .tabs{overflow-x:auto;max-width:100%}.supply-matrix{overflow-x:auto}.supply-matrix-head,.supply-matrix-row{grid-template-columns:205px minmax(500px,1fr) 130px;width:835px}.supply-product{left:0}.supply-product .table-product-thumb{width:32px;height:42px;flex-basis:32px}.supply-product strong,.supply-product small{max-width:145px}.planning-settings .setting-grid,.supply-draft .setting-grid{grid-template-columns:1fr}.supply-inbound-table{min-width:980px}.supply-bulk-form{display:grid}.supply-bulk-form select{width:100%;min-width:0}}
