:root{font-family:Inter,Arial,sans-serif;color:#1d2939;background:#f5f7fa;font-size:14px;--accent:#176a65;--muted:#637083;--border:#dce3ea}*{box-sizing:border-box}body{margin:0}aside{width:220px;position:fixed;inset:0 auto 0 0;background:#142c35;color:#fff;padding:30px 22px;display:flex;flex-direction:column}.brand{font-size:28px;font-weight:800;letter-spacing:2px}.brand span{display:block;font-size:11px;letter-spacing:.5px;font-weight:400;margin:10px 0 34px;color:#c2d6da}nav{display:grid;gap:9px}nav button{text-align:left;background:transparent;color:#c8d5dd;border:none;padding:13px;font-size:15px}nav button.active{background:#28515b;color:white}.aside-note{margin-top:auto;color:#a9c1c9;line-height:1.8;font-size:11px}main{margin-left:220px;padding:32px 38px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;gap:18px}h1{font-size:28px;font-weight:650;margin:8px 0 24px}h2{font-size:20px}h3{font-size:16px}p{line-height:1.65}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}button,input,select,textarea{font:inherit;border-radius:6px;border:1px solid var(--border);padding:10px;background:white;color:#1d2939}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{cursor:wait;opacity:.6}button.primary,#refresh{background:var(--accent);color:white;border-color:var(--accent)}button.link{border:0;padding:0;background:none;color:var(--accent);text-align:left}input:focus,select:focus,button:focus-visible,textarea:focus{outline:2px solid #40a49a;outline-offset:2px}.source{background:#eaf0f3;border:1px solid var(--border);padding:13px 16px;border-radius:8px;line-height:1.6;font-size:12px;color:#425568}.source strong{color:#213c49}.source a{color:var(--accent)}.toolbar{display:flex;gap:14px;align-items:end;margin:22px 0;flex-wrap:wrap}.toolbar label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.grow{flex:1;min-width:170px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat,.panel{border:1px solid var(--border);background:white;border-radius:10px;padding:20px}.stat .number{font-size:30px;font-weight:650;display:block;margin-bottom:6px}.stat .caption{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.empty{padding:45px;text-align:center;border:1px dashed #bdc9d4;border-radius:10px;background:white}.signal-list{display:grid;gap:12px}.signal{background:white;border:1px solid var(--border);border-left:4px solid #dfaa42;border-radius:8px;padding:18px;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(220px,1fr) 160px;gap:20px}.signal.high{border-left-color:#bb493c}.signal.data{border-left-color:#9ba6b4}.signal.observation{border-left-color:#4b89ac}.signal h3{margin:0 0 8px}.signal .action{line-height:1.65}.badge{display:inline-block;border-radius:20px;background:#eef2f6;padding:4px 9px;font-size:11px;margin:4px 5px 5px 0}.badge.warn{background:#fff1dc;color:#8c5b06}.badge.danger{background:#fce9e6;color:#a53f33}.table-wrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:12px 14px;border-bottom:1px solid #e9edf1;text-align:left;vertical-align:top}th{font-weight:600;background:#edf2f5;white-space:nowrap}td.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}tbody tr:hover{background:#f7fafb}.name-cell{min-width:220px;max-width:330px}.positive{color:#176a65}.negative{color:#b34636}#notice:not(:empty){padding:12px 16px;border-radius:7px;margin-bottom:16px;background:#fff1da;border:1px solid #ecd4ac}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{display:grid;gap:6px}.wide{grid-column:1/-1}textarea{min-height:75px;resize:vertical}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0}.chart-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.metric-list{max-height:600px;overflow:auto}.metric-list label{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #edf0f3;font-size:12px;line-height:1.5}.metric-list input{flex-shrink:0}.chart{background:white;border:1px solid var(--border);border-radius:8px;margin-bottom:14px;padding:14px;position:relative}.chart svg{width:100%;height:220px;display:block;touch-action:none}.chart .legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.chart .legend span{border-bottom:2px solid;padding-bottom:4px}.cursor-data{background:#edf4f5;padding:12px;margin-bottom:12px;line-height:1.8;min-height:48px}.chart text{font-family:Arial,sans-serif;font-size:10px;fill:#657383}.task{margin-bottom:14px}.task-head{display:flex;justify-content:space-between;gap:10px}.task-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}dialog{width:min(1080px,94vw);max-height:90vh;border:1px solid var(--border);border-radius:12px;padding:30px;overflow:auto}dialog::backdrop{background:#122c3b88}.close{position:absolute;top:12px;right:15px;font-size:24px;border:0;padding:0 8px}.highlight{background:#edf6f3;padding:14px;border-radius:6px}.error{color:#a43f31}.footer-note{margin:20px 0;color:var(--muted);font-size:12px}pre{white-space:pre-wrap;font-size:12px;line-height:1.6}.skeleton{height:120px;background:#eef2f5;border-radius:8px;display:grid;place-items:center}
@media(max-width:1000px){aside{width:170px;padding:25px 12px}main{margin-left:170px;padding:24px}.signal{grid-template-columns:1fr 1fr}.signal>div:last-child{grid-column:1/-1}.chart-layout{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:700px){aside{position:static;width:auto;padding:16px}.brand{font-size:20px}.brand span{margin:5px 0 15px}nav{display:flex;overflow:auto;gap:3px}nav button{font-size:12px;padding:10px}.aside-note{display:none}main{margin:0;padding:18px}h1{font-size:23px}.stats{grid-template-columns:1fr 1fr}.signal,.grid2,.chart-layout{grid-template-columns:1fr}.metric-list{max-height:220px}.form-grid,.task-controls{grid-template-columns:1fr}.toolbar>*{width:100%}.signal>div:last-child{grid-column:auto}header{align-items:start}#refresh{font-size:12px}.chart svg{height:190px}}

.chart .legend .series-0{border-color:#176a65}.chart .legend .series-1{border-color:#d68035}.chart .legend .series-2{border-color:#527bc0}.chart .legend .series-3{border-color:#b44a65}.chart .legend .series-4{border-color:#8772b0}.chart .legend .series-5{border-color:#597f42}.chart .legend .series-6{border-color:#a17a2e}.chart .legend .series-7{border-color:#486f7b}
.unified-chart-scroll{overflow-x:auto}.unified-chart [data-chart-svg]{height:auto;min-width:660px;width:100%;aspect-ratio:1100/380}.chart .legend .legend-sample{display:inline-block;width:32px;height:10px;vertical-align:middle;margin-right:5px}.unified-chart .legend span{border:0}.unified-chart .legend{max-height:180px;overflow:auto}.cursor-data{max-height:160px;overflow:auto}

.sku-checkbox-list{max-height:280px;overflow:auto;margin-top:12px}.sku-checkbox-list label{display:flex;align-items:flex-start;gap:10px;padding:8px;border-bottom:1px solid #e7edf1}.sku-checkbox-list input{flex:0 0 auto;width:auto;margin-top:3px}#sku-picker[hidden]{display:none}#sku-search{width:100%;max-width:620px}

.order-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:12px 18px}.order-summary label{display:flex;align-items:center;gap:8px;margin:0}.order-summary #order-values{display:flex;align-items:center;gap:28px}.order-total{white-space:nowrap}.order-total strong{font-size:23px;font-weight:650}.order-summary #order-coverage:empty{display:none}

.header-actions{display:flex;flex-wrap:wrap;gap:8px}#source-dialog{max-width:720px;width:calc(100% - 40px)}#source-dialog h2{margin-right:32px}#source-dialog .source{line-height:1.7}

[hidden]{display:none!important}body.signed-out>aside,body.signed-out>main{display:none}#auth-screen:empty{display:none}.auth-card{max-width:460px;margin:8vh auto;padding:32px}.auth-card .brand{color:var(--accent)}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px}.auth-card h1{font-size:24px}.account{display:grid;gap:8px;margin-top:25px;font-size:12px}.account button{padding:7px}.user-row{margin:12px 0}#auth-error{color:#a43f31}
