:root{--ink:#16211b;--muted:#5a6b61;--paper:#fff;--tint:#f2f6f3;--line:#e0e8e2;--accent:#0c5c38;--danger:#a83224;--amber:#a86a24;--ok:#1fa855}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:var(--tint);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}.topbar{background:var(--paper);border-bottom:1px solid var(--line);align-items:baseline;gap:16px;padding:14px 24px;display:flex}.brand{font-size:1.1rem;font-weight:800}.brand span{color:var(--accent)}.topbar .sub{color:var(--muted);font-size:.85rem}.page{max-width:1080px;margin:0 auto;padding:24px}.store-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:20px;padding:20px 22px}.store-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.store-head h2{letter-spacing:-.01em;font-size:1.15rem}.store-head .range{color:var(--muted);margin-left:auto;font-size:.85rem}.kpis{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.kpi{border:1px solid var(--line);border-radius:10px;min-width:128px;padding:10px 14px}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.kpi .value{letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.kpi .value.red{color:var(--danger)}.kpi .value.green{color:var(--accent)}.kpi .value.amber{color:var(--amber)}.daygrid{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.daycell{color:#fff;cursor:default;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.62rem;font-weight:700;display:flex}.daycell.ok{background:var(--ok)}.daycell.flagged{background:var(--amber)}.daycell.bad{background:var(--danger)}.daycell.missing{color:#5a6b61;background:#c9d4cd}.legend{color:var(--muted);margin-bottom:14px;font-size:.78rem}.legend i{vertical-align:baseline;border-radius:3px;width:10px;height:10px;margin:0 4px 0 12px;display:inline-block}.legend i:first-child{margin-left:0}.exceptions{border-top:1px solid var(--line);padding-top:12px}.exceptions h3{margin-bottom:8px;font-size:.9rem}.exc-row{gap:10px;padding:4px 0;font-size:.9rem;display:flex}.exc-row .d{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 0 100px}.exc-row .so{font-variant-numeric:tabular-nums;flex:0 0 90px;font-weight:700}.exc-row .so.red{color:var(--danger)}.exc-row .flags{color:var(--muted)}.empty{color:var(--muted);font-size:.9rem}.status{color:var(--muted);text-align:center;padding:40px}.windows{gap:4px;display:flex}.winbtn{border:1px solid var(--line);background:var(--paper);color:var(--muted);font:inherit;cursor:pointer;border-radius:8px;padding:4px 11px;font-size:.8rem}.winbtn:hover{background:var(--tint)}.winbtn.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.topbar .who{color:var(--muted);align-items:baseline;gap:12px;margin-left:auto;font-size:.85rem;display:flex}.signout{border:1px solid var(--line);background:var(--paper);font:inherit;color:var(--ink);cursor:pointer;border-radius:8px;padding:4px 11px;font-size:.8rem}.signout:hover{background:var(--tint)}.loginwrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginbox{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;width:100%;max-width:340px;padding:28px 26px;display:flex}.loginbox .brand{font-size:1.2rem}.loginbox .muted{color:var(--muted);margin-top:-8px;font-size:.9rem}.loginbox label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-direction:column;gap:5px;font-size:.75rem;display:flex}.loginbox input{border:1px solid var(--line);font:inherit;color:var(--ink);text-transform:none;letter-spacing:normal;border-radius:8px;padding:10px 12px;font-size:1rem}.loginbox input:focus{outline:2px solid var(--accent);outline-offset:-1px}.loginerr{color:var(--danger);font-size:.88rem}.loginbtn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:9px;padding:12px;font-weight:700}.loginbtn:disabled{opacity:.5;cursor:not-allowed}.kpi-note{flex-wrap:wrap;gap:8px;margin:-6px 0 12px;font-size:.85rem;display:flex}.kpi-note.muted{color:var(--muted);display:block}.evlink{border:1px solid var(--danger);color:var(--danger);background:var(--paper);font:inherit;cursor:pointer;border-radius:999px;padding:3px 11px;font-size:.82rem}.evlink:hover{background:#fbeeec}.daycell{cursor:pointer;border:none;font-family:inherit}.daycell.sel{outline:3px solid var(--ink);outline-offset:1px}.exc-row.clickable{cursor:pointer;border-radius:6px}.exc-row.clickable:hover{background:var(--tint)}.panel{border:1px solid var(--line);background:var(--tint);border-radius:12px;margin:4px 0 16px;padding:14px 16px}.panel-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.panel-head .muted{color:var(--muted);font-size:.85rem}.panel-head .close{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:1.3rem;line-height:1}.figures{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.figures>div{background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:118px;padding:8px 12px}.figures span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;display:block}.figures b{font-variant-numeric:tabular-nums;font-size:1.05rem}.figures b.red{color:var(--danger)}.checks h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:.82rem}.check{background:var(--paper);border-left:3px solid var(--danger);border-radius:6px;margin-bottom:7px;padding:8px 12px}.check .cname{font-size:.92rem;font-weight:600}.check .cname em{color:var(--amber);font-weight:400}.check .cdetail{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem}.check.resolved{border-left-color:var(--muted);opacity:.75}.check .cresolved{color:var(--muted);margin-top:5px;font-size:.84rem;font-style:italic}.linkbtn{font:inherit;color:var(--brand,#0a6);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:.84rem;text-decoration:underline}.resolveform{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.resolveform input{font:inherit;border:1px solid var(--line,#d5ded8);border-radius:5px;flex:16rem;padding:5px 8px;font-size:.86rem}.resolveform button:not(.linkbtn){font:inherit;background:var(--ink,#16241d);color:#fff;cursor:pointer;border:0;border-radius:5px;padding:5px 11px;font-size:.84rem}.resolveform button:disabled{opacity:.45;cursor:default}.exc-row .d em{margin-left:5px;font-size:.82rem;font-style:normal}.allclear{color:var(--ok);font-size:.9rem;font-weight:600}.allclear.muted{color:var(--muted);font-weight:400}.reportlink{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:.8rem;text-decoration:none}.reportlink:hover{background:var(--accent);color:#fff}.tabs{gap:4px;display:flex}.tabbtn{font:inherit;border:1px solid var(--line,#d5ded8);background:var(--paper,#fff);cursor:pointer;color:var(--muted);border-radius:6px;padding:5px 11px;font-size:.84rem}.tabbtn.on{background:var(--ink,#16241d);border-color:var(--ink,#16241d);color:#fff}.uploadbox{border:1px dashed var(--line,#d5ded8);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:14px 0 10px;padding:10px 12px;display:flex}.uploadbox label{color:var(--muted);flex-direction:column;gap:3px;font-size:.78rem;display:flex}.uploadbox .update,.uploadbox .upfile{font:inherit;border:1px solid var(--line,#d5ded8);background:var(--paper,#fff);border-radius:5px;padding:5px 8px;font-size:.85rem}.upbtn{font:inherit;background:var(--ink,#16241d);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:6px 13px;font-size:.85rem}.upbtn:disabled{opacity:.4;cursor:default}.upmsg{color:var(--ok,#0a6);align-self:center;font-size:.82rem}.clickable{cursor:pointer}.queue-row .flags .resolveform{margin-top:4px}.stlines{margin-top:12px}.stline{border-top:1px solid var(--line,#e6ece8);grid-template-columns:minmax(0,2fr) 6rem minmax(0,1.6fr) 4.5rem auto;align-items:baseline;gap:10px;padding:7px 0;font-size:.88rem;display:grid}.stline.unrouted{background:var(--danger-tint,#fdf3f3)}.stdesc{overflow-wrap:anywhere;font-weight:500}.stamt{text-align:right;font-variant-numeric:tabular-nums}.stdest{color:var(--muted)}.stconf{text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.stconf.low{color:var(--danger,#b23);font-weight:700}.stconf.medium{color:var(--amber,#b70)}.stconf.high{color:var(--muted)}.lineeditor{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding:8px 0 2px;display:flex}.lineeditor input{font:inherit;border:1px solid var(--line,#d5ded8);border-radius:5px;padding:5px 8px;font-size:.85rem}.lineeditor .lbook,.lineeditor .ltab{width:9rem}.lineeditor .lphrase{flex:15rem}.lineeditor button:not(.linkbtn){font:inherit;background:var(--ink,#16241d);color:#fff;cursor:pointer;border:0;border-radius:5px;padding:5px 11px;font-size:.84rem}.lineeditor button:disabled{opacity:.45;cursor:default}.hits{color:var(--muted);font-size:.8rem}.hits.warn{color:var(--amber,#b70);font-weight:600}
