:root{color-scheme:light;--ink:#172438;--muted:#69788d;--line:#e5eaf0;--paper:#f4f7fb;--navy:#102b4e;--blue:#1f64a5;--green:#16734d;--red:#b53a3a;--amber:#996c16}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:34px;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;font-size:17px;font-weight:650;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--navy);color:white;font-weight:800;font-size:20px}.topbar nav{display:flex;gap:22px;flex:1}.topbar nav a{color:#52647a;text-decoration:none;font-size:13px;font-weight:600}.topbar nav a:hover{color:var(--blue)}.top-user{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:650}.top-user small{display:block;font-size:11px;color:var(--muted);font-weight:400}.top-user form{margin:0}.link-button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.container{max-width:1180px;margin:34px auto 70px;padding:0 24px}.hero{background:linear-gradient(120deg,#102b4e,#1b5685);color:#fff;border-radius:20px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 35px #173a5b17}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#6b91b7;margin:0 0 8px}.hero .eyebrow{color:#a9c9e5}.hero h1,.page-heading h1{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:-.03em}.hero p:not(.eyebrow){margin:0;color:#d0dfed}.hero-date{font-size:18px;font-weight:700;text-align:right}.hero-date small{display:block;color:#c1d3e3;font-size:12px;font-weight:500}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.metric-grid-2{grid-template-columns:repeat(2,1fr);margin-top:0}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 22px;min-height:118px}.metric span{display:block;font-size:12px;color:var(--muted);font-weight:600}.metric strong{display:block;font-size:32px;line-height:1.3;margin:5px 0;color:var(--navy)}.metric small{font-size:11px;color:#8996a7}.metric-soft{background:#f9fbfe}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;margin:18px 0;box-shadow:0 4px 15px #1b355008}.panel h2{font-size:17px;margin:0 0 15px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.panel-heading h2{margin:0 0 4px}.muted{color:var(--muted);font-size:13px;margin:0}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.page-heading h1{color:var(--navy)}.page-heading .muted{max-width:760px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;background:#f6f8fb;color:#6c7a8c;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:12px 13px}td{padding:13px;border-bottom:1px solid #edf0f4;font-size:13px;vertical-align:middle}td small{display:block;color:#8995a5;font-size:11px;margin-top:2px}.empty{text-align:center;color:#8a96a5;padding:30px}.table-foot{font-size:11px;color:var(--muted);margin:12px 0 0}.pill{display:inline-flex;padding:4px 9px;border-radius:30px;font-size:10px;font-weight:750;background:#edf1f5;color:#5e6c7d}.pill.approved,.pill.connected{background:#e8f6ee;color:var(--green)}.pill.pending,.pill.not_connected{background:#fff5df;color:var(--amber)}.pill.disabled,.pill.suspended,.pill.stale{background:#faeaea;color:var(--red)}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:750;cursor:pointer;text-decoration:none;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#edf3f8;color:#315b80}.btn.danger{background:#fff0f0;color:var(--red)}.btn.small{padding:7px 10px;font-size:10px}.btn.full{width:100%;margin-top:7px}.actions{display:flex;align-items:center;gap:6px}.actions form{margin:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid label,.login-card label,.panel label{display:flex;flex-direction:column;gap:6px;color:#5c6c80;font-size:12px;font-weight:650}.form-grid input,.form-grid select,.filter-row input,.filter-row select,.panel input,.panel select,.login-card input{width:100%;border:1px solid #dce3eb;background:#fff;border-radius:9px;padding:11px 12px;font:inherit;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus,.panel input:focus{border-color:#79a8d2;box-shadow:0 0 0 3px #2a73b213}.form-actions{display:flex;align-items:end}.filter-row{display:flex;gap:10px;margin-bottom:15px}.filter-row input{max-width:360px}.filter-row select{max-width:190px}.alert{padding:12px 15px;border-radius:10px;margin:0 0 16px;font-size:13px}.alert.success{background:#e8f6ee;color:#146541}.alert.error{background:#fff0f0;color:#a12d2d}.narrow{max-width:520px}.footer{text-align:center;color:#99a5b2;font-size:11px;padding:0 20px 30px}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#edf3f8,#f7f9fc)}.login-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 25px 70px #1a3b5c15}.login-brand{margin-bottom:30px}.login-card h1{font-size:23px;margin:0 0 5px;color:var(--navy)}.login-card>p{margin:0 0 20px}.login-card form{display:grid;gap:14px;margin-top:20px}.login-note{font-size:11px;color:#8995a5;text-align:center;margin:20px 0 0!important}.login-card input{margin-top:2px}.narrow form{display:grid;gap:13px}.narrow .btn{justify-self:start;margin-top:5px}@media(max-width:850px){.topbar{padding:0 18px;gap:15px}.topbar nav{gap:12px}.top-user{font-size:11px}.metric-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:12px 16px}.topbar nav{order:3;flex-basis:100%;padding:5px 0}.top-user{margin-left:auto}.top-user>span{display:none}.container{margin:22px auto 50px;padding:0 14px}.hero{padding:24px;display:block}.hero h1,.page-heading h1{font-size:25px}.hero-date{text-align:left;margin-top:15px}.metric-grid{gap:9px}.metric{padding:15px;min-height:105px}.metric strong{font-size:27px}.panel{padding:16px}.panel-heading{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.filter-row{flex-wrap:wrap}.filter-row input,.filter-row select{max-width:none;flex:1 1 100%}.actions{flex-wrap:wrap}}


/* Monitoring v0.3.0 additions */
.heading-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.radar-filter{align-items:end;gap:12px;flex-wrap:wrap}
.filter-field{display:flex;flex-direction:column;gap:6px;min-width:135px;font-size:12px;font-weight:700;color:var(--muted,#64748b)}
.filter-field input,.filter-field select{min-height:42px;border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink,#172033);font:inherit;font-weight:500}
.filter-search{flex:1;min-width:220px}
.numeric{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.activity-cell{max-width:420px;min-width:220px;white-space:normal;line-height:1.5}
.status-text{font-size:20px!important;text-transform:capitalize}
.status-date{font-size:17px!important;line-height:1.4}
.dashboard-admin-hint{margin:16px 2px}
.dashboard-admin-hint a{font-weight:800;text-decoration:underline}
.detail-date-filter{align-items:end;gap:12px}
.detail-date-filter .filter-field{min-width:220px}
@media(max-width:760px){.filter-field,.filter-search{width:100%;min-width:0}.heading-action{width:100%}.activity-cell{min-width:160px}}

/* Operations console v0.4.0 */
.form-grid textarea,.panel textarea{width:100%;border:1px solid #dce3eb;background:#fff;border-radius:9px;padding:11px 12px;font:inherit;color:var(--ink);resize:vertical;min-height:76px}
.form-grid .wide-field{grid-column:1/-1}
.inline-key-form{display:flex;gap:5px;align-items:center;margin:8px 0 0;flex-wrap:wrap;min-width:270px}
.inline-key-form input{max-width:135px;border:1px solid #dce3eb;border-radius:7px;padding:7px 8px;font:inherit;font-size:11px;min-width:0}
.actions{align-items:flex-start;min-width:180px;flex-wrap:wrap}
@media(max-width:620px){.inline-key-form{min-width:220px}.inline-key-form input{max-width:100px}}


/* Server-side pagination */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 2px 2px;margin-top:12px;border-top:1px solid var(--border,#e5e7eb)}
.pagination-info{font-size:12px;color:var(--muted,#64748b)}
.pagination-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:7px 10px;border:1px solid var(--border,#e5e7eb);border-radius:9px;color:var(--text,#334155);font-size:12px;font-weight:700;text-decoration:none;background:#fff}
.page-link:hover,.page-link.active{background:#0f172a;color:#fff;border-color:#0f172a}
