:root{font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b3142;background:#f0f3f6;--navy:#142d42;--teal:#176c5b;--line:#dae2e8;--muted:#526779}*{box-sizing:border-box}body{margin:0}a{color:#176759;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{border:1px solid #c9d5dc;border-radius:7px;padding:.65rem 1rem;background:white;color:var(--navy);cursor:pointer;font-weight:600}button:hover{background:#f0f7f5}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #bac9d3;border-radius:6px;background:white;padding:.65rem .7rem;color:var(--navy);min-width:0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #85cfbb;outline-offset:2px}input:disabled{background:#eef1f3}label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600}h1{font-size:2rem;line-height:1.2;letter-spacing:-.035em;margin:.35rem 0}h2{font-size:1.15rem;line-height:1.4;margin:0}h3{font-size:1rem;margin:1.7rem 0 .7rem}p{margin:.65rem 0}small{display:block;color:var(--muted);font-size:.8rem}.topbar{min-height:78px;background:var(--navy);color:#c9d9e4;padding:1.1rem max(24px,calc((100vw - 1250px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-size:1.65rem;font-weight:850;color:#79d6bf;letter-spacing:-.06em;display:flex;align-items:center;gap:1rem}.brand span{color:#f0f6fa;font-size:.8rem;letter-spacing:.1em;font-weight:650}.toplinks{display:flex;gap:1.3rem;align-items:center;font-size:.9rem}.toplinks a{color:#e3edf3}.toplinks form{margin:0}.toplinks .quiet{color:#e3edf3;border-color:#496072;background:none}main{max-width:1300px;margin:0 auto;padding:2rem 24px}.heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:750;color:#587085}.badge{border:1px solid #c9d5de;border-radius:25px;padding:.3rem .8rem;font-size:.85rem;background:white}.badge.online{color:#166651;background:#e5f6ee;border-color:#b6ddce}.monitor{background:var(--navy);border-radius:10px;padding:1.6rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;color:white}.monitor h2{font-size:1.55rem;margin:.3rem 0}.monitor .eyebrow{color:#94b4c9}.monitor p{color:#cfdae2;font-size:.95rem;margin:.25rem 0 0}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#105545}.monitor .primary{background:#79d6bf;color:#122f30;border:0}.workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:1.4rem;margin-bottom:1.4rem}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:1.45rem;min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.section-title a{font-size:.9rem}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:.85rem;line-height:1.55}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.action-grid{display:grid;gap:.65rem;margin:1.2rem 0}.action-grid button{display:flex;gap:1rem;text-align:left;align-items:center}.action-grid b{font-size:.8rem;color:#638173;font-weight:700}.stats{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;margin:1.8rem 0}.stats strong{font-size:2.5rem;line-height:1.2;font-weight:600;letter-spacing:-.04em;display:block}.stats span{font-size:.9rem;color:var(--muted)}.log-card{margin-bottom:1.4rem}.inline{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.quiet{background:transparent;padding:.35rem .65rem;font-size:.9rem}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:auto}pre{background:#112535;color:#d4e5ee;border-radius:6px;padding:1rem 1.2rem;height:285px;overflow:auto;font: .85rem/1.75 Consolas,"SFMono-Regular",monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.stack{display:flex;flex-direction:column;gap:1rem}.stack .primary{align-self:flex-start}summary{font-size:1.15rem;font-weight:650;cursor:pointer}details[open] summary{margin-bottom:1rem}.history{list-style:none;padding:0;margin:0;max-height:240px;overflow:auto;font-size:.9rem}.history li{border-bottom:1px solid var(--line);padding:.65rem 0}.history small{margin:.1rem 0}.notice{border-radius:7px;background:#dfefe8;color:#185c47;padding:.8rem 1rem;margin:1rem 0;overflow-wrap:anywhere}.notice.error{background:#fff0ed;color:#96382b}.login{max-width:470px;margin:7vh auto;background:white;border:1px solid var(--line);border-radius:10px;padding:2rem}.login .stack{margin-top:1.5rem}.login button{width:100%}.login .hint{margin-top:1.5rem}footer{font-size:.85rem;color:var(--muted);padding:.5rem 0 1.5rem}.report-filter{display:flex;gap:1rem;margin:1.5rem 0}.report-filter label{width:260px}.table-wrap{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;vertical-align:top;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}th{background:#e8eef2}td:first-child{width:43%}.slots{display:flex;gap:.5rem;flex-wrap:wrap}.slot{border-radius:5px;font-size:.8rem;padding:.4rem .6rem;background:#eef2f5}.slot.missing{background:#fff0d5;color:#735319}.slot.present{background:#e3f3eb;color:#215944}.slot.unknown{background:#ffe7e2;color:#96382b}.slot img{display:block;margin:.5rem 0;max-width:100%}[hidden]{display:none!important}@media(max-width:850px){.workspace{grid-template-columns:1fr}.topbar{padding:1rem 20px}.brand span{display:none}.monitor{padding:1.3rem}.toplinks{gap:.75rem}.heading h1{font-size:1.6rem}.stats{justify-content:flex-start;gap:2.5rem}}@media(max-width:500px){main{padding:1.5rem 16px}.monitor{align-items:flex-start;flex-direction:column}.monitor button{width:100%}.fields{grid-template-columns:1fr}.heading{align-items:flex-start}.section-title{flex-wrap:wrap}.card{padding:1.1rem}.table-wrap{padding:0}.report-filter{flex-direction:column}.report-filter label{width:100%}.topbar{padding:.8rem 16px;gap:.5rem}.toplinks{font-size:.8rem;gap:.6rem}.toplinks .quiet{font-size:.8rem;padding:.3rem}.brand{font-size:1.4rem}.login{margin:5vh 16px}.stats{gap:1.5rem}.stats strong{font-size:2rem}}
