@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--brand: #0AD36B;--brand-hover: #1FE07F;--brand-active: #08B85C;--brand-soft: rgba(10, 211, 107, .12);--brand-soft-2: rgba(10, 211, 107, .04);--brand-border: rgba(10, 211, 107, .35);--brand-glow: rgba(10, 211, 107, .18);--bg: #15191C;--bg-elevated: #1D2326;--bg-elevated-top: #232A2D;--bg-hover: #2A3134;--bg-input: rgba(0, 0, 0, .25);--border: #2A3133;--border-strong: #3A4347;--border-subtle: rgba(255, 255, 255, .04);--text: #F2F4F3;--text-secondary: #B6BFB9;--text-muted: #7E8983;--text-disabled: #5C6661;--danger: #FF5C5C;--danger-hover: #FF7878;--danger-soft: rgba(255, 92, 92, .12);--warning: #F4B340;--warning-soft: rgba(244, 179, 64, .14);--success: var(--brand);--success-soft: var(--brand-soft);--r-sm: 4px;--r: 6px;--r-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 6px 18px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--bg);background-image:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(10,211,107,.06),transparent 60%),radial-gradient(ellipse 60% 80% at 100% 100%,rgba(10,211,107,.04),transparent 60%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><circle cx='1' cy='1' r='0.6' fill='%23ffffff' fill-opacity='0.022'/></svg>");background-attachment:fixed;color:var(--text);font-size:14px;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--brand);text-decoration:none;transition:color .15s}a:hover{color:var(--brand-hover)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}::selection{background:var(--brand-soft);color:var(--text)}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid var(--border-subtle)}.sidebar-brand img{height:24px;display:block}.sidebar-brand .product{margin-top:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.sidebar-section{padding:16px 20px 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.sidebar nav{padding:4px 10px;display:flex;flex-direction:column;gap:1px}.sidebar nav a{padding:9px 12px;color:var(--text-secondary);border-radius:var(--r);display:flex;align-items:center;gap:10px;font-weight:500;transition:background .15s var(--ease-out),color .15s var(--ease-out);position:relative}.sidebar nav a svg{width:16px;height:16px;flex-shrink:0;opacity:.85}.sidebar nav a:hover{background:var(--bg-hover);color:var(--text)}.sidebar nav a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.sidebar nav a.active svg{opacity:1}.sidebar nav a.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--brand);border-radius:0 3px 3px 0;box-shadow:0 0 12px var(--brand-glow)}.sidebar .me{margin-top:auto;padding:16px 20px;border-top:1px solid var(--border-subtle);font-size:12px}.sidebar .me .email{color:var(--text);word-break:break-all;font-weight:500;margin-bottom:6px}.sidebar .me .role{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:var(--bg-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sidebar .me .role.admin{background:var(--brand-soft);color:var(--brand)}.main{flex:1;padding:36px 44px;overflow-x:auto;max-width:100%;animation:pageIn .4s var(--ease-out)}.main h2{margin:0 0 4px;font-size:26px}.page-subtitle{color:var(--text-muted);margin:0 0 28px;font-size:13.5px;max-width:720px}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;margin-bottom:16px;position:relative;transition:border-color .2s var(--ease-out),transform .2s var(--ease-out)}.card h3{margin-top:0}button,.btn{background:var(--bg-hover);color:var(--text);border:1px solid var(--border-strong);padding:7px 14px;border-radius:var(--r);cursor:pointer;font-size:13px;font-family:inherit;font-weight:500;letter-spacing:-.005em;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .05s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}button:hover,.btn:hover{background:var(--border);border-color:var(--text-muted)}button:active,.btn:active{transform:translateY(1px)}button.primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:#0a1f12;font-weight:600;box-shadow:0 4px 14px #0ad36b40}button.primary:hover,.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#0a1f12;box-shadow:0 6px 20px #0ad36b59}button.danger,.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover,.btn.danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}button.ghost,.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted);padding:4px 8px}button.ghost:hover,.btn.ghost:hover{background:var(--bg-hover);color:var(--text);border-color:transparent}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:none}input,textarea,select{background:var(--bg-input);color:var(--text);border:1px solid var(--border-strong);padding:8px 12px;border-radius:var(--r);font-size:13px;font-family:inherit;font-weight:400;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}input::placeholder{color:var(--text-disabled)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}textarea{font-family:var(--font-mono);min-height:460px;width:100%;line-height:1.6}label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}select{cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-subtle)}th{color:var(--text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}tbody tr{transition:background .12s var(--ease-out)}tbody tr:hover td{background:#ffffff06}tbody tr:last-child td{border-bottom:none}td code,.card code{font-family:var(--font-mono);font-size:12.5px;background:#0000004d;border:1px solid var(--border-subtle);padding:2px 8px;border-radius:var(--r-sm);color:var(--text)}.row{display:flex;gap:8px;align-items:center}.row>*{margin:0}.grow{flex:1}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.badge.green{background:var(--brand-soft);color:var(--brand)}.badge.red{background:var(--danger-soft);color:var(--danger)}.badge.amber{background:var(--warning-soft);color:var(--warning)}.badge.muted{background:var(--bg-hover);color:var(--text-muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);position:relative}.dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:var(--brand);opacity:.35;animation:pulse 1.8s var(--ease-out) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.45}to{transform:scale(1.8);opacity:0}}.muted{color:var(--text-muted)}.error{color:var(--danger);padding:10px 14px;background:var(--danger-soft);border:1px solid rgba(255,92,92,.25);border-radius:var(--r);margin-bottom:12px;font-size:13px}.success{color:var(--brand);padding:10px 14px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--r);margin-bottom:12px;font-size:13px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:radial-gradient(ellipse 60% 50% at 50% 0%,var(--brand-glow),transparent 60%),radial-gradient(ellipse 40% 40% at 50% 100%,rgba(10,211,107,.08),transparent 60%),var(--bg)}.login-card{background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-lg);position:relative}.login-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:.6}.login-card .brand-logo{height:32px;margin-bottom:24px}.login-card h1{margin:0 0 8px;font-size:22px}.login-card .tagline{color:var(--text-muted);margin:0 0 28px;font-size:13px}.login-card .google-btn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;padding:11px 20px;border-radius:var(--r);font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s,transform .05s}.login-card .google-btn:hover{background:#f8f9fa;color:#1f1f1f;box-shadow:var(--shadow-sm)}.login-card .google-btn:active{transform:translateY(1px)}.login-card .domain-note{margin-top:24px;color:var(--text-muted);font-size:12px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e0cb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s}.modal{background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;width:min(520px,92vw);box-shadow:var(--shadow-lg);animation:slideUp .22s var(--ease-out)}.modal h3{margin-top:0;font-size:18px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-row{margin-bottom:14px}.form-row:last-child{margin-bottom:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-card{position:relative;background:radial-gradient(ellipse 70% 100% at 0% 50%,var(--brand-soft),transparent 60%),linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 28px;margin-bottom:20px;overflow:hidden}.hero-card:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:linear-gradient(180deg,transparent,var(--brand),transparent);opacity:.6}.hero-row{display:flex;gap:40px;align-items:center;flex-wrap:wrap}.hero-field{display:flex;flex-direction:column;gap:4px;min-width:0}.hero-field .label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.hero-field .value{font-family:var(--font-mono);font-size:20px;font-weight:500;color:var(--text);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px}.hero-field .value .copy-btn{opacity:0;transition:opacity .15s}.hero-field:hover .copy-btn{opacity:1}.copy-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:4px 6px;border-radius:var(--r-sm);font-size:11px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s var(--ease-out)}.copy-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.copy-btn.copied{color:var(--brand);border-color:var(--brand-border)}.hero-spacer{flex:1}.info-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:16px;display:flex;gap:32px;align-items:center;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;position:relative;overflow:hidden;transition:transform .2s var(--ease-out),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:0;transition:opacity .3s var(--ease-out)}.stat-card:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow)}.stat-card:hover:before{opacity:.5}.stat-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:10px}.stat-value{font-size:30px;font-weight:600;letter-spacing:-.03em;font-family:var(--font-sans);line-height:1.1}.stat-value.green{color:var(--brand)}.stat-value.amber{color:var(--warning)}.stat-value.red{color:var(--danger)}.stat-value.muted{color:var(--text-muted)}.stat-hint{font-size:11px;color:var(--text-muted);margin-top:6px}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;max-width:1400px}@media(max-width:900px){.dash-grid{grid-template-columns:1fr}}.dash-card{margin-bottom:0;min-width:0;display:flex;flex-direction:column}.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.dash-card h3{margin:0;font-size:14px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:8px}.dash-card h3 svg{width:14px;height:14px;color:var(--brand)}.dash-card-head .btn{padding:4px 10px;font-size:12px}.dash-card-subtitle{margin:-4px 0 12px;font-size:12px;line-height:1.5}.dash-card-empty{color:var(--text-muted);font-size:13px;padding:24px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.dash-card-empty svg{width:28px;height:28px;opacity:.4}.dash-card table{table-layout:fixed;width:100%}.dash-card th,.dash-card td{padding:9px 8px;font-size:12.5px;overflow:hidden;text-overflow:ellipsis}.dash-card th:first-child,.dash-card td:first-child{padding-left:0}.dash-card th:last-child,.dash-card td:last-child{padding-right:0}.dash-card td code{font-size:11.5px;padding:1px 6px}.nowrap{white-space:nowrap}.callout{border-radius:var(--r-lg);padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:12px;font-size:13px;border:1px solid}.callout-warning{background:var(--warning-soft);border-color:#f4b34059;color:var(--text)}.callout-warning code{background:#00000040}.callout svg{width:18px;height:18px;flex-shrink:0;color:var(--warning)}.callout-info{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}.hero-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px;max-width:1400px}@media(max-width:1100px){.hero-row{grid-template-columns:1fr}}.hero-health{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:28px}.donut-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.donut{display:block}.status-pill{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;border:1px solid}.status-healthy{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.status-warning{background:var(--warning-soft);color:var(--warning);border-color:#f4b34059}.status-attention{background:var(--danger-soft);color:var(--danger);border-color:#ff5c5c66}.legend{display:flex;flex-direction:column;gap:10px}.legend-item{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.legend-item:last-child{border-bottom:none}.legend-swatch{width:12px;height:12px;border-radius:3px}.legend-label{font-size:13px;color:var(--text-secondary)}.legend-value{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--text)}.hero-side{display:flex;flex-direction:column;gap:16px}.kpi-card{padding:16px 20px;margin-bottom:0}.kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kpi{display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.kpi-value{font-size:24px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.kpi-sub{font-size:13px;color:var(--text-muted);font-weight:500}.quick-actions{padding:16px;margin-bottom:0}.quick-actions h3{margin:0 0 10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.qa-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r);background:transparent;border:1px solid transparent;color:var(--text);text-decoration:none;transition:background .15s var(--ease-out),border-color .15s var(--ease-out);margin-bottom:4px}.qa-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.qa-btn svg{width:18px;height:18px;color:var(--brand);flex-shrink:0}.qa-btn div{display:flex;flex-direction:column}.qa-btn b{font-weight:600;font-size:13px}.qa-btn span{font-size:11px;color:var(--text-muted)}.timeline{padding:8px 0 12px}.timeline-axis{position:relative;height:40px;margin:0 8px}.timeline-track{position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,var(--danger) 0%,var(--warning) 35%,var(--brand) 70%);opacity:.18}.timeline-dot{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);border:3px solid var(--bg-elevated);box-shadow:0 0 0 1px currentColor;cursor:pointer;transition:transform .15s var(--ease-out)}.timeline-dot:hover{transform:translate(-50%,-50%) scale(1.4)}.timeline-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);padding:6px 10px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;font-family:var(--font-mono);z-index:5}.timeline-dot:hover .timeline-tooltip{opacity:1}.timeline-labels{display:flex;justify-content:space-between;margin:8px 4px 0;font-size:11px;color:var(--text-muted)}.timeline-empty{color:var(--text-muted);text-align:center;padding:20px;font-size:13px}.cn-list{list-style:none;padding:0;margin:0}.cn-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.cn-list li:last-child{border-bottom:none}.feed{list-style:none;padding:0;margin:0}.feed-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle);align-items:flex-start}.feed-item:last-child{border-bottom:none}.feed-icon{width:28px;height:28px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-icon svg{width:14px;height:14px}.feed-icon-green{background:var(--brand-soft);color:var(--brand)}.feed-icon-red{background:var(--danger-soft);color:var(--danger)}.feed-icon-amber{background:var(--warning-soft);color:var(--warning)}.feed-icon-muted{background:var(--bg-hover);color:var(--text-muted)}.feed-body{flex:1;min-width:0}.feed-title{font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-time{font-size:11px;margin-top:2px}.bulk-bar{position:sticky;bottom:16px;background:linear-gradient(180deg,var(--bg-elevated-top) 0%,var(--bg-elevated) 100%);border:1px solid var(--brand-border);border-radius:var(--r-lg);padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);margin-top:12px;z-index:50;animation:slideUp .2s var(--ease-out)}.bulk-bar b{color:var(--brand);font-size:16px}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--border-strong);background:var(--bg);border-radius:3px;cursor:pointer;position:relative;vertical-align:middle}input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #0A1F12;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus{outline:2px solid var(--brand-soft);outline-offset:1px}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}
