:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-text:#1b1f24;--color-muted:#545d68;--color-border:#d6dbe1;--color-accent:#1f5fbf;--color-accent-soft:#e6eefb;--color-ok-soft:#e7f5ec;--color-ok-text:#1d5b34;--color-na:#e9ebee;--color-warn-soft:#fdf3dc;--color-warn-text:#6b4a00;--color-error:#a3212a;--radius:8px;--gap:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);margin:0;font-size:16px;line-height:1.5}.app{max-width:1200px;padding:var(--gap);margin:0 auto}.app-header h1{margin:8px 0 4px;font-size:1.6rem}.tagline{margin:0 0 var(--gap);color:var(--color-muted)}.privacy-banner{margin-bottom:var(--gap);border-radius:var(--radius);background:var(--color-ok-soft);color:var(--color-ok-text);padding:10px 14px}.privacy-howto{margin:8px 0 0}.link-button{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.steps{margin:0 0 var(--gap);flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.step{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:999px;padding:6px 12px}.step-current{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-text);font-weight:600}.step-num{font-weight:700}.card{padding:var(--gap);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.card+.card{margin-top:var(--gap)}.card h2{margin-top:0}button{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:6px 14px}button:hover:not(:disabled){border-color:var(--color-accent)}button:disabled{color:var(--color-muted);background:var(--color-na);cursor:not-allowed}button.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}button.primary:disabled{border-color:var(--color-border);background:var(--color-na);color:var(--color-muted)}select,input[type=number]{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;max-width:100%;padding:4px 6px}.input-narrow{width:5em}.nav-buttons,.button-row{margin-top:var(--gap);flex-wrap:wrap;gap:8px;display:flex}.nav-buttons .primary{margin-left:auto}.checkbox,.radio{margin:6px 0;display:block}.muted{color:var(--color-muted)}.small{font-size:.9rem}.error{color:var(--color-error)}.notice{background:var(--color-accent-soft);border-radius:6px;padding:6px 10px}.required{color:var(--color-muted);font-size:.85rem;font-weight:400}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.slots{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.slot h3,.sheet-chooser h3{margin:8px 0}.dropzone{padding:var(--gap);border:2px dashed var(--color-border);border-radius:var(--radius);text-align:center}.dropzone-over{border-color:var(--color-accent);background:var(--color-accent-soft)}.file-name{word-break:break-all;font-weight:600}fieldset{border:1px solid var(--color-border);border-radius:6px;margin:8px 0}.table-scroll{border:1px solid var(--color-border);border-radius:6px;max-width:100%;max-height:420px;margin:8px 0;overflow:auto}.data-table{border-collapse:collapse;min-width:100%;font-size:.9rem}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:4px 8px}.data-table thead th{background:var(--color-bg);z-index:1;position:sticky;top:0}.preview-table td{white-space:pre-line;max-width:260px}.th-name{color:var(--color-muted);max-width:220px;font-weight:400;display:block}.col-mapped{background:var(--color-accent-soft)}.data-table thead th.col-mapped{background:#cfdcf5}.mapping-table{min-width:0;margin:8px 0}.row-warn{background:var(--color-warn-soft)}.badge{background:var(--color-na);border-radius:999px;padding:0 8px;font-size:.85rem;display:inline-block}.badge-high,.badge-template{background:var(--color-ok-soft);color:var(--color-ok-text)}.badge-medium{background:var(--color-warn-soft);color:var(--color-warn-text)}.badge-manual{background:var(--color-accent-soft)}.table-mapping{margin-bottom:calc(var(--gap) * 1.5)}.funnels{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.funnel ol{margin:0;padding:0;list-style:none}.funnel li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:4px 0;display:flex}.funnel-num{font-variant-numeric:tabular-nums;font-weight:600}.funnel-included{font-weight:600}.panel{margin:var(--gap) 0;padding:8px var(--gap);border:1px solid var(--color-accent);border-radius:var(--radius)}.panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.warnings ul{padding-left:0;list-style:none}.warnings li{margin:6px 0}summary{cursor:pointer}.summary-line{font-weight:600}.auto-merge{margin:var(--gap) 0}.variant-list{margin:4px 0;padding-left:1.2em}.variant-list li{margin:2px 0}.raw-name{white-space:pre;margin-right:8px}.suggestions ul{padding:0;list-style:none}.suggestion{border-bottom:1px solid var(--color-border);padding:8px 0}.suggestion p{margin:0 0 6px}.suggestion .button-row{margin-top:0}button.primary-soft{border-color:var(--color-accent);background:var(--color-accent-soft)}.toolbar{margin:var(--gap) 0 8px;flex-wrap:wrap;align-items:center;gap:12px;display:flex}input[type=search],input[type=text]{font:inherit;border:1px solid var(--color-border);border-radius:6px;max-width:100%;padding:4px 8px}.table-scroll.tall{max-height:560px}.num{font-variant-numeric:tabular-nums;text-align:right!important}.row-selected{background:var(--color-accent-soft)}.data-table tbody th{text-align:left;font-weight:400}.badge+.badge,th .badge{margin-left:6px}.report>.card,.report>.kpis{margin-bottom:var(--gap)}.report h2{margin-top:0}.report-section h3,.report-section h4{margin:0}.report-section h4{margin-top:calc(var(--gap) * 1.5)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.echart{width:100%}.filters{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.filter{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filters-hint{flex-basis:100%;margin:0}.input-mid{width:8em}.multiselect{position:relative}.multiselect>summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:4px 10px}.multiselect-body{z-index:5;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(360px,90vw);max-height:360px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 6px 20px #0000001f}.multiselect-body ul{margin:8px 0 0;padding:0;list-style:none}.multiselect-body input[type=search]{width:100%;margin-bottom:6px}.section-head .multiselect-body{left:auto;right:0}.kpis{gap:var(--gap);margin:0 0 var(--gap);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.kpi{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:12px 14px}.kpi dt{color:var(--color-muted);font-size:.9rem}.kpi dd{margin:4px 0 0}.kpi-value{font-size:1.6rem;font-weight:650;display:block}.kpi-note{color:var(--color-muted);font-size:.85rem;display:block}.trend-up{color:var(--color-error)}.trend-down{color:#1d5b34}.sort-button{font:inherit;color:inherit;background:0 0;border:0;padding:0;font-weight:600}.row-alert{background:#fdecec}.badge-alert{color:var(--color-error);background:#fdecec}.cell-na{background:var(--color-na);color:var(--color-muted)}.cell-text{white-space:pre-line;min-width:220px;max-width:420px}.row-off{color:var(--color-muted);text-decoration:line-through}.row-off select,.row-off input{text-decoration:none}.chart-table{margin-top:8px}.segmented{border:1px solid var(--color-border);border-radius:6px;margin:0;padding:0;display:inline-flex;overflow:hidden}.seg{cursor:pointer;padding:4px 12px}.seg-on{background:var(--color-accent);color:#fff}.seg:focus-within{outline:3px solid var(--color-accent);outline-offset:-3px}.top5 .group-start td,.top5 .group-start th{border-top:2px solid var(--color-border)}.button-row.inline{align-items:center;margin-top:0}.without-deliveries{border:1px solid var(--color-border);background:var(--color-bg);border-radius:6px;padding:8px 10px}.top3-table td.top3-cell{min-width:190px}.top3-cell>*{display:block}.top3-cell .link-button{text-align:left;font-weight:600}.top3-figures{font-variant-numeric:tabular-nums}.share-bar{background:var(--color-na);border-radius:3px;height:6px;margin:4px 0 2px;overflow:hidden}.share-bar>span{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#2a78d6;border-radius:3px;height:100%;display:block}.plain-list{margin:0;padding:0;list-style:none}.supplier-card{width:min(1000px,96vw);max-height:92vh;padding:var(--gap);border:1px solid var(--color-border);border-radius:var(--radius)}.supplier-card::backdrop{background:#00000059}.supplier-card h4{margin:var(--gap) 0 4px}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.chart-panel{position:relative}.png-button{z-index:2;padding:2px 10px;font-size:.85rem;position:absolute;top:0;right:0}.print-only{display:none}.demo-banner{margin-bottom:var(--gap);border-radius:var(--radius);background:var(--color-warn-soft);color:var(--color-warn-text);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.demo-box{margin:var(--gap) 0;padding:12px var(--gap);border:1px dashed var(--color-accent);border-radius:var(--radius)}.app-footer{margin-top:calc(var(--gap) * 2);padding-top:var(--gap);border-top:1px solid var(--color-border)}.dictionary{margin-top:var(--gap)}.dict-rules{padding:0;list-style:none}.dict-rule{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) auto;align-items:start;gap:8px;padding:8px 0;display:grid}.dict-rule textarea,.dict-new textarea{font:inherit;border:1px solid var(--color-border);border-radius:6px;width:100%;min-height:3.2em;padding:4px 8px}.dict-rule input[type=text]{width:100%}.dict-actions{flex-wrap:wrap;gap:4px;display:flex}.dict-actions button{padding:2px 8px;font-size:.85rem}.dict-new{margin-top:var(--gap);grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) auto;align-items:end;gap:8px;display:grid}@media (width<=700px){.dict-rule,.dict-new{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;font-size:11pt}.app{max-width:none;padding:0}.steps,.no-print,.nav-buttons,.button-row,.png-button,.privacy-banner,.tagline,.multiselect,.section-head select,.section-head label,.chart-table,.supplier-card,.dictionary,.link-button+.link-button{display:none!important}.print-only{display:block}.report-section>p.muted.small{display:none}.print-params{color:#333;margin:0 0 8px;font-size:10pt}.card,.kpi{box-shadow:none;border-color:#bbb}.report-section,.chart-panel,.kpis{break-inside:avoid}.report-section{break-before:page}.kpis+.report-section{break-before:auto}.echart,.echart>div,.echart canvas{max-width:100%!important}.echart canvas{height:auto!important}.table-scroll,.table-scroll.tall{border:0;max-height:none;overflow:visible}.data-table thead th{position:static}.data-table tr{break-inside:avoid}.link-button{color:inherit;text-decoration:none}.demo-banner{border:1px solid #c90}}.chart-scroll{max-width:100%;overflow-x:auto}@media print{.chart-scroll{overflow:visible}.chart-scroll>div{min-width:0!important}}
