@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#10141b;--panel:#171d26;--panel-2:#1d2430;--border:#2a3240;--border-soft:#232a36;--text:#e6e9ee;--text-dim:#98a2b3;--text-faint:#626d7f;--accent:#4fc3f7;--accent-dim:#2b5b73;--ok:#3ddc84;--ok-bg:#3ddc8417;--warn:#f5a623;--warn-bg:#f5a6231c;--gap:#f2545b;--gap-bg:#f2545b1a;--muted:#626d7f;--font-display:"Space Grotesk", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:6px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;font-size:13px}input,select,textarea{font-family:var(--font-body);color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mono{font-family:var(--font-mono)}code,.value-mono{font-family:var(--font-mono);font-size:12.5px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);color:var(--text);align-items:center;gap:6px;padding:7px 14px;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.btn:hover{border-color:var(--accent-dim);background:#212938}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0a1420;font-weight:600}.btn-primary:hover{background:#6cd0fa;border-color:#6cd0fa}.btn-danger{color:var(--gap)}.btn-danger:hover{border-color:var(--gap);background:var(--gap-bg)}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:10px}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.reveal{animation:.18s ease-out reveal}@keyframes reveal{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}}.app-shell{grid-template-columns:260px 1fr;height:100vh;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border-soft);flex-direction:column;display:flex;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--border-soft);padding:18px 18px 14px}.sidebar-header .wordmark{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.sidebar-header .wordmark .dot{background:var(--accent);border-radius:2px;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.sidebar-header .tagline{color:var(--text-faint);letter-spacing:.02em;margin-top:3px;font-size:11px}.sidebar-nav{flex:1;padding:10px}.nav-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);padding:10px 10px 6px;font-size:10.5px}.client-block{margin-bottom:2px}.client-row,.env-row{border-radius:var(--radius);color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:flex}.client-row:hover,.env-row:hover,.client-row.active,.env-row.active{background:var(--panel-2);color:var(--text)}.client-row .chev{width:12px;color:var(--text-faint);flex-shrink:0;transition:transform .12s}.client-row .chev.open{transform:rotate(90deg)}.env-row{padding-left:26px;font-size:12.5px}.env-row.selected{color:var(--accent);background:#4fc3f714}.sidebar-footer{border-top:1px solid var(--border-soft);padding:12px}.main{padding:28px 36px 60px;overflow-y:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.breadcrumb{color:var(--text-faint);margin-bottom:6px;font-size:12px}.breadcrumb a{color:var(--text-faint)}.breadcrumb a:hover{color:var(--accent)}.page-header h1{font-size:22px}.page-header .sub{color:var(--text-dim);margin-top:4px;font-size:13px}.toolbar{flex-shrink:0;gap:8px;display:flex}.empty-state{text-align:center;color:var(--text-faint);padding:60px 20px}.empty-state h3{color:var(--text-dim);margin-bottom:6px;font-size:15px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--border-soft);cursor:pointer;border-radius:10px;padding:16px;transition:border-color .12s}.card:hover{border-color:var(--accent-dim)}.card .card-title{font-family:var(--font-display);margin-bottom:4px;font-size:15px;font-weight:600}.card .card-meta{color:var(--text-faint);font-size:12px}.card .card-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:#4fc3f71a;border-radius:4px;margin-bottom:8px;padding:2px 7px;font-size:10.5px;display:inline-block}.node-card{position:relative}.node-card .node-type-badge{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10px;position:absolute;top:14px;right:14px}.field-row{grid-template-columns:160px 1fr;align-items:center;gap:10px;margin-bottom:8px;display:grid}.field-row label{color:var(--text-dim);font-size:12.5px}.field-row input,.field-row select{width:100%}.modal-backdrop{z-index:50;background:#080a0e99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:460px;max-width:92vw;max-height:86vh;padding:22px;overflow-y:auto}.modal h3{margin-bottom:16px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.category-block{border:1px solid var(--border-soft);border-radius:10px;margin-bottom:18px;overflow:hidden}.category-block .cat-header{background:var(--panel-2);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:9px 14px;font-size:12.5px;font-weight:600}.category-block table{border-collapse:collapse;width:100%}.category-block td{border-top:1px solid var(--border-soft);vertical-align:middle;padding:8px 14px}.category-block td.label-cell{width:220px;color:var(--text-dim);font-size:12.5px}.category-block input{background:0 0;border:1px solid #0000;width:100%;padding:5px 8px}.category-block input:hover{border-color:var(--border)}.category-block input:focus{background:var(--panel-2);border-color:var(--accent)}.report-table{border-collapse:collapse;width:100%}.report-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:600}.report-table td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:7px 12px;font-size:13px}.report-table tr.row-change td:first-child{border-left:3px solid var(--warn)}.report-table tr.row-match td:first-child{border-left:3px solid #0000}.report-table tr.row-unknown td:first-child{border-left:3px solid var(--gap)}.report-table .diff-old{color:var(--gap);opacity:.75;text-decoration:line-through}.report-table .diff-new{color:var(--ok)}.report-table .diff-arrow{color:var(--text-faint);margin:0 6px}.node-report-block{margin-bottom:26px}.node-report-block .node-report-header{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.node-report-block .node-report-header h3{font-size:15px}.node-report-block .cluster-tag{color:var(--text-faint);font-size:11px}.notes-list{counter-reset:note;margin:0;padding:0;list-style:none}.notes-list li{counter-increment:note;border-bottom:1px solid var(--border-soft);padding:10px 0 10px 34px;font-size:13.5px;position:relative}.notes-list li:last-child{border-bottom:none}.notes-list li:before{content:counter(note);background:var(--panel-2);border:1px solid var(--border);width:22px;height:22px;font-family:var(--font-mono);color:var(--accent);border-radius:5px;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:10px;left:0}.notes-list .note-component{color:var(--text-faint);margin-top:2px;font-size:11.5px}.notes-list .note-source{margin-top:2px;font-size:11.5px}.stat-strip{gap:10px;margin-bottom:20px;display:flex}.stat-chip{background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;min-width:100px;padding:10px 16px}.stat-chip .n{font-family:var(--font-mono);font-size:20px;font-weight:600}.stat-chip .l{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px}.kb-table{border-collapse:collapse;width:100%}.kb-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px}.kb-table td{border-bottom:1px solid var(--border-soft);padding:8px 12px;font-size:12.5px}.kb-table tr:hover td{background:var(--panel-2)}.tabs{border-bottom:1px solid var(--border-soft);gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--text-dim);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:13px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.text-faint{color:var(--text-faint)}.mt-4{margin-top:16px}.grid-scroll{border:1px solid var(--border-soft);border-radius:10px;overflow-x:auto}.inventory-grid{border-collapse:collapse;width:100%}.inventory-grid th,.inventory-grid td{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.inventory-grid th:last-child,.inventory-grid td:last-child{border-right:none}.corner-cell{z-index:3;background:var(--panel-2);min-width:200px;position:sticky;left:0}.row-label{z-index:1;background:var(--panel);color:var(--text-dim);white-space:nowrap;min-width:200px;padding:7px 14px;font-size:12.5px;position:sticky;left:0}.node-col-header{background:var(--panel-2);text-align:left;vertical-align:top;min-width:220px;padding:10px 12px;position:relative}.node-col-name{font-family:var(--font-display);margin-bottom:3px;font-size:13.5px;font-weight:600}.node-col-meta{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;gap:8px;font-size:11px;display:flex}.node-col-remove{opacity:0;transition:opacity .12s;position:absolute;top:8px;right:8px}.node-col-header:hover .node-col-remove{opacity:1}.category-divider td{background:var(--panel-2);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:6px 14px;font-size:11.5px;font-weight:600;position:sticky;left:0}.inventory-grid td input{background:0 0;border:1px solid #0000;border-radius:0;width:100%;min-width:190px;padding:6px 10px}.inventory-grid td input:hover{border-color:var(--border)}.inventory-grid td input:focus{background:var(--panel-2);border-color:var(--accent)}.badge-unverified{text-transform:uppercase;letter-spacing:.03em;color:var(--warn);background:var(--warn-bg);border-radius:10px;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.badge-verified{text-transform:uppercase;letter-spacing:.03em;color:var(--ok);background:var(--ok-bg);border-radius:10px;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.row-unverified td:first-child{border-left:3px dashed var(--warn)}
