:root{--bg:#f6f7f9;--ink:#1f2c3e;--muted:#8290a1;--line:#e8ecf1;--orange:#ee793f;--nav:#1e2d40;--green:#238363;--red:#b24d46}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px}button,input,select{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffba83;outline-offset:3px}a{color:inherit}button{transition:background .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(.98)}[hidden]{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:242px;flex-shrink:0;background:var(--nav);color:#bdc9d7;position:fixed;inset:0 auto 0 0;padding:31px 19px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;text-decoration:none;align-items:center;gap:10px;color:white;font-size:34px;font-weight:750;letter-spacing:-1.9px;padding-left:10px}.brand-mark{width:38px;height:38px;background:var(--orange);border-radius:12px;color:white;font-size:32px;display:grid;place-items:center;font-weight:650;line-height:1;transform:rotate(-5deg)}.brand-dot{color:#fa9d62}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:1.5px;color:#a2afbf;margin-top:3px}.nav-caption{font-size:9px;letter-spacing:1.7px;font-weight:650;margin:51px 11px 17px;color:#7d90a7}.nav-item{display:flex;align-items:center;gap:12px;border:0;width:100%;padding:14px 13px;margin-bottom:6px;border-radius:9px;background:transparent;color:#b4c0d0;text-align:left;font-size:13px;font-weight:550}.nav-item.active{background:#344154;color:#fff}.nav-item.active .nav-icon{color:#ffa673}.nav-icon{font-size:21px;width:23px;text-align:center;font-weight:400}.nav-count{margin-left:auto;border-radius:5px;background:#435064;color:#fff;font-size:11px;padding:3px 6px}.sidebar-note{margin-top:auto;margin-bottom:21px;border:1px solid #3b495c;border-radius:10px;padding:17px 13px;font-size:11px;color:#d7e1ec;line-height:1.5}.sidebar-note p{color:#92a3b8;font-size:11px;line-height:1.8;margin:9px 0 14px}.sidebar-note a{font-size:10px;color:#d2deec;text-decoration:none}.status-dot{display:inline-block;background:#7ebfa4;border-radius:50%;width:6px;height:6px;margin-right:5px}.sidebar-footer{font-size:9px;color:#71859d;padding:0 11px}main{width:calc(100% - 242px);margin-left:242px;min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:12px;color:#99a4b2}.breadcrumb span{margin:0 13px;color:#cad1d9}.breadcrumb strong{font-weight:550;color:#475568}.top-right{display:flex;align-items:center;gap:23px}.public-tag{font-size:10px;color:#647486;display:flex;align-items:center;gap:8px}.public-tag i{width:6px;height:6px;background:#49a485;border-radius:50%}.avatar{width:31px;height:31px;border-radius:50%;background:#f1e7de;color:#9b7154;font-weight:650;display:grid;place-items:center;font-size:12px}.content{padding:34px 36px 24px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#98a0ae;font-weight:650;margin-bottom:9px}h1{font-size:29px;letter-spacing:-.8px;line-height:1.25;margin:0 0 9px;font-weight:680}.page-heading p{font-size:12px;color:#8591a2;margin:0;line-height:1.6}.heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:12px 17px;border:1px solid transparent;font-weight:600;font-size:11px;white-space:nowrap;min-height:40px}.button.primary{color:white;background:var(--orange);box-shadow:0 3px 8px #e67a3222}.button.primary>span{font-size:18px;line-height:1}.button.secondary{background:white;border-color:#dfe5ec;color:#596678}.text-button{background:transparent;border:0;color:#8b96a5;font-size:9px;padding:6px 4px;text-decoration:underline}.export-wrap{display:flex;align-items:center;gap:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:19px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:19px 20px 17px;position:relative}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7a8798;font-size:11px;margin-bottom:13px}.stat-icon{color:#a4b0bf;border:1px solid #edf0f4;background:#f8f9fb;border-radius:7px;display:grid;place-items:center;font-size:17px;width:29px;height:29px}.stat-number{font-size:29px;font-weight:650;letter-spacing:-1px;margin-bottom:7px}.stat-foot{font-size:10px;color:#98a3b1}.stat-foot span{color:var(--green)}.stat.orange .stat-icon{color:#df8a50;background:#fff6ee;border-color:#fff1e5}.stat.orange .stat-number{color:#cf743d}.scope-note{display:flex;align-items:center;gap:9px;color:#817d6e;font-size:10px;padding:11px 14px;border:1px solid #ede6d9;border-radius:8px;background:#fffaf1;margin-bottom:19px;line-height:1.6}.scope-note strong{color:#94764c;font-weight:600}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.table-toolbar{padding:19px 20px;display:flex;gap:15px;justify-content:space-between;align-items:center}.search{border:1px solid #e3e8ee;border-radius:7px;min-height:38px;display:flex;align-items:center;padding:0 11px;gap:8px;min-width:260px;flex:1;max-width:360px;color:#9ba7b5}.search>span{font-size:23px;line-height:1}.search input{border:0;outline:0;min-width:0;width:100%;font-size:10px;color:#3c4b60;background:transparent}.search input::placeholder{color:#98a3b1}.search kbd{font-size:10px;font-family:inherit;border:1px solid #e6eaf0;padding:1px 5px;border-radius:3px}.filters{display:flex;gap:7px}.filters select{min-width:115px;max-width:190px;background:white;border:1px solid #e3e8ee;padding:10px 24px 10px 10px;border-radius:7px;font-size:10px;color:#68778b}.table-meta{border-top:1px solid #f1f3f6;padding:13px 20px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#95a0ae;gap:10px}.table-meta>div{display:flex;align-items:center;gap:5px}.table-meta strong{font-weight:600;color:#627086}.meta-divider{height:12px;width:1px;background:#e6ebf0;margin:0 9px}.muted{color:var(--muted)}.table-scroll{overflow:auto}.price-table{border-collapse:collapse;width:100%;font-size:11px;min-width:900px;text-align:left}.price-table thead{background:#f8f9fb}.price-table th{font-size:10px;font-weight:600;color:#67778c;padding:16px 12px;border-top:1px solid #e9edf2;border-bottom:1px solid #e9edf2;white-space:nowrap}.price-table th small{display:block;font-size:8px;color:#a4adba;margin-top:5px;font-weight:400}.price-table th.product-cell{width:34%;min-width:255px}.expand-cell{width:24px;padding-right:0!important;padding-left:18px!important}.price-table td{padding:18px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}.product-row{cursor:pointer}.product-row:hover{background:#fcfcfd}.product-name{font-size:11px;font-weight:550;line-height:1.6;max-width:360px}.product-code{font-size:9px;color:#9aa5b3;margin-top:6px;display:flex;gap:8px;align-items:center}.chevron{background:transparent;border:0;padding:8px 0;color:#9ba7b6;font-size:16px}.chevron.open{transform:rotate(90deg);color:var(--orange)}.price{font-size:12px;font-weight:600;white-space:nowrap;color:#3a4a60;font-variant-numeric:tabular-nums}.price.own-price{color:#27394d}.price-sub{display:block;margin-top:6px;font-size:8px;color:#9ca6b3;white-space:nowrap}.price-sub.source-file{color:#9a927e}.supplier-heading{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:1px}.opticom-dot{background:#789db6}.artplast-dot{background:#a596bb}.badge{font-size:8px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 7px;line-height:1.3;font-weight:550}.badge.pending{background:#fff3e5;color:#b58b57}.badge.same{background:#eaf5f0;color:#43886f}.badge.analog{background:#edf1fb;color:#6a7fae}.badge.rejected{background:#f1f3f6;color:#8c98a9}.badge.warning{background:#fdf0ec;color:#ae6e58}.delta{font-weight:600;font-size:11px;white-space:nowrap}.delta.positive{color:#b76756}.delta.negative{color:#3e8d73}.delta-note{font-size:8px;color:#a7aeb9;display:block;margin-top:5px}.offer-count{color:#8290a0;font-size:9px;margin-top:7px}.no-offer{font-size:11px;color:#b2bac5}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;font-size:10px;color:#9aa4b1}.table-footer>div{display:flex;gap:7px}.page-button{background:#fff;border:1px solid #e2e7ee;border-radius:6px;color:#758397;padding:7px 11px;font-size:10px}.detail-row td{padding:0!important;background:#f9fafc}.detail{padding:20px 22px 22px 45px;border-left:3px solid #f2a274}.detail-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:15px}.detail-title{font-size:12px;font-weight:600;margin-bottom:6px}.detail-top p{font-size:10px;color:#8c98a8;margin:0;line-height:1.6}.external-link{font-size:10px;color:#8a744f;text-decoration:none;white-space:nowrap}.offer-grid{display:grid;gap:9px}.offer{background:white;border:1px solid #e3e9f0;border-radius:9px;padding:15px 17px;display:grid;grid-template-columns:minmax(240px,1.9fr) minmax(120px,.75fr) minmax(110px,.6fr) minmax(200px,1.2fr);gap:14px;align-items:center}.offer-label{font-size:9px;color:#9aa5b3;margin-bottom:5px}.offer-title{font-size:11px;line-height:1.6;font-weight:500;color:#485970}.offer-sku{font-size:9px;color:#9ca7b5;margin-top:5px}.offer-stock{font-size:9px;color:#7d8d9e;margin-top:7px}.offer-evidence{font-size:9px;color:#8997a9;line-height:1.7;margin-top:8px;grid-column:1/-1;border-top:1px solid #f0f3f6;padding-top:8px}.offer-evidence strong{font-weight:550;color:#708097}.decision-buttons{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.decision-buttons button{font-size:9px;background:#fff;border:1px solid #e2e8ee;color:#7a899d;padding:6px 8px;border-radius:5px}.decision-buttons button.selected{border-color:#91baa7;background:#edf7f1;color:#3b8065}.decision-buttons button.selected[data-decision="analog"]{background:#eef2fc;border-color:#a1afd0;color:#7181a4}.decision-buttons button.selected[data-decision="rejected"]{background:#f1f3f6;border-color:#bfc8d3;color:#8693a4}.decision-buttons button[data-decision="pending"]{border:0;text-decoration:underline}.important-note{grid-column:1/-1;font-size:9px;color:#ad715a;background:#fff7f2;padding:8px 10px;border-radius:5px}.empty{padding:45px;text-align:center;color:#9aa5b2}.empty>span{font-size:30px}.empty h3{font-size:16px;font-weight:550;color:#68778a;margin-bottom:8px}.empty p{font-size:12px;margin-bottom:20px}.main-footer{max-width:1800px;margin:0 auto;padding:0 36px 22px;font-size:9px;color:#a0a9b5}.loading-panel{padding:55px;text-align:center;color:#8c98a7}.updates-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.updates-header h2{font-size:18px;margin:0}.updates-header p{color:#8e9aaa;font-size:11px}.update-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:23px;margin-bottom:13px}.update-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.update-date{font-weight:600;font-size:13px}.update-description{color:#8895a6;font-size:11px;line-height:1.8;margin-top:12px}.update-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.update-source{background:#f8f9fb;border:1px solid #eef1f5;border-radius:7px;padding:13px}.update-source strong{font-size:11px;font-weight:550}.update-source span{display:block;color:#8e9bad;font-size:10px;margin-top:7px;line-height:1.6}.update-error{color:#b26d5a!important;font-size:10px;line-height:1.6;margin-top:9px}.running-bar{height:3px;background:#f3dccb;border-radius:3px;overflow:hidden;margin-top:20px}.running-bar:after{content:'';display:block;height:100%;width:35%;background:#ee8a4e;animation:progress 1.6s infinite ease-in-out}@keyframes progress{from{transform:translateX(-100%)}to{transform:translateX(400%)}}dialog{border:1px solid #e2e6ec;box-shadow:0 25px 100px #23344a30;border-radius:16px;padding:31px;width:min(510px,calc(100% - 32px));color:var(--ink)}dialog::backdrop{background:#14243960;backdrop-filter:blur(3px)}dialog form{position:relative}dialog h2{font-size:24px;letter-spacing:-.5px;font-weight:650;margin:9px 0 12px}dialog p{font-size:12px;color:#8894a5;line-height:1.8;margin:0 0 21px}.dialog-close{position:absolute;right:-10px;top:-16px;border:0;background:transparent;color:#9ca6b2;font-size:24px}.scope-option{display:flex;gap:12px;align-items:flex-start;padding:17px 14px;border:1px solid #e5e9ef;border-radius:9px;margin:10px 0;cursor:pointer}.scope-option:has(input:checked){background:#fff9f3;border-color:#f1b28d}.scope-option input{margin-top:2px;accent-color:#e98247}.scope-option strong{display:block;font-size:12px;margin-bottom:7px}.scope-option small{display:block;font-size:10px;color:#8a97a8;line-height:1.7}.scope-option b{font-size:8px;color:#c28f6c;background:#faeadd;padding:4px 7px;border-radius:4px;margin-left:auto}.dialog-note{font-size:10px;color:#9a9fa8;line-height:1.8;margin:18px 0}.full-width{width:100%}.toast{position:fixed;bottom:24px;left:calc(50% + 90px);transform:translateX(-50%);background:#26374d;color:#fff;box-shadow:0 6px 25px #14243922;border-radius:9px;padding:14px 21px;font-size:12px;max-width:600px;z-index:100}.toast.error{background:#925b4e}
.price-table{font-size:12px}.product-name{font-size:12px}.price{font-size:13px}.price-sub{font-size:9px}.product-code{font-size:10px}.delta{font-size:12px}.badge{font-size:9px}
@media(min-width:1650px){.content{padding-top:40px}.price-table th.product-cell{width:37%}.product-name{max-width:460px}.price-table td{padding-top:21px;padding-bottom:21px}}
@media(max-width:1250px){.price-table{min-width:780px}.price-table th.product-cell{min-width:215px}.price-table thead th:nth-child(7),.price-table .product-row td:nth-child(7){display:none}.price-table th,.price-table td{padding-left:10px;padding-right:10px}}
@media(max-width:1250px){.sidebar{width:205px;padding-left:12px;padding-right:12px}main{margin-left:205px;width:calc(100% - 205px)}.content{padding:27px 23px}.topbar{padding:0 25px}.page-heading{align-items:flex-start}.heading-actions{gap:7px}.button{padding:11px 12px}.filters{flex-wrap:wrap;justify-content:flex-end}.table-toolbar{gap:12px}.search{min-width:220px}.filters select{min-width:100px;max-width:150px}.stat{padding:16px}.stat-number{font-size:26px}.offer{grid-template-columns:1.7fr .8fr 1.1fr}.offer>.offer-status{grid-column:1/-1}.main-footer{padding-left:24px}.export-wrap{gap:0}}
@media(max-width:950px){.sidebar{width:75px;padding:25px 8px}.brand{padding:0;justify-content:center}.brand>span:nth-child(2),.nav-caption,.sidebar-note,.sidebar-footer{display:none}.brand-mark{font-size:27px;width:33px;height:33px}.sidebar nav{margin-top:45px}.nav-item{font-size:0;justify-content:center;padding:14px 4px}.nav-icon{font-size:22px}.nav-count{display:none}main{margin-left:75px;width:calc(100% - 75px)}.stats{gap:10px}.stat-top{font-size:10px}.stat-icon{display:none}.stat{padding:15px}.page-heading{flex-direction:column;gap:18px}.heading-actions{align-self:stretch;justify-content:flex-end}.page-heading p{max-width:450px}.table-toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.filters{justify-content:flex-start}.filters select{flex:1;max-width:none}.toast{left:calc(50% + 35px)}.main-footer{line-height:1.8}}
@media(max-width:600px){.content{padding:23px 13px}.topbar{height:57px;padding:0 16px}.breadcrumb{font-size:10px}.public-tag{font-size:0}.top-right{gap:12px}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr}.stat-number{font-size:24px}.table-meta{align-items:flex-start;flex-direction:column;gap:9px;padding:12px}.table-toolbar{padding:13px}.filters{flex-wrap:wrap}.filters select{min-width:100px}.heading-actions{justify-content:flex-start}.scope-note{align-items:flex-start;font-size:9px}.table-footer{padding:13px}.table-footer>div{gap:3px}.offer{min-width:740px}.update-sources{grid-template-columns:1fr}.update-card{padding:17px}.main-footer{font-size:8px;padding:0 15px 18px}.toast{max-width:calc(100% - 110px);width:100%}.page-button{font-size:9px;padding:7px}.detail{padding-left:16px}}

