:root{--bg: #0a0e17;--bg-2: #0d1220;--surface: #121a2b;--surface-2: #0e1522;--border: #263352;--border-soft: #1a2438;--text: #e7ecf7;--text-muted: #7d8bab;--text-faint: #4c5b7d;--accent: #3b7dfb;--accent-soft: #1c3054;--glow: #29e0d1;--violet: #8b6cf0;--pass: #3ddc97;--warn: #f5b942;--fail: #f2596b;--font-display: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;transition:background .2s ease,color .2s ease}#root{min-height:100vh}a{color:var(--accent)}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem;overflow:hidden;background:radial-gradient(ellipse 900px 500px at 50% 20%,var(--bg-2) 0%,var(--bg) 70%);border-bottom:1px solid var(--border-soft)}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse 720px 460px at 50% 46%,#05070cb3,#05070c00 72%),linear-gradient(180deg,#0a0e178c,#0a0e17bf 55%,#0a0e17eb)}.eyebrow{position:relative;z-index:2;font-family:var(--font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--glow);margin:0 0 1.5rem}.eyebrow:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--glow);margin-right:.6em;box-shadow:0 0 8px 2px var(--glow);vertical-align:middle}h1.display{position:relative;z-index:2;font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.01em;line-height:1.12;max-width:14ch;margin:0 0 1.25rem;text-wrap:balance}h1.display .accentword{color:var(--accent);text-shadow:0 0 24px rgba(59,125,251,.45)}.sub{position:relative;z-index:2;color:var(--text-muted);font-size:17px;max-width:38ch;margin:0 0 2.5rem}.fineprint{position:relative;z-index:2;margin-top:1.1rem;font-size:12.5px;color:var(--text-faint)}.cta{position:relative;z-index:2;font-family:var(--font-body);font-weight:600;font-size:15px;color:#04101f;background:linear-gradient(180deg,#4a8bff,var(--accent));border:none;padding:.85rem 1.9rem;border-radius:8px;cursor:pointer;box-shadow:0 0 0 1px #3b7dfb80,0 8px 30px -8px #3b7dfbb3;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px #3b7dfbb3,0 10px 34px -6px #3b7dfbd9}.cta:disabled{cursor:default;opacity:.7;transform:none}.page{max-width:640px;margin:0 auto;padding:4rem 1.5rem}.page-wide{max-width:960px;margin:0 auto;padding:3rem 1.5rem}.topbar{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.signout-link{background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--text-muted);cursor:pointer;padding:.3rem 0}.signout-link:hover{color:var(--text)}.section-label{font-family:var(--font-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .75rem}.mono{font-family:var(--font-display)}.muted{color:var(--text-muted)}.error-banner{border:1px solid rgba(242,89,107,.35);background:#f2596b14;color:var(--fail);border-radius:8px;padding:.75rem 1rem;font-size:14px;margin-top:1rem}.report{display:flex;flex-direction:column;gap:1rem}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden}.card-head{padding:.9rem 1.1rem;font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between}.card-head .count{color:var(--text-faint);font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 1.1rem;font-size:14.5px;font-family:var(--font-body);background:none;border:none;border-left:3px solid transparent;color:inherit;text-align:left;cursor:default}.row+.row{border-top:1px solid var(--border-soft)}.row.pass{border-left-color:var(--pass)}.row.warn{border-left-color:var(--warn)}.row.fail{border-left-color:var(--fail)}.row.nodata{border-left-color:var(--text-faint)}.row.expandable{cursor:pointer}.row.expandable:hover{background:#ffffff05}.row .title{flex:1;color:var(--text)}.chevron{display:inline-block;color:var(--text-faint);font-size:16px}.blade-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070d99;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40}.blade-backdrop.open{opacity:1;pointer-events:auto}.blade-panel{position:fixed;top:0;right:-480px;width:min(92vw,480px);height:100%;background:var(--surface);border-left:1px solid var(--border-soft);box-shadow:-24px 0 48px -24px #00000080;transition:right .3s ease-in-out;z-index:41;overflow-y:auto;display:flex;flex-direction:column}.blade-panel.open{right:0}@media (prefers-reduced-motion: reduce){.blade-backdrop,.blade-panel{transition:none}}.blade-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--border-soft)}.blade-nav{display:flex;align-items:center;gap:.6rem}.blade-nav-btn{background:none;border:1px solid var(--border-soft);color:var(--text-muted);border-radius:6px;width:28px;height:28px;font-size:16px;cursor:pointer}.blade-nav-btn:hover{border-color:var(--border);color:var(--text)}.blade-index{font-family:var(--font-display);font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.blade-close{background:none;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:0 .25rem}.blade-close:hover{color:var(--text)}.blade-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.1rem 0}.blade-title{font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--text);margin:0}.blade-body{padding:1.1rem}.blade-sections{display:flex;flex-direction:column;gap:1.1rem}.blade-section{padding-bottom:1.1rem;border-bottom:1px solid var(--border-soft)}.blade-section:last-child{padding-bottom:0;border-bottom:none}.blade-section-label{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .4rem}.blade-section-body{font-size:14px;line-height:1.5;color:var(--text-muted);margin:0}.detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.2rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-soft);font-size:13.5px}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-item-head{display:flex;align-items:center;gap:.5rem}.detail-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.detail-dot.pass{background:var(--pass)}.detail-dot.warn{background:var(--warn)}.detail-dot.fail{background:var(--fail)}.detail-target{font-family:var(--font-display);font-size:13px;color:var(--text)}.detail-message{color:var(--text-muted)}.detail-fields{display:flex;flex-direction:column;gap:.6rem;margin:0}.detail-field{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.detail-field dt{font-size:13px;color:var(--text-muted)}.detail-field dd{margin:0;font-family:var(--font-display);font-size:13px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.pill{font-family:var(--font-display);font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .6rem;border-radius:5px;white-space:nowrap}.pill.pass{color:var(--pass);background:#3ddc971f}.pill.warn{color:var(--warn);background:#f5b9421f}.pill.fail{color:var(--fail);background:#f2596b24}.pill.nodata{color:var(--text-faint);background:#7c8bab1f}.admin-layout{display:flex;gap:2rem;align-items:flex-start}.tenant-list{list-style:none;padding:0;margin:0;min-width:280px;display:flex;flex-direction:column;gap:.5rem}.tenant-item{display:block;width:100%;text-align:left;padding:.65rem .9rem;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface);cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .15s ease,background .15s ease}.tenant-item:hover{border-color:var(--border)}.tenant-item.selected{border-color:var(--accent);background:var(--accent-soft)}.tenant-item .tenant-id{font-family:var(--font-display);font-size:12.5px;color:var(--text)}.tenant-item .tenant-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.admin-detail{flex:1;min-width:0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(4,16,31,.35);border-top-color:#04101f;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:.5em}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.loading-shell{min-height:640px;display:flex;align-items:center;justify-content:center}.spinner-standalone{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent);margin-right:0}
