:root{color-scheme:light;--bg: #f4f6f2;--panel: #ffffff;--panel-strong: #eef5ef;--ink: #1f2722;--muted: #647069;--line: #d8e0d7;--line-strong: #b8c5bb;--green: #2e7d5b;--teal: #287c8e;--gold: #a86f1f;--red: #a64b43;--button: #254437;--shadow: 0 18px 45px rgba(38, 55, 44, .1);font-family:Aptos,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#e4eee2d9,#f4f6f266 32%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}.authShell{min-height:100vh;display:grid;place-items:center;padding:24px}.authPanel{width:min(430px,100%);display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.authPanel.compact{width:auto;grid-template-columns:auto auto;align-items:center}.authPanel h1,.dashboardShell h1,.projectDetail h2{margin:0;font-size:1.75rem;line-height:1.1}.authPanel p{margin:0;color:var(--muted)}.authMark{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#e6f2ea;color:var(--green)}.authPanel form{display:grid;gap:14px}.authPanel label{display:grid;gap:7px;color:var(--muted);font-size:.9rem}.authPanel input,.guestForm input,.guestForm select,.searchBox input{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:6px;background:#fbfcfa;color:var(--ink);outline:none}.authPanel input{padding:11px 12px}.guestForm input,.guestForm select{height:38px;padding:0 10px}.authPanel input:focus,.guestForm input:focus,.guestForm select:focus,.searchBox:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #287c8e29}.authMessage{padding:10px 12px;border:1px solid rgba(166,75,67,.3);border-radius:6px;background:#a64b4314;color:var(--red)!important}.primaryButton,.secondaryButton,.iconButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px}.primaryButton{min-height:42px;padding:0 15px;background:var(--button);color:#fff}.secondaryButton{min-height:36px;width:fit-content;padding:0 12px;border:1px solid var(--line-strong);background:#fbfcfa;color:var(--ink)}.dangerButton{min-height:36px;width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid rgba(166,75,67,.35);border-radius:6px;background:#a64b4314;color:var(--red)}.iconButton{width:36px;height:36px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.dashboardShell{min-height:100vh;width:min(1440px,100%);margin:0 auto;padding:20px}.topBar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0 18px}.eyebrow{margin:0 0 6px;color:var(--green);font-size:.78rem;font-weight:700;text-transform:uppercase}.sessionControls{display:flex;align-items:center;gap:10px;min-width:0}.accessBadge,.userEmail{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:.88rem;white-space:nowrap}.userEmail{max-width:260px;overflow:hidden;text-overflow:ellipsis}.summaryStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric{min-height:72px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "icon value";align-items:center;column-gap:10px;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metric svg{grid-area:icon;color:var(--teal)}.metric span{grid-area:label;color:var(--muted);font-size:.84rem}.metric strong{grid-area:value;font-size:1.25rem}.workbench{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);min-height:calc(100vh - 164px);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.opsBoard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr) minmax(290px,.9fr);gap:10px;margin-bottom:14px}.opsPanel,.siteDataBand,.errorBand{min-width:0;display:grid;align-content:start;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.trafficPanel{min-height:260px}.siteDataBand,.errorBand{margin-bottom:14px}.guestBand{min-width:0;display:grid;gap:14px;margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.guestForm{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(140px,.8fr) minmax(150px,.9fr) minmax(130px,.7fr) minmax(180px,.9fr) auto;align-items:end;gap:10px}.guestForm label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}.guestMessage{padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:7px;background:#fbfcfa;color:var(--ink);font-size:.88rem}.guestList{display:grid;gap:8px}.guestRow{display:grid;grid-template-columns:minmax(220px,1fr) 90px minmax(130px,.55fr) minmax(160px,.75fr) auto;align-items:center;gap:12px;min-height:72px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fbfcfa}.guestRow strong,.guestRow small{display:block}.guestRow small{margin-top:3px;color:var(--muted)}.guestRow label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}.guestRow input{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.guestActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHeader h2{margin:0;font-size:1rem}.panelHeader span{display:block;margin-top:3px;color:var(--muted);font-size:.84rem}.panelHeader>svg{color:var(--teal)}.trendChart{min-height:170px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;padding-top:8px}.trendColumn{min-width:0;display:grid;grid-template-rows:1fr auto;align-items:end;gap:8px;height:170px}.trendBar{width:100%;min-height:18%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--teal),var(--green))}.trendBar.empty{border:1px dashed var(--line-strong);background:#f3f6f2}.trendColumn span,.emptyDataLine{color:var(--muted);font-size:.78rem;text-align:center}.emptyDataLine{display:flex;align-items:center;gap:7px;text-align:left}.authGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.miniStat{min-height:70px;display:grid;align-content:center;gap:5px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fbfcfa}.miniStat span{color:var(--muted);font-size:.8rem}.miniStat strong{font-size:1.15rem}.sourceList{display:grid;gap:8px}.sourceRow{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-left-width:4px;border-radius:7px;background:#fbfcfa}.sourceRow strong{font-size:.9rem}.sourceRow span{color:var(--muted);font-size:.8rem;line-height:1.35}.sourceRow.connected,.sourceRow.configured{border-left-color:var(--green)}.sourceRow.needs_config,.sourceRow.needs_instrumentation{border-left-color:var(--gold)}.siteTable{display:grid;overflow:auto}.siteTableHead,.siteRow{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(110px,.7fr) repeat(4,minmax(96px,.55fr));gap:12px;align-items:center;min-width:900px}.siteTableHead{padding:0 10px 8px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.siteRow{min-height:58px;padding:10px;border-top:1px solid var(--line)}.siteRow strong,.siteRow small{display:block}.siteRow small{margin-top:3px;color:var(--muted)}.statusChip{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;font-size:.78rem;color:var(--green);background:#2e7d5b1f}.statusChip.pending{color:var(--gold);background:#a86f1f24}.errorList{display:grid;gap:8px}.errorTabs{display:flex;gap:8px;overflow:auto}.errorTabs button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#fbfcfa;color:var(--muted);white-space:nowrap}.errorTabs button.active{border-color:var(--green);background:#2e7d5b1f;color:var(--green)}.errorConsole{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:12px;align-items:start}.errorRow{width:100%;display:grid;grid-template-columns:90px minmax(220px,1fr) 100px 150px 110px;gap:12px;align-items:center;min-height:58px;padding:10px;border:1px solid var(--line);border-left-width:4px;border-radius:7px;background:#fbfcfa;color:var(--ink);text-align:left}.errorRow.info{border-left-color:var(--teal)}.errorRow.warning{border-left-color:var(--gold)}.errorRow.critical{border-left-color:var(--red)}.errorRow.selected{border-color:var(--line-strong);background:#f4f8f3}.errorSeverity{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.errorSeverity.warning{color:var(--gold)}.errorSeverity.critical{color:var(--red)}.errorRow small{display:block;margin-top:3px;color:var(--muted)}.errorDetail{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.errorDetail h3{margin:4px 0 0;font-size:1rem;line-height:1.35}.errorDetail dl{display:grid;gap:8px;margin:0}.errorDetail dl div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.errorDetail dt{color:var(--muted);font-size:.8rem}.errorDetail dd{min-width:0;margin:0;overflow-wrap:anywhere}.errorStack{display:grid;gap:6px}.errorStack pre{max-height:190px;margin:0;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:7px;background:#f1f5ef;color:var(--ink);font:.78rem/1.45 Cascadia Mono,Consolas,monospace;white-space:pre-wrap}.projectRail{display:grid;grid-template-rows:auto 1fr;border-right:1px solid var(--line);background:#f9fbf8}.railHeader{display:grid;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.railHeader h2,.sectionTitle h3{margin:0;font-size:.98rem}.searchBox{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa;color:var(--muted)}.searchBox input{height:100%;padding:0;border:0;background:transparent}.projectList{display:grid;align-content:start;gap:8px;padding:12px;overflow:auto}.projectCard{width:100%;min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.projectCard:hover,.projectCard.selected{border-color:var(--line-strong);background:var(--panel)}.projectCard strong,.projectCard small{display:block}.projectCard small{margin-top:3px;color:var(--muted)}.statusDot{width:10px;height:10px;border-radius:50%;background:var(--muted)}.statusDot.live,.statusPill.live{background:#2e7d5b1f;color:var(--green)}.statusDot.testing,.statusPill.testing{background:#a86f1f24;color:var(--gold)}.statusDot.planning,.statusPill.planning{background:#287c8e21;color:var(--teal)}.statusDot.live{background:var(--green)}.statusDot.testing{background:var(--gold)}.statusDot.planning{background:var(--teal)}.projectDetail{min-width:0;display:grid;grid-template-rows:auto 1fr}.detailHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff,#f2f7f3)}.detailHeader p:not(.eyebrow){max-width:760px;margin:9px 0 0;color:var(--muted);line-height:1.5}.statusPill{height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;font-size:.83rem;font-weight:700}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:auto}.detailSection{min-width:0;display:grid;align-content:start;gap:14px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detailSection:nth-child(2n),.detailSection.wide{border-right:0}.detailSection.wide{grid-column:1 / -1}.sectionTitle{display:flex;align-items:center;gap:8px}.sectionTitle svg{color:var(--teal)}.linkRows,.checklist{display:grid;gap:8px}.linkRows a{min-height:38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;text-decoration:none}.linkRows a:hover{border-color:var(--line-strong);background:#f8fbf7}.stateList{display:grid;gap:12px;margin:0}.stateList div{display:grid;grid-template-columns:120px 1fr;gap:12px}.stateList dt{color:var(--muted)}.stateList dd{margin:0;font-weight:700}.signalGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.signal{display:grid;gap:6px;min-height:74px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.signal span{color:var(--muted);font-size:.86rem}.signal.good{border-left:4px solid var(--green)}.signal.watch{border-left:4px solid var(--gold)}.signal.neutral{border-left:4px solid var(--teal)}.checkCount{margin-left:auto;color:var(--muted);font-size:.86rem}.checklist label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa}.checklist input{width:17px;height:17px;accent-color:var(--green)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.dashboardShell{padding:14px}.topBar,.sessionControls{align-items:flex-start}.topBar{flex-direction:column}.sessionControls{width:100%;flex-wrap:wrap}.summaryStrip,.opsBoard,.workbench,.detailGrid,.signalGrid{grid-template-columns:1fr}.workbench{min-height:0}.projectRail{border-right:0;border-bottom:1px solid var(--line)}.detailHeader{grid-template-columns:1fr}.detailSection{border-right:0}.siteTableHead{display:none}.guestForm,.guestRow,.siteRow,.errorRow,.errorConsole{min-width:0;grid-template-columns:1fr;align-items:start}}
