:root{--ink: #212529;--muted: #6c757d;--line: #dee2e6;--nav: #343a40;--blue: #0051ad;--green: #0e6800;--yellow: #ffc107;--red: #ac1f2d;--gray: #6c757d;--focus: #ffbf47;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fff;font-size:1rem;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{color:#002d61;text-decoration:underline}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1{margin:0 0 1rem;font-size:2rem;font-weight:500;line-height:1.2}h2{margin:1.25rem 0 .65rem;font-size:1.35rem;font-weight:500}p{margin:0 0 1rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:.5rem;top:.5rem;z-index:20;background:#fff;padding:.5rem}.topbar{min-height:56px;display:flex;align-items:stretch;gap:.75rem;padding:0 1.5rem;background:var(--nav);color:#fff}.brand{display:flex;align-items:center;flex:0 0 auto;color:#fff;font-size:1.2rem;white-space:nowrap}.brand:hover{color:#fff;text-decoration:none}.topbar nav{display:flex;align-items:stretch;overflow-x:auto}.topbar .primary-nav{flex:1}.topbar .admin-nav{flex:0 1 auto;border-left:1px solid rgb(255 255 255 / 12%)}.topbar nav a,.link-button{display:flex;min-height:44px;align-items:center;padding:.65rem .75rem;border:0;background:none;color:#ffffffa3;font:inherit;white-space:nowrap}.topbar nav a:hover,.topbar nav a.active,.link-button:hover{background:#ffffff12;color:#ffffffe5;text-decoration:none}.topbar form{display:flex;margin:0}.topbar .admin-nav a{padding-right:.55rem;padding-left:.55rem;font-size:.75rem}.page{width:100%;max-width:1920px;margin:0 auto;padding:1.5rem 2rem}.heading-row,.section-heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.muted{color:var(--muted);font-size:.875rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,438px);justify-content:start;gap:1rem}.status-card{width:438px;height:303px;padding:1.3rem 1.6rem;border:1px solid transparent;border-radius:.25rem;color:#fff}.status-card.healthy{background:var(--green);color:#fff}.status-card.warning{background:var(--yellow);color:#fff}.status-card.failed{background:var(--red);color:#fff}.status-card.unknown{background:var(--gray);color:#fff}.status-location{margin:.1rem 0 .8rem;font-size:48px;font-weight:400;line-height:1.2;text-align:center}.status-card .status-location a,.status-card .status-location a:hover,.status-card .status-location a:focus,.status-card .status-location a:active{color:inherit;text-decoration:none}.status-divider{border-top:1px solid rgb(255 255 255 / 55%)}.operational-counts{display:flex;flex-direction:column;margin:1rem 0 .6rem}.status-card .operational-counts div{display:flex;justify-content:center;gap:.45rem;font-size:1rem;line-height:1.75}.status-card .operational-counts dt{font-weight:600}.status-card .operational-counts dt:after{content:":"}.status-card .operational-counts dd{margin:0}.pax-count{font-size:48px;font-weight:400;line-height:1.05;text-align:center;font-variant-numeric:tabular-nums}.filters{margin:0 0 1rem;padding:.85rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-row,.filters-inline{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.filter-row+.filter-row{margin-top:.55rem;padding-top:.55rem;border-top:1px solid #eee}.filters label{display:grid;flex:1 1 155px;gap:.25rem;margin:0;font-size:.85rem;font-weight:600}.filter-primary label{flex-basis:220px}.filter-export{margin-left:auto}.filters-inline label{min-width:150px}.filters-inline button{flex:0 0 auto}.pax-summary{display:flex;align-items:baseline;gap:1rem;margin:1rem 0 .65rem}.pax-summary strong{font-size:1.35rem;font-weight:500}.table-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;font-size:.9rem}th{background:#f4f5f6;text-align:left;white-space:nowrap}th,td{padding:.52rem .65rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}th:last-child,td:last-child{border-right:0}tbody tr:nth-child(2n){background:#f8f9fa}tbody tr:hover{background:#eef4fa}.numeric{text-align:right;font-variant-numeric:tabular-nums}.pax-table{min-width:720px;table-layout:fixed}.pax-table th:nth-child(1),.pax-table th:nth-child(2){width:26%}.pax-table th:nth-child(3){width:36%}.pax-table th:nth-child(4){width:12%}.status-column{width:1%}.log-message{min-width:300px}.empty{padding:1rem;color:var(--muted);text-align:center}.badge{display:inline-block;padding:.08rem .35rem;border:1px solid #adb5bd;border-radius:.2rem;background:#fff;font-size:.75rem;line-height:1.3}.badge.green,.badge.healthy,.badge.on{border-color:#76a86e;color:#0e6800}.badge.yellow,.badge.warning{border-color:#d39e00;color:#6d5200}.badge.red,.badge.failed,.badge.off{border-color:#c96a74;color:#8f1925}.badge.unknown{color:#5c636a}label{display:grid;gap:.25rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600}input,select,textarea{min-width:0;min-height:38px;padding:.375rem .55rem;border:1px solid #ced4da;border-radius:.2rem;background:#fff;color:inherit;font:inherit}textarea{min-height:85px}button,.button{display:inline-flex;width:max-content;min-height:38px;align-items:center;justify-content:center;padding:.375rem .75rem;border:1px solid var(--blue);border-radius:.2rem;background:var(--blue);color:#fff;font:inherit;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#003e85;color:#fff;text-decoration:none}button.secondary,.button.secondary{border-color:#6c757d;background:#6c757d}.danger{border-color:var(--red);background:var(--red)}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.45rem}.check input{min-width:auto;min-height:auto}.panel,.form-card,.danger-zone{margin-bottom:1rem;padding:1rem;border:1px solid var(--line);background:#fff}.form-card,.danger-zone,.compact-form{display:grid;max-width:720px;gap:.7rem}.wide-form{max-width:none;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.wide-form>button{align-self:end}.danger-zone{border-color:#e4a5ac}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.details{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:.5rem}.details dt{font-weight:600}.details dd{margin:0}.event-list{padding:0;list-style:none}.event-list li{display:grid;grid-template-columns:160px 90px 1fr;gap:.8rem;padding:.5rem;border-bottom:1px solid var(--line)}.checks{columns:3;gap:1rem}.checks label{break-inside:avoid}fieldset{padding:.8rem;border:1px solid var(--line)}legend{font-weight:600}.mono,code,.setup-key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.auth-card{width:100%;max-width:350px;margin:7vh auto 0}.auth-card.wide{max-width:650px}.auth-card h1{margin-bottom:1.25rem;font-size:1.75rem;font-weight:400;text-align:center}.auth-card form{display:grid;gap:0}.login-card form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.login-card form input{margin-bottom:.7rem}.auth-card form button{width:100%;margin:.15rem 0 .75rem;font-size:1.05rem}.auth-card>a{display:block;min-height:44px;padding:.5rem 0;text-align:center}.notice{margin-bottom:1rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:.2rem}.notice.success{border-color:#a4cfaa;background:#e2f1e4;color:#0b5700}.notice.warning{border-color:#ffe083;background:#fff3cd;color:#664d03}.notice.danger{border-color:#e7adb3;background:#f8d7da;color:#842029}.impersonation-banner{display:flex;position:sticky;z-index:30;top:0;align-items:center;justify-content:center;gap:1rem;margin:0;border-width:0 0 2px;border-radius:0;flex-wrap:wrap}.impersonation-banner form{margin:0}.qr svg{max-width:240px;height:auto}.recovery-codes{columns:2;padding:1rem;background:#f1f3f5;list-style:none;font:1.05rem ui-monospace,monospace}.pagination{display:flex;gap:.3rem;padding:1rem 0;list-style:none}@media(max-width:900px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:.65rem 1rem}.brand{min-height:44px}.topbar nav{order:3;width:100%}.topbar .admin-nav{order:4;border-top:1px solid rgb(255 255 255 / 12%);border-left:0}.page{padding:1rem}.event-list li{grid-template-columns:1fr}.checks{columns:1}}@media(max-width:560px){h1{font-size:1.7rem}.filter-row,.filters-inline{align-items:stretch}.filters label{max-width:none;flex-basis:100%}.filter-export{margin-left:0}}@media(max-width:499px){.status-grid{grid-template-columns:100%}.status-card{width:100%}}@media print{.topbar,.filters,.actions,.pagination{display:none}.page{padding:0}.table-wrap{overflow:visible;border:0}}