.account-bar{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:8px 28px;background:#fff;border-bottom:1px solid #e3e8ee}.login-page{min-height:100vh;display:grid;place-items:center;background:#f3f5f7}.login-card{width:min(440px,90vw);padding:40px;background:white;border:1px solid #dde3e9;border-radius:16px}.login-card label,.users-dialog label{display:grid;gap:8px;margin:18px 0}.login-card input,.users-dialog input,.users-dialog select{padding:12px;border:1px solid #cbd4df;border-radius:8px;font:inherit}.login-card p,.users-dialog p{line-height:1.5}.users-dialog{width:min(560px,90vw);padding:28px}.users-dialog p button{margin-left:12px}#login-error{color:#a32222}

/* Shared workspace language, adapted from the supplier-order application. */
:root {
  --bg: #f2f4ee;
  --ink: #233e3a;
  --muted: #65756d;
  --line: #e2e5de;
  --paper: #fafbf7;
  --brand: #315b52;
  --orange: var(--brand);
  --nav: #233e38;
  --green: #315f48;
  --amber: #916220;
  --red: #a24a3c;
}
body { font-family: 'Segoe UI', Arial, sans-serif; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid #6b9688;
  outline-offset: 3px;
}
.sidebar { width:238px; padding:31px 24px 20px; color:#b5c4b7; }
main { margin-left:238px; width:calc(100% - 238px); }
.brand { padding-left:0; font-size:20px; letter-spacing:3px; gap:11px; }
.brand-mark { background:transparent; border:1px solid #738c7e; color:#d9e3bd; transform:none; font-size:24px; border-radius:11px; }
.brand-dot { display:none; }
.brand small { color:#b5c4b7; letter-spacing:1.7px; font-size:8px; line-height:1.6; }
.nav-caption { color:#a9beb0; letter-spacing:1.5px; font-size:10px; margin-top:44px; }
.nav-item { color:#c7d6ca; border:1px solid transparent; font-weight:500; padding:14px 12px; text-decoration:none; }
.nav-item:hover:not(:disabled) { background:#304e44; filter:none; }
.nav-item.active { background:#38554b; border-color:#4a6659; color:#f4f4e9; }
.nav-item.active .nav-icon, .nav-icon { color:#c2d9a5; }
.nav-count { background:#49675a; }
.sidebar-note { border:0; border-top:1px solid #4a6055; border-radius:0; padding:20px 0 0; color:#e0e9dc; }
.sidebar-note p, .sidebar-note a, .sidebar-footer { color:#b5c4b7; }
.status-dot { background:#a9c68e; box-shadow:none; }
.topbar { background:#f8faf5; border-color:var(--line); }
.breadcrumb, .breadcrumb strong, .public-tag { color:var(--muted); }
.avatar { background:#e9eee1; color:var(--brand); border:1px solid var(--line); }
.content { padding:34px 38px; }
.eyebrow { color:#667867; letter-spacing:1.8px; font-size:10px; }
h1 { font-size:31px; letter-spacing:-.7px; }
.page-heading p { color:var(--muted); font-size:13px; }
.button { border-radius:8px; font-size:12px; font-weight:600; padding:12px 17px; }
.button.primary { background:var(--brand); border-color:var(--brand); box-shadow:none; color:white; }
.button.primary:hover:not(:disabled) { background:#264b43; filter:none; }
.button.secondary, .page-button { border-color:#d4ddd0; color:var(--brand); background:var(--paper); }
.text-button, .external-link { color:var(--brand); }
.panel, .stat, .update-card { border-color:var(--line); border-radius:12px; box-shadow:none; }
.stat-top, .stat-foot, .table-meta, .muted, .table-footer, .main-footer { color:var(--muted); }
.stat-number { color:var(--ink); }
.stat-icon { background:#edf2e7; color:var(--brand); }
.stat.orange { background:#f0f5e9; border-color:#d9e3ce; }
.stat.orange .stat-icon { background:#e1ebd6; color:var(--brand); }
.stat.orange .stat-number { color:var(--brand); }
.scope-note { background:#f8f5e9; border-color:#e6dfc8; color:#786335; }
.search, .filters select { background:var(--paper); border-color:#d4ddd0; color:var(--ink); }
.search input { color:var(--ink); }
.search input::placeholder { color:var(--muted); }
.search kbd { border-color:var(--line); color:var(--muted); }
.table-toolbar, .table-meta, .table-footer, .price-table th, .price-table td { border-color:var(--line); }
.price-table thead { background:#f8faf5; }
.price-table th { color:var(--muted); }
.price-table tbody tr.product-row:hover { background:#f6f8f0; }
.product-name, .price, .detail-title, .offer-title { color:var(--ink); }
.product-code, .price-sub, .delta-note, .offer-count, .no-offer, .offer-label, .offer-sku, .offer-stock, .offer-evidence, .detail-top p { color:var(--muted); }
.price-sub.stale { color:#986630; }
.badge.pending { background:#faf0d9; color:#856020; }
.badge.same { background:#eaf2e6; color:#315f48; }
.badge.warning { background:#f8eae4; color:#9c4b35; }
.badge.analog { background:#edf0f5; color:#53657c; }
.badge.rejected { background:#edf0e9; color:#647365; }
.detail-row td { background:var(--paper); }
.detail { border-left-color:#9bb38b; }
.offer, .offer-evidence { border-color:var(--line); }
.decision-buttons button { color:var(--brand); border-color:#d4ddd0; }
.decision-buttons button.selected { background:#eaf2e6; color:#315f48; border-color:#8cae7b; }
.update-source { background:var(--paper); border-color:var(--line); }
.update-description, .update-sources span, .updates-header p { color:var(--muted); }
.update-source span.update-error, .update-error { color:#9c4b35!important; }
.running-bar { background:#dce7d2; }
.running-bar:after { background:var(--brand); }
.update-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.update-total-duration { font-variant-numeric:tabular-nums; }
.update-run-meta { display:flex; flex-wrap:wrap; gap:6px 24px; margin:0 0 18px; color:var(--muted); font-size:12px; }
.update-source-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.update-source-head strong { flex-shrink:0; }
.heading-actions { flex-wrap:wrap; }
.page-heading > div:first-child { min-width:180px; }
.kp-summary .update-coverage { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; color:var(--muted); font-size:12px; line-height:1.6; }
.update-sources:has(> .update-source:only-child) { grid-template-columns:1fr; }
@media (min-width:951px) and (max-width:1350px) { .page-heading { flex-wrap:wrap; } .heading-actions { margin-left:auto; } }
@media (prefers-reduced-motion:reduce) { .running-bar:after { animation:none; width:100%; } }
.update-source .update-source-status { display:block; margin-top:5px; }
.update-source .update-metric { margin:0 0 5px; font-size:13px; }
.update-source .update-metric b { color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums; }
.update-source .update-duration { display:block; padding:6px 9px; background:#eaf0e4; border-radius:6px; color:var(--ink); text-align:right; font-weight:600; font-size:12px; font-variant-numeric:tabular-nums; }
.update-coverage { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:12px; font-size:12px; }
.update-coverage:empty { display:none; }
.update-source-note { margin:12px 0 0; font-size:12px; line-height:1.5; color:var(--muted); }
.update-errors { margin-top:12px; border-top:1px solid var(--line); padding-top:10px; font-size:12px; }
.update-errors summary { cursor:pointer; color:#9c4b35; padding:3px 0; }
.update-errors summary:focus-visible { outline:2px solid var(--brand); outline-offset:3px; border-radius:3px; }
.update-errors ul { padding-left:18px; margin:12px 0 0; }
.update-errors li { margin:0 0 12px; line-height:1.5; overflow-wrap:anywhere; }
.update-errors a { display:block; margin-top:3px; color:var(--brand); }
.update-errors p { color:var(--muted); margin-bottom:0; }
.empty, .empty h3, .loading-panel { color:var(--muted); }
dialog { border-color:var(--line); border-radius:14px; box-shadow:0 24px 80px #233e3830; }
dialog::backdrop { background:#1f352e70; }
dialog p, .dialog-note { color:var(--muted); }
.scope-option { border-color:var(--line); }
.scope-option:has(input:checked) { background:#f0f5e9; border-color:#8cae7b; }
.scope-option input { accent-color:var(--brand); }
.scope-option small { color:var(--muted); }
.scope-option b { background:#e8efdc; color:#4d6943; }
.toast { background:var(--nav); }
.toast.error { background:#934b3d; }
.account-bar { background:#f8faf5; border-color:var(--line); color:var(--ink); min-height:40px; flex-wrap:wrap; }
.account-bar button { color:var(--brand); }
.login-page { background:var(--bg); }
.login-card, .login-card input, .users-dialog input, .users-dialog select { border-color:#d4ddd0; }
@media(max-width:1250px) {
  .sidebar { width:196px; padding:28px 16px; }
  main { margin-left:196px; width:calc(100% - 196px); }
  .brand { font-size:17px; letter-spacing:2px; gap:8px; }
  .brand-mark { width:31px; height:34px; flex-shrink:0; }
  .brand small { font-size:7px; letter-spacing:1.2px; }
  .content { padding:28px 25px; }
}
@media(max-width:950px) and (min-width:701px) {
  .sidebar { width:170px; }
  main { margin-left:170px; width:calc(100% - 170px); }
  .brand { justify-content:flex-start; font-size:16px; }
  .brand>span:nth-child(2), .nav-caption, .sidebar-note, .sidebar-footer { display:block; }
  .nav-item { justify-content:flex-start; gap:9px; font-size:12px; padding:12px 8px; }
  .nav-icon { font-size:19px; flex-shrink:0; }
  .sidebar nav { margin-top:0; }
  .nav-count { display:inline-block; }
  .sidebar-note { font-size:10px; }
  .toast { left:calc(50% + 85px); }
}
@media(max-width:700px) {
  .app { display:block; }
  .sidebar { position:static; width:auto; padding:17px 16px 13px; gap:16px; }
  .brand { font-size:19px; justify-content:flex-start; }
  .brand>span:nth-child(2) { display:block; }
  .brand small { font-size:8px; }
  .nav-caption, .sidebar-note, .sidebar-footer { display:none; }
  .sidebar nav { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .nav-item { justify-content:flex-start; font-size:12px; min-height:43px; margin:0; padding:9px 10px; gap:8px; }
  .nav-icon { font-size:18px; width:20px; flex-shrink:0; }
  .nav-count { display:inline-block; font-size:10px; }
  main { width:100%; margin:0; }
  .content { padding:25px 16px; }
  .topbar { height:48px; padding:0 16px; }
  .breadcrumb { font-size:11px; }
  h1 { font-size:28px; }
  .page-heading p { font-size:12px; }
  .button { padding:11px 13px; }
  .account-bar { padding:8px 16px; gap:10px; font-size:12px; }
  .toast { left:50%; max-width:calc(100% - 32px); }
  .main-footer { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .running-bar:after { width:100%; opacity:.7; }
}
