:root{--bg: #eef1f6;--bg-accent: #dfe7f2;--panel: #ffffff;--panel-muted: #f4f6fa;--border: #d8dee8;--border-strong: #b8c2d1;--text: #152033;--text-soft: #5c677a;--accent: #1f4f78;--accent-hover: #163a59;--accent-soft: #e6eef7;--danger: #b42318;--danger-soft: #fef3f2;--success: #067647;--success-soft: #ecfdf3;--warn: #b54708;--warn-soft: #fffaeb;--shadow: 0 10px 30px rgba(21, 32, 51, .06);--radius: 14px;--radius-sm: 10px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(31,79,120,.08),transparent 28%),linear-gradient(180deg,var(--bg-accent),var(--bg));color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}code{font-family:IBM Plex Mono,SFMono-Regular,monospace;background:var(--panel-muted);padding:.08rem .35rem;border-radius:6px;font-size:.92em}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(216,222,232,.9);background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page{width:min(1180px,calc(100% - 2rem));margin:0 auto}.page-wide{padding:2rem 0 3rem}.page-narrow{max-width:640px;padding:3rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}.brand{display:inline-flex;align-items:center;gap:.75rem;font-weight:700;letter-spacing:.01em}.logo{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(145deg,var(--accent),#2f6694);color:#fff;font-size:.78rem;font-weight:700;box-shadow:0 8px 18px #1f4f7838}.main-nav{display:flex;gap:.35rem;color:var(--text-soft)}.main-nav a{padding:.45rem .8rem;border-radius:999px;transition:background .15s ease,color .15s ease}.main-nav a:hover,.text-link:hover{color:var(--accent);background:var(--accent-soft)}.nav-signout{padding:.45rem .85rem;font-size:.92rem}.page-header,.section-block,.stack-section,.stack-form,.field,.auth-actions{display:grid;gap:.75rem}.page-header{grid-template-columns:1fr auto;align-items:end;margin-bottom:1.5rem}.section-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600;color:var(--accent)}.section-copy,.muted,.table-meta{color:var(--text-soft)}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.85rem,3vw,2.45rem);line-height:1.15;letter-spacing:-.02em}h2{font-size:1.25rem;letter-spacing:-.01em}.panel,.subpanel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:var(--radius)}.panel{padding:1.35rem}.subpanel{padding:1rem}.stat-panel{min-height:118px;display:grid;gap:.35rem;align-content:start}.stat-panel strong{font-size:2rem;font-weight:650;letter-spacing:-.03em}.stat-label{font-size:.85rem;color:var(--text-soft)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.content-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:1rem}.dashboard-grid{align-items:start}.field span{font-size:.88rem;font-weight:500;color:var(--text-soft)}.field-grid{display:grid;gap:.75rem}.field-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}input,select,textarea{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);padding:.82rem .9rem;border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f4f781f}textarea{resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:.82rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 8px 18px #1f4f782e;transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button-secondary{border-color:var(--border-strong);background:var(--panel);color:var(--text);box-shadow:none}.button-secondary:hover:not(:disabled){background:var(--panel-muted);transform:none}.button-danger{border-color:var(--danger);background:var(--danger);color:#fff}.auth-panel{gap:1rem}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-gate-card{display:grid;gap:.75rem;justify-items:center;padding:1.5rem 2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);color:var(--text-soft)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.94rem}.alert-error{color:var(--danger);background:var(--danger-soft);border-color:#fecdca}.alert-success{color:var(--success);background:var(--success-soft);border-color:#abefc6}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.badge-good{color:var(--success);background:var(--success-soft);border-color:#abefc6}.badge-warn{color:var(--warn);background:var(--warn-soft);border-color:#fedf89}.badge-bad{color:var(--danger);background:var(--danger-soft);border-color:#fecdca}.badge-neutral{color:var(--text-soft);background:var(--panel-muted);border-color:var(--border)}.home-hero{padding:4rem 0 2.5rem;max-width:760px}.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-table,.endpoint-table,.logs-table{display:grid;gap:0;margin-top:1rem;border-top:1px solid var(--border)}.service-table-head,.service-table-row,.endpoint-table-head,.endpoint-table-row,.logs-table-head,.logs-table-row{display:grid;gap:.75rem;align-items:center;padding:.95rem 0;border-bottom:1px solid var(--border)}.service-table-head,.endpoint-table-head,.logs-table-head{color:var(--text-soft);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.service-table-head,.service-table-row{grid-template-columns:minmax(160px,1.1fr) minmax(200px,1.2fr) 120px minmax(180px,1fr) 120px}.service-table-row:hover{background:#e6eef759}.endpoint-table-head,.endpoint-table-row{grid-template-columns:1fr 1.5fr 120px 120px}.logs-table-head,.logs-table-row{grid-template-columns:minmax(180px,1.3fr) minmax(120px,1fr) 120px 100px 120px}.logs-table-row{border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;color:inherit;padding-left:0;padding-right:0}.text-link{color:var(--accent);font-weight:600}.empty-state{margin-top:1rem;padding:2rem 1rem;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-muted)}.empty-state h3{margin-bottom:.35rem}.section-subhead,.trend-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.history-bars,.trend-bars{display:grid;align-items:end;gap:.35rem;margin-top:1rem}.history-bars{grid-template-columns:repeat(auto-fit,minmax(14px,1fr));min-height:96px}.trend-bars{grid-template-columns:repeat(auto-fit,minmax(10px,1fr));min-height:56px}.history-bar,.trend-bar{width:100%;border:1px solid var(--border);border-radius:4px}.history-bar{background:var(--accent-soft);color:var(--text);display:inline-flex;align-items:end;justify-content:center;padding:.15rem;font-size:.68rem}.trend-bar{display:block;background:var(--panel-muted)}.status-good{background:#dbeadc;border-color:#aac4ae}.status-bad,.trend-bar{background:#efe2df;border-color:#d2b1ab}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-top:1rem}.filter-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) 140px repeat(2,minmax(150px,1fr)) 100px 120px;gap:.75rem;margin-top:1rem}.danger-panel{margin-top:1rem;border-color:#fecdca;background:var(--danger-soft)}.error-text{color:var(--danger)}.success-text{color:var(--success)}@media(max-width:1024px){.summary-grid,.home-steps,.content-grid,.filter-grid,.service-table-head,.service-table-row,.endpoint-table-head,.endpoint-table-row,.logs-table-head,.logs-table-row,.field-grid-two{grid-template-columns:1fr}.page-header{grid-template-columns:1fr;align-items:start}}@media(max-width:720px){.header-inner{flex-direction:column;align-items:flex-start;justify-content:center;gap:.75rem;padding:.85rem 0}.page{width:min(100% - 1.25rem,1180px)}.home-hero{padding-top:2.5rem}.details-grid{grid-template-columns:1fr}}
