:root{--navy:#16294d;--blue:#164df5;--teal:#59c6b7;--violet:#b39bea;--coral:#ff8271;--ink:#182b4e;--muted:#606e85;--paper:#f5f7fc;--line:#dfe5ef;--green:#1749d6;--light:#eaf1ff;--amber:#844000;--white:#fff;--red:#a5362b}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 "Segoe UI",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.rail{position:fixed;inset:0 auto 0 0;width:232px;background:var(--ink);color:#edf2ff;padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;color:inherit;text-decoration:none;font-size:24px;line-height:1.05;letter-spacing:-.8px}.brand b{font-weight:600}.mark{display:grid;place-items:center;border:1px solid #7889aa;border-radius:14px;width:46px;height:52px;font-size:30px;color:var(--teal)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650}.rail-label{color:#a3b2d0;margin:52px 10px 16px}nav{display:grid;gap:7px}nav button{border:0;background:none;color:#bac6df;text-align:left;padding:12px 13px;border-radius:9px;font-weight:500}nav button span{display:inline-block;width:27px;font-size:18px}nav button.active,nav button:hover{background:#263c66;color:#fff}.rail-bottom{margin-top:auto;padding:20px 9px 0;font-size:10px;letter-spacing:1px;color:#bac6df}.rail-bottom p{font-size:13px;letter-spacing:0;line-height:1.7;color:#a3b2d0}.dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:7px}
.shell{margin-left:232px;min-height:100vh}header{background:#fff;min-height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 40px;gap:24px}.client-label{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px}select{border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:9px 35px 9px 12px;max-width:260px}.header-right{display:flex;align-items:center;gap:16px;font-size:12px}.quiet{border:1px solid var(--line);background:white;color:var(--ink);padding:7px 13px;border-radius:6px}.banner{margin:22px 40px 0;padding:11px 16px;background:#f1ead7;border:1px solid #e4d7b9;color:#73551d;border-radius:7px;font-size:12px}main{padding:30px 40px 50px;max-width:1600px;margin:auto}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:4px 0 10px;font-weight:600}h2{font-size:19px;font-weight:600;margin:0 0 15px;letter-spacing:-.3px}h3{font-size:15px;margin:0 0 10px}.muted{color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px}.page-head p{margin:0;color:var(--muted);max-width:750px}.page-head .eyebrow{color:var(--green);margin:0 0 8px}.pill{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:11px;white-space:nowrap}.pill.good{background:var(--light);color:var(--green);border-color:#d0dcf9}.pill.warn{background:#f7edd9;color:var(--amber);border-color:#e7d6b5}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}.metric .label{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:36px;line-height:1.35;letter-spacing:-1.2px;font-weight:550;margin:10px 0}.metric small{color:var(--muted);font-size:11px}.metric.accent{background:var(--green);border-color:var(--green);color:white}.metric.accent .label,.metric.accent small{color:#e2eaff}.grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.card{border:1px solid var(--line);border-radius:10px;background:white;padding:24px;margin-bottom:20px}.card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f7}.row:last-child{border-bottom:0}.row small{display:block;color:var(--muted)}.value{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.note{font-size:12px;color:var(--muted);padding-top:12px}.chart{display:flex;align-items:end;gap:12px;height:150px;margin:20px 0 36px;border-bottom:1px solid var(--line)}.bar-wrap{flex:1;position:relative;display:flex;align-items:end;justify-content:center;height:100%}.bar{width:55%;background:var(--blue);border-radius:5px 5px 0 0;min-height:2px}.bar-label{position:absolute;bottom:-26px;font-size:11px;color:var(--muted)}.bar-n{position:absolute;top:-24px;font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{font-weight:500;color:var(--muted);text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid #edf0f7;vertical-align:top}td:first-child{font-weight:600}td small{font-weight:400;display:block;color:var(--muted);margin-top:3px}.empty{padding:34px 14px;text-align:center;color:var(--muted)}.filters{display:flex;gap:12px;align-items:center;margin:20px 0;flex-wrap:wrap}.filters input{padding:9px 12px;border:1px solid var(--line);border-radius:7px;min-width:220px}.button,.primary{display:inline-block;background:var(--green);border:0;color:white;text-decoration:none;padding:10px 18px;border-radius:7px}.danger{color:var(--red)}textarea{display:block;min-height:230px;resize:vertical;width:100%;border:1px solid var(--line);border-radius:7px;padding:14px;margin:12px 0;font-family:Consolas,monospace;font-size:12px}.login{max-width:720px;margin:60px auto;padding:40px}.login h1{font-size:48px;margin:18px 0}.login .button{margin:20px 0}.login p:last-child{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;padding:18px 40px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}#toast{position:fixed;right:24px;bottom:24px;max-width:450px;padding:16px 24px;background:var(--ink);color:white;border-radius:8px;box-shadow:0 8px 35px #16294d22}.full{grid-column:1/-1}code{font-size:11px;overflow-wrap:anywhere}.integration{display:grid;grid-template-columns:1fr auto;gap:20px}.controls{display:flex;gap:10px;flex-wrap:wrap}.section-space{margin-top:24px}
@media(max-width:1150px){.rail{width:198px;padding:28px 15px}.shell{margin-left:198px}main{padding:26px}.banner{margin-left:26px;margin-right:26px}header{padding:16px 26px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}
@media(max-width:720px){.rail{position:relative;width:auto;padding:18px 20px}.brand{font-size:20px}.mark{height:38px;width:36px;font-size:24px}.rail-label,.rail-bottom{display:none}nav{display:flex;overflow:auto;margin-top:18px;gap:5px}nav button{white-space:nowrap;font-size:12px;padding:8px}nav button span{width:20px}.shell{margin-left:0}header{padding:14px 18px;flex-wrap:wrap;gap:12px}.header-right{gap:10px}#user{display:none}.banner{margin:16px 18px 0}main{padding:24px 18px}h1{font-size:28px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:29px}.page-head{display:block}.page-head>.pill{margin-top:15px}.card{padding:18px}.grid{gap:0}.login{padding:0;margin:30px 0}.login h1{font-size:36px}footer{padding:16px 18px;display:block}footer span{display:block}.integration{grid-template-columns:1fr}}
.card,.metric,.grid,.shell,.integration>div{min-width:0}.grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}@media(max-width:1150px){.grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.page-head,.filters,header{min-width:0}.controls button{max-width:100%}#toast{left:18px;right:18px;max-width:none}}

/* Signal Stitch identity: original five-dot mark, one palette across clients. */
.rail{background:var(--navy)}
.brand{letter-spacing:-.5px;font-size:25px}
.brand-logo{width:56px;height:56px;object-fit:contain;background:white;border-radius:12px;padding:5px;flex:none}
.brand b{font-weight:650}
nav button{position:relative;transition:background .15s,color .15s}
nav button.active{background:#29416e}
nav button.active:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:2px;background:var(--teal)}
.rail-bottom{border-top:1px solid #34486b;margin-top:auto}
.quiet:hover{background:#f1f4fd;border-color:#b3c3e8}
.quiet:disabled,.primary:disabled{opacity:.5;cursor:default}
.metric{position:relative;padding:23px;border-radius:13px;box-shadow:0 3px 14px #132b4f03}
.metric.accent{background:var(--blue);border-color:var(--blue)}
.metric.issue{border-top:3px solid var(--coral)}
.metric .money-kpi{font-size:27px;letter-spacing:-.8px;line-height:1.8}
.metric .label{font-weight:550}
.card{border-radius:13px;box-shadow:0 3px 14px #132b4f03}
.card-head h2{margin-bottom:4px}
.card-head p{margin:0;font-size:12px}
.pill.good{background:#e1f6f0;border-color:#b9e6da;color:#14604d}
.pill.warn{background:#fff0e9;border-color:#f4d6c7;color:#843e22}
.banner{background:#fff4e6;border-color:#f0d7b4;color:#795123}
.source-banner{background:#edf2ff;border-color:#d9e3ff;color:#294e99}
[hidden]{display:none!important}
.live-strip{display:flex;align-items:center;gap:13px;padding:14px 18px;margin-top:22px;border:1px solid #cce7e0;border-radius:12px;background:#effaf6}
.live-strip strong{font-size:12px}.live-strip small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.live-strip .source-dot{background:#269b81}
.live-strip.degraded{background:#fff1e9;border-color:#eec7a9}
.live-strip.degraded .source-dot{background:#bd5c21}
.scope-bar > .scope-controls{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
nav button{display:flex;align-items:center;gap:10px}nav button span{width:18px;flex-shrink:0}
.inline-warning{background:#fff2e9;border-radius:9px;padding:14px;font-size:13px;line-height:1.6;margin-top:18px}
.small-row{font-size:12px}.signal-metrics small{line-height:1.6}
td small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.definition code,.note code{overflow-wrap:anywhere}
.scope-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 0}
.scope-bar>div{display:grid;gap:3px}
.scope-bar strong{font-size:14px}
.scope-bar span{font-size:11px;color:var(--muted)}
.scope-bar label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:stretch;gap:7px}
.scope-controls select{min-width:190px;width:100%}
.product-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff9f7;border-color:#f2d9d3}
.product-notice h2{font-size:16px;margin:0 0 7px}.product-notice p{font-size:13px;margin:0;max-width:850px;color:#675257}
.product-notice button{flex-shrink:0}.qualification-card .row{font-size:13px}.qualification-card .row strong{font-size:19px;flex-shrink:0}
.qualification-card .row small{font-size:11px;line-height:1.6}
.commerce-chart{height:176px;gap:7px;margin-top:36px}
.commerce-chart .bar{background:var(--blue);width:75%;position:relative;border-radius:4px 4px 0 0}
.commerce-chart .bar-wrap:last-child .bar{background:var(--violet)}
.commerce-chart .bar-n{top:-24px;left:50%;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.source-row{margin:22px 0}
.source-row>div:first-child{display:flex;align-items:center;gap:8px;font-size:12px}
.source-row strong{margin-left:auto;font-size:16px;font-variant-numeric:tabular-nums}
.source-dot{width:7px;height:7px;background:var(--blue);border-radius:50%;display:inline-block;flex:none}
.source-dot.unknown{background:var(--violet)}
.source-track{height:7px;border-radius:6px;background:#edf1f8;margin-top:9px;overflow:hidden}
.source-track span{height:100%;display:block;background:var(--blue);border-radius:6px}
.source-track .unknown{background:var(--violet)}
.quality-callout{background:#fff9f7;border-color:#f2d9d3}
.quality-icon{display:grid;place-items:center;background:#ffdfd7;color:#922d21;min-width:32px;height:32px;border-radius:50%;font-weight:700}
.quality-callout p{font-size:13px;margin:8px 0 18px;color:#675257}
.definition{padding:14px 0;border-bottom:1px solid var(--line)}
.definition:last-of-type{border:0}
.definition p{margin:0;color:var(--muted);font-size:13px}
.definition h3{margin-bottom:6px}
td,th{font-variant-numeric:tabular-nums}
@media(min-width:1450px){.commerce-metrics{grid-template-columns:1fr 1.2fr 1fr 1fr}}
@media(max-width:720px){
  .metrics{grid-template-columns:1fr}
  .brand-logo{width:44px;height:44px;border-radius:9px;padding:4px}
  .brand{font-size:21px}
  .scope-bar{flex-wrap:wrap;gap:16px}
  .scope-bar > .scope-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .scope-controls label,.scope-controls select{min-width:0;width:100%}
  .product-notice{align-items:start;flex-direction:column;gap:16px}
  .metric .money-kpi{font-size:23px;line-height:1.7}
  .commerce-chart{gap:3px;height:145px}
  .commerce-chart .bar-n{font-size:9px}
  .commerce-chart .bar{width:83%}
  .source-row>div:first-child{font-size:12px}
  .client-label{flex:1 0 100%;min-width:0}
  .header-right{width:100%;justify-content:flex-end}
  #tenant{min-width:0;max-width:100%;width:100%}
  .row{flex-wrap:wrap}
  .card-head{flex-wrap:wrap}
  .source-banner{line-height:1.6}
}

/* Consistent select affordance across every client and dashboard view. */
select:not([multiple]):not([size]), select[size="1"] {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23606e85' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
}
@media (forced-colors: active) {
  select:not([multiple]):not([size]), select[size="1"] {
    appearance: auto;
    background-image: none;
  }
}

/* Private installation wizard */
.setup-clients,.setup-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}.setup-clients small{display:block}.setup-clients .selected{border-color:var(--blue);background:var(--light)}
.setup-form{display:grid;gap:18px;max-width:620px}.setup-form label{display:grid;gap:7px;font-weight:600}.setup-form input,.setup-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.setup-step{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.setup-step>div{flex:1;min-width:0}.setup-step h3{margin:0;font-size:15px}.setup-step p{margin:5px 0}.setup-step small{color:var(--muted)}.step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--light);color:var(--blue)}
.setup-code{background:#f0f3fa;padding:18px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:12px}.setup-dns{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.setup-dns dd{margin:0;overflow-wrap:anywhere}.setup-endpoint{overflow-wrap:anywhere}
@media(max-width:720px){.setup-step{flex-wrap:wrap}.setup-step .pill{margin-left:42px}.setup-form{max-width:100%}}
