:root{color-scheme:dark;--bg:#08111f;--card:#101d2e;--card-soft:#13243a;--line:#28425b;--text:#eff6ff;--muted:#91a5b9;--accent:#73e6bd;--accent-strong:#36c493;--warn:#ffd28a;--danger:#ff9d9d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% -10%,#173454 0,transparent 42%),var(--bg);color:var(--text);min-height:100vh}button,input{font:inherit}.shell{width:min(100%,680px);margin:0 auto;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom);min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 30px}.brand{align-items:center;color:var(--text);display:flex;gap:9px;font-weight:750;letter-spacing:-.02em;text-decoration:none}.brand-mark{align-items:center;background:var(--accent);border-radius:11px;color:#082016;display:inline-flex;font-weight:900;height:31px;justify-content:center;width:31px}.pill{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:6px 10px;text-transform:uppercase}.pill-good{border-color:#327c68;color:var(--accent)}.pill-warn{border-color:#8a6d3d;color:var(--warn)}.pill-bad{border-color:#8b4f59;color:var(--danger)}.pill-muted{color:var(--muted)}.view{animation:appear .25s ease both;flex:1}.hidden{display:none!important}.hero-card{background:linear-gradient(145deg,rgba(19,45,70,.93),rgba(14,28,46,.95));border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 60px #0005;padding:34px 26px 27px}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.18em;margin:0 0 13px}.hero-card h1{font-size:clamp(2.5rem,11vw,4.7rem);letter-spacing:-.075em;line-height:.96;margin:0}.hero-card h1 em{color:var(--accent);font-style:normal}.lede{color:#b6c7d7;font-size:1.05rem;line-height:1.5;margin:22px 0 28px;max-width:29rem}.button{border:0;border-radius:14px;cursor:pointer;font-weight:780;min-height:48px;padding:13px 17px;transition:transform .15s,filter .15s;width:100%}.button-row{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.button-row .button{font-size:.76rem;min-height:43px;padding:9px 6px}.admin-toolbar{align-items:stretch;display:flex;gap:9px;margin-bottom:14px}.admin-toolbar .status-card{flex:1;margin:0}.admin-toolbar>.button{font-size:.72rem;min-height:0;padding:8px;width:auto}.notification-history{border-top:1px solid #20364c;margin-top:13px;padding-top:10px}.notification-history:empty{display:none}.notification-entry{color:var(--muted);font-size:.7rem;padding:4px 0}.notification-entry strong{color:var(--text);font-size:.75rem;margin-right:7px}.button:active{transform:scale(.98)}.button:disabled{cursor:wait;filter:grayscale(.7);opacity:.65}.button-primary{background:var(--accent);color:#082016}.button-primary:hover{filter:brightness(1.08)}.button-secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.button-large{font-size:1rem;min-height:57px}.hero-card .button+.button{margin-top:11px}.hint,.disclaimer{color:var(--muted);font-size:.78rem;line-height:1.45}.hint:empty{display:none}.trust-row{color:var(--muted);display:flex;font-size:.71rem;gap:8px;justify-content:center;padding:19px 0}.section-heading{align-items:end;display:flex;justify-content:space-between;margin:0 0 19px}.section-heading h2{font-size:2rem;letter-spacing:-.06em;margin:0}.text-link{color:var(--accent);font-size:.83rem;font-weight:700;text-decoration:none}.status-card{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--muted);display:flex;font-size:.84rem;gap:10px;margin-bottom:15px;padding:14px 16px}.status-dot{background:var(--muted);border-radius:50%;height:9px;width:9px}.status-card.good{color:var(--accent)}.status-card.good .status-dot{background:var(--accent);box-shadow:0 0 0 4px #73e6bd22}.status-card.warn{color:var(--warn)}.status-card.warn .status-dot{background:var(--warn)}.status-card.bad{color:var(--danger)}.status-card.bad .status-dot{background:var(--danger)}.gate-grid{display:grid;gap:13px}.gate-card,.panel{background:rgba(16,29,46,.88);border:1px solid var(--line);border-radius:19px;padding:20px}.gate-icon{align-items:center;background:#1d3851;border-radius:13px;color:var(--accent);display:flex;font-size:1.35rem;height:41px;justify-content:center;margin-bottom:16px;width:41px}.gate-card h3,.panel h3{font-size:1.1rem;margin:0 0 6px}.gate-card p,.panel p{color:var(--muted);font-size:.86rem;line-height:1.45;margin:0 0 18px}.gate-card .button{min-height:46px}.disclaimer{margin:19px 4px}.panel{margin-bottom:14px}.panel-kicker{color:var(--warn)!important;font-size:.68rem!important;font-weight:800;letter-spacing:.15em;margin-bottom:9px!important}.panel-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:9px}.panel-title h3{margin:0}label{color:var(--muted);display:block;font-size:.75rem;font-weight:700;margin-bottom:7px}input{background:#0a1625;border:1px solid var(--line);border-radius:12px;color:var(--text);margin-bottom:11px;min-height:47px;padding:12px;width:100%}input:focus{border-color:var(--accent);outline:2px solid #73e6bd33}.error-text{color:var(--danger)!important;margin:10px 0 0!important}.metric-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:14px}.metric{background:var(--card-soft);border:1px solid var(--line);border-radius:15px;padding:15px}.metric strong{display:block;font-size:1.65rem;letter-spacing:-.05em}.metric span{color:var(--muted);font-size:.72rem}.icon-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:1.4rem}.activity-list{display:grid;gap:8px}.activity{align-items:center;border-bottom:1px solid #20364c;display:flex;gap:10px;padding:10px 0}.activity:last-child{border:0}.activity-main{flex:1;min-width:0}.activity-main strong{display:block;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-main span{color:var(--muted);display:block;font-size:.7rem;margin-top:3px}.activity-status{font-size:.7rem;font-weight:800;text-transform:uppercase}.activity-status.good{color:var(--accent)}.activity-status.warn{color:var(--warn)}.activity-status.bad{color:var(--danger)}footer{color:var(--muted);display:flex;font-size:.7rem;justify-content:space-between;padding:25px 2px}footer a{color:var(--muted)}.dialog-backdrop{align-items:end;background:#020810aa;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:5}.dialog{background:#14263b;border:1px solid var(--line);border-radius:23px;box-shadow:0 25px 70px #0009;max-width:500px;padding:26px 21px 21px;position:relative;width:100%}.dialog h2{font-size:1.6rem;letter-spacing:-.05em;margin:0 0 10px}.dialog p:not(.eyebrow){color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 20px}.dialog-close{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:10px}.dialog-actions{display:flex;gap:9px}.dialog-actions .button{flex:1}.toast{background:#e9fff7;border-radius:12px;bottom:20px;color:#082016;font-size:.85rem;font-weight:700;left:50%;max-width:calc(100% - 36px);opacity:0;padding:13px 16px;position:fixed;transform:translate(-50%,15px);transition:all .2s;z-index:6}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:560px){.gate-grid{grid-template-columns:repeat(2,1fr)}.hero-card{padding:48px 40px 35px}.dialog-backdrop{align-items:center}}
:root{color-scheme:dark;--bg:#08111f;--card:#101d2e;--card-soft:#13243a;--line:#28425b;--text:#eff6ff;--muted:#91a5b9;--accent:#73e6bd;--accent-strong:#36c493;--warn:#ffd28a;--danger:#ff9d9d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% -10%,#173454 0,transparent 42%),var(--bg);color:var(--text);min-height:100vh}.shell{width:min(100%,680px);margin:0 auto;padding:calc(env(safe-area-inset-top) + 32px) 18px calc(env(safe-area-inset-bottom) + 24px);min-height:100vh;display:flex;flex-direction:column}.view{animation:appear .25s ease both;flex:1}.hidden{display:none!important}.resident-header{padding:18px 4px 29px}.resident-header h1{font-size:clamp(2.8rem,14vw,4.8rem);letter-spacing:-.08em;line-height:.92;margin:0}.resident-header p:last-child{color:var(--muted);font-size:1rem;line-height:1.45;margin:15px 0 0}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.18em;margin:0 0 13px}.button{border:0;border-radius:14px;cursor:pointer;font-weight:780;min-height:52px;padding:13px 17px;transition:transform .15s,filter .15s;width:100%}.button-row{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.button-row .button{font-size:.76rem;min-height:43px;padding:9px 6px}.button:active{transform:scale(.98)}.button:disabled{cursor:wait;filter:grayscale(.7);opacity:.65}.button-primary{background:var(--accent);color:#082016}.button-primary:hover{filter:brightness(1.08)}.button-secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.gate-grid{display:grid;gap:15px}.gate-card,.panel{background:rgba(16,29,46,.88);border:1px solid var(--line);border-radius:22px;padding:22px}.gate-icon{align-items:center;background:#1d3851;border-radius:13px;color:var(--accent);display:flex;font-size:1.35rem;height:41px;justify-content:center;margin-bottom:17px;width:41px}.gate-card h2,.panel h3{font-size:1.3rem;letter-spacing:-.03em;margin:0 0 17px}.gate-card .button{font-size:1rem;min-height:58px}.button-loading{align-items:center;display:inline-flex;gap:8px;justify-content:center}.button-loading::after{animation:spin .8s linear infinite;border:2px solid #08201655;border-radius:50%;border-top-color:#082016;height:14px;width:14px;content:""}.request-notice{background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--muted);font-size:.9rem;line-height:1.4;margin-top:17px;padding:15px 16px;text-align:center}.request-notice.success{border-color:#327c68;color:var(--accent)}.request-notice.error{border-color:#8b4f59;color:var(--danger)}.section-heading{align-items:end;display:flex;justify-content:space-between;margin:0 0 19px}.section-heading h2{font-size:2rem;letter-spacing:-.06em;margin:0}.text-link{color:var(--accent);font-size:.83rem;font-weight:700;text-decoration:none}.status-card{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--muted);display:flex;font-size:.84rem;gap:10px;margin-bottom:15px;padding:14px 16px}.status-dot{background:var(--muted);border-radius:50%;height:9px;width:9px}.status-card.good{color:var(--accent)}.status-card.warn{color:var(--warn)}.status-card.bad{color:var(--danger)}.admin-toolbar{align-items:stretch;display:flex;gap:9px;margin-bottom:14px}.admin-toolbar .status-card{flex:1;margin:0}.admin-toolbar>.button{font-size:.72rem;min-height:0;padding:8px;width:auto}.notification-history{border-top:1px solid #20364c;margin-top:13px;padding-top:10px}.notification-history:empty{display:none}.notification-entry{color:var(--muted);font-size:.7rem;padding:4px 0}.notification-entry strong{color:var(--text);font-size:.75rem;margin-right:7px}.panel{margin-bottom:14px}.panel p{color:var(--muted);font-size:.86rem;line-height:1.45;margin:0 0 18px}.panel-kicker{color:var(--warn)!important;font-size:.68rem!important;font-weight:800;letter-spacing:.15em;margin-bottom:9px!important}.panel-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:9px}.panel-title h3{margin:0}label{color:var(--muted);display:block;font-size:.75rem;font-weight:700;margin-bottom:7px}input{background:#0a1625;border:1px solid var(--line);border-radius:12px;color:var(--text);margin-bottom:11px;min-height:47px;padding:12px;width:100%}input:focus{border-color:var(--accent);outline:2px solid #73e6bd33}.error-text{color:var(--danger)!important;margin:10px 0 0!important}.metric-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:14px}.metric{background:var(--card-soft);border:1px solid var(--line);border-radius:15px;padding:15px}.metric strong{display:block;font-size:1.65rem;letter-spacing:-.05em}.metric span{color:var(--muted);font-size:.72rem}.icon-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:1.4rem}.activity-list{display:grid;gap:8px}.activity{align-items:center;border-bottom:1px solid #20364c;display:flex;gap:10px;padding:10px 0}.activity:last-child{border:0}.activity-main{flex:1;min-width:0}.activity-main strong{display:block;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-main span{color:var(--muted);display:block;font-size:.7rem;margin-top:3px}.activity-status{font-size:.7rem;font-weight:800;text-transform:uppercase}.activity-status.good{color:var(--accent)}.activity-status.warn{color:var(--warn)}.activity-status.bad{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:560px){.gate-grid{grid-template-columns:repeat(2,1fr)}}
.volume-charts{display:grid;gap:14px}.volume-chart{background:var(--card-soft);border:1px solid var(--line);border-radius:15px;padding:13px}.chart-heading,.chart-axis{align-items:center;color:var(--muted);display:flex;font-size:.7rem;justify-content:space-between}.chart-heading strong{color:var(--text);font-size:.82rem}.chart-bars{align-items:end;display:flex;gap:2px;height:72px;margin:12px 0 7px}.chart-bar{background:var(--accent-strong);border-radius:3px 3px 0 0;display:block;flex:1;min-width:2px;opacity:.85}.chart-bar:hover{background:var(--accent);opacity:1}.latency-grid{display:grid;gap:9px;grid-template-columns:repeat(2,1fr)}.latency-card{background:var(--card-soft);border:1px solid var(--line);border-radius:13px;padding:12px}.latency-card span,.latency-card small{color:var(--muted);display:block;font-size:.7rem}.latency-card strong{display:block;font-size:1.2rem;margin:7px 0}.call-latency-list{display:grid;gap:8px}.call-latency-row{border-bottom:1px solid #20364c;padding:10px 0}.call-latency-row:last-child{border:0}.call-latency-row>div:first-child{display:flex;flex-direction:column;gap:3px}.call-latency-row strong{font-size:.78rem}.call-latency-row span{color:var(--muted);font-size:.68rem}.call-latency-values{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.call-latency-values span{background:#0a1625;border:1px solid var(--line);border-radius:7px;padding:4px 6px}.call-latency-values b{color:var(--text);margin-left:3px}

/* Focused resident controls and compact administration views. */
#view-control{align-items:center;display:flex;justify-content:center}
#view-control .gate-grid{gap:14px;width:100%}
#view-control .gate-card{background:transparent;border:0;padding:0}
#view-control .gate-open{align-items:center;display:flex;gap:12px;justify-content:center;min-height:92px}
#view-control .gate-button-icon{font-size:1.8rem;line-height:1}
#view-control .gate-state{font-size:.85rem;line-height:1.35;margin:9px 4px 0;min-height:1.2em;text-align:center}
#view-control .gate-state:empty{visibility:hidden}
#view-control .gate-state.pending{color:var(--warn)}
#view-control .gate-state.success{color:var(--accent)}
#view-control .gate-state.error{color:var(--danger)}
.pilot-auth{background:rgba(16,29,46,.88);border:1px solid var(--line);border-radius:19px;margin-bottom:14px;padding:20px}.pilot-auth form{margin:0}.pilot-auth label{font-size:.82rem}.pilot-auth input{margin-bottom:10px}.pilot-auth .error-text{min-height:1.2em}
.admin-filters{display:grid;gap:8px;grid-template-columns:1.2fr 1fr 1fr;margin-bottom:14px}
.admin-filters label{margin:0}
.admin-filters select{background:#0a1625;border:1px solid var(--line);border-radius:10px;color:var(--text);display:block;margin-top:5px;min-height:38px;padding:7px;width:100%}
.load-more{font-size:.76rem;margin-top:5px;min-height:40px}
.device-list{display:grid;gap:8px}.device-row{align-items:center;border-bottom:1px solid #20364c;display:flex;gap:10px;justify-content:space-between;padding:10px 0}.device-row:last-child{border-bottom:0}.device-row strong,.device-row span{display:block}.device-row strong{font-size:.82rem}.device-row>div:first-child span{color:var(--muted);font-size:.7rem;margin-top:3px}.device-values{align-items:flex-end;display:flex;flex-direction:column;gap:4px;white-space:nowrap}.device-values>span:last-child{color:var(--muted);font-size:.7rem}.device-values b{color:var(--text)}.pilot-code{background:#0a1625;border:1px dashed var(--accent-strong);border-radius:13px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;letter-spacing:.08em;overflow:auto;padding:14px;text-align:center;user-select:all}.pilot-extend-form{margin-top:16px}.pilot-extend-row{align-items:center;display:flex;gap:9px}.pilot-extend-row input{margin:0;width:90px}.pilot-extend-row .button{flex:1;min-height:47px}
@media(max-width:420px){.admin-filters{grid-template-columns:1fr 1fr}.admin-filters label:first-child{grid-column:1/-1}}
.signal-chart{height:150px}.signal-bars{align-items:end;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,#20364c 30px);display:flex;gap:2px;height:110px;padding:4px 0}.signal-bar{background:var(--accent-strong);display:block;flex:1;min-width:2px}.signal-chart .chart-axis{color:var(--muted);display:flex;font-size:.68rem;justify-content:space-between;margin-top:7px}
