:root{--ink:#14251f;--muted:#6e7d77;--line:#dce5e1;--cream:#f5f3ed;--paper:#fff;--green:#145a43;--mint:#dbeade;--amber:#a96b14}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}button,input{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,#e8efe7 0,transparent 34%),linear-gradient(135deg,#f7f4ec,#edf1eb)}.login-card{width:min(440px,calc(100% - 32px));background:#fff;padding:44px;border:1px solid var(--line);box-shadow:0 24px 80px #153c2b18}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:Georgia,serif;font-size:28px;border-radius:3px}.brand-mark.small{width:34px;height:34px;font-size:20px}.eyebrow{font-size:16px;letter-spacing:.18em;font-weight:800;color:var(--green);margin:22px 0 10px}.login-card h1{font-family:Georgia,serif;font-size:38px;line-height:1.18;margin:0 0 12px}.subtle{color:var(--muted);line-height:1.6}label{display:grid;gap:8px;font-size:16px;font-weight:700;margin:20px 0}input{border:1px solid #cbd8d2;padding:13px 14px;background:#fbfcfa;border-radius:4px;outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d6a4c18}.login-card form button,.primary{border:0;background:var(--green);color:#fff;padding:14px 18px;font-weight:750;border-radius:4px}.login-card form button{width:100%;display:flex;justify-content:space-between;margin-top:24px}.trust{font-size:16px;color:var(--muted);text-align:center;margin:26px 0 0}.error{color:#a3352b;font-size:16px;min-height:18px}#app{min-height:100vh}aside{position:fixed;width:240px;height:100vh;background:var(--ink);color:#dbe5e0;padding:28px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:42px}.brand .brand-mark{background:#eef3ed;color:var(--ink)}nav{display:grid;gap:6px}nav a{padding:12px 14px;color:#aebdb7;border-radius:4px;font-size:16px}nav a.active{background:#ffffff10;color:#fff;border-left:2px solid #85b89b}.security-badge{margin-top:auto;border:1px solid #ffffff18;padding:14px;display:grid;gap:4px}.security-badge b{font-size:16px;color:#9ed1ad}.security-badge span{font-size:16px;color:#899b94}.text-button{background:none;border:0;color:#91a19b;text-align:left;padding:16px 2px}.dashboard{margin-left:240px;padding:44px 5vw 60px;max-width:1500px}.dashboard header{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.dashboard h1{font-family:Georgia,serif;font-size:34px;margin:4px 0}.dashboard header .eyebrow{margin:0}.primary{align-self:center}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin-bottom:24px}.metrics article{padding:22px 24px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics span{display:block;color:var(--muted);font-size:16px}.metrics strong{font-family:Georgia,serif;font-size:32px;margin:8px 5px 0 0;display:inline-block}.metrics strong.time{font-size:23px}.metrics small{color:var(--muted)}.metrics .green{color:var(--green)}.metrics .amber{color:var(--amber)}.panel{background:#fff;border:1px solid var(--line)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.panel h2,.panel h3{margin:0}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:16px}.secondary{border:1px solid #cbd6d1;background:#fff;color:var(--ink);padding:9px 13px;border-radius:4px}.empty{text-align:center;padding:62px 20px;color:var(--muted)}.empty div{font-size:32px;color:var(--green)}.empty h3{color:var(--ink);margin:12px}.site{display:grid;grid-template-columns:44px minmax(180px,1fr) 100px 190px 90px 130px 70px;gap:12px;align-items:center;padding:17px 24px;border-bottom:1px solid #e8eeeb}.site:last-child{border:0}.site-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e6eee9;color:var(--green);font-family:Georgia,serif}.site-main{display:grid;gap:4px}.site-main a{font-size:16px;color:var(--muted);text-decoration:none}.status{font-size:16px;font-weight:800}.status:before{content:'●';margin-right:6px}.status.online{color:#23714f}.status.offline{color:#a83c32}.status.checking,.status.neutral{color:#7b8984}.latency{font-size:16px;color:var(--muted)}.security-strip{display:flex;align-items:center;gap:16px;background:#e2ebe2;border:1px solid #cfddcf;padding:18px 22px;margin-top:24px}.security-strip .shield{width:36px;height:36px;border:1px solid var(--green);display:grid;place-items:center;border-radius:50%;color:var(--green)}.security-strip h3{font-size:16px;margin:0}.security-strip p{font-size:16px;color:var(--muted);margin:4px 0}.security-strip>span{margin-left:auto;font-size:16px;letter-spacing:.15em;color:var(--green);font-weight:800}dialog{border:1px solid var(--line);padding:0;width:min(520px,calc(100% - 32px));box-shadow:0 24px 80px #10271d38}dialog::backdrop{background:#0d1c17a8}dialog form{padding:28px}.dialog-head{display:flex;justify-content:space-between}.dialog-head .eyebrow{margin:0 0 8px}.dialog-head h2{font-family:Georgia,serif;font-size:28px;margin:0}.icon-button{border:0;background:none;font-size:28px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media(max-width:900px){aside{position:static;width:auto;height:auto;padding:16px 20px;flex-direction:row;align-items:center}.brand{margin:0}nav,.security-badge{display:none}.text-button{margin-left:auto}.dashboard{margin:0;padding:28px 18px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.site{grid-template-columns:40px 1fr auto}.site .latency,.site .check{grid-column:2}.dashboard header{align-items:start}.security-strip>span{display:none}}@media(max-width:560px){.login-card{padding:28px}.dashboard header{display:grid;gap:18px}.metrics{grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--line)!important}.site{grid-template-columns:36px 1fr}.site .status{grid-column:2}.site .check,.site .latency{display:none}}
