.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.toolbar p{max-width:560px}
.field-label{
    display:block;margin-bottom:8px;
    font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);
}
label.check{display:flex;gap:10px;align-items:center;cursor:pointer}

.pick-list{border:1px solid var(--line-2);max-height:300px;overflow-y:auto}
.pick{display:grid;grid-template-columns:auto 1fr 120px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line-2)}
.pick:last-child{border-bottom:none}
.pick .pname{font-size:18px;line-height:1.1}
.pick .pname small{display:block;color:var(--ink-dim);font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.pick input[type=text]{padding:8px 10px;text-align:right}
.pick:not(.on) input[type=text]{opacity:.35}

.bitem{
    display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:center;
    padding:20px 22px;margin-bottom:12px;background:var(--bg-2);border:1px solid var(--line-2);
}
.bitem .batch-title{font-family:var(--head);font-size:28px;line-height:1.05;margin:8px 0 4px}
.bstats{display:flex;gap:28px;text-align:right}
.bstats b{display:block;font-family:var(--head);font-weight:400;font-size:28px;line-height:1;color:var(--orange)}
.bstats span{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}
.bactions{grid-column:1/-1;border-top:1px solid var(--line-2);padding-top:14px}
td.actions{text-align:right}
td.actions .btn-row{justify-content:flex-end}
#batch-form .pick-list + *,#batch-form .field:has(.pick-list){margin-bottom:22px}

.report-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-end;margin-bottom:26px}
.report-head h2{font-family:var(--head);font-weight:400;font-size:clamp(36px,5vw,60px);line-height:.95;margin-top:10px;margin-bottom:10px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-bottom:34px}
.kpi{padding:22px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:none}
.kpi b{display:block;font-family:var(--head);font-weight:400;font-size:44px;line-height:1;color:var(--orange)}
.kpi span{font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim)}
.report h3{font-family:var(--head);font-weight:400;font-size:30px;margin:34px 0 14px}
.variant-list{font-family:var(--mono);font-size:13px;color:var(--ink-dim)}
.variant-list b{color:var(--ink);font-weight:400}
.notice{border-left:3px solid var(--orange);padding:10px 14px;background:rgba(255,90,23,.06);margin-bottom:24px}

@media (max-width:600px){
    .kpis{grid-template-columns:1fr}
    .kpi{border-right:none;border-bottom:1px solid var(--line)}
    .kpi:last-child{border-bottom:none}
    .pick{grid-template-columns:auto 1fr 90px}
    .bitem{grid-template-columns:1fr}
    .bstats{text-align:left}
}

@media print{
    body{background:#fff;color:#000;font-size:12pt}
    body::before,.topbar,.tabs,.no-print,#admin > .eyebrow,#admin > .title{display:none !important}
    .wrap{padding:0;max-width:none}
    .kpi b{color:#000}
    th{background:#eee;color:#000}
    th,td{border-color:#ccc}
    .table-wrap,.kpis,.kpi{border-color:#ccc}
    .variant-list,.variant-list b,.muted{color:#333}
    tfoot td{background:#f4f4f4}
    .notice{background:none}
    .pill{color:#000 !important;background:none !important;border-color:#000 !important}
}

/* ---------- product editor ---------- */
dialog.wide{width:min(880px,calc(100% - 32px))}
.hint-sm{font-size:15px}
.img-list{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.img-list:empty{display:none}
.img-tile{position:relative;width:118px;border:1px solid var(--line-2);background:var(--bg)}
.img-tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.img-tile .tag{
    position:absolute;top:6px;left:6px;background:var(--orange);color:#000;
    font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:2px 6px;
}
.img-tile .tools{display:flex;border-top:1px solid var(--line-2)}
.img-tile .tools button{
    flex:1;background:none;border:none;color:var(--ink-dim);cursor:pointer;padding:6px 0;font-family:var(--mono);font-size:14px;
}
.img-tile .tools button:hover{color:var(--orange)}
.img-tile .tools button:disabled{opacity:.25;cursor:default;color:var(--ink-dim)}
.img-tile.pending img{opacity:.6}

.chart-wrap{overflow-x:auto;border:1px solid var(--line-2)}
.chart-edit{border-collapse:collapse;width:auto;font-size:15px}
.chart-edit th,.chart-edit td{padding:0;border:1px solid var(--line-2);background:var(--bg)}
.chart-edit thead th{background:var(--bg-2)}
.chart-edit input{border:none;padding:9px 8px;width:64px;text-align:center;font-size:13px;background:transparent}
.chart-edit tbody th input{width:110px;text-align:left}
.chart-edit .cell{display:flex;align-items:center}
.chart-edit .del{
    background:none;border:none;color:var(--ink-dim);cursor:pointer;padding:0 6px;font-size:14px;line-height:1;
}
.chart-edit .del:hover{color:var(--err)}
.chart-empty{border:1px dashed var(--line-2);padding:16px;color:var(--ink-dim);font-size:16px}
.thumb{width:56px;height:56px;object-fit:cover;display:block;border:1px solid var(--line-2)}
.thumb.none{display:grid;place-items:center;color:var(--ink-dim);font-family:var(--mono);font-size:10px;background:var(--bg)}
.chart-paste{margin-top:10px;min-height:0;font-family:var(--mono);font-size:13px}
#product-form div.field{margin-bottom:26px}
.img-tile .tag{z-index:1}
