:root{color-scheme:dark;font:14px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e5ebf4;background:#0b111b;--muted:#8f9eb3;--line:#263142;--accent:#7de5c1}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:7px;padding:11px 15px;background:var(--accent);color:#102c24;font-weight:650}button:disabled{opacity:.4;cursor:default}button.quiet{background:transparent;color:#c0ccdb;border:1px solid var(--line)}button.danger{background:transparent;border:1px solid #644343;color:#edaca8}input:not([type=checkbox]){display:block;width:100%;padding:10px 12px;margin:7px 0 18px;background:#0c1420;color:#fff;border:1px solid #344259;border-radius:6px}input:focus{outline:2px solid var(--accent)}input[type=checkbox]{accent-color:var(--accent)}label{display:block}header{height:80px;border-bottom:1px solid var(--line);padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:#101824}.brand{font-size:22px;font-weight:850;letter-spacing:-1px;color:var(--accent)}.brand span{font-size:12px;letter-spacing:2px;color:#c1ccda}.header-right{display:flex;align-items:center;gap:20px}main{max-width:1500px;margin:auto;padding:36px 4vw}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{color:var(--accent);letter-spacing:2px;font-size:10px;font-weight:700}h1{font-size:30px;letter-spacing:-1px;line-height:1.25;margin:8px 0}h2{font-size:15px;margin:0 0 12px;font-weight:650}p{color:var(--muted);margin:10px 0}.tag{border:1px solid #3c5c56;border-radius:20px;padding:4px 12px;color:var(--accent);font-size:11px;letter-spacing:1px}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.panel{background:#121c29;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:24px}.small,.muted,.footnote{color:var(--muted);font-size:12px}.small{margin-bottom:24px}.check{display:flex;align-items:center;gap:8px;font-size:12px;margin:13px 0}.settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:22px 0}.settings span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:5px 0}.settings b{color:#d4dfec;font-weight:500}#scanForm button{width:100%;margin-top:8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin:0}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:17px 0}.stats strong{display:block;font-size:29px;font-weight:500;line-height:1.3}.stats span{font-size:11px;color:var(--muted)}progress{display:block;width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;margin:22px 0 12px}progress::-webkit-progress-bar{background:#253344}progress::-webkit-progress-value{background:var(--accent)}.current{font-family:monospace;font-size:11px;overflow-wrap:anywhere}.logs{padding:0;overflow:hidden}.logs .section-head{padding:12px 22px;border-bottom:1px solid var(--line)}pre{margin:0;padding:20px;background:#090f18;height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.85 Consolas,monospace;color:#b8c8d9}.run{width:100%;text-align:left;background:transparent;color:#c9d5e4;border-bottom:1px solid var(--line);border-radius:0;font-size:12px;padding:12px 0}.run small{display:block;color:var(--muted);font-weight:400}.run:hover{color:var(--accent)}#notice,#loginError{color:#edaca8}.footnote{max-width:750px}.login-card{width:380px;max-width:94vw;padding:32px;background:#121c29;border:1px solid var(--line);border-radius:14px}.login-card h1{margin-top:30px}.login-card p{margin-bottom:25px}.login-card button{width:100%}#login{min-height:100vh;display:flex;align-items:center;justify-content:center}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){aside{display:block}.heading{align-items:flex-start}h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr)}main{padding:24px 16px}.section-head{flex-wrap:wrap}}
nav{display:flex;gap:20px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}select{font:inherit;display:block;width:100%;padding:10px 12px;margin:7px 0 18px;background:#0c1420;color:#fff;border:1px solid #344259;border-radius:6px}.filters{display:flex;gap:18px;align-items:end}.filters label:first-child{flex:1}.filters label:nth-child(2){min-width:180px}.filters button{margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}td:first-child{min-width:220px}td small{display:block;color:var(--muted)}td button{white-space:nowrap;font-size:11px;padding:6px 10px}.status-badge{display:inline-block;padding:3px 8px;background:#263142;border-radius:5px;white-space:nowrap;text-transform:capitalize}.status-badge.failed{color:#f6a6a6;background:#442d31}.status-badge.review_required{color:#efd091;background:#443b27}.status-badge.auto_applied,.status-badge.approved{color:var(--accent);background:#214137}.pager{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px;font-size:12px;color:var(--muted)}#historyError{color:#edaca8}#historySummary{padding:23px}#historyDetail label{max-width:260px}#priceChart{margin:15px 0;min-height:90px}#priceChart svg{display:block;width:100%;max-height:300px}#priceChart line{stroke:#283649;stroke-width:1}#priceChart text{fill:#8f9eb3;font:12px system-ui}#priceChart polyline{fill:none;stroke:#7de5c1;stroke-width:2}#priceChart circle{fill:#7de5c1}#detailMessage{white-space:pre-wrap;overflow-wrap:anywhere}#historyDetail{scroll-margin-top:20px}@media(max-width:650px){header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding:16px}nav{order:3;width:100%;font-size:12px}.filters{display:block}.filters button{width:100%}.pager{gap:10px;justify-content:space-between}td,th{padding:12px 8px}.heading{gap:10px}.heading>button{white-space:nowrap}}
