@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700;750&display=swap');
:root{--bg:#fafbfc;--surface:#fff;--text:#242b38;--muted:#596575;--line:#eaecef;--accent:#5756d6;--soft:#efeffb;--green:#267b60;--green-bg:#edf6f1;--sidebar:#f5f6f8;--shadow:0 12px 45px #222b3b10;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aaa9ef;outline-offset:3px}a{text-decoration:none;color:inherit}button{background:none;border:none}svg{width:19px;height:19px;vertical-align:middle;flex-shrink:0}i{display:inline-flex;font-style:normal}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1.1px;font-weight:600;line-height:1.3}h2{font-size:17px;font-weight:550;letter-spacing:-.35px}h3{font-size:15px;font-weight:550}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);border-right:1px solid var(--line);padding:30px 17px 17px;display:flex;flex-direction:column;z-index:20}.logo{font-size:25px;font-weight:750;letter-spacing:-1.6px;padding-left:15px;line-height:1}.logo span{font-size:10px;letter-spacing:0;vertical-align:top;margin-left:3px}.workspace{display:flex;align-items:center;gap:10px;padding:15px 9px;margin:31px 0 27px;border:1px solid #e3e5e9;border-radius:9px;background:#ffffff70}.workspace strong,.profile strong{display:block;font-size:13px;font-weight:550}.workspace small,.profile small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.workspace-icon{background:#e3e5ec;border:1px solid #d9dce4;border-radius:7px;width:31px;height:33px;display:grid;place-items:center;font-weight:600;font-size:16px}.chevrons{margin-left:auto;font-size:11px;line-height:7px;color:var(--muted)}.nav-caption{font-size:9px;letter-spacing:1.1px;font-weight:600;color:#596575;padding-left:13px;margin-bottom:13px}nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;text-align:left;gap:11px;padding:10px 13px;border-radius:7px;color:#596575;transition:background .18s,color .18s}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#eaecef;color:var(--text)}.nav-item.active{background:#e9e9f7;color:#5554ba;font-weight:550}.nav-count{margin-left:auto;font-size:11px;color:#596575;background:#e9ebef;min-width:20px;text-align:center;border-radius:4px}.sidebar-bottom{margin-top:auto}.demo-label{display:flex;align-items:center;gap:7px;color:#596575;font-size:10px;padding:22px 9px}.demo-label span{width:5px;height:5px;background:#9ca4b1;border-radius:50%}.profile{display:flex;align-items:center;gap:9px;width:100%;border-top:1px solid #e2e5e9;padding:18px 4px 1px;text-align:left}.profile i{margin-left:auto;color:var(--muted)}.avatar{width:33px;height:33px;flex-shrink:0;border-radius:50%;background:#e8e7e3;color:#596575;display:grid;place-items:center;font-size:11px;font-weight:600}.tiny{width:29px;height:29px;font-size:10px}.app{margin-left:238px}header{height:73px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px;background:var(--surface)}.breadcrumb,.header-right{display:flex;align-items:center;gap:18px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{font-weight:450;color:#4a5160}.slash{color:#596575}.today{font-size:12px;color:var(--muted)}.header-divider{height:17px;border-left:1px solid var(--line)}.icon-button{position:relative;border-radius:7px;padding:6px;display:flex;align-items:center;justify-content:center;color:#596575}.icon-button:hover{background:var(--sidebar)}.notification-dot{position:absolute;width:5px;height:5px;background:#7270cf;border-radius:50%;right:8px;top:5px;border:1px solid white}#menu{display:none}main{max-width:1440px;margin:auto;padding:36px 40px 25px;min-height:calc(100vh - 129px);animation:appear .3s ease}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.subtitle{color:var(--muted);font-size:13px;margin-top:7px}.button{border:1px solid #e0e3e9;background:var(--surface);border-radius:7px;display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:9px 13px;line-height:1.4;font-size:12px;font-weight:500;transition:all .18s;white-space:nowrap}.button svg{width:15px;height:15px}.button:hover{background:#f2f3f7;border-color:#d0d4df;transform:translateY(-1px)}.button.primary{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 2px 3px #5756d620}.button.primary:hover{background:#4847bd}.period{font-size:12px;max-width:180px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:0 0 31px;margin-bottom:30px;gap:22px}.metric{border-right:1px solid var(--line);padding-left:4px}.metric:last-child{border:0}.metric-label{font-size:12px;color:#596575;display:flex;align-items:center;gap:8px;margin-bottom:10px}.metric-label svg{width:15px;height:15px;color:#596575}.metric-value{font-size:31px;line-height:1.25;letter-spacing:-1.15px;font-weight:500;font-variant-numeric:tabular-nums}.metric-value span{color:#596575;font-size:24px;font-weight:400}.metric-note{font-size:11px;color:#596575;margin-top:9px}.metric-note .positive{color:var(--green);font-weight:500}.overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:25px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.panel-heading{padding:22px 23px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.heading-group{display:flex;align-items:center;gap:9px}.count{font-size:11px;border-radius:5px;background:#f0f1f4;color:#596575;padding:1px 6px;font-weight:400}.link-button{font-size:11px;color:#596575;display:flex;align-items:center;gap:6px;padding:4px}.link-button:hover{color:var(--accent)}.link-button svg{width:14px;height:14px}.project-row{display:grid;grid-template-columns:40px 1fr auto;gap:13px;padding:21px 23px;border-top:1px solid #f0f1f3;cursor:pointer;transition:background .18s}.project-row:hover{background:#fafaff}.project-icon{width:39px;height:39px;border-radius:9px;background:#f1f2f8;color:#596575;display:grid;place-items:center}.project-icon svg{width:21px;height:21px}.project-name{font-size:13px;font-weight:550}.project-location{font-size:11px;color:#596575;margin-top:3px}.status{font-size:10px;border-radius:4px;padding:3px 6px;white-space:nowrap;font-weight:450}.status.purple{color:#596575;background:#f1effa}.status.green{color:#596575;background:#eff7f2}.status.amber{color:#596575;background:#fcf6e9}.project-progress{grid-column:2/4;display:flex;align-items:center;gap:13px;margin-top:3px}.track{height:4px;border-radius:10px;background:#f0f1f5;overflow:hidden;flex:1}.track span{display:block;height:100%;border-radius:10px;background:#9390db}.project-progress small{font-size:10px;color:#596575;min-width:30px}.project-budget{font-size:10px;color:#596575;margin-top:5px;grid-column:2/4;display:flex;justify-content:space-between}.attention{padding-bottom:9px}.attention-row{display:flex;align-items:flex-start;gap:10px;padding:16px 22px;border-top:1px solid #f0f1f3;cursor:pointer;transition:background .18s}.attention-row:hover{background:#fffdf9}.attention-icon{width:27px;height:27px;border-radius:6px;background:#faf4e8;color:#596575;display:grid;place-items:center;flex-shrink:0}.attention-icon svg{width:15px;height:15px}.attention-title{font-size:12px;font-weight:500}.attention-meta{font-size:10px;color:#596575;margin-top:4px}.attention-desc{font-size:11px;color:#596575;margin-top:7px}.attention-row>i{margin-left:auto;color:#596575;margin-top:4px}.insight{padding:20px 22px;margin-top:19px;border-radius:var(--radius);background:#f0f2fc;position:relative}.insight-head{display:flex;gap:8px;align-items:center;color:#596575;font-size:11px;font-weight:500}.insight p{font-size:13px;line-height:1.65;margin-top:10px;color:#62677f}.insight strong{font-weight:600;color:#4c5067}.insight .link-button{padding:0;margin-top:12px;color:#596575}.deliveries{margin-top:25px}.delivery-table,.offers-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.delivery-table th,.offers-table th{font-size:10px;color:#596575;font-weight:400;background:#fcfcfd;padding:10px 23px;border-bottom:1px solid var(--line)}.delivery-table td{padding:15px 23px;border-bottom:1px solid #f1f2f5}.delivery-table tr:last-child td{border:0}.table-secondary{display:block;font-size:10px;color:#596575;margin-top:3px}.date-box{display:flex;align-items:center;gap:10px}.date-number{font-size:19px;font-weight:450;color:#626a7a}.date-box small{font-size:10px;line-height:1.5;color:#596575}.delivery-table td:last-child{text-align:right}.table-scroll{overflow:auto}footer{max-width:1440px;margin:auto;padding:18px 40px;display:flex;justify-content:space-between;font-size:10px;color:#596575}.footer-dot{margin:0 7px}.version{background:#f0f1f5;padding:2px 5px;border-radius:4px;margin-left:6px}.material-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-top:-6px;margin-bottom:25px}.tab{padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--accent);border-color:var(--accent)}.tab span{font-size:10px;background:#edeef3;padding:2px 6px;border-radius:5px;margin-left:6px}.material-toolbar{display:flex;gap:10px;margin-bottom:20px;align-items:center}.search{position:relative;max-width:360px;flex:1}.search i{position:absolute;left:12px;top:11px;color:#596575}.search input{background:var(--surface);border:1px solid #e2e5ea;border-radius:7px;padding:10px 12px 10px 38px;width:100%;font-size:12px;color:var(--text)}.search input::placeholder{color:#596575}.toolbar-count{margin-left:auto;font-size:11px;color:#596575}.product-header{display:flex;align-items:center;gap:16px;padding:26px 26px 24px}.product-symbol{width:52px;height:55px;border-radius:10px;background:#f3f0e8;color:#596575;display:grid;place-items:center}.product-symbol svg{width:28px;height:28px}.product-header h2{font-size:20px;letter-spacing:-.5px}.product-header p{font-size:11px;color:#596575;margin-top:4px}.product-header .bookmark{margin-left:auto}.bookmark.selected{color:var(--accent);background:var(--soft)}.product-labels{display:flex;gap:7px;margin-top:10px}.label{font-size:10px;color:#596575;background:#f3f4f6;border-radius:4px;padding:3px 7px}.comparison-top{padding:17px 26px;background:#fcfcfd;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#596575}.comparison-top span{font-size:10px;color:#596575}.offers-table th{padding:12px 26px}.offers-table td{padding:20px 26px;border-bottom:1px solid var(--line);vertical-align:middle}.offers-table tbody tr{transition:background .15s}.offers-table tbody tr:hover{background:#f8f9fc}.offers-table .best{background:#f5f9f7}.offers-table .best:hover{background:#f0f7f3}.supplier{display:flex;gap:10px;align-items:center}.supplier-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:6px;font-size:11px;font-weight:600;background:#f0f1f5;color:#596575}.supplier strong{font-size:12px;font-weight:500}.best-tag{display:block;font-size:10px;color:var(--green);margin-top:2px}.price{font-size:16px;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums}.price small{font-size:11px;font-weight:400;color:#596575}.difference{font-size:11px;color:#596575}.availability{font-size:11px;color:#596575}.availability:before{content:'';display:inline-block;width:4px;height:4px;background:#6ea18a;border-radius:50%;margin-right:6px}.updated{font-size:11px;color:#596575;white-space:nowrap}.offer-select{font-size:11px;padding:7px 10px;border:1px solid #e1e5e7;border-radius:6px;background:white}.offer-select.selected{background:#e6f0ea;border-color:#d7e8dc;color:#596575}.savings{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 26px}.batch-label{font-size:11px;color:#596575;margin-bottom:8px}.batch-control{display:flex;align-items:center;gap:10px}.batch-control input{width:72px;border:1px solid #e0e4eb;border-radius:6px;padding:7px 9px;color:var(--text);font-size:13px}.batch-control span{font-size:12px;color:#596575}.savings-total{text-align:right}.savings-total strong{font-size:25px;font-weight:500;color:#596575;letter-spacing:-.7px}.savings-total p{font-size:11px;color:#596575;margin-top:3px}.savings-total p b{color:#596575;font-weight:450}.comparison-footer{padding:15px 26px;background:#f9fafb;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:#596575}.material-note{display:flex;align-items:center;gap:8px;font-size:11px;color:#596575;padding:17px 1px}.material-note svg{width:14px;height:14px}.empty{padding:65px;text-align:center;color:var(--muted);background:white;border:1px solid var(--line);border-radius:12px}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,20px);padding:13px 20px;background:#303747;color:white;border-radius:9px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:60;max-width:90vw;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:15px;padding:32px;max-width:480px;width:calc(100% - 32px);color:var(--text);box-shadow:var(--shadow)}dialog::backdrop{background:#222b3b45;backdrop-filter:blur(3px)}#close-dialog{position:absolute;right:15px;top:15px}dialog h2{font-size:22px;margin-bottom:12px}dialog p{font-size:14px;color:var(--muted);line-height:1.8}dialog .dialog-info{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:13px}dialog .dialog-info>div{display:flex;justify-content:space-between;font-size:13px}dialog .dialog-info span{color:var(--muted)}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1600px){main{padding-top:48px}.metrics{padding-bottom:38px;margin-bottom:36px}.project-row{padding-top:27px;padding-bottom:27px}.attention-row{padding-top:21px;padding-bottom:21px}}@media(max-width:1200px){.sidebar{width:205px;padding-left:11px;padding-right:11px}.app{margin-left:205px}header{padding:0 27px}main{padding:30px 27px 20px}.overview-grid{gap:17px;grid-template-columns:minmax(0,1.5fr) minmax(245px,1fr)}.panel-heading,.project-row{padding-left:18px;padding-right:18px}.metric-value{font-size:27px}.offers-table td,.offers-table th{padding-left:16px;padding-right:16px}.delivery-table td,.delivery-table th{padding-left:18px;padding-right:18px}.workspace small{font-size:10px}.nav-caption{font-size:8px}}@media(max-width:980px){.overview-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1.4fr 1fr;gap:17px}.insight{margin-top:0}.metrics{gap:13px}.metric-value{font-size:24px}.metric-value span{font-size:19px}.today{display:none}.offers-table{min-width:760px}.delivery-table{min-width:640px}.metric-label{font-size:11px;gap:5px}.metric-note{font-size:10px}.product-header h2{font-size:18px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px;box-shadow:var(--shadow)}body.menu-open .sidebar{transform:none}.app{margin-left:0}header{height:60px;padding:0 19px;position:sticky;top:0;z-index:10}#menu{display:flex;padding:0}.breadcrumb{gap:12px;font-size:11px}.breadcrumb>span:first-of-type{display:none}.breadcrumb .slash{display:none}.header-right{gap:12px}main{padding:27px 19px 18px}.page-heading{gap:15px;margin-bottom:27px}h1{font-size:27px}.subtitle{font-size:11px}.period{max-width:145px;padding:8px;font-size:11px}.metrics{grid-template-columns:1fr 1fr;row-gap:24px;padding-bottom:26px;margin-bottom:24px}.metric:nth-child(2){border:0}.metric-value{font-size:29px}.metric-label{font-size:12px}.metric-note{font-size:10px}.right-column{grid-template-columns:1fr}.insight{padding:20px}.panel-heading{padding-top:18px;padding-bottom:18px}.project-row{padding-top:19px;padding-bottom:19px}.project-name{font-size:12px}.project-location{font-size:10px}.status{font-size:9px}.deliveries{margin-top:19px}footer{padding:15px 19px;font-size:9px}footer>span:first-child{max-width:220px}.material-tabs{gap:20px}.tab{font-size:12px}.material-toolbar{flex-wrap:wrap}.toolbar-count{display:none}.search{min-width:190px}.product-header{padding:20px 16px;gap:10px}.product-symbol{width:40px;height:44px;flex-shrink:0}.product-header h2{font-size:16px}.product-header p{font-size:10px}.product-labels{gap:4px}.label{font-size:9px}.comparison-top{padding:14px 16px;font-size:11px}.comparison-top span{font-size:9px}.savings{padding:20px 16px;gap:12px}.savings-total strong{font-size:23px}.savings-total p{font-size:9px;max-width:160px}.comparison-footer{padding:13px 16px;flex-direction:column;gap:4px;font-size:10px}.material-note{font-size:10px;align-items:flex-start}.material-heading .button{font-size:11px;padding:8px 10px}#toast{left:50%;width:max-content}.empty{padding:40px 15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Semantic tokens keep a future dark theme independent of layout. */
[data-theme="dark"]{--bg:#171a20;--surface:#1e222b;--text:#e4e7ed;--muted:#979fad;--line:#303641;--accent:#9691f1;--soft:#302e47;--green:#8ac9a5;--green-bg:#25392f;--sidebar:#1a1e26}
.nav-caption{font-size:10px}.workspace small,.profile small,.demo-label,.nav-count,.metric-note,.project-location,.project-budget,.project-progress small,.attention-meta,.attention-desc,.table-secondary,.date-box small,.link-button,.count,.today,.breadcrumb,.subtitle,.metric-label,.button,.comparison-top,.batch-label,.batch-control span,.updated,.availability,.difference,.supplier strong,.offer-select,.product-header p,.comparison-footer,.material-note{font-size:12px}.project-name,.attention-title,.nav-item,.tab,.delivery-table,.offers-table,.search input{font-size:14px}.delivery-table th,.offers-table th{font-size:12px}.status{font-size:11px}.metric-label{margin-bottom:12px}.attention-row{padding-top:15px;padding-bottom:15px}.supplier strong{font-size:14px}.savings-total p{font-size:12px}.best-tag{font-size:11px}.project-row{gap:11px}.toolbar-count{font-size:12px}.search{max-width:340px}.search input{padding-top:9px;padding-bottom:9px}.comparison-footer b{font-weight:500;color:#596474}@media(max-width:1200px){.sidebar{width:220px}.app{margin-left:220px}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.metric-label{font-size:11px}.metric-note{font-size:11px}.offers-table{min-width:850px}}@media(max-width:1050px){.overview-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1.4fr 1fr;gap:17px}.insight{margin-top:0}}@media(max-width:700px){.sidebar{width:238px}.app{margin-left:0}.right-column{grid-template-columns:1fr}.project-name{font-size:13px}.project-location,.project-budget{font-size:11px}.project-row{grid-template-columns:32px 1fr auto;gap:8px}.project-icon{width:31px;height:34px}.status{font-size:10px}.metric-label,.metric-note{font-size:12px}.metric-note{max-width:155px;font-size:11px}.subtitle{font-size:12px;max-width:240px}.savings-total p{font-size:11px}.product-header h2{font-size:16px}.product-header p{font-size:11px}.product-labels{flex-wrap:wrap}.comparison-top{gap:10px}.comparison-top span{max-width:110px;text-align:right}.toolbar-count{display:none}.nav-caption{font-size:10px}.breadcrumb{font-size:12px}}

/* Xmetrov: working states, readable data and responsive comparison. */
:root {
  --muted: #596575;
  --focus: #514cb0;
  --selected-bg: #f0effa;
  --selected-text: #45418b;
  --success-text: #286247;
  --warning-text: #754f17;
  --warning-bg: #fff6e7;
  --danger-text: #a02d38;
}
[hidden] { display: none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:8px; left:16px; z-index:100; padding:12px 16px; background:var(--surface); color:var(--text); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
::selection { background:#dcdaf5; color:#242b38; }
input { caret-color:var(--accent); }
button,a,input,select,[role="button"] { touch-action:manipulation; }
:where(button,a,input,select,[role="button"]):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
main:focus { outline:none; }
button,a,input,select { transition:background-color .16s ease, color .16s ease, border-color .16s ease; }
button:disabled { cursor:default; }
.button:hover { transform:none; }
.button:active,.offer-select:active,.icon-button:active,.nav-item:not(:disabled):active,.tab:active { background:#e4e3f3; }
.button.primary:active { background:#3f3c95; }
.icon-button { min-width:36px; min-height:36px; }
h1 { letter-spacing:-.03em; }
.logo { letter-spacing:-.035em; }
.nav-item.unavailable { color:#707888; background:transparent; font-weight:400; }
.nav-item.unavailable small { margin-left:auto; font-size:10px; color:#596575; }
.nav-item.unavailable svg { opacity:.65; }
.nav-item.active { color:var(--selected-text); background:#e9e8f8; }
.nav-caption,.demo-label,.workspace small,.profile small { color:var(--muted); }
.close-menu,.menu-backdrop { display:none; }
.sidebar .logo { padding-right:28px; }
.section-note,.period { color:var(--muted); font-size:12px; }
.period { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.page-heading { margin-bottom:26px; }
.project-row { padding:14px 22px; gap:6px 12px; }
.project-progress { grid-column:2 / 4; display:grid; grid-template-columns:auto minmax(40px,1fr) auto; gap:12px; margin-top:4px; }
.progress-label { color:var(--muted); font-size:12px; }
.project-progress small { color:var(--text); font-size:12px; font-variant-numeric:tabular-nums; }
.track { height:4px; }
.track span { background:#7772c4; }
.project-budget { grid-column:2 / 4; display:flex; justify-content:space-between; gap:12px; margin-top:7px; color:var(--muted); font-size:12px; }
.project-budget strong { color:var(--text); font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
.project-budget strong span { color:var(--muted); font-weight:400; }
.project-row .status { color:#515d6c; background:#edf0f4; font-size:11px; }
.delivery-table .status.green { color:#286247; background:#edf6f1; }
.delivery-table .status.amber { color:#754f17; background:#fcf3e3; }
.insight { background:#f2f3f8; }
.insight-head,.insight .link-button { color:#514c91; }
.insight p { color:var(--muted); }
.metrics { padding-bottom:25px; margin-bottom:25px; }
.material-toolbar { flex-wrap:wrap; }
.search { min-width:220px; }
.search input::placeholder { color:var(--muted); opacity:1; }
.material-tabs .tab { min-height:44px; }
.tab.active { color:#45418b; }
.tab span,.count,.label { color:#515d6c; }
.product-header { padding:20px 24px; }
.product-header h2 { letter-spacing:-.02em; }
.product-header p,.comparison-top,.comparison-top span,.table-secondary,.updated,.difference,.availability,.batch-label,.field-hint,.material-note,.comparison-footer { color:var(--muted); }
.comparison-top span { font-size:12px; }
.offers-table { table-layout:auto; min-width:0; }
.offers-table th { color:#515d6c; font-weight:500; font-size:12px; }
.offers-table th,.offers-table td { padding:15px 20px; }
.offers-table td { font-size:13px; }
.offers-table tbody tr:hover { background:#f6f7fa; }
.offers-table tbody tr.is-selected { background:var(--selected-bg); }
.offers-table tbody tr.is-selected:hover { background:#eae8f6; }
.supplier strong { color:var(--text); font-size:14px; }
.supplier-icon { color:#515d6c; background:#e8ebf0; }
.best-tag { color:var(--muted); font-size:11px; }
.price { color:var(--text); font-size:17px; }
.price small { color:var(--muted); }
.availability { color:var(--success-text); }
.availability:before { background:var(--success-text); }
.offer-select { min-width:88px; min-height:38px; padding:8px 12px; color:#45418b; font-size:12px; border-color:#c9c6df; }
.offer-select:hover { background:#efedf9; border-color:#7772b3; }
.offer-select.selected { background:#e4e1f5; color:#45418b; border-color:#8e88bd; font-weight:550; }
.offer-select.selected:active { background:#d5d0ef; }
.field-label,.compact-meta { display:none; }
.batch-summary { display:grid; grid-template-columns:minmax(180px,1fr) minmax(260px,1.3fr); gap:16px 28px; padding:24px; border-top:1px solid var(--line); }
.batch-label { display:block; font-size:12px; margin-bottom:8px; }
.batch-input input { width:120px; max-width:100%; padding:9px 12px; border:1px solid #8c96a5; border-radius:6px; color:var(--text); background:var(--surface); font-size:16px; line-height:1.5; }
.batch-input input[aria-invalid="true"] { border-color:var(--danger-text); }
.field-hint { font-size:12px; margin-top:6px; }
.field-error { color:var(--danger-text); font-size:12px; margin-top:6px; }
.field-error:empty { display:none; }
.batch-result { text-align:right; min-width:0; }
#batch-total { display:block; font-size:30px; letter-spacing:-.025em; line-height:1.2; color:var(--text); font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#batch-total.not-calculated { font-size:20px; letter-spacing:0; }
#batch-context { color:var(--muted); font-size:13px; margin-top:8px; }
#saving-line { color:var(--muted); font-size:12px; line-height:1.6; margin-top:10px; }
#saving-line strong { font-weight:500; color:var(--text); }
.stock-warning { grid-column:1 / -1; padding:12px 14px; color:var(--warning-text); background:var(--warning-bg); border-radius:6px; font-size:13px; line-height:1.6; }
.comparison-footer { padding:14px 24px; font-size:12px; }
.comparison-footer b { color:var(--text); }
.bookmark.selected { color:#45418b; }
@media (min-width:601px) and (max-width:1100px) {
  .offers-table .difference-cell,.offers-table .updated-cell { display:none; }
  .compact-meta { display:block; font-size:11px; line-height:1.5; color:var(--muted); margin-top:4px; white-space:normal; }
  .offers-table th,.offers-table td { padding:14px 12px; }
  .offers-table .supplier { gap:8px; }
  .supplier-icon { display:none; }
}
@media (max-width:1100px) {
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .metric:nth-child(2) { border:0; }
}
@media (max-width:900px) {
  .sidebar { width:270px; max-width:calc(100vw - 48px); padding:28px 16px 16px; transform:translateX(-100%); visibility:hidden; overflow-y:auto; overscroll-behavior:contain; transition:transform .2s ease; z-index:40; box-shadow:var(--shadow); }
  body.menu-open { overflow:hidden; }
  body.menu-open .sidebar { transform:translateX(0); visibility:visible; }
  .menu-backdrop { display:block; position:fixed; inset:0; z-index:30; background:#242b3860; }
  .close-menu { display:flex; position:absolute; top:17px; right:12px; width:44px; height:44px; font-size:24px; }
  .sidebar-bottom { padding-top:22px; }
  .app { margin-left:0; }
  header { height:64px; padding:0 24px; position:sticky; top:0; z-index:10; }
  #menu { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border-radius:6px; }
  #menu:hover { background:#eae8f6; }
  main { padding:28px 24px 20px; }
  .breadcrumb { gap:10px; }
  .breadcrumb>span:first-of-type,.breadcrumb .slash { display:none; }
  .overview-grid { grid-template-columns:minmax(0,1fr); }
  .right-column { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .offers-table { min-width:0; width:100%; }
  .offers-scroll { overflow:visible; }
  .offer-select { min-height:44px; }
  .search input,.material-toolbar select { font-size:16px; }
  .toolbar-count { display:none; }
  .metric-value { font-size:29px; }
  .metric-label,.metric-note { font-size:12px; }
  .icon-button { min-width:44px; min-height:44px; }
  #toast { left:50%; }
}
@media (max-width:600px) {
  header { padding:0 14px; }
  main { padding:24px 16px 18px; }
  h1 { font-size:27px; }
  .header-right { gap:8px; }
  .page-heading { align-items:flex-start; gap:12px; margin-bottom:24px; }
  .subtitle { font-size:13px; max-width:100%; }
  .period { font-size:11px; gap:5px; padding-top:8px; }
  .period svg { width:14px; }
  .metrics { gap:20px 14px; }
  .metric-value { font-size:26px; }
  .metric-value span { font-size:19px; }
  .metric-label { font-size:12px; }
  .metric-note { font-size:12px; max-width:none; }
  .right-column { grid-template-columns:minmax(0,1fr); }
  .project-row { padding:15px 16px; grid-template-columns:32px minmax(0,1fr); gap:8px 10px; }
  .project-row>div:nth-child(3) { grid-column:2; }
  .project-name { font-size:14px; }
  .project-location { font-size:12px; }
  .project-progress,.project-budget { grid-column:1 / -1; }
  .project-progress { gap:8px; }
  .project-budget { flex-wrap:wrap; gap:4px 12px; margin-top:8px; }
  .project-row .status { font-size:12px; }
  .material-toolbar { gap:10px; }
  .search { min-width:100%; max-width:none; }
  .material-toolbar select { width:100%; }
  .product-header { padding:18px 16px; gap:10px; }
  .product-header h2 { font-size:17px; line-height:1.4; }
  .product-header p { font-size:12px; }
  .product-symbol { display:none; }
  .product-header .bookmark { flex-shrink:0; }
  .label { font-size:11px; }
  .comparison-top { padding:14px 16px; font-size:13px; flex-wrap:wrap; gap:4px; }
  .comparison-top span { max-width:none; text-align:left; font-size:12px; }
  .offers-table,.offers-table tbody { display:block; width:100%; }
  .offers-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .offers-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 16px; padding:18px 16px; border-top:1px solid var(--line); }
  .offers-table td { display:block; border:0; padding:0; font-size:14px; min-width:0; }
  .offers-table .supplier-cell,.offers-table .select-cell { grid-column:1 / -1; }
  .supplier { gap:10px; }
  .supplier strong { font-size:16px; }
  .supplier-icon { width:32px; height:32px; }
  .best-tag { font-size:12px; }
  .field-label { display:block; font-size:12px; line-height:1.5; color:var(--muted); margin-bottom:4px; }
  .price { font-size:20px; }
  .price small { font-size:14px; }
  .table-secondary,.availability { font-size:14px; }
  .updated { white-space:normal; }
  .offer-select { width:100%; min-height:44px; font-size:14px; }
  .batch-summary { grid-template-columns:minmax(0,1fr); gap:20px; padding:20px 16px; }
  .batch-input input { width:100%; }
  .batch-result { text-align:left; }
  .batch-label,.field-hint,.field-error,#saving-line { font-size:13px; }
  #batch-total { font-size:30px; }
  #batch-context { font-size:14px; }
  .comparison-footer { padding:14px 16px; gap:6px; flex-direction:column; }
  .stock-warning { font-size:13px; }
  footer { padding:16px; font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Read money independently before the separate readiness indicator. */
@media (min-width:601px) {
  .project-budget { grid-row:2; }
  .project-progress { grid-row:3; }
}
@media (max-width:600px) {
  .project-budget { grid-row:3; }
  .project-progress { grid-row:4; }
}

/* Compact mobile work views; desktop tables retain their existing layout. */
.nav-development { margin:20px 12px 8px; color:var(--muted); font-size:11px; line-height:1.5; }
.mobile-vat,.delivery-field-label { display:none; }
.date-box small span { display:block; }
@media (max-width:600px) {
  main:has(.material-heading) { padding-top:16px; }
  .material-heading { margin-bottom:10px; }
  .material-heading .subtitle { margin-top:4px; line-height:1.45; }
  .material-tabs { margin-bottom:10px; }
  .material-tabs .tab { min-height:44px; padding-top:10px; padding-bottom:10px; }
  .material-toolbar { gap:8px; margin-bottom:12px; }
  .search input,.material-toolbar select { height:44px; }
  .product-header { padding:12px; gap:8px; }
  .product-header h2 { font-size:16px; }
  .product-header p { margin-top:4px; line-height:1.45; }
  .product-labels { display:none; }
  .mobile-vat { display:inline; }
  .comparison-top { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .offers-table tbody tr { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 12px; padding:12px; }
  .offers-table .supplier-cell { grid-column:1; grid-row:1; align-self:center; }
  .offers-table .select-cell { grid-column:2; grid-row:1; text-align:right; }
  .offers-table .price-cell { grid-column:1; grid-row:2; }
  .offers-table .difference-cell { grid-column:2; grid-row:2; }
  .offers-table .stock-cell { grid-column:1; grid-row:3; }
  .offers-table .updated-cell { grid-column:2; grid-row:3; }
  .supplier-icon,.offers-table .best-tag { display:none; }
  .supplier strong { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
  .offer-select { width:auto; min-width:88px; min-height:44px; padding:8px 12px; font-size:13px; }
  .offers-table tr.is-selected { background:#f7f6fc; }
  .offers-table tr.is-selected:hover { background:#f0eef8; }
  .offer-select.selected { background:#eeecf7; color:var(--selected-text); }
  .field-label { margin-bottom:1px; font-size:12px; line-height:1.4; }
  .offers-table .price { font-size:20px; line-height:1.2; }
  .offers-table .difference-cell .table-secondary,.stock-cell .field-label { display:none; }
  .offers-table .table-secondary,.offers-table .availability,.offers-table .updated { font-size:13px; line-height:1.4; }
  .offers-table .table-secondary { margin-top:1px; }
  .delivery-scroll { overflow:visible; }
  .delivery-table,.delivery-table tbody { display:block; width:100%; min-width:0; }
  .delivery-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .delivery-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:14px 16px; border-top:1px solid var(--line); }
  .delivery-table td,.delivery-table td:last-child { display:block; min-width:0; padding:0; border:0; text-align:left; white-space:normal; overflow-wrap:anywhere; }
  .delivery-table .date-box { gap:5px; align-items:baseline; }
  .delivery-table .date-number { font-size:14px; font-weight:600; }
  .delivery-table .date-box small { display:flex; flex-wrap:wrap; gap:5px 12px; font-size:13px; }
  .delivery-table .table-secondary { margin-top:3px; }
  .delivery-field-label { display:inline; color:var(--muted); }
  .delivery-table .status { max-width:100%; white-space:normal; }
  .deliveries .panel-heading { flex-wrap:wrap; gap:6px 12px; padding:16px; }
}

/* Material comparison workspace and semantic accent choices. */
.nav-item.active,.offer-select.selected,.offers-table tr.is-selected,.offers-table tr.is-selected:hover { background:var(--selected-bg); color:var(--selected-text); }
.offer-select,.offer-select:hover { border-color:var(--accent); color:var(--selected-text); }
.offer-select:hover,.button:not(:disabled):hover,#menu:hover { background:var(--soft); }
.offer-select:active,.button:active { background:var(--selected-bg); }
.track span { background:var(--accent); }
:focus-visible { outline-color:var(--focus) !important; }
.material-workspace { display:grid; grid-template-columns:minmax(0,1fr) 320px; border-top:1px solid var(--line); }
.offer-workspace { min-width:0; }
#product .comparison-top { border-top:0; padding:14px 16px; }
#product .offers-scroll { overflow:auto; max-height:560px; overscroll-behavior:contain; }
#product .offers-table { min-width:0; width:100%; table-layout:fixed; }
#product .offers-table th { position:sticky; top:0; z-index:1; background:var(--surface); }
#product .offers-table th,#product .offers-table td { padding:13px 10px; font-size:12px; overflow-wrap:anywhere; }
#product .offers-table th:first-child { width:25%; }
#product .offers-table th:last-child { width:90px; }
#product .supplier strong { font-size:13px; }
.offer-date,.offer-difference { display:block; font-size:11px; color:var(--muted); line-height:1.5; margin-top:3px; }
#product .price { font-size:15px; }
#product .price small { font-size:12px; }
#product .offer-select { min-width:0; width:100%; padding:8px 5px; font-size:12px; }
.row-total-cell strong { font-variant-numeric:tabular-nums; }
.calculation-panel { min-width:0; border-left:1px solid var(--line); background:var(--surface); }
.calculation-heading { padding:20px 20px 0; color:var(--muted); font-size:12px; }
.calculation-heading strong { display:block; font-size:17px; color:var(--text); margin-top:4px; }
.calculation-panel .batch-summary { display:flex; flex-direction:column; gap:18px; padding:18px 20px; }
.calculation-panel .batch-result { text-align:left; }
.calculation-panel .batch-input input { width:100%; }
.calculation-panel #batch-total { font-size:28px; }
.calculation-panel #saving-line { margin-top:10px; font-size:12px; }
#stock-availability { font-size:13px; color:var(--muted); }
.calculation-panel .stock-warning { font-size:12px; }
.calculation-panel .comparison-footer { padding:14px 20px; }
.result-toggle { display:none; }
.accent-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.accent-choice { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:7px; padding:12px; min-height:44px; }
.accent-choice span { width:16px; height:16px; border-radius:50%; }
.accent-choice[aria-pressed="true"] { border-color:var(--accent); background:var(--soft); color:var(--selected-text); }
.accent-choice[aria-pressed="true"]::after { content:'✓'; margin-left:auto; }
@media(min-width:901px) and (max-width:1200px) {
  main:has(.material-heading) { padding-left:16px; padding-right:16px; }
  .material-workspace { grid-template-columns:minmax(0,1fr) 300px; }
  #product .offers-table th,#product .offers-table td { padding:12px 6px; font-size:11px; }
  #product .offers-table th:last-child { width:70px; }
  #product .offer-select { font-size:11px; }
  #product .supplier strong { font-size:12px; }
  #product .price { white-space:normal; }
}
@media(max-width:900px) {
  main:has(.calculation-panel) { padding-bottom:190px; }
  .material-workspace { display:block; }
  #product .offers-scroll { max-height:none; overflow:visible; }
  #product .offers-table th { position:static; }
  .calculation-panel { position:fixed; bottom:0; left:0; right:0; z-index:25; border-left:0; border-top:1px solid var(--line); padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -4px 18px #242b3810; }
  .result-toggle { display:flex; width:100%; justify-content:space-between; align-items:center; padding:12px 20px; text-align:left; gap:12px; }
  .result-toggle>span:first-child { min-width:0; }
  #result-caption,#result-saving { display:block; font-size:12px; color:var(--muted); }
  #result-total { display:block; font-size:24px; margin:2px 0; font-variant-numeric:tabular-nums; }
  .result-toggle-label { display:flex; align-items:center; gap:4px; font-size:12px; color:var(--selected-text); }
  .result-toggle-label svg { width:16px; }
  .expanded .result-toggle-label svg { transform:rotate(180deg); }
  #calculation-details { display:none; max-height:calc(78dvh - 130px); overflow-y:auto; overscroll-behavior:contain; }
  .expanded #calculation-details { display:block; }
  .calculation-heading { display:none; }
  .calculation-panel .batch-summary { gap:14px; padding-top:8px; }
  .calculation-panel .batch-result { display:block; }
  #toast { bottom:150px; }
}
@media(max-width:600px) {
  #product .offers-table,#product .offers-table tbody { display:block; }
  #product .offers-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto; padding:10px 12px; gap:6px 12px; }
  #product .offers-table td { padding:0; font-size:12px; }
  #product .offers-table .supplier-cell { grid-area:1 / 1; }
  #product .offers-table .select-cell { grid-area:1 / 2; }
  #product .offers-table .price-cell { grid-area:2 / 1; }
  #product .offers-table .row-total-cell { grid-area:2 / 2; }
  #product .offers-table .stock-cell { grid-area:3 / 1 / 4 / 3; display:flex; gap:8px; align-items:baseline; }
  #product .offer-select { width:auto; min-width:88px; min-height:44px; padding:8px 12px; }
  #product .price,#product .row-total-cell strong { font-size:17px; line-height:1.3; }
  #product .field-label { display:block; margin-bottom:1px; }
  #product .offer-date,#product .offer-difference { font-size:11px; margin-top:2px; }
  #product .supplier strong { font-size:14px; }
  #product .stock-cell .table-secondary { margin:0; }
  #product .product-header { padding:12px; }
  .result-toggle { padding:10px 16px; }
  .result-toggle-label { flex-direction:column-reverse; }
}

#product .offer-select { white-space:nowrap; }
@media(min-width:901px) {
  #product { overflow:clip; }
  .calculation-panel { position:sticky; top:16px; align-self:start; }
  #product .offers-scroll { max-height: min(560px, calc(100dvh - 220px)); }
}

main:has(.material-heading) { animation:none; }
@media(min-width:901px) {
  #product .offers-scroll { max-height:clamp(240px, calc(100dvh - 500px), 560px); }
}

.tab.active,.bookmark.selected { color:var(--selected-text); }
.offers-table tbody tr.is-selected:hover,.offer-select.selected:active,
.icon-button:active,.nav-item:not(:disabled):active,.tab:active { background:var(--selected-bg); }
.offer-select.selected { border-color:var(--accent); }
.button.primary:hover,.button.primary:active { background:var(--selected-text); color:white; }
.accent-choice:hover { background:var(--soft); }
.accent-choice:active { background:var(--selected-bg); }

/* Desktop financial hierarchy; mobile presentation remains unchanged. */
.category-dropdown,.desktop-delivery,.purchase-action,.selected-check { display:none; }
@media(min-width:901px) {
  .material-toolbar #category { display:none; }
  .category-dropdown { display:block; position:relative; width:176px; flex-shrink:0; }
  #category-trigger { width:100%; justify-content:space-between; text-align:left; background:var(--surface); border:1px solid #e2e5ea; border-radius:7px; min-height:38px; }
  #category-trigger span { overflow:hidden; text-overflow:ellipsis; }
  #category-trigger svg { width:14px; }
  #category-options { position:absolute; z-index:12; top:calc(100% + 6px); left:0; min-width:100%; width:230px; padding:5px; border:1px solid var(--line); border-radius:7px; background:var(--surface); box-shadow:0 5px 18px #242b3810; }
  #category-options[hidden] { display:none; }
  #category-options [role=option] { padding:9px 10px; border-radius:4px; font-size:12px; cursor:pointer; }
  #category-options [aria-selected=true] { background:var(--soft); color:var(--selected-text); font-weight:550; }
  #category-options [role=option]:hover { background:#f2f4f6; }
  #category-options .keyboard-current { outline:1px solid var(--accent); outline-offset:-1px; }
  main:has(.material-heading) :focus-visible { outline-width:2px; outline-offset:2px; box-shadow:none; }
  #product .row-total-cell strong { font-size:15px; font-weight:650; line-height:1.3; color:var(--text); }
  #product .offer-select.selected { border-color:transparent; background:transparent; color:var(--selected-text); font-weight:550; }
  .selected-check { display:inline; }
  .desktop-delivery { display:flex; gap:7px; align-items:flex-start; font-size:12px; line-height:1.5; color:var(--muted); margin-top:8px; }
  .desktop-delivery svg { width:16px; height:18px; }
  .calculation-panel .comparison-footer { display:none; }
  .calculation-panel #saving-line { margin-top:14px; font-size:13px; }
  .calculation-panel #saving { font-size:17px; font-weight:600; white-space:nowrap; }
  .calculation-panel .positive-saving #saving { color:var(--success-text); }
  .saving-basis { display:block; margin-top:3px; font-size:12px; color:var(--muted); }
  .purchase-action { display:block; padding:0 20px 16px; }
  #add-to-purchase { width:100%; min-height:40px; font-size:13px; }
  #add-to-purchase:disabled { opacity:.5; cursor:not-allowed; }
  .purchase-action p { font-size:11px; color:var(--muted); margin-top:7px; line-height:1.5; }
  #draft-feedback:empty { display:none; }
}
@media(min-width:901px) and (max-width:1200px) {
  #product .row-total-cell strong { font-size:12px; font-weight:700; }
  #product .offer-select.selected { padding-left:0; padding-right:0; font-size:10px; }
}

/* Complete the Materials workflow within the available working height. */
.mobile-calculation-summary { display:none; }
.selected-check { display:inline; }
#product .offer-select.selected { border-color:transparent; background:transparent; color:var(--selected-text); font-weight:550; }
#product .row-total-cell strong { font-weight:700; color:var(--text); }
.desktop-delivery { display:flex; gap:7px; align-items:flex-start; font-size:12px; line-height:1.5; color:var(--muted); margin-top:8px; }
.desktop-delivery svg,.summary-delivery svg { width:16px; height:18px; }
.calculation-panel .comparison-footer { display:none; }
.calculation-panel #saving-line { font-size:13px; }
.calculation-panel #saving { font-size:17px; font-weight:600; white-space:nowrap; }
.calculation-panel .positive-saving strong { color:var(--success-text); }
.saving-basis { display:block; margin-top:3px; font-size:12px; color:var(--muted); }
.purchase-action { display:block; padding:0 16px 12px; }
[data-add-purchase] { min-height:42px; font-size:13px; }
#add-to-purchase { width:100%; }
[data-add-purchase]:disabled { opacity:.5; cursor:not-allowed; }
.purchase-action p { font-size:11px; color:var(--muted); margin-top:6px; line-height:1.5; }
#draft-feedback { margin:0; padding:0; }
@media (min-width:1101px), (min-width:901px) and (orientation:landscape) {
  main:has(.material-heading) { display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; gap:10px; height:calc(100dvh - 113px); min-height:0; padding-top:16px; padding-bottom:8px; }
  .material-heading { margin:0; }
  .material-heading .subtitle { margin-top:4px; }
  .material-tabs { margin:0; }
  .material-tabs .tab { padding:9px 0; }
  .material-toolbar { margin:0; }
  #product-area { min-height:0; }
  #product { display:flex; flex-direction:column; height:100%; min-height:0; }
  #product .product-header { flex-shrink:0; padding-top:13px; padding-bottom:13px; }
  .material-workspace { flex:1; min-height:0; }
  .offer-workspace { display:flex; flex-direction:column; min-height:0; }
  #product .comparison-top { flex-shrink:0; padding-top:10px; padding-bottom:10px; }
  #product .offers-scroll { flex:1; min-height:0; max-height:none; overflow:auto; }
  .calculation-panel { position:static; height:100%; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .calculation-heading { padding:12px 16px 0; }
  .calculation-panel .batch-summary { padding:10px 16px; gap:10px; }
  .calculation-panel .batch-label { margin-bottom:5px; }
  .calculation-panel #saving-line { margin-top:10px; }
  .material-note { padding:2px 0; margin:0; }
  .app:has(.material-heading)>footer { height:40px; padding-top:8px; padding-bottom:8px; }
}
@media (max-width:900px), (max-width:1100px) and (orientation:portrait) {
  main:has(.material-heading) { display:block; height:auto; padding-bottom:calc(var(--calculation-height, 230px) + 24px); }
  .material-workspace { display:block; }
  #product { height:auto; overflow:hidden; }
  #product .offers-scroll { max-height:none; overflow:visible; }
  #product .offers-table th { position:static; }
  .calculation-panel { position:fixed; top:auto; bottom:0; left:0; right:0; z-index:25; height:auto; max-height:calc(100dvh - 24px); display:flex; flex-direction:column; overflow:hidden; border-left:0; border-top:1px solid var(--line); padding-bottom:env(safe-area-inset-bottom); background:var(--surface); box-shadow:0 -4px 18px #242b3810; }
  .mobile-calculation-summary { display:block; flex-shrink:0; padding:10px 16px; }
  #result-caption { font-size:12px; color:var(--muted); }
  #result-total { display:block; font-size:24px; margin:2px 0; font-variant-numeric:tabular-nums; }
  #result-saving { font-size:13px; color:var(--text); }
  #result-saving strong { font-weight:600; }
  #result-saving>span { display:block; font-size:11px; color:var(--muted); }
  .summary-delivery { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); margin:5px 0 8px; }
  .summary-actions { display:flex; gap:10px; align-items:center; }
  .summary-actions [data-add-purchase] { flex:1; }
  .result-toggle { display:flex; width:auto; min-height:44px; padding:8px 10px; }
  .result-toggle-label { display:flex; flex-direction:row; gap:5px; align-items:center; font-size:12px; color:var(--selected-text); }
  .result-toggle-label svg { width:16px; }
  .expanded .result-toggle-label svg { transform:rotate(180deg); }
  #calculation-details { display:none; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; }
  .expanded #calculation-details { display:block; }
  .expanded .mobile-calculation-summary { padding-top:6px; padding-bottom:6px; }
  .expanded .mobile-calculation-summary>#result-caption,.expanded #result-total,.expanded #result-saving,.expanded .summary-delivery,.expanded .summary-actions>[data-add-purchase] { display:none; }
  .expanded .summary-actions { justify-content:flex-end; }
  .calculation-heading { display:block; padding:8px 16px 0; }
  .calculation-panel .batch-summary { padding:12px 16px; gap:12px; }
  .calculation-panel .batch-result { text-align:left; }
  #product .row-total-cell strong { font-size:17px; font-weight:700; }
  #product .offer-select.selected { font-size:12px; padding:8px; }
  #toast { bottom:calc(var(--calculation-height, 230px) + 12px); }
}
@media (min-width:901px) and (max-width:1100px) and (orientation:portrait) {
  .calculation-panel { left:220px; }
}

@media (min-width:1101px), (min-width:901px) and (orientation:landscape) {
  main:has(.material-heading) { gap:8px; }
  #product .product-header { padding-top:9px; padding-bottom:9px; }
  #product:not(:has(.offers-table tbody tr:nth-child(5))) { max-height:524px; }
  .calculation-panel .batch-summary { gap:8px; padding-top:8px; padding-bottom:8px; }
}

/* Keep Materials anchors clear of the in-flow sticky header on touch layouts. */
@media (max-width:900px) {
  main:has(.material-heading),.material-heading { scroll-margin-top:76px; }
}
@media (min-width:601px) and (max-width:900px), (min-width:901px) and (max-width:1100px) and (orientation:portrait) {
  main:has(.material-heading) { padding-top:24px; }
  .calculation-panel.expanded .batch-summary { padding-top:8px; padding-bottom:8px; gap:8px; }
  .calculation-panel.expanded .calculation-heading { padding-top:6px; }
  .calculation-panel.expanded .purchase-action { padding-bottom:10px; }
}

/* Tighten only the entry spacing of the expanded touch calculation panel. */
@media (max-width:900px), (max-width:1100px) and (orientation:portrait) {
  .calculation-panel.expanded .mobile-calculation-summary { padding-top:0; padding-bottom:0; }
  .calculation-panel.expanded .calculation-heading { padding-top:4px; }
}

/* The close control shares the supplier heading instead of taking a row. */
.attention-task { display:flex; align-items:flex-start; gap:11px; padding:17px 22px; border-top:1px solid #f0f1f3; }
.attention-task.is-high { background:#fffaf3; }
.attention-copy { min-width:0; flex:1; }
.attention-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.attention-actions .button { min-height:36px; padding:7px 10px; }
.attention-empty { padding:26px 22px; border-top:1px solid #f0f1f3; color:var(--muted); font-size:13px; }
.attention-count { background:#faf2e5; color:#754f17; }
@media(max-width:700px){.attention-task{padding:16px 18px}.attention-actions .button{min-height:42px}.attention-live .panel-heading{padding-bottom:16px}}
@media (max-width:900px), (max-width:1100px) and (orientation:portrait) {
  .calculation-panel.expanded .mobile-calculation-summary { height:0; padding:0; }
  .calculation-panel.expanded #result-toggle { position:absolute; top:0; right:16px; z-index:1; height:44px; min-height:44px; padding:4px 0 0 10px; align-items:flex-start; }
  .calculation-panel.expanded .calculation-heading { padding-right:112px; }
}

/* Keep the close hit area below the panel edge without adding layout space. */
@media (max-width:900px), (max-width:1100px) and (orientation:portrait) {
  .calculation-panel.expanded #result-toggle { top:12px; padding-top:0; }
}

/* Consistent category popup on every screen size. */
.expanded .result-toggle-label svg { transform:none; }
.material-toolbar #category { display:none; }
.category-dropdown { display:block; position:relative; width:176px; flex-shrink:0; }
#category-trigger { width:100%; min-height:38px; justify-content:space-between; text-align:left; background:var(--surface); border:1px solid #e2e5ea; border-radius:7px; }
#category-trigger span { overflow:hidden; text-overflow:ellipsis; }
#category-trigger svg { width:14px; }
#category-options { position:absolute; z-index:12; top:calc(100% + 6px); left:0; width:max(100%, 230px); max-width:calc(100vw - 32px); padding:5px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 6px 20px #242b3812; }
#category-options[hidden] { display:none; }
#category-options [role=option] { display:flex; align-items:center; min-height:42px; padding:10px 12px; border-radius:5px; font-size:13px; line-height:1.5; color:var(--text); cursor:pointer; }
#category-options [role=option]:hover { background:#f3f4f6; }
#category-options [aria-selected=true] { background:var(--soft); color:var(--selected-text); font-weight:550; }
#category-options [aria-selected=true]::after { content:'✓'; margin-left:auto; padding-left:12px; }
#category-options .keyboard-current { outline:1px solid var(--accent); outline-offset:-1px; }
#category-trigger:focus-visible { outline-width:2px; outline-offset:2px; box-shadow:none; }
@media(max-width:900px) {
  #category-trigger { min-height:44px; font-size:14px; }
  #category-options [role=option] { min-height:44px; font-size:14px; }
}
@media(max-width:600px) {
  .category-dropdown { width:100%; }
  #category-options { width:100%; }
}
