:root{--ink: #0b0d10;--ink-2: #14171c;--ink-3: #1c2026;--rule: #2a2f37;--rule-soft: #1f242b;--bone: #ece8df;--bone-soft: #b9b4a8;--bone-mute: #6e6a62;--signal: #f0a014;--signal-soft: #2a1e0a;--critical: #c8453a;--critical-soft: #2a1311;--good: #6b8e5a;--good-soft: #142016;--display: "Fraunces", Georgia, serif;--body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--measure-narrow: 36rem;--measure-wide: 80rem}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--ink);color:var(--bone);font-family:var(--body);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--bone);text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .12s ease}a:hover{border-color:var(--signal)}button{font:inherit;background:none;border:1px solid var(--rule);color:var(--bone);padding:.55rem .9rem;cursor:pointer;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;transition:border-color .12s ease,background .12s ease}button:hover:not(:disabled){border-color:var(--signal);background:var(--ink-3)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--signal);border-color:var(--signal);color:var(--ink);font-weight:600}button.primary:hover:not(:disabled){background:var(--bone);border-color:var(--bone)}button.danger{border-color:var(--critical);color:var(--critical)}input,select,textarea{font:inherit;font-family:var(--mono);background:var(--ink-2);color:var(--bone);border:1px solid var(--rule);padding:.55rem .7rem;width:100%;outline:none;transition:border-color .12s ease}input:focus,select:focus,textarea:focus{border-color:var(--signal)}label{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-soft);margin-bottom:.35rem}h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.01em;margin:0}h1{font-size:2.2rem;font-variation-settings:"opsz" 96;line-height:1.05}h2{font-size:1.5rem;font-variation-settings:"opsz" 48}h3{font-size:1.05rem;font-variation-settings:"opsz" 24}.mono{font-family:var(--mono)}.rule{border:0;border-top:1px solid var(--rule);margin:1.5rem 0}.rule-soft{border-top-color:var(--rule-soft)}.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-mute)}.pill{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .5rem;border:1px solid var(--rule)}.pill.signal{color:var(--signal);border-color:var(--signal);background:var(--signal-soft)}.pill.critical{color:var(--critical);border-color:var(--critical);background:var(--critical-soft)}.pill.good{color:var(--good);border-color:var(--good);background:var(--good-soft)}.pill.mute{color:var(--bone-mute)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--rule);padding:1.25rem 0;background:var(--ink-2);position:sticky;top:0;height:100vh;overflow-y:auto}.brand{padding:0 1.25rem 1.25rem;border-bottom:1px solid var(--rule);margin-bottom:1rem}.brand-mark{font-family:var(--display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;font-variation-settings:"opsz" 96}.brand-sub{font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-mute);margin-top:.15rem}.nav-section{padding:1rem 0}.nav-label{padding:0 1.25rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:.5rem}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:.45rem 1.25rem;font-family:var(--mono);font-size:.8rem;color:var(--bone-soft);border:0;border-left:2px solid transparent;cursor:pointer;background:none;width:100%;text-align:left;text-transform:none;letter-spacing:0}.nav-item:hover{background:var(--ink-3);color:var(--bone);border-color:transparent}.nav-item.active{background:var(--ink-3);color:var(--bone);border-left-color:var(--signal)}.nav-item .count{color:var(--signal);font-size:.7rem}.tenant-switcher{padding:.75rem 1.25rem;border-bottom:1px solid var(--rule)}.tenant-switcher select{background:var(--ink)}.main{padding:2rem 2.5rem;max-width:var(--measure-wide)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;border-bottom:1px solid var(--rule);padding-bottom:1.25rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin-bottom:2.5rem;border:1px solid var(--rule)}.kpi{padding:1.25rem 1.5rem;border-right:1px solid var(--rule)}.kpi:last-child{border-right:0}.kpi-label{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:.4rem}.kpi-value{font-family:var(--display);font-size:2.4rem;font-variation-settings:"opsz" 144;line-height:1;font-weight:500}.kpi-delta{font-family:var(--mono);font-size:.7rem;color:var(--bone-mute);margin-top:.25rem}table.data{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.82rem}table.data thead{border-bottom:1px solid var(--rule)}table.data th{text-align:left;font-weight:500;color:var(--bone-mute);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.7rem .9rem}table.data td{padding:.75rem .9rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}table.data tbody tr:hover{background:var(--ink-2)}.card{border:1px solid var(--rule);background:var(--ink-2);padding:1.25rem 1.5rem}.card+.card{margin-top:1rem}.card-title{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-soft);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule)}.auth-shell{min-height:100vh;display:grid;place-items:center;background:var(--ink)}.auth-card{width:360px;padding:2.5rem;border:1px solid var(--rule);background:var(--ink-2)}.auth-brand{font-family:var(--display);font-size:2.2rem;font-weight:600;margin-bottom:.25rem;font-variation-settings:"opsz" 96;letter-spacing:-.02em}.auth-sub{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:2rem}.field-group{margin-bottom:1.25rem}.error-msg{color:var(--critical);font-family:var(--mono);font-size:.78rem;margin-top:1rem}.success-msg{color:var(--good);font-family:var(--mono);font-size:.78rem;margin-top:1rem}.empty{padding:3rem 1rem;text-align:center;color:var(--bone-mute);font-family:var(--mono);font-size:.85rem;border:1px dashed var(--rule)}.pipeline{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--rule);margin-bottom:2rem}.pipeline-stage{padding:1rem 1.1rem;border-right:1px solid var(--rule);position:relative}.pipeline-stage:last-child{border-right:0}.pipeline-label{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:.5rem}.pipeline-count{font-family:var(--display);font-size:1.8rem;font-variation-settings:"opsz" 96;font-weight:500;line-height:1}.key-reveal{background:var(--ink-3);border:1px solid var(--signal);padding:1.25rem;margin-top:1rem}.key-reveal code{display:block;font-family:var(--mono);font-size:.85rem;color:var(--signal);background:var(--ink);padding:.85rem 1rem;margin-top:.6rem;word-break:break-all;border:1px solid var(--rule)}.key-reveal-warning{font-family:var(--mono);font-size:.72rem;color:var(--signal);letter-spacing:.04em;margin-top:.75rem}.row{display:flex;gap:.75rem;align-items:center}.spacer{flex:1}
