/* SahmEDR portal — dark security-console design system (no dependencies). */
:root {
  /* One token set. A second :root block used to redeclare most of these
     lower down with the purple theme; whichever came last silently won.
     These are the values the product actually ships. */
  --bg: #050609;
  --bg2: #0b0d12;
  --panel: #0b0d12;
  --panel2: #11141b;
  --line: #252936;
  --line2: #383d4d;
  --fg: #f5f7fa;
  --dim: #8b93a7;
  /* Was #626b7d: 3.78:1 on --bg, below the 4.5:1 AA floor for body text.
     #737d90 measures 4.89:1. */
  --dim2: #737d90;
  --accent: #8b5cf6;
  --accent2: #a855f7;
  --accent-dim: #21163d;
  --info: #38bdf8;
  --warn: #f59e0b;
  --warn-dim: #3b2608;
  --bad: #ef4444;
  --bad-dim: #3d1015;
  /* Declared only in the old first block; still referenced, so kept. */
  --info-dim: #14273f;
  --radius: 12px;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Severity scale. One source of truth for badges, dots, bars and tables;
     agent-status dots share this palette deliberately (a revoked agent is
     the same red as a critical finding). */
  --sev-critical: #ef4444;
  --sev-high: #f97316;
  --sev-medium: #f59e0b;
  --sev-low: #38bdf8;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
:focus-visible { outline: 2px solid var(--info); outline-offset: 3px; }
body {
  margin: 0; background:
    radial-gradient(1200px 500px at 80% -10%, #0e1f1a 0%, transparent 60%),
    radial-gradient(900px 400px at 0% 0%, #101a2e 0%, transparent 55%),
    var(--bg);
  color: var(--fg);
  font: 15px/1.55 -apple-system, "Segoe UI", Roboto, Inter, sans-serif;
  min-height: 100vh; display: flex; flex-direction: column;
}
a { color: var(--info); text-decoration: none; }
a:hover { text-decoration: underline; }
code { font-family: var(--mono); font-size: 0.92em; background: var(--bg2);
       border: 1px solid var(--line); border-radius: 6px; padding: 1px 6px; }
h1 { font-size: 30px; letter-spacing: -0.02em; margin: 0 0 8px; }
h2 { font-size: 18px; margin: 0 0 12px; color: var(--fg); }
h3 { font-size: 15px; margin: 0 0 6px; }
.muted { color: var(--dim); }
.small { font-size: 13px; }

/* ---- header ---- */
header {
  position: sticky; top: 0; z-index: 10;
  display: flex; justify-content: space-between; align-items: center;
  padding: 0 28px; height: 58px;
  background: rgba(10, 14, 20, 0.85); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 10px; color: var(--fg);
         font-weight: 700; font-size: 16px; letter-spacing: 0.02em; }
.brand:hover { text-decoration: none; }
.brand .mark { color: var(--accent); font-family: var(--mono);
               font-size: 18px; text-shadow: 0 0 14px rgba(52, 211, 153, 0.5); }
nav { display: flex; gap: 6px; align-items: center; }
nav a, nav button.linklike {
  color: var(--dim); padding: 7px 12px; border-radius: 8px; font-size: 14px;
}
nav a:hover, nav button.linklike:hover { color: var(--fg); background: var(--panel2);
                                        text-decoration: none; }
nav a.active { color: var(--fg); background: var(--panel2); }
.btn {
  display: inline-block; background: var(--accent); color: #052018 !important;
  padding: 8px 16px; border-radius: 9px; font-weight: 650; font-size: 14px;
  border: none; cursor: pointer; transition: filter .15s;
}
.btn:hover { filter: brightness(1.1); text-decoration: none; }
.btn.ghost { background: transparent; color: var(--fg) !important;
             border: 1px solid var(--line2); }
button, .btn { font: inherit; }
button.danger { background: transparent; color: var(--bad);
                border: 1px solid rgba(248, 113, 113, 0.4);
                border-radius: 8px; padding: 5px 12px; cursor: pointer;
                font-size: 13px; }
button.danger:hover { background: var(--bad-dim); }

/* ---- layout ---- */
main { max-width: 1060px; width: 100%; margin: 34px auto 60px; padding: 0 24px;
       flex: 1; }
footer { border-top: 1px solid var(--line); color: var(--dim2);
         text-align: center; padding: 26px; font-size: 13px; }
.panel {
  background: linear-gradient(180deg, var(--panel) 0%, #111827 100%);
  border: 1px solid var(--line); border-radius: var(--radius);
  padding: 22px 26px; margin-bottom: 20px;
}
.panel h2:first-child { margin-top: 0; }
.grid { display: grid; gap: 18px; }
.grid.cols3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.grid.cols2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

/* ---- hero (landing) ---- */
.hero { text-align: center; padding: 54px 0 40px; }
.hero .logo {
  font-family: var(--mono); color: var(--accent); font-size: 13px;
  line-height: 1.15; text-shadow: 0 0 18px rgba(52, 211, 153, 0.45);
  user-select: none; margin-bottom: 22px; white-space: pre;
}
.hero h1 { font-size: 40px; max-width: 720px; margin: 0 auto 14px; }
.hero h1 em { color: var(--accent); font-style: normal; }
.hero p.sub { color: var(--dim); font-size: 17px; max-width: 620px;
              margin: 0 auto 28px; }
.hero .cta { display: flex; gap: 12px; justify-content: center; }
.hero .cta .btn { font-size: 15px; padding: 11px 22px; }
.feature {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 20px 22px;
}
.feature .ico { font-size: 22px; margin-bottom: 8px; }
.feature h3 { margin: 0 0 6px; font-size: 15px; }
.feature p { margin: 0; color: var(--dim); font-size: 13.5px; }
.steps { counter-reset: step; }
.step { display: flex; gap: 16px; padding: 14px 0;
        border-bottom: 1px solid var(--line); }
.step:last-child { border-bottom: none; }
.step::before {
  counter-increment: step; content: counter(step);
  flex: 0 0 30px; height: 30px; border-radius: 50%;
  background: var(--accent-dim); color: var(--accent);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-family: var(--mono); font-size: 14px;
}
.step p { margin: 2px 0 0; color: var(--dim); font-size: 13.5px; }

/* ---- pricing ---- */
.plan {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 24px; position: relative;
  display: flex; flex-direction: column;
}
.plan.hot { border-color: var(--accent2);
            box-shadow: 0 0 32px rgba(16, 185, 129, 0.12); }
.plan .tag { position: absolute; top: -11px; right: 16px;
             background: var(--accent); color: #052018; font-size: 11.5px;
             font-weight: 700; border-radius: 99px; padding: 2px 10px; }
.plan h3 { font-size: 17px; margin: 0; }
.plan .price { font-size: 32px; font-weight: 750; margin: 10px 0 2px; }
.plan .price span { font-size: 14px; color: var(--dim); font-weight: 400; }
.plan ul { list-style: none; margin: 14px 0 20px; padding: 0;
           color: var(--dim); font-size: 13.5px; flex: 1; }
.plan ul li { padding: 4px 0; }
.plan ul li::before { content: "✓ "; color: var(--accent); }

/* ---- stats ---- */
.stats { display: flex; flex-wrap: wrap; gap: 14px; }
.stat {
  flex: 1 1 180px; background: var(--bg2); border: 1px solid var(--line);
  border-radius: 10px; padding: 16px 18px;
}
.stat b { display: block; font-size: 24px; letter-spacing: -0.02em; }
.stat span { color: var(--dim); font-size: 12.5px; text-transform: uppercase;
             letter-spacing: 0.06em; }
.meter { height: 6px; border-radius: 99px; background: var(--line);
         margin-top: 10px; overflow: hidden; }
.meter i { display: block; height: 100%; border-radius: 99px;
           background: linear-gradient(90deg, var(--accent2), var(--accent)); }

/* ---- pills ---- */
.pill { padding: 2px 11px; border-radius: 99px; font-size: 12.5px;
        font-weight: 600; white-space: nowrap; }
.pill.ok { background: var(--accent-dim); color: var(--accent); }
.pill.warn { background: var(--warn-dim); color: var(--warn); }
.pill.bad { background: var(--bad-dim); color: var(--bad); }
.pill.info { background: var(--info-dim); color: var(--info); }

/* ---- tables ---- */
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { text-align: left; color: var(--dim2); font-weight: 550; font-size: 12px;
     text-transform: uppercase; letter-spacing: 0.07em;
     padding: 8px 10px; border-bottom: 1px solid var(--line); }
td { padding: 10px; border-bottom: 1px solid var(--line); }
tr:last-child td { border-bottom: none; }

/* ---- forms ---- */
label { display: block; color: var(--dim); margin: 14px 0 5px; font-size: 13.5px; }
input[type=email], input[type=password], input[type=text] {
  width: 100%; max-width: 380px; background: var(--bg2); color: var(--fg);
  border: 1px solid var(--line2); border-radius: 9px; padding: 10px 13px;
  outline: none; transition: border-color .15s;
}
input:focus { border-color: var(--accent2); }
.errorlist { color: var(--bad); list-style: none; padding: 0; font-size: 13.5px; }
.help, .helptext { color: var(--dim2); font-size: 12.5px; }

/* ---- device page ---- */
.device-code {
  font-family: var(--mono); font-size: 30px; letter-spacing: 6px;
  color: var(--accent); text-align: center;
  background: var(--bg2); border: 1px dashed var(--line2);
  border-radius: 10px; padding: 16px; margin: 16px 0;
}
input.codeinput {
  font-family: var(--mono); font-size: 24px; letter-spacing: 5px;
  text-align: center; text-transform: uppercase; max-width: 280px;
}

/* ---- messages ---- */
.messages { max-width: 1060px; margin: 14px auto -14px; padding: 0 24px; }
.msg { padding: 11px 16px; border-radius: 10px; margin-bottom: 8px;
       font-size: 14px; border: 1px solid; }
.msg.success { background: var(--accent-dim); border-color: #14532d;
               color: var(--accent); }
.msg.error { background: var(--bad-dim); border-color: #7f1d1d; color: var(--bad); }
.msg.info { background: var(--info-dim); border-color: #1e3a5f; color: var(--info); }
.msg.warning { background: var(--warn-dim); border-color: #713f12; color: var(--warn); }

/* ---- downloads ---- */
.release { border: 1px solid var(--line); border-radius: var(--radius);
           background: var(--panel); padding: 20px 24px; margin-bottom: 16px; }
.release .head { display: flex; align-items: center; gap: 12px;
                 flex-wrap: wrap; margin-bottom: 6px; }
.release .ver { font-size: 20px; font-weight: 750; font-family: var(--mono); }
.checksum { font-family: var(--mono); font-size: 12.5px; color: var(--dim);
            word-break: break-all; background: var(--bg2);
            border: 1px solid var(--line); border-radius: 8px;
            padding: 8px 12px; margin: 8px 0; }
.cmdbox { font-family: var(--mono); font-size: 13px; color: var(--accent);
          background: #071018; border: 1px solid var(--line);
          border-radius: 8px; padding: 12px 16px; margin: 8px 0;
          overflow-x: auto; white-space: pre; }
.cmdbox .c { color: var(--dim2); }

@media (max-width: 640px) {
  header { padding: 0 16px; }
  .hero h1 { font-size: 30px; }
  main { padding: 0 16px; }
}

/* ---- v2 command-center landing redesign ---- */
body{background:radial-gradient(900px 460px at 86% -8%,#25134d 0,transparent 62%),radial-gradient(800px 420px at -4% 26%,#111d39 0,transparent 64%),var(--bg);color:var(--fg);font-family:Inter,Manrope,-apple-system,"Segoe UI",sans-serif}a{color:#a78bfa}code,.mono{font-family:var(--mono)}
header{height:70px;padding:0 max(24px,calc((100vw - 1260px)/2));background:#050609d9;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}.brand{font-size:18px;letter-spacing:-.04em}.brand .mark{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--info));font-size:0;text-shadow:none}.brand .mark:after{content:'S';font:700 14px Inter,sans-serif}nav{gap:2px}nav a,nav button.linklike{padding:8px 10px;font-size:13px}nav a.active{color:#fff;background:#8b5cf61a}nav a:hover,nav button.linklike:hover{background:#ffffff0c}nav .btn{background:var(--accent);color:#fff!important;padding:9px 15px}nav .btn:hover{background:var(--accent2)}main{max-width:1260px;margin:0 auto 70px;padding:0 24px}footer{background:#050609;border-top:1px solid var(--line)}.panel,.feature,.plan,.release{background:linear-gradient(145deg,#0b0d12,#0b0e15);border-color:var(--line);box-shadow:0 15px 40px #0002}.btn{background:var(--accent);color:#fff!important}.btn.ghost{color:var(--fg)!important;border-color:var(--line2)}button.danger{color:#f87171}.grid.cols3,.grid.cols2{gap:16px}
.landing-page{width:100%;overflow:hidden}.landing-hero{min-height:720px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(620px,1.12fr);gap:48px;align-items:center;padding:96px 0 74px}.hero-copy{position:relative;z-index:1}.eyebrow{color:#a78bfa;font:500 11px var(--mono);letter-spacing:.13em;text-transform:uppercase}.status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #22c55e18}.hero-copy h1{margin:18px 0 22px;max-width:600px;font-size:clamp(3.3rem,6vw,6.2rem);line-height:.98;letter-spacing:-.075em}.hero-copy h1 span,.landing-final h2 span{color:#c084fc;background:linear-gradient(100deg,#a78bfa,var(--sev-low));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-lede{max-width:600px;margin:0 0 13px;color:var(--fg);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55}.hero-detail{max-width:560px;margin:0 0 28px;color:var(--dim);font-size:.95rem}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:10px 16px;border:1px solid var(--line2);border-radius:9px;color:var(--fg);font-weight:650;font-size:.84rem;text-decoration:none;transition:.2s ease}.landing-btn:hover{transform:translateY(-2px);text-decoration:none;border-color:#a78bfa}.landing-btn.primary{border-color:transparent;color:#fff;background:linear-gradient(110deg,var(--accent),#6d3eda);box-shadow:0 12px 28px #8b5cf626}.landing-btn.secondary{background:#ffffff05}.hero-facts{display:flex;flex-wrap:wrap;gap:19px;margin-top:30px;color:var(--dim);font-size:11px}.hero-facts i{color:#22c55e;font-style:normal}
.console-window{min-width:0;overflow:hidden;border:1px solid #ffffff1b;border-radius:16px;background:#090b10ef;box-shadow:0 30px 90px #0009,0 0 70px #8b5cf61b;transform:perspective(1300px) rotateY(-2deg)}.console-chrome{display:flex;align-items:center;gap:6px;height:38px;padding:0 13px;border-bottom:1px solid #ffffff11;background:#10131a;color:var(--dim);font:10px var(--mono)}.console-chrome>span{width:7px;height:7px;border-radius:50%;background:#3f4553}.console-chrome>span:first-child{background:var(--sev-critical)}.console-chrome>span:nth-child(2){background:var(--sev-medium)}.console-chrome>span:nth-child(3){background:#22c55e}.console-chrome code{margin-left:10px}.console-chrome b{margin-left:auto;color:#4ade80;font-weight:500}.console-layout{display:grid;grid-template-columns:135px 1fr;min-height:410px}.console-sidebar{padding:18px 10px;border-right:1px solid #ffffff0d;background:#080a0f}.console-logo{display:flex;gap:6px;align-items:center;margin:0 5px 25px;font-size:12px;font-weight:700}.console-logo strong{color:#a78bfa}.console-nav-label{margin:17px 5px 7px;color:#596173;font:9px var(--mono);letter-spacing:.12em}.console-sidebar a{display:flex;align-items:center;gap:8px;padding:8px 7px;margin:2px 0;border-radius:6px;color:#747e91;font-size:10px;text-decoration:none}.console-sidebar a:hover,.console-sidebar a.selected{color:#f5f7fa;background:#8b5cf61c}.console-sidebar a span{width:13px;color:#a78bfa;text-align:center}.console-sidebar a em{margin-left:auto;color:#4ade80;font:8px var(--mono);font-style:normal}
.console-main{min-width:0;padding:18px 18px 16px}.console-heading,.console-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.console-heading small,.console-card-title small{color:#687286;font:9px var(--mono);letter-spacing:.08em}.console-heading h3{margin:7px 0 0;font-size:15px;letter-spacing:-.03em}.console-live{color:#4ade80;font:9px var(--mono)}.console-live i,.pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #22c55e18}.console-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:17px 0 12px}.console-metrics>div{min-width:0;padding:11px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff04}.console-metrics small{display:block;overflow:hidden;color:#687286;font:8px var(--mono);white-space:nowrap}.console-metrics b{display:block;margin:5px 0 3px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.console-metrics span{font:8px var(--mono)}.good{color:#4ade80}.blue{color:var(--sev-low)}.amber{color:#fbbf24}.purple{color:#c084fc}.console-grid,.console-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.chart-card,.event-card,.console-bottom>div{min-width:0;padding:12px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff03}.console-card-title{margin-bottom:10px;font-size:10px}.console-card-title a{color:#a78bfa;font-size:9px;text-decoration:none}.chart-bars{display:flex;align-items:end;height:105px;gap:4px;padding:10px 4px 0;border-bottom:1px solid #ffffff12;background:repeating-linear-gradient(0deg,transparent 0 25px,#ffffff08 26px)}.chart-bars i{flex:1;min-width:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#a855f7,var(--sev-low));opacity:.82;animation:bar-breathe 3s ease-in-out infinite alternate}.chart-bars i:nth-child(3n){animation-delay:-1.1s}.chart-bars i:nth-child(4n){animation-delay:-2s}@keyframes bar-breathe{to{opacity:.52;transform:scaleY(.85)}}.chart-axis{display:flex;justify-content:space-between;margin-top:7px;color:#596173;font:8px var(--mono)}.event-stream p{display:flex;gap:7px;align-items:center;margin:0;padding:7px 0;border-bottom:1px solid #ffffff09;font-size:9px}.event-stream p:last-child{border:0}.event-stream b{color:#4ade80;font-size:8px}.event-stream code{color:#a78bfa;font-size:8px}.event-stream span{overflow:hidden;color:#aeb7c7;text-overflow:ellipsis;white-space:nowrap}.event-stream p:first-child{animation:stream-in .5s ease}@keyframes stream-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.console-bottom{margin-top:10px;grid-template-columns:1.18fr .82fr}.console-bottom .console-card-title{margin-bottom:3px}.detection-row,.host-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 0;border-top:1px solid #ffffff09;font-size:8px}.detection-row code,.host-row code{overflow:hidden;color:#cbd5e1;text-overflow:ellipsis}.detection-row small,.host-row small{color:#687286}.detection-row b{color:#a78bfa;font-size:8px}.severity{padding:3px 5px;border-radius:4px;font:8px var(--mono)}.severity.high{color:#fca5a5;background:#ef44441c}.severity.medium{color:#fcd34d;background:#f59e0b1c}.host-row{grid-template-columns:auto minmax(0,1fr) auto}.host-row span{color:#4ade80}.status-icon{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;font-style:normal}.good-bg{color:#4ade80;background:#22c55e18}
.signal-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 100px;border:1px solid var(--line);border-radius:12px;background:var(--line);overflow:hidden}.signal-strip>div{display:flex;align-items:center;gap:11px;padding:19px 20px;background:var(--panel)}.signal-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;font-size:18px}.signal-icon.purple{color:#c084fc;background:#8b5cf61c}.signal-icon.blue{color:var(--sev-low);background:#38bdf81c}.signal-icon.green{color:#4ade80;background:#22c55e1c}.signal-strip b,.signal-strip small{display:block}.signal-strip b{font-size:12px}.signal-strip small{margin-top:2px;color:var(--dim);font-size:10px}
.landing-section{padding:82px 0;border-top:1px solid #ffffff0b;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.landing-section.in-view,.landing-final.in-view{opacity:1;transform:none}.section-intro{max-width:720px}.section-intro h2{margin:10px 0 14px;font-size:clamp(2rem,4.3vw,4rem);letter-spacing:-.065em}.section-intro>p:not(.eyebrow){color:var(--dim);font-size:1rem;max-width:680px}.protection-loop{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:45px}.loop-line{position:absolute;left:9%;right:9%;top:38px;height:1px;background:linear-gradient(90deg,var(--accent),var(--info),var(--accent));opacity:.4}.loop-step{position:relative;z-index:1;min-height:132px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.loop-step.active{border-color:#8b5cf680;box-shadow:0 0 26px #8b5cf614}.loop-step span{display:block;color:#a78bfa;font:10px var(--mono)}.loop-step b{display:block;margin:20px 0 7px;font-size:14px}.loop-step small{color:var(--dim);font:10px/1.7 var(--mono)}.live-feed{display:flex;align-items:flex-start;gap:20px;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:#080a0f}.feed-label{flex:0 0 auto;color:#687286;font:9px var(--mono);letter-spacing:.1em}.live-feed>div{display:flex;flex-wrap:wrap;gap:8px}.live-feed code{padding:4px 7px;color:#aeb7c7;border:1px solid #ffffff10;border-radius:5px;font-size:9px}.live-feed code:first-child{color:#4ade80}
.offline-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}.offline-visual,.reconnect-card{position:relative;min-height:270px;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.offline-visual{display:grid;place-items:center}.internet-label{position:absolute;top:23px;right:26px;color:#687286;font:10px var(--mono)}.internet-label span{margin-left:7px;color:var(--sev-critical);font-size:21px}.offline-connector{position:absolute;top:47px;right:28%;width:31%;height:1px;border-top:1px dashed #ef44447d;transform:rotate(25deg)}.local-core{display:grid;place-items:center;gap:4px;width:190px;padding:22px 18px;border:1px solid #8b5cf673;border-radius:13px;background:#8b5cf60d;box-shadow:0 0 36px #8b5cf61a}.mini-shield{display:grid;place-items:center;width:39px;height:42px;margin-bottom:6px;clip-path:polygon(50% 0,92% 16%,84% 70%,50% 100%,16% 70%,8% 16%);color:#fff;background:linear-gradient(150deg,var(--accent),var(--info));font-weight:800}.local-core b{font-size:11px}.local-core>span{color:#4ade80;font:9px var(--mono)}.local-checks{display:flex;gap:7px;margin-top:12px}.local-checks i{padding:4px 5px;border-radius:4px;color:#86efac;background:#22c55e14;font:8px var(--mono);font-style:normal}.reconnect-card{display:flex;flex-direction:column;justify-content:center}.reconnect-status{color:#4ade80;font:10px var(--mono);text-transform:uppercase}.reconnect-status i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#22c55e}.reconnect-flow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:38px 0 25px}.reconnect-flow span{padding:12px 9px;text-align:center;border:1px solid var(--line2);border-radius:8px;color:#cbd5e1;font:10px/1.5 var(--mono)}.reconnect-flow b{color:#a78bfa}.reconnect-card p{color:var(--dim);font-size:12px}
.architecture-diagram{display:grid;gap:8px;max-width:900px;margin:38px auto 12px}.arch-layer{position:relative;display:grid;grid-template-columns:45px 160px 1fr 30px;align-items:center;gap:16px;width:100%;padding:17px 20px;text-align:left;color:var(--fg);border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer}.arch-layer:hover,.arch-layer.active{border-color:#a78bfa;box-shadow:0 0 30px #8b5cf61b;transform:translateX(4px)}.arch-layer.human{border-left:3px solid #c084fc}.arch-layer.control{border-left:3px solid var(--sev-low)}.arch-layer.endpoint{border-left:3px solid #4ade80}.layer-number{color:#697286;font:11px var(--mono)}.arch-layer b,.arch-layer small{display:block}.arch-layer b{font-size:14px}.arch-layer small{margin-top:2px;color:var(--dim);font:10px var(--mono)}.arch-layer strong{color:#aeb7c7;font:10px var(--mono)}.arch-layer em{color:#a78bfa;font-style:normal}.arch-detail{display:flex;gap:14px;max-width:900px;margin:auto;padding:15px 19px;border:1px dashed var(--line2);border-radius:8px;color:var(--dim);font-size:12px}.arch-detail b{color:#c084fc}.pipeline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:40px}.pipeline-card{min-height:260px;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--panel);transition:.2s ease}.pipeline-card:hover,.pipeline-card.selected{border-color:#8b5cf680;transform:translateY(-5px)}.pipeline-card>span{color:#a78bfa;font:10px var(--mono)}.pipeline-card h3{margin:20px 0 8px;font-size:16px}.pipeline-card p{color:var(--dim);font-size:11px;line-height:1.65}.pipeline-code{margin-top:18px;padding:8px;color:#7dd3fc;border:1px solid #38bdf826;border-radius:6px;background:#38bdf808;font:9px var(--mono)}.pipeline-code b{color:#c084fc;font-weight:500}
.split-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.visibility-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:27px}.visibility-tags span,.intel-row code{padding:5px 7px;border:1px solid var(--line2);border-radius:5px;color:#8b93a7;font:9px var(--mono)}.process-card{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.process-head{display:flex;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line);color:#687286;font:9px var(--mono)}.pill-live{color:#4ade80}.process-tree{padding:22px 25px}.process-tree>div{position:relative;display:flex;align-items:center;gap:10px;padding:11px 0}.process-tree .branch{padding-left:38px}.process-tree .deep{padding-left:76px}.process-tree .deepest{padding-left:114px}.process-tree .branch:before{content:'';position:absolute;left:17px;top:-9px;width:20px;height:29px;border-left:1px solid #576174;border-bottom:1px solid #576174;border-radius:0 0 0 8px}.process-tree .deep:before{left:55px}.process-tree .deepest:before{left:93px}.process-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#a78bfa;background:#8b5cf61a;font:10px var(--mono);font-style:normal}.process-icon.system{color:var(--sev-low);background:#38bdf81a}.process-icon.danger-bg{color:#fca5a5;background:#ef44441f}.process-tree code{color:#e2e8f0;font-size:11px}.process-tree small{margin-left:auto;color:#687286;font:9px var(--mono)}.danger-line code{color:#fca5a5}.process-footer{display:flex;flex-wrap:wrap;gap:10px;padding:13px 17px;border-top:1px solid var(--line);color:#8b93a7;font:9px var(--mono)}.process-footer b{color:#a78bfa}
.detection-stack{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:40px}.detection-stack>span{color:#626b7d;font:17px var(--mono)}.detect-source{display:grid;gap:5px;min-width:135px;padding:15px 12px;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.detect-source b{color:#cbd5e1;font:10px var(--mono)}.detect-source small{color:#687286;font:8px var(--mono)}.detect-source.optional{border-color:#8b5cf666;background:#8b5cf60c}.detect-source.optional b{color:#c084fc}.intel-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:23px}.intel-row>span{margin-right:8px;color:#687286;font:9px var(--mono)}
.response-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;margin-top:40px}.response-flow{display:grid;justify-items:center;gap:11px;text-align:center}.response-flow>div:not(.action-chip){width:min(100%,280px);padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.response-flow span{display:block;margin-bottom:5px;color:#687286;font:9px var(--mono)}.response-flow b{font-size:13px}.response-flow i{color:#a78bfa;font-style:normal}.action-chip{padding:10px 19px;border:1px solid #ef444466;border-radius:7px;color:#fca5a5;background:#ef444414;font:11px var(--mono)}.incident-card{padding:23px;border:1px solid #ef444444;border-radius:13px;background:linear-gradient(145deg,#160c13,var(--panel))}.incident-top{display:flex;justify-content:space-between;align-items:center}.incident-id{color:#687286;font:9px var(--mono)}.incident-card h3{margin:20px 0 13px;font-size:19px}.incident-card dl{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0;color:var(--dim);font-size:12px}.incident-card dt{color:#687286;font:9px var(--mono);text-transform:uppercase}.incident-card dd{margin:0;color:#e2e8f0}.success-text{color:#fbbf24!important}.mode-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:25px;padding-top:16px;border-top:1px solid var(--line)}.mode-toggle>span{margin-right:auto;color:#687286;font:9px var(--mono)}.mode{padding:6px 8px;border:1px solid var(--line);border-radius:5px;color:#687286;background:#ffffff05;font:9px var(--mono)}.mode.active{color:#c084fc;border-color:#8b5cf680;background:#8b5cf614}
.tenant-grid{display:grid;grid-template-columns:1fr 145px 1fr;gap:12px;align-items:center;margin-top:40px}.org-card{padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.org-head{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid var(--line)}.org-head>span:nth-child(2){flex:1}.org-head b,.org-head small{display:block}.org-head b{font-size:12px}.org-head small{color:#687286;font:9px var(--mono)}.org-head>i{color:#4ade80;font:9px var(--mono);font-style:normal}.org-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#fff;font-weight:700}.purple-bg{background:linear-gradient(135deg,#8b5cf6,#c084fc)}.blue-bg{background:linear-gradient(135deg,#0284c7,var(--sev-low))}.agent-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:11px 0 0;font-size:10px}.agent-line code{overflow:hidden;text-overflow:ellipsis}.agent-line small{color:#687286;font:8px var(--mono)}.online{color:#4ade80;font:9px var(--mono)}.offline{color:#fbbf24;font:9px var(--mono)}.restricted{color:#f87171;font:9px var(--mono)}.tenant-bridge{display:grid;justify-items:center;gap:6px;color:#687286;font:8px var(--mono);text-align:center}.tenant-bridge b{padding:8px;color:#c084fc;border:1px dashed #8b5cf680;border-radius:6px;font-weight:500}
.journey{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin-top:40px}.journey-step{min-height:115px;padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.journey-step.active{border-color:#8b5cf680;background:#8b5cf60c}.journey-step>span{display:block;color:#a78bfa;font:10px var(--mono)}.journey-step b{display:block;margin:17px 0 5px;font-size:13px}.journey-step small{color:var(--dim);font-size:10px}.journey-arrow{color:#8b5cf6;font:18px var(--mono)}.terminal-demo{margin:22px 0 0;padding:20px;overflow:auto;border:1px solid #303749;border-radius:10px;background:#07090d;color:#cbd5e1;font:12px/2 var(--mono);box-shadow:inset 0 0 35px #0005}.terminal-prompt{color:#c084fc}.terminal-ok{color:#4ade80}.terminal-dim,.terminal-comment{color:#687286}
.ai-diagram{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:18px;align-items:center;margin-top:40px}.evidence-node,.analyst-node{padding:23px;text-align:center;border:1px solid #38bdf855;border-radius:11px;background:#38bdf80b;color:#7dd3fc;font:11px var(--mono)}.evidence-node small,.analyst-node small,.ai-branches small{display:block;margin-top:7px;color:#687286;font-size:9px}.ai-branches{display:grid;gap:9px}.ai-branches>div{padding:15px;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.ai-branches>div:last-child{border-color:#8b5cf666;background:#8b5cf60b}.ai-branches b{font-size:12px}.ai-branches>div:last-child b{color:#c084fc}.analyst-node{color:#c084fc;border-color:#8b5cf666;background:#8b5cf60b}.fixed-model{display:flex;align-items:center;gap:12px;max-width:480px;margin:22px auto 0;padding:13px 16px;border:1px solid #8b5cf666;border-radius:9px;background:#8b5cf60c}.fixed-model .lock{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;color:#c084fc;background:#8b5cf620}.fixed-model small,.fixed-model b{display:block}.fixed-model small{color:#687286;font:8px var(--mono)}.fixed-model b{margin-top:3px;color:#e9d5ff;font:11px var(--mono)}.fixed-model em{margin-left:auto;color:#4ade80;font:9px var(--mono);font-style:normal}
.ops-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:40px}.ops-timeline>div{min-height:128px;padding:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--panel)}.ops-timeline>div:last-child{border-right:1px solid var(--line);border-radius:0 9px 9px 0}.ops-timeline>div:first-child{border-radius:9px 0 0 9px}.ops-timeline span{color:#a78bfa;font:10px var(--mono)}.ops-timeline b,.ops-timeline small{display:block}.ops-timeline b{margin:20px 0 5px;font-size:11px}.ops-timeline small{color:#687286;font:8px var(--mono)}.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.security-grid>div{padding:23px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.security-number{color:#a78bfa;font:11px var(--mono)}.security-grid h3{margin:20px 0 12px}.security-grid ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--dim);font-size:11px}.security-grid li:before{content:'✓';margin-right:8px;color:#4ade80}.honest-note{display:flex;gap:16px;margin-top:16px;padding:16px 19px;border-left:2px solid var(--sev-medium);border-radius:0 8px 8px 0;background:#f59e0b0b;color:var(--dim);font-size:11px}.honest-note b{color:#fcd34d}.coverage-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:35px}.coverage-list span{padding:13px;color:#cbd5e1;border:1px solid var(--line);border-radius:7px;background:var(--panel);font-size:11px}.quickstart{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.quickstart-copy p:not(.eyebrow){color:var(--dim)}.quick-links{display:flex;align-items:center;gap:18px;margin-top:23px}.text-link{color:#c084fc;font-size:11px;text-decoration:none}.landing-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.landing-plan{position:relative;padding:23px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.landing-plan.featured{border-color:#8b5cf680;box-shadow:0 0 35px #8b5cf614}.landing-plan h3{font-size:16px}.landing-price{margin:18px 0 15px;font-size:30px;font-weight:750}.landing-price small{color:var(--dim);font-size:11px;font-weight:400}.landing-plan ul{display:grid;gap:8px;min-height:120px;margin:0 0 17px;padding:0;list-style:none;color:var(--dim);font-size:11px}.landing-plan li:before{content:'✓';margin-right:8px;color:#4ade80}.plan-ribbon{position:absolute;right:14px;top:-10px;padding:3px 8px;border-radius:99px;color:#fff;background:var(--accent);font:8px var(--mono)}.empty-plan{grid-column:1/-1;padding:24px;border:1px dashed var(--line2);border-radius:9px;color:var(--dim);text-align:center}.landing-faq{max-width:800px;margin-top:30px}.landing-faq details{border-color:var(--line)}.landing-faq summary{padding:17px 0;color:#e2e8f0;font-size:13px}.landing-faq p{color:var(--dim);font-size:12px}.landing-final{padding:115px 0 60px;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.landing-final h2{margin:10px 0 16px;font-size:clamp(2.8rem,6vw,5.7rem);letter-spacing:-.075em}.landing-final>p:not(.eyebrow){color:var(--dim);font-size:14px}.landing-final .hero-actions{justify-content:center;margin-top:25px}
@media(max-width:1050px){.landing-hero{grid-template-columns:1fr;gap:35px}.hero-copy{max-width:700px}.console-window{transform:none}.pipeline-grid{grid-template-columns:repeat(3,1fr)}.pipeline-card{min-height:220px}.pipeline-card:last-child{grid-column:2}.console-layout{min-height:380px}}
@media(max-width:780px){header{height:auto;min-height:66px;flex-wrap:wrap;padding:12px 16px}header nav{max-width:100%;overflow-x:auto;padding-bottom:2px}nav a,nav button.linklike{white-space:nowrap;font-size:12px}main{padding:0 16px}.landing-hero{min-height:auto;padding:65px 0 55px}.console-layout{grid-template-columns:105px 1fr}.console-sidebar a{font-size:9px}.console-sidebar a em{display:none}.console-metrics{grid-template-columns:repeat(2,1fr)}.console-grid,.console-bottom{grid-template-columns:1fr}.console-bottom .host-status{display:none}.signal-strip{grid-template-columns:1fr;margin-bottom:65px}.signal-strip>div{padding:14px 16px}.landing-section{padding:65px 0}.protection-loop{grid-template-columns:1fr 1fr}.loop-line{display:none}.loop-step{min-height:120px}.offline-grid,.response-grid,.quickstart,.split-section{grid-template-columns:1fr;gap:22px}.architecture-diagram{margin-top:25px}.arch-layer{grid-template-columns:34px 1fr 25px;gap:10px}.arch-layer strong{grid-column:2}.arch-layer em{grid-column:3;grid-row:1/3}.pipeline-grid{grid-template-columns:1fr 1fr}.pipeline-card:last-child{grid-column:auto}.detection-stack{justify-content:flex-start}.tenant-grid{grid-template-columns:1fr}.tenant-bridge{grid-template-columns:repeat(4,1fr);display:grid}.journey{grid-template-columns:1fr 1fr}.journey-arrow{display:none}.ai-diagram{grid-template-columns:1fr}.ops-timeline{grid-template-columns:1fr 1fr}.ops-timeline>div,.ops-timeline>div:first-child,.ops-timeline>div:last-child{border-radius:0}.ops-timeline>div:first-child{border-radius:9px 0 0 0}.ops-timeline>div:nth-child(2){border-radius:0 9px 0 0}.ops-timeline>div:nth-last-child(2){border-radius:0 0 0 9px}.ops-timeline>div:last-child{border-radius:0 0 9px 0}.security-grid,.coverage-list,.landing-pricing{grid-template-columns:1fr 1fr}.landing-plan:last-child{grid-column:1/-1}}
@media(max-width:520px){.top-actions{display:none}.hero-copy h1{font-size:3.3rem}.console-window{margin:0 -7px}.console-layout{grid-template-columns:1fr}.console-sidebar{display:none}.console-main{padding:13px}.console-heading h3{font-size:13px}.console-metrics>div{padding:9px}.console-metrics b{font-size:11px}.landing-section{padding:55px 0}.section-intro h2{font-size:2.25rem}.protection-loop,.pipeline-grid,.security-grid,.coverage-list,.landing-pricing,.ops-timeline{grid-template-columns:1fr}.pipeline-card:last-child,.landing-plan:last-child{grid-column:auto}.loop-step{min-height:auto}.live-feed{display:block}.feed-label{display:block;margin-bottom:10px}.reconnect-flow{gap:4px}.reconnect-flow span{font-size:8px}.process-tree{padding:15px 11px}.process-tree small{font-size:7px}.process-footer{gap:6px;font-size:8px}.journey{grid-template-columns:1fr}.journey-step{min-height:auto}.honest-note{display:block}.honest-note span{display:block;margin-top:7px}.fixed-model{align-items:flex-start}.fixed-model em{margin-left:0}.landing-final{padding:80px 0 45px}.landing-final h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.landing-section,.landing-final{opacity:1;transform:none}}

.reports-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:16px}.report-request-card{align-self:start}.report-form label span{color:#687184;font:9px var(--mono)}.report-form input,.report-form select{display:block;width:100%;max-width:none;margin-bottom:4px}.report-form .btn{margin-top:18px}.report-status{display:inline-flex;align-items:center;gap:6px;color:#aeb7c7;font:9px var(--mono);text-transform:uppercase}.report-status i{width:6px;height:6px;border-radius:50%;background:var(--sev-medium)}.report-status.ready{color:#4ade80}.report-status.ready i{background:#22c55e}.report-status.failed{color:#f87171}.report-status.failed i{background:var(--sev-critical)}.audit-action{color:#c4b5fd;font:10px var(--mono)}
@media(max-width:780px){.reports-layout{grid-template-columns:1fr}.report-request-card{order:0}}


/* shared investigation surfaces */
.context-strip{display:flex;flex-wrap:wrap;gap:10px 25px;margin-bottom:16px;padding:12px 15px;border:1px solid var(--line);border-radius:9px;background:#ffffff03;color:var(--dim);font-size:10px}.context-strip b{margin-right:5px;color:#687184;font:8px var(--mono);text-transform:uppercase}.status-label{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;font:8px var(--mono)}.status-label i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-label.online{color:#4ade80;background:#22c55e14}.status-label.offline{color:#fbbf24;background:#f59e0b14}.status-label.revoked{color:#f87171;background:#ef444414}.table-action{color:#c084fc;font:9px var(--mono);text-decoration:none}.table-action:hover{color:#fff}.info-note{display:flex;gap:15px;margin-top:16px;padding:14px 17px;border-left:2px solid #8b5cf6;border-radius:0 8px 8px 0;background:#8b5cf608;color:var(--dim);font-size:10px}.info-note b{color:#c4b5fd;white-space:nowrap}.page-empty{min-height:240px}.filter-card{margin-bottom:16px}.filter-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.filter-form>div{min-width:180px}.filter-form label{margin:0 0 5px}.filter-form select,.filter-form input,.product-page select{max-width:none;width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line2);border-radius:7px;background:var(--bg2);color:var(--fg);font:12px Inter,sans-serif}.filter-form .btn{min-height:38px}.host-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.host-summary{padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.host-summary small{display:block;color:#687184;font:8px var(--mono)}.host-summary b{display:block;margin-top:8px;overflow:hidden;color:#e2e8f0;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.host-summary .mono{font-size:11px}.host-summary-grid+.info-note{margin-top:0;margin-bottom:16px}
@media(max-width:780px){.host-summary-grid{grid-template-columns:repeat(2,1fr)}.info-note{display:block}.info-note b{display:block;margin-bottom:5px}.filter-form>div{min-width:145px;flex:1}.filter-form .btn{flex:0 0 auto}}
@media(max-width:520px){.host-summary-grid{grid-template-columns:1fr 1fr}.context-strip{display:grid;gap:7px}.filter-form{display:grid;grid-template-columns:1fr 1fr;align-items:end}.filter-form>div{min-width:0}.filter-form .btn{width:100%}.filter-form .btn:last-child{grid-column:2}.dashboard-context span{display:block}}


/* ---- authenticated command-center shell and dashboard ---- */
.site-header{position:sticky;top:0;z-index:30}.header-context{display:flex;align-items:center;gap:10px;margin-left:auto;margin-right:15px;color:var(--dim);font:9px var(--mono);letter-spacing:.08em}.header-context b{color:var(--fg);font:10px Inter,sans-serif;letter-spacing:0;font-weight:500}.nav-toggle{display:none;background:transparent;color:var(--dim);border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:12px}
.portal-shell{display:grid;grid-template-columns:225px minmax(0,1fr);max-width:1500px;margin:0 auto;min-height:calc(100vh - 70px)}.portal-sidebar{display:flex;flex-direction:column;position:sticky;top:70px;height:calc(100vh - 70px);padding:22px 13px;border-right:1px solid #ffffff0c;background:#080a0f}.portal-org{display:flex;align-items:center;gap:10px;margin:0 7px 23px;padding-bottom:20px;border-bottom:1px solid #ffffff0c}.org-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--info));font-weight:800}.portal-org small,.portal-org b{display:block}.portal-org small{margin-bottom:3px;color:#687184;font:8px var(--mono);letter-spacing:.1em}.portal-org b{max-width:145px;overflow:hidden;color:var(--fg);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.portal-nav-label{margin:19px 8px 7px;color:#596173;font:9px var(--mono);letter-spacing:.12em}.portal-side-link{display:flex;align-items:center;gap:10px;margin:2px 0;padding:9px 10px;border-radius:7px;color:#7b8598;font-size:12px;text-decoration:none;transition:.2s ease}.portal-side-link span{width:16px;color:#a78bfa;text-align:center}.portal-side-link:hover,.portal-side-link.active{color:#f5f7fa;background:#8b5cf61b}.portal-side-link.active{box-shadow:inset 2px 0 #a78bfa}.portal-sidebar-footer{display:flex;gap:9px;align-items:center;margin-top:auto;padding:13px 9px;border-top:1px solid #ffffff0c;color:#4ade80;font:9px var(--mono)}.portal-sidebar-footer b,.portal-sidebar-footer small{display:block}.portal-sidebar-footer b{color:#cbd5e1;font:10px Inter,sans-serif}.portal-sidebar-footer small{margin-top:3px;color:#687184}.portal-sidebar-footer .status-dot{margin:0;width:6px;height:6px}
.portal-content{min-width:0}.portal-content main{max-width:none;width:auto;margin:0;padding:34px 36px 80px}.product-page{max-width:1180px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-heading h1{margin:8px 0 3px;font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.065em}.page-lede{margin:0;color:var(--dim);font-size:13px}.heading-actions{display:flex;align-items:center;gap:12px}.snapshot-status{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;color:#4ade80;font:9px var(--mono)}.snapshot-status i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #22c55e18}.snapshot-status small{color:#687184;font:8px var(--mono)}.btn-outline{color:#cbd5e1!important;border:1px solid var(--line2);background:#ffffff04}.btn-outline:hover{border-color:#a78bfa;background:#8b5cf610}.dashboard-context{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:16px;color:var(--dim);font-size:11px}.dashboard-context span{display:flex;gap:6px}.dashboard-context b{color:#687184;font:9px var(--mono);text-transform:uppercase}
.notice-banner{display:flex;align-items:center;gap:12px;margin-bottom:17px;padding:12px 14px;border:1px solid #f59e0b55;border-radius:9px;background:#f59e0b0b;color:#fcd34d}.notice-banner>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f59e0b18;font:12px var(--mono)}.notice-banner div{flex:1}.notice-banner b{display:block;font-size:11px}.notice-banner p{margin:3px 0 0;color:#b3a27c;font-size:10px}.notice-banner>a{color:#fcd34d;font:10px var(--mono);text-decoration:none;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric-card{position:relative;display:flex;gap:11px;min-width:0;padding:17px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#0d1016,#0b0d12);box-shadow:0 15px 35px #0002;overflow:hidden}.metric-card:after{content:'';position:absolute;right:-35px;top:-40px;width:110px;height:110px;border-radius:50%;background:var(--metric-color);opacity:.07}.metric-card>a{position:absolute;right:14px;bottom:13px;color:var(--metric-color);font-size:17px;text-decoration:none}.metric-card.accent-purple{--metric-color:#a78bfa}.metric-card.accent-blue{--metric-color:var(--sev-low)}.metric-card.accent-red{--metric-color:var(--sev-critical)}.metric-card.accent-green{--metric-color:#22c55e}.metric-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:8px;color:var(--metric-color);background:color-mix(in srgb,var(--metric-color),transparent 82%);font:15px var(--mono)}.metric-card small{display:block;color:#687184;font:8px var(--mono);letter-spacing:.08em}.metric-card strong{display:block;margin:7px 0 3px;color:#f5f7fa;font-size:24px;letter-spacing:-.05em}.metric-card p{margin:0;color:#687184;font-size:9px}.good-text{color:#4ade80}.warning-text{color:#fbbf24}.revoked-text{color:#f87171}
.dashboard-main-grid,.dashboard-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.surface-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#0d1016,#0b0d12);box-shadow:0 15px 40px #0002}.surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:19px}.surface-header h2{margin:5px 0 0;color:var(--fg);font-size:16px;letter-spacing:-.04em}.surface-header p:not(.eyebrow){margin:6px 0 0;color:var(--dim);font-size:11px}.surface-header>a{color:#a78bfa;font:9px var(--mono);text-decoration:none;white-space:nowrap}.health-total{display:flex;align-items:baseline;gap:8px;margin:2px 0 22px}.health-total strong{font-size:34px;letter-spacing:-.07em}.health-total span{color:var(--dim);font:10px var(--mono)}.health-bars,.severity-bars{display:grid;gap:14px}.health-bars>div,.severity-bars>div{display:grid;grid-template-columns:98px 26px 1fr;gap:9px;align-items:center;color:#aeb7c7;font-size:10px}.health-bars span,.severity-bars span{display:flex;align-items:center;gap:7px}.health-bars b,.severity-bars b{color:#e2e8f0;font:11px var(--mono);text-align:right}.health-bars em,.severity-bars em{height:7px;border-radius:99px;background:#1b202b;overflow:hidden}.health-bars em i,.severity-bars em i{display:block;height:100%;min-width:2px;border-radius:99px;background:#22c55e}.health-bars em i.warning-bar{background:var(--sev-medium)}.health-bars em i.danger-bar{background:var(--sev-critical)}.health-dot,.severity-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.online-dot{background:#22c55e}.offline-dot{background:var(--sev-medium)}.revoked-dot{background:var(--sev-critical)}.critical-dot{background:var(--sev-critical)}.high-dot{background:var(--sev-high)}.medium-dot{background:var(--sev-medium)}.low-dot{background:var(--sev-low)}.severity-bars em i.critical-bar{background:var(--sev-critical)}.severity-bars em i.high-bar{background:var(--sev-high)}.severity-bars em i.medium-bar{background:var(--sev-medium)}.severity-bars em i.low-bar{background:var(--sev-low)}.data-note{margin:19px 0 0;color:#687184;font-size:10px}.empty-state{display:grid;place-items:center;padding:39px 15px;text-align:center}.empty-state.compact{padding:23px 15px}.empty-state>span{display:grid;place-items:center;width:32px;height:32px;margin-bottom:11px;border-radius:9px;color:#a78bfa;background:#8b5cf61a;font:14px var(--mono)}.empty-state b{font-size:12px}.empty-state p{max-width:320px;margin:6px 0 12px;color:var(--dim);font-size:11px}.empty-state a{color:#a78bfa;font:10px var(--mono);text-decoration:none}
.detections-card{margin-bottom:16px}.data-table-wrap{overflow-x:auto;margin:0 -4px}.data-table{width:100%;min-width:780px;border-collapse:collapse;font-size:11px}.data-table th{padding:8px 9px;color:#687184;font:8px var(--mono);letter-spacing:.08em}.data-table td{padding:12px 9px;border-top:1px solid #ffffff0b;color:#aeb7c7;vertical-align:middle}.data-table tr:hover td{background:#8b5cf608}.table-primary,.table-secondary{display:block}.table-primary{color:#e2e8f0;font-size:11px;font-weight:600;text-decoration:none}.table-primary:hover{color:#c4b5fd}.table-secondary{margin-top:3px;color:#687184;font-size:9px}.data-table code{padding:0;border:0;background:none;color:#c4b5fd;font-size:9px;white-space:nowrap}.severity-label{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:5px;font:8px var(--mono)}.severity-label i{width:6px;height:6px;border-radius:50%;background:currentColor}.severity-label.critical,.severity-label.high{color:#fca5a5;background:#ef444414}.severity-label.medium{color:#fcd34d;background:#f59e0b14}.severity-label.low{color:#7dd3fc;background:#38bdf814}
.host-list{display:grid}.host-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #ffffff0b;color:var(--fg);text-decoration:none}.host-status{width:7px;height:7px;border-radius:50%;background:var(--sev-medium)}.host-status.online{background:#22c55e;box-shadow:0 0 0 4px #22c55e12}.host-status.offline{background:var(--sev-medium)}.host-status.revoked{background:var(--sev-critical)}.host-name{min-width:0}.host-name b,.host-name small{display:block}.host-name b{overflow:hidden;color:#e2e8f0;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap}.host-name small{margin-top:3px;color:#687184;font-size:9px}.host-state{font:9px var(--mono)}.ai-state{display:flex;align-items:center;gap:7px;margin:4px 0 28px;color:#e2e8f0;font-size:12px}.ai-state span{width:8px;height:8px;border-radius:50%;background:var(--sev-critical)}.ai-state span.ai-on{background:#22c55e;box-shadow:0 0 0 5px #22c55e14}.ai-state small{margin-left:auto;color:#687184;font:9px var(--mono)}.ai-meter-label{display:flex;justify-content:space-between;color:var(--dim);font-size:10px}.ai-meter-label b{color:#e2e8f0;font:10px var(--mono)}.ai-card .meter{height:8px;margin:10px 0 0;background:#1b202b}.ai-card .meter i{background:linear-gradient(90deg,#8b5cf6,var(--sev-low))}.page-error{display:flex;gap:14px;padding:22px;border:1px solid #ef444455;border-radius:10px;background:#ef44440b}.page-error>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fca5a5;background:#ef44441a}.page-error h2{margin:0 0 7px;font-size:16px}.page-error p{margin:0 0 14px;color:var(--dim);font-size:12px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.landing-hero{grid-template-columns:1fr}.portal-content main{padding:28px 24px 70px}}
@media(max-width:780px){.header-context{display:none}.nav-toggle{display:block}.site-nav{display:none;width:100%;order:5;padding-top:8px;border-top:1px solid #ffffff0c}.site-nav.open{display:flex;flex-wrap:wrap}.portal-shell{display:block;position:relative}.portal-sidebar{display:none;position:absolute;z-index:20;top:0;left:0;width:250px;height:calc(100vh - 70px);box-shadow:20px 0 45px #0008}.portal-sidebar.open{display:flex}.portal-content main{padding:25px 17px 60px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.heading-actions{width:100%;justify-content:space-between}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid,.dashboard-bottom-grid,.offline-grid,.response-grid,.quickstart,.split-section{grid-template-columns:1fr}.surface-card{padding:16px}.notice-banner{align-items:flex-start;flex-wrap:wrap}.notice-banner>a{margin-left:36px}.pipeline-grid{grid-template-columns:1fr 1fr}.pipeline-card:last-child{grid-column:auto}.tenant-grid{grid-template-columns:1fr}.tenant-bridge{grid-template-columns:repeat(4,1fr);display:grid}.journey{grid-template-columns:1fr 1fr}.journey-arrow{display:none}.ai-diagram{grid-template-columns:1fr}.ops-timeline{grid-template-columns:1fr 1fr}.security-grid,.coverage-list,.landing-pricing{grid-template-columns:1fr 1fr}.landing-plan:last-child{grid-column:1/-1}}
@media(max-width:520px){.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:12px 10px}.metric-icon{display:none}.metric-card strong{font-size:20px}.metric-card>a{right:9px;bottom:9px}.dashboard-context{display:grid;gap:7px}.console-window{margin:0}.console-main{padding:13px}.console-metrics{grid-template-columns:repeat(2,1fr)}.console-bottom .host-status{display:none}.pipeline-grid,.security-grid,.coverage-list,.landing-pricing,.ops-timeline{grid-template-columns:1fr}.landing-plan:last-child{grid-column:auto}.process-tree{padding:15px 11px}.process-tree small{font-size:7px}.process-footer{gap:6px;font-size:8px}.journey{grid-template-columns:1fr}.journey-step{min-height:auto}.honest-note{display:block}.honest-note span{display:block;margin-top:7px}.landing-final{padding:80px 0 45px}.landing-final h2{font-size:3rem}.host-item{grid-template-columns:10px minmax(0,1fr) auto}.host-item>.mono{display:none}.data-table{min-width:700px}.header-context{display:none}}

/* ---- operational dashboard workspaces ---------------------------------- */
.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:30px 0 14px;padding:4px 2px}.workspace-heading h2{margin:5px 0 0;font-size:20px}.workspace-heading p:not(.eyebrow){max-width:650px;margin:7px 0 0;color:var(--dim);font-size:11px}.workspace-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.workspace-links a{padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:#a78bfa;background:#8b5cf608;font:9px var(--mono);text-decoration:none}.workspace-links a:hover{border-color:#8b5cf6;background:#8b5cf614}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.workspace-card{min-height:360px;display:flex;flex-direction:column}.workspace-card .surface-header{margin-bottom:14px}.workspace-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.workspace-stat-row>div{padding:10px 11px;border:1px solid #ffffff0b;border-radius:8px;background:#080a0f}.workspace-stat-row strong{display:block;color:#f5f7fa;font-size:21px;letter-spacing:-.05em}.workspace-stat-row span{display:block;margin-top:2px;color:#687184;font:8px var(--mono);text-transform:uppercase}.workspace-list{display:grid;gap:0}.workspace-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #ffffff0b;min-width:0}.workspace-row>div{min-width:0}.workspace-row code,.workspace-row b{display:block;overflow:hidden;color:#d8def0;font:10px var(--mono);text-overflow:ellipsis;white-space:nowrap}.workspace-row small{display:block;overflow:hidden;margin-top:3px;color:#687184;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.workspace-row time,.workspace-row>a{color:#8b93a7;font:8px var(--mono);white-space:nowrap}.workspace-row>a{color:#a78bfa;text-decoration:none}.event-type,.report-kind,.pid-box{display:grid;place-items:center;min-width:48px;height:23px;padding:0 6px;border-radius:5px;font:8px var(--mono);text-transform:uppercase}.file-event{color:#c4b5fd;background:#8b5cf61c}.net-event{color:#7dd3fc;background:#38bdf81a}.report-kind{color:#fcd34d;background:#f59e0b18}.pid-box{min-width:42px;color:#7dd3fc;background:#38bdf814}.process-state{color:#4ade80;font:8px var(--mono);text-transform:uppercase}.workspace-empty{display:grid;place-items:center;flex:1;min-height:120px;padding:18px;text-align:center;border:1px dashed #283142;border-radius:8px;background:#080a0f}.workspace-empty>span{display:grid;place-items:center;width:30px;height:30px;margin-bottom:8px;border-radius:8px;color:#a78bfa;background:#8b5cf61a;font:14px var(--mono)}.workspace-empty b{font-size:11px}.workspace-empty p{max-width:290px;margin:5px 0 9px;color:var(--dim);font-size:10px}.workspace-empty a{color:#a78bfa;font:9px var(--mono);text-decoration:none}.analysis-note{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:11px 0 0;border-top:1px solid #ffffff0b}.analysis-note>div{min-width:0;flex:1}.analysis-note b{display:block;color:#d8def0;font-size:10px}.analysis-note p{margin:3px 0 0;color:#687184;font-size:9px;line-height:1.45}.analysis-note>a{color:#a78bfa;font:8px var(--mono);white-space:nowrap;text-decoration:none}.ai-preview{max-height:72px;overflow:auto;margin:7px 0 0;padding:7px;border:1px solid #8b5cf633;border-radius:5px;color:#c4b5fd;background:#080a0f;font:8px/1.45 var(--mono);white-space:pre-wrap}.ai-badge{display:grid;place-items:center;width:25px;height:22px;border:1px solid #8b5cf655;border-radius:5px;color:#c4b5fd;background:#8b5cf614;font:8px var(--mono)}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:11px;border-top:1px solid #ffffff0b}.workspace-footer>a{color:#a78bfa;font:8px var(--mono);text-decoration:none}.workspace-footer .data-note{margin:0}.workspace-card .status-label{font-size:8px}.workspace-card .status-label i{width:6px;height:6px}.report-list{max-height:190px;overflow:auto}.report-list .workspace-row{grid-template-columns:auto minmax(0,1fr) auto}.report-list .workspace-row small{white-space:normal;line-height:1.35}.report-list .workspace-row b{font-size:9px}.process-list{max-height:205px;overflow:auto}
@media(max-width:780px){.workspace-heading{display:block}.workspace-links{justify-content:flex-start;margin-top:12px}.workspace-grid{grid-template-columns:1fr}.workspace-card{min-height:0}.workspace-empty{min-height:145px}}

/* ---- dedicated SOC workspaces ----------------------------------------- */
.soc-page{max-width:1320px;margin:0 auto}.soc-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.soc-heading h1{margin:7px 0 5px;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.07em}.soc-heading .page-lede{max-width:700px}.soc-live{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;min-width:155px;padding:10px 12px;border:1px solid #22c55e38;border-radius:8px;color:#4ade80;background:#22c55e0a;font:9px var(--mono);letter-spacing:.08em}.soc-live i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #22c55e12}.soc-live small{color:#687184;font:8px var(--mono);letter-spacing:0}.soc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}.soc-metric{position:relative;min-width:0;padding:16px 17px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#0d1016,#0a0d12);overflow:hidden}.soc-metric:after{content:'';position:absolute;right:-28px;top:-36px;width:100px;height:100px;border-radius:50%;background:var(--soc-color);opacity:.08}.soc-metric small{display:block;color:#687184;font:8px var(--mono);letter-spacing:.1em}.soc-metric strong{display:block;max-width:100%;overflow:hidden;margin:8px 0 3px;color:#f5f7fa;font-size:25px;letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap}.soc-metric span{display:block;overflow:hidden;color:#8b93a7;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.soc-metric.purple{--soc-color:#a78bfa}.soc-metric.blue{--soc-color:var(--sev-low)}.soc-metric.green{--soc-color:#22c55e}.soc-metric.amber{--soc-color:var(--sev-medium)}.soc-metric.red{--soc-color:var(--sev-critical)}.soc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.soc-grid.two-one{grid-template-columns:1.35fr .85fr}.soc-panel{min-width:0;padding:19px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#0d1016,#0b0d12);box-shadow:0 16px 38px #0002}.soc-panel+.soc-panel{min-height:0}.soc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.soc-panel-head h2{margin:5px 0 0;color:var(--fg);font-size:16px;letter-spacing:-.04em}.soc-panel-head>a{color:#c4b5fd;font:9px var(--mono);white-space:nowrap}.soc-panel-head .eyebrow{margin:0}.soc-chip{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border:1px solid #8b5cf644;border-radius:5px;color:#c4b5fd;background:#8b5cf610;font:8px var(--mono);letter-spacing:.04em;white-space:nowrap}.soc-empty{display:grid;place-items:center;min-height:160px;padding:26px 15px;border:1px dashed #2a3548;border-radius:8px;color:#8b93a7;text-align:center}.soc-empty b{display:block;margin-bottom:5px;color:#d8def0;font-size:12px}.soc-empty span{max-width:520px;font-size:10px;line-height:1.55}.soc-empty code{color:#c4b5fd}.soc-empty.compact{min-height:105px}.soc-empty .btn{margin-top:13px}.soc-note{margin-top:16px;padding:11px 13px;border-left:2px solid #8b5cf6;border-radius:0 7px 7px 0;color:#a1a9ba;background:#8b5cf608;font-size:10px;line-height:1.55}.soc-copy{margin:-3px 0 16px;color:#a1a9ba;font-size:11px;line-height:1.6}.soc-table-wrap{width:100%;overflow-x:auto}.soc-table{width:100%;min-width:700px;border-collapse:collapse;font-size:10px}.soc-table th{padding:8px 9px;color:#687184;font:8px var(--mono);letter-spacing:.08em;text-align:left;white-space:nowrap}.soc-table td{padding:11px 9px;border-top:1px solid #ffffff0b;color:#a1a9ba;vertical-align:middle}.soc-table tr:hover td{background:#8b5cf608}.soc-table td>b,.soc-table td>a{color:#e2e8f0;font-size:10px}.soc-table td>a{color:#c4b5fd}.soc-table td small{display:block;margin-top:3px;color:#687184;font-size:9px}.soc-table code{color:#c4b5fd;background:#080a0f;border-color:#273143;font-size:9px}.soc-table .mono{font-family:var(--mono);font-size:9px}.soc-bars{display:grid;gap:15px}.soc-bars>div{display:grid;grid-template-columns:minmax(145px,1fr) 1.1fr;gap:12px;align-items:center}.soc-bars>div>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.soc-bars small{color:#687184;font:9px var(--mono);white-space:nowrap}.soc-bars>div>i{height:8px;border-radius:20px;background:#171d28;overflow:hidden}.soc-bars>div>i:after{content:'';display:block;width:100%;height:100%;border-radius:20px;background:linear-gradient(90deg,#8b5cf6,var(--sev-low))}.severity-bars>div>i:after{background:var(--bar-color,#8b5cf6)}.severity-bars>div:nth-child(1)>i{--bar-color:var(--sev-critical)}.severity-bars>div:nth-child(2)>i{--bar-color:var(--sev-high)}.severity-bars>div:nth-child(3)>i{--bar-color:var(--sev-medium)}.severity-bars>div:nth-child(4)>i{--bar-color:var(--sev-low)}.severity-label{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:5px;font:8px var(--mono);white-space:nowrap}.severity-label i{width:6px;height:6px;border-radius:50%;background:currentColor}.severity-label.critical,.severity-label.high{color:#fca5a5;background:#ef444414}.severity-label.medium{color:#fcd34d;background:#f59e0b14}.severity-label.low{color:#7dd3fc;background:#38bdf814}.soc-network-map{position:relative;display:grid;grid-template-columns:repeat(4,minmax(76px,1fr));gap:27px 12px;align-items:center;min-height:240px;padding:20px 12px;border:1px solid #202938;border-radius:8px;background:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px),#080a0f;background-size:28px 28px;overflow:hidden}.soc-node{position:relative;z-index:2;display:grid;place-items:center;min-height:55px;padding:9px 6px;border:1px solid #8b5cf655;border-radius:8px;color:#e2e8f0;background:#121622;text-align:center;font:9px var(--mono);overflow:hidden}.soc-node b,.soc-node small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soc-node small{margin-top:4px;color:#687184;font-size:8px}.soc-node.hub{grid-column:1/-1;width:125px;margin:0 auto;border-color:#38bdf866;color:#7dd3fc;background:#38bdf810}.soc-node.remote{min-width:0}.soc-edge{position:absolute;z-index:1;left:50%;top:74px;width:1px;height:105px;background:linear-gradient(#38bdf899,#8b5cf622);transform-origin:top}.edge-1{transform:rotate(-53deg)}.edge-2{transform:rotate(-28deg)}.edge-3{transform:rotate(28deg)}.edge-4{transform:rotate(53deg)}.edge-5{transform:rotate(-68deg);top:108px}.edge-6{transform:rotate(68deg);top:108px}.soc-edge span{display:block;width:5px;height:5px;margin-left:-2px;border-radius:50%;background:var(--sev-low);box-shadow:0 0 0 4px #38bdf814}.soc-file-tree{display:grid;gap:0;max-height:355px;overflow:auto;padding:7px 3px}.tree-file{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:6px;align-items:center;padding:9px 5px;border-bottom:1px solid #ffffff08}.tree-file:hover{background:#8b5cf608}.tree-branch{color:#596579;font:10px var(--mono)}.tree-file code{min-width:0;overflow:hidden;color:#d8def0;background:none;border:0;text-overflow:ellipsis;white-space:nowrap}.tree-file small{color:#687184;font:8px var(--mono);white-space:nowrap}.soc-chain{display:grid;gap:0}.soc-chain>div{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px auto;gap:6px;align-items:center;padding:11px 0;border-top:1px solid #ffffff0b}.soc-chain code{min-width:0;overflow:hidden;color:#c4b5fd;text-overflow:ellipsis;white-space:nowrap}.soc-chain span{color:#687184;text-align:center}.soc-chain b{color:#a1a9ba;font:8px var(--mono);white-space:nowrap}.soc-process-tree{display:grid;gap:6px;max-height:390px;overflow:auto;padding:3px}.proc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 8px;border-left:1px solid #8b5cf655;border-radius:0 6px 6px 0;background:#ffffff03}.proc-row:hover{background:#8b5cf60c}.proc-row>div{min-width:0}.proc-row b,.proc-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-row b{color:#e2e8f0;font:10px var(--mono)}.proc-row small{margin-top:3px;color:#687184;font-size:9px}.proc-row small code{padding:0;border:0;background:none;color:#a78bfa;font-size:8px}.pid-box{display:grid;place-items:center;min-width:45px;height:23px;padding:0 6px;border-radius:5px;color:#7dd3fc;background:#38bdf814;font:8px var(--mono)}.soc-state{color:#4ade80;font:8px var(--mono);white-space:nowrap}.soc-list-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:11px 0;border-top:1px solid #ffffff0b;color:inherit;text-decoration:none}.soc-list-row:hover{background:#8b5cf608;text-decoration:none}.soc-list-row>div{min-width:0}.soc-list-row b,.soc-list-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soc-list-row b{color:#e2e8f0;font-size:10px}.soc-list-row small{margin-top:4px;color:#687184;font-size:9px}.soc-list-row small code{padding:0;border:0;background:none;color:#a78bfa}.soc-flow{display:grid;justify-items:center;gap:7px}.soc-flow>div{width:min(100%,270px);padding:10px 12px;border:1px solid #2b3548;border-radius:7px;color:#d8def0;background:#0a0d13;font:9px var(--mono);text-align:center;letter-spacing:.06em}.soc-flow>i{color:#8b5cf6;font-style:normal}.response-flow>div:last-child{border-color:#22c55e55;color:#86efac}.soc-relations{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;color:#a1a9ba;font:9px var(--mono)}.soc-relations div{padding:10px 8px;border:1px solid #2b3548;border-radius:6px;background:#0a0d13}.soc-relations span{color:#8b5cf6}.soc-report-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-top:1px solid #ffffff0b}.soc-report-row b,.soc-report-row small{display:block}.soc-report-row b{color:#d8def0;font:9px var(--mono)}.soc-report-row small{max-height:50px;overflow:auto;margin-top:4px;color:#8b93a7;font-size:9px;line-height:1.45}.ai-badge{display:grid;place-items:center;width:27px;height:23px;border:1px solid #8b5cf655;border-radius:5px;color:#c4b5fd;background:#8b5cf614;font:8px var(--mono)}.soc-callout{display:grid;gap:7px;padding:17px;border:1px solid #f59e0b44;border-radius:8px;background:#f59e0b08}.soc-callout b{color:#fcd34d;font-size:12px}.soc-callout span{color:#d8def0;font:10px var(--mono)}.soc-callout small{color:#a1a9ba;font-size:10px;line-height:1.5}.policy-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:9px;align-items:center}.policy-flow>div{min-height:72px;padding:12px;border:1px solid #2b3548;border-radius:7px;background:#0a0d13}.policy-flow>div.accent{border-color:#8b5cf655;background:#8b5cf60b}.policy-flow b,.policy-flow small{display:block}.policy-flow b{color:#d8def0;font:9px var(--mono)}.policy-flow small{margin-top:8px;color:#687184;font-size:9px;line-height:1.4}.policy-flow>span{color:#8b5cf6;text-align:center}.soc-setting-list{display:grid;gap:0}.soc-setting-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #ffffff0b;color:#a1a9ba;font-size:10px}.soc-setting-list b{color:#d8def0;font:9px var(--mono);text-align:right}.soc-cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.soc-cap-grid>div{padding:12px;border:1px solid #273143;border-radius:7px;background:#080a0f}.soc-cap-grid i{display:block;width:7px;height:7px;margin-bottom:9px;border-radius:50%;background:#596579}.soc-cap-grid i.enabled{background:#22c55e;box-shadow:0 0 0 4px #22c55e12}.soc-cap-grid b,.soc-cap-grid small{display:block}.soc-cap-grid b{color:#d8def0;font-size:10px}.soc-cap-grid small{margin-top:4px;color:#687184;font:8px var(--mono)}.soc-event-stream{display:grid;gap:0}.soc-event{display:grid;grid-template-columns:75px auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-top:1px solid #ffffff0b}.soc-event time{color:#687184;font:8px var(--mono);white-space:nowrap}.soc-event>div{min-width:0}.soc-event b,.soc-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soc-event b{color:#d8def0;font-size:10px}.soc-event small{margin-top:3px;color:#8b93a7;font-size:9px}.soc-event small code{padding:0;border:0;background:none;color:#a78bfa}.event-type{display:grid;place-items:center;min-width:52px;height:23px;padding:0 6px;border-radius:5px;color:#7dd3fc;background:#38bdf814;font:8px var(--mono);white-space:nowrap}.event-file_write,.event-file_read,.event-new_file_exec{color:#c4b5fd;background:#8b5cf614}.event-net_connect{color:#7dd3fc;background:#38bdf814}.soc-form{display:grid;gap:12px}.soc-form label{display:grid;gap:5px;color:#8b93a7;font:9px var(--mono);text-transform:uppercase}.soc-form input,.soc-form select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line2);border-radius:7px;color:var(--fg);background:#080a0f;font:11px var(--mono)}.soc-form input:focus,.soc-form select:focus{outline:2px solid #8b5cf655;outline-offset:1px}.soc-form .btn{justify-self:start}.soc-audit-timeline{display:grid;gap:0}.soc-audit-row{display:grid;grid-template-columns:9px 95px minmax(0,1fr);gap:12px;align-items:start;padding:13px 0;border-top:1px solid #ffffff0b}.audit-dot{width:8px;height:8px;margin-top:5px;border:2px solid #8b5cf6;border-radius:50%;background:#0d1016;box-shadow:0 0 0 4px #8b5cf612}.soc-audit-row time{color:#687184;font:8px var(--mono)}.soc-audit-row b,.soc-audit-row small{display:block}.soc-audit-row b{color:#e2e8f0;font:10px var(--mono)}.soc-audit-row small{margin-top:4px;color:#8b93a7;font-size:10px;line-height:1.45}.soc-page .inline{display:inline-flex;gap:6px;align-items:center}.soc-page button.danger{padding:4px 8px;font:8px var(--mono)}
@media(max-width:1050px){.soc-metrics{grid-template-columns:repeat(2,1fr)}.soc-grid,.soc-grid.two-one{grid-template-columns:1fr}.soc-network-map{grid-template-columns:repeat(3,minmax(76px,1fr))}.soc-node.hub{grid-column:1/-1}.soc-edge{display:none}}
@media(max-width:700px){.soc-heading{align-items:flex-start;flex-direction:column;gap:14px}.soc-live{min-width:0}.soc-panel{padding:15px}.soc-cap-grid{grid-template-columns:repeat(2,1fr)}.policy-flow{grid-template-columns:1fr}.policy-flow>span{transform:rotate(90deg)}.soc-event{grid-template-columns:65px auto minmax(0,1fr)}.soc-event>.mono{display:none}.soc-chain>div{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);font-size:9px}.soc-chain>div b{grid-column:1/-1}.soc-network-map{grid-template-columns:repeat(2,minmax(76px,1fr))}}
@media(max-width:480px){.soc-metrics{grid-template-columns:1fr 1fr;gap:8px}.soc-metric{padding:12px 10px}.soc-metric strong{font-size:20px}.soc-metric span{font-size:9px}.soc-bars>div{grid-template-columns:1fr;gap:5px}.soc-bars>div>i{height:6px}.soc-audit-row{grid-template-columns:9px 1fr}.soc-audit-row time{grid-column:2}.soc-audit-row>div{grid-column:2}.soc-network-map{min-height:210px;padding:12px 7px}.soc-node{font-size:8px}.soc-event{grid-template-columns:1fr auto}.soc-event time{grid-column:1/-1}.soc-event .event-type{grid-row:2}.soc-event>div{grid-row:2}}
@media(prefers-reduced-motion:reduce){.soc-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- investigation detail --------------------------------------------- */
.soc-detail-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin:-5px 0 17px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;color:#a1a9ba;background:#0b0e14;font-size:10px}.soc-detail-meta span{display:flex;align-items:center;gap:7px}.soc-detail-meta b{color:#687184;font:8px var(--mono);letter-spacing:.08em}.soc-detail-meta a{color:#c4b5fd;font-family:var(--mono)}.evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.evidence-grid>div{min-width:0;padding:10px;border:1px solid #273143;border-radius:7px;background:#080a0f}.evidence-grid small,.linked-object-list small{display:block;margin-bottom:6px;color:#687184;font:8px var(--mono);letter-spacing:.06em}.evidence-grid code{display:block;overflow:hidden;padding:0;border:0;color:#d8def0;background:none;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.evidence-pre{max-height:180px;overflow:auto;margin:13px 0 0;padding:12px;border:1px solid #273143;border-radius:7px;color:#c4b5fd;background:#080a0f;font:9px/1.55 var(--mono);white-space:pre-wrap}.compact-flow{gap:5px}.compact-flow>div{padding:9px}.compact-flow small{display:block;margin-top:4px;color:#687184;font:8px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-object-list{display:grid;gap:13px}.linked-object-list>div{padding-bottom:12px;border-bottom:1px solid #ffffff0b}.linked-object-list>div:last-child{padding-bottom:0;border-bottom:0}.linked-object-list code,.linked-object-list>div>span{display:block;overflow:hidden;margin-top:4px;padding:0;border:0;color:#c4b5fd;background:none;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.linked-object-list>div>span{color:#687184;font-family:inherit}.response-panel{margin-bottom:16px}.response-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.response-action-grid>div{display:flex;flex-direction:column;align-items:flex-start;padding:14px;border:1px solid #273143;border-radius:8px;background:#080a0f}.response-action-grid b{color:#d8def0;font:9px var(--mono)}.response-action-grid p{min-height:48px;margin:8px 0 13px;color:#8b93a7;font-size:10px;line-height:1.5}.response-action-grid small{color:#fcd34d;font-size:9px}.response-action-grid .btn{margin-top:auto;font-size:10px}.soc-subscription-note b{color:#fcd34d;margin-right:4px}.soc-subscription-note a{color:#fcd34d;margin-left:8px;font-family:var(--mono)}
@media(max-width:780px){.response-action-grid{grid-template-columns:1fr}.response-action-grid p{min-height:0}.evidence-grid{grid-template-columns:1fr 1fr}}
.soc-detection-link{display:block;color:#e2e8f0}.soc-detection-link:hover{color:#c4b5fd;text-decoration:none}.soc-detection-link b,.soc-detection-link small{display:block}.soc-detection-link small{margin-top:3px;color:#687184;font-size:9px}
.soc-filterbar{margin:-4px 0 16px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#0b0e14}.soc-filterbar form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.soc-filterbar label{display:grid;gap:4px;min-width:145px;color:#687184;font:8px var(--mono);letter-spacing:.06em}.soc-filterbar input,.soc-filterbar select{height:34px;padding:7px 9px;border:1px solid var(--line2);border-radius:6px;outline:0;color:#e2e8f0;background:#080a0f;font:10px var(--mono)}.soc-filterbar input:focus,.soc-filterbar select:focus{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf622}.soc-filterbar a{padding:8px;color:#c4b5fd;font:9px var(--mono)}
.event-netconnect{color:#7dd3fc;background:#38bdf814}.event-filewrite,.event-fileread,.event-newfileexec{color:#c4b5fd;background:#8b5cf614}

/* ---- SOC shell controls ------------------------------------------------ */
.global-search{display:inline-flex;align-items:center;gap:8px;margin-left:10px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;color:#a1a9ba;background:#ffffff04;cursor:pointer;font:9px var(--mono);letter-spacing:.03em}.global-search:hover{border-color:#8b5cf6;color:#f5f7fa}.global-search kbd{padding:2px 5px;border:1px solid var(--line2);border-radius:4px;color:#687184;background:#080a0f;font:8px var(--mono)}.portal-org{position:relative}.sidebar-collapse{display:grid;place-items:center;width:23px;height:23px;margin-left:auto;border:1px solid var(--line);border-radius:5px;color:#8b93a7;background:#ffffff04;cursor:pointer;font:17px/1 var(--mono)}.sidebar-collapse:hover{border-color:#8b5cf6;color:#f5f7fa}.sidebar-collapsed.portal-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar-collapsed .portal-sidebar{padding-left:10px;padding-right:10px}.sidebar-collapsed .portal-org{justify-content:center;margin-left:0;margin-right:0}.sidebar-collapsed .portal-org>span:not(.org-mark),.sidebar-collapsed .portal-nav-label,.sidebar-collapsed .portal-sidebar-footer span:not(.status-dot){display:none}.sidebar-collapsed .portal-org .sidebar-collapse{position:absolute;right:-8px;top:5px;z-index:2;width:20px;height:20px;background:#11141b}.sidebar-collapsed .portal-org .sidebar-collapse{font-size:0}.sidebar-collapsed .portal-org .sidebar-collapse:after{content:'›';font-size:17px}.sidebar-collapsed .portal-side-link{justify-content:center;padding-left:6px;padding-right:6px;font-size:0}.sidebar-collapsed .portal-side-link span{font-size:14px}.sidebar-collapsed .portal-sidebar-footer{justify-content:center;padding-left:0;padding-right:0}.command-palette[hidden]{display:none}.command-palette{position:fixed;z-index:80;inset:0;display:grid;place-items:start center;padding:13vh 18px;background:#0009;backdrop-filter:blur(7px)}.command-palette-card{width:min(560px,100%);max-height:72vh;overflow:hidden;padding:18px;border:1px solid #303b50;border-radius:12px;background:#0d1016;box-shadow:0 28px 90px #000b}.command-palette-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.command-palette-head h2{margin:5px 0 0;font-size:17px}.command-palette-head button{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;color:#a1a9ba;background:#ffffff04;cursor:pointer;font-size:18px;line-height:1}.command-palette-head button:hover{color:#fff;border-color:#8b5cf6}.command-palette-input{display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--line2);border-radius:7px;background:#080a0f}.command-palette-input span{color:#a78bfa;font-size:16px}.command-palette-input input{width:100%;height:40px;border:0;outline:0;color:#f5f7fa;background:transparent;font:11px var(--mono)}.command-results{max-height:46vh;overflow:auto;margin-top:10px}.command-results a{display:flex;justify-content:space-between;gap:14px;padding:10px;border-radius:6px;color:#e2e8f0;font-size:11px}.command-results a:hover{background:#8b5cf614;text-decoration:none}.command-results a[hidden]{display:none}.command-results small{color:#687184;font-size:9px}.command-palette-note{margin:12px 0 0;padding-top:11px;border-top:1px solid #ffffff0b;color:#687184;font-size:9px}.palette-open{overflow:hidden}
@media(max-width:780px){.global-search{display:none}.sidebar-collapse{display:none}.sidebar-collapsed.portal-shell{display:block}.sidebar-collapsed .portal-sidebar{padding:22px 13px}.sidebar-collapsed .portal-side-link{justify-content:flex-start;padding:9px 10px;font-size:12px}.sidebar-collapsed .portal-side-link span{font-size:14px}.sidebar-collapsed .portal-nav-label,.sidebar-collapsed .portal-org>span:not(.org-mark),.sidebar-collapsed .portal-sidebar-footer span:not(.status-dot){display:block}.command-palette{padding-top:8vh}.command-results a{display:block}.command-results small{display:block;margin-top:3px}}

/* ---- incidents (spec sections 21-22, 44) --------------------------------
   Standalone SOC page styles. Kept out of the console monolith so incident
   views can be restyled without touching every other workspace. Severity
   colour is semantic and separate from the accent hue.                    */
.soc-page{padding:22px 20px 40px;max-width:1280px}
.soc-head{display:flex;align-items:flex-start;justify-content:space-between;
  gap:20px;flex-wrap:wrap;margin-bottom:22px}
.soc-eyebrow{margin:0 0 6px;color:#687184;font:9px var(--mono);letter-spacing:.12em}
.soc-eyebrow a{color:#a78bfa;text-decoration:none}
.soc-head h1{margin:0;font-size:22px;letter-spacing:-.03em}
.soc-sub{margin:7px 0 0;color:var(--dim);font-size:12px;max-width:70ch}
.soc-headmeta{display:flex;gap:8px;align-items:center}
.soc-h2{margin:30px 0 4px;font-size:15px;letter-spacing:-.02em}

.soc-statrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.soc-stat{display:flex;flex-direction:column;gap:3px;min-width:96px;
  padding:11px 13px;border:1px solid var(--line);border-radius:9px;
  background:#ffffff04;color:var(--fg);text-decoration:none;transition:.18s ease}
.soc-stat:hover{background:#8b5cf610;border-color:#8b5cf640}
.soc-stat.is-active{border-color:#a78bfa;box-shadow:inset 2px 0 #a78bfa}
.soc-stat b{font-size:19px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.soc-stat span{color:#687184;font:9px var(--mono);letter-spacing:.06em}

.soc-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;
  margin-bottom:16px;padding:13px 15px;border:1px solid var(--line);
  border-radius:10px;background:#ffffff03}
.soc-filters label{display:flex;flex-direction:column;gap:5px;
  color:#687184;font:9px var(--mono);letter-spacing:.08em}
.soc-filters select,.soc-filters input{padding:7px 9px;border:1px solid var(--line);
  border-radius:6px;background:#0b0e14;color:var(--fg);font-size:12px;min-width:150px}
.soc-filters button{padding:8px 15px;border:0;border-radius:6px;
  background:#8b5cf6;color:#fff;font-size:12px;cursor:pointer}
.soc-filters button:hover{background:#7c4ef0}
.soc-clear{color:#8b9bb4;font-size:11px;text-decoration:none;padding-bottom:9px}

.soc-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.soc-table{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}
.soc-table th{padding:10px 12px;color:#687184;font:8px var(--mono);
  letter-spacing:.09em;text-align:left;background:#ffffff05;
  border-bottom:1px solid var(--line)}
.soc-table td{padding:12px;border-top:1px solid #ffffff0b;color:#aeb7c7}
.soc-table tbody tr{cursor:pointer;transition:background .15s ease}
.soc-table tbody tr:hover td{background:#8b5cf60c}
.soc-table a{color:#c4b5fd;text-decoration:none}
.soc-table .mono,.mono{font-family:var(--mono);font-size:11px}
.soc-table .num,.num{text-align:right;font-variant-numeric:tabular-nums;
  font-family:var(--mono)}
.dim{color:#687184}

.sev{display:inline-block;padding:3px 8px;border-radius:5px;
  font:8px var(--mono);letter-spacing:.07em;white-space:nowrap}
.sev-critical{color:#fca5a5;background:#ef444422;border:1px solid #ef444455}
.sev-high{color:#fdba74;background:#f9731622;border:1px solid #f9731655}
.sev-medium{color:#fcd34d;background:#f59e0b1c;border:1px solid #f59e0b44}
.sev-low{color:#7dd3fc;background:#38bdf81c;border:1px solid #38bdf844}
.sev-informational{color:#94a3b8;background:#64748b1c;border:1px solid #64748b44}

.pill-open{background:#38bdf81c;color:#7dd3fc}
.pill-investigating{background:#f59e0b1c;color:#fcd34d}
.pill-contained{background:#8b5cf61c;color:#c4b5fd}
.pill-resolved{background:var(--accent-dim);color:var(--accent)}
.pill-false_positive{background:#64748b22;color:#94a3b8}

.soc-pager{display:flex;gap:16px;align-items:center;justify-content:center;
  margin-top:18px;color:#687184;font:10px var(--mono)}
.soc-pager a{color:#a78bfa;text-decoration:none}

.soc-empty{display:flex;flex-direction:column;gap:7px;padding:34px 24px;
  border:1px dashed var(--line);border-radius:10px;text-align:center;
  color:var(--dim);font-size:12px}
.soc-empty b{color:var(--fg);font-size:13px}
.soc-empty a{color:#a78bfa;font-size:11px;text-decoration:none}
.soc-error{border-color:#ef444455;background:#ef44440a}

.soc-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:16px;margin-top:20px}
@media (max-width:860px){.soc-grid{grid-template-columns:1fr}}
.soc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.soc-facts>div{padding:12px 14px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.soc-facts dt{color:#687184;font:8px var(--mono);letter-spacing:.09em;
  margin-bottom:5px}
.soc-facts dd{margin:0;color:var(--fg);font-size:12px}

.soc-triage{padding:16px;border:1px solid var(--line);border-radius:10px;
  background:#ffffff03;display:flex;flex-direction:column;gap:12px}
.soc-triage h2{margin:0;font-size:13px;letter-spacing:-.02em}
.soc-triage label{display:flex;flex-direction:column;gap:5px;
  color:#687184;font:9px var(--mono);letter-spacing:.08em}
.soc-triage select,.soc-triage input{padding:8px 10px;border:1px solid var(--line);
  border-radius:6px;background:#0b0e14;color:var(--fg);font-size:12px}
.soc-triage button{padding:9px 14px;border:0;border-radius:6px;
  background:#8b5cf6;color:#fff;font-size:12px;cursor:pointer}
.soc-triage button:hover{background:#7c4ef0}
.soc-note{margin:0;color:#687184;font-size:10px}

.soc-timeline{list-style:none;margin:16px 0 0;padding:0 0 0 6px}
.tl{position:relative;display:flex;gap:14px;padding:0 0 20px 20px;
  border-left:1px solid var(--line)}
.tl:last-child{border-left-color:transparent;padding-bottom:0}
.tl-dot{position:absolute;left:-5px;top:4px;width:9px;height:9px;
  border-radius:50%;background:#64748b;border:2px solid var(--bg)}
.tl-critical .tl-dot{background:var(--sev-critical)}
.tl-high .tl-dot{background:var(--sev-high)}
.tl-medium .tl-dot{background:var(--sev-medium)}
.tl-low .tl-dot{background:var(--sev-low)}
.tl-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.tl-top{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.tl-top b{font-size:12.5px;color:var(--fg)}
.tl-meta{font-size:10px;word-break:break-all}

/* ---- console workspaces (spec sections 14, 16, 18, 34) ------------------ */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));
  gap:11px;margin-bottom:20px}
.kpi{display:flex;flex-direction:column;gap:3px;padding:15px 16px;
  border:1px solid var(--line);border-radius:10px;background:#ffffff04;
  color:var(--fg);text-decoration:none;transition:.18s ease}
.kpi:hover{border-color:#8b5cf655;background:#8b5cf610}
.kpi b{font-size:27px;letter-spacing:-.05em;font-variant-numeric:tabular-nums;
  line-height:1.05}
.kpi b small{font-size:15px;color:var(--dim);letter-spacing:0}
.kpi span{color:#687184;font:9px var(--mono);letter-spacing:.09em}
.kpi em{font-style:normal;font-size:10.5px;color:#fcd34d;margin-top:2px}
.kpi-alarm{border-color:#ef444455;background:#ef44440d}
.kpi-alarm em{color:#fca5a5}
.kpi-warn{border-color:#f59e0b44}
.kpi-static{cursor:default}
.kpi-static:hover{border-color:var(--line);background:#ffffff04}

.panel{padding:17px;border:1px solid var(--line);border-radius:10px;
  background:#ffffff03;min-width:0}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:12px;margin-bottom:13px}
.panel-head h2{margin:0;font-size:13px;letter-spacing:-.02em}
.panel-head a{color:#a78bfa;font:9px var(--mono);text-decoration:none}
.panel-empty{margin:0;color:#687184;font-size:12px;padding:14px 0}
.panel-note{margin:12px 0 0;color:#687184;font-size:11px;line-height:1.55}

.rows{list-style:none;margin:0;padding:0}
.rows li{border-top:1px solid #ffffff0b}
.rows li:first-child{border-top:0}
.rows a,.rows>li>span{display:flex;gap:10px;align-items:center;padding:9px 0;
  color:var(--fg);text-decoration:none;font-size:12px}
.rows a:hover{color:#c4b5fd}
.rows-main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}

.bars{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.bars li{display:grid;grid-template-columns:88px 1fr 34px;gap:10px;
  align-items:center}
.bar{height:7px;border-radius:99px;background:#1b202b;overflow:hidden;
  display:block}
.bar i{display:block;height:100%;min-width:3px;border-radius:99px;
  background:#64748b}
.bar-critical i{background:var(--sev-critical)} .bar-high i{background:var(--sev-high)}
.bar-medium i{background:var(--sev-medium)}  .bar-low i{background:var(--sev-low)}
.bar-informational i{background:#64748b}

.meters{display:grid;gap:15px}
.meters-wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  margin-bottom:20px}
.meters-wide .meter{padding:16px;border:1px solid var(--line);border-radius:10px;
  background:#ffffff03}
.meter-top{display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;margin-bottom:7px}
.meter-label{color:#687184;font:9px var(--mono);letter-spacing:.09em}
.meter-val{font-size:15px;font-variant-numeric:tabular-nums;
  font-family:var(--mono)}
.meter-val small{color:#687184;font-size:11px}
.meter-track{height:7px;border-radius:99px;background:#1b202b;overflow:hidden}
.meter-track i{display:block;height:100%;min-width:3px;border-radius:99px;
  background:var(--accent);transition:width .3s ease}
.meter-warn .meter-track i{background:var(--sev-medium)}
.meter-danger .meter-track i{background:var(--sev-high)}
.meter-over .meter-track i{background:var(--sev-critical)}
.meter-foot{display:flex;justify-content:space-between;margin-top:5px;
  color:#687184;font:9px var(--mono)}
.meter-foot .meter-warn{color:#fcd34d}
.meter-danger .meter-foot .meter-warn{color:#fdba74}
.meter-over .meter-foot .meter-warn{color:#fca5a5}

.health{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;
  white-space:nowrap}
.health i{width:7px;height:7px;border-radius:50%;background:#64748b;
  flex:0 0 auto}
.health-online{color:#4ade80} .health-online i{background:#22c55e}
.health-offline{color:#fcd34d} .health-offline i{background:var(--sev-medium)}
.health-revoked{color:#fca5a5} .health-revoked i{background:var(--sev-critical)}

.seatbar{margin-bottom:16px;padding:15px 16px;border:1px solid var(--line);
  border-radius:10px;background:#ffffff03}
.seat-note{margin:11px 0 0;color:#fca5a5;font-size:11.5px}
.seat-note a{color:#a78bfa;text-decoration:none}
.btn{display:inline-block;padding:8px 15px;border-radius:7px;
  background:#8b5cf6;color:#fff;font-size:12px;text-decoration:none}
.btn:hover{background:#7c4ef0}
.pill-trial,.pill-active{background:var(--accent-dim);color:var(--accent)}
.pill-past_due{background:#f59e0b1c;color:#fcd34d}
.pill-expired,.pill-suspended,.pill-canceled{background:#ef44441c;color:#fca5a5}
.pill-none{background:#64748b22;color:#94a3b8}

/* live-update indicator */
#live-status{display:inline-flex;align-items:center;gap:5px}
#live-status:before{content:"";width:6px;height:6px;border-radius:50%;
  background:#22c55e;flex:0 0 auto}
#live-status[data-state="live"]{color:#687184}
#live-status[data-state="pending"]{color:#fcd34d}
#live-status[data-state="pending"]:before{background:var(--sev-medium)}
#live-status[data-state="stale"]{color:#fca5a5}
#live-status[data-state="stale"]:before{background:var(--sev-critical)}
@media (prefers-reduced-motion:no-preference){
  #live-status[data-state="live"]:before{animation:live-pulse 2.4s ease-in-out infinite}
}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---- documentation / install guide -------------------------------------- */
.guide{max-width:840px;margin:0 auto;padding:28px 20px 70px}
.guide-head{border-bottom:2px solid var(--line);padding-bottom:20px;
  margin-bottom:24px}
.guide-head h1{margin:6px 0 0;font-size:28px;letter-spacing:-.03em}
.guide-lede{margin:12px 0 0;color:var(--dim);font-size:14.5px;max-width:64ch;
  line-height:1.65}
.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.guide-toc a{padding:5px 11px;border:1px solid var(--line);border-radius:99px;
  color:#a78bfa;font:10px var(--mono);letter-spacing:.05em;text-decoration:none}
.guide-toc a:hover{border-color:#8b5cf6;background:#8b5cf612}
.guide h2{margin:38px 0 14px;font-size:19px;letter-spacing:-.02em;
  scroll-margin-top:80px}
.guide h3{margin:24px 0 9px;font-size:14px;color:#cbd5e1}
.guide p{margin:0 0 13px;color:#aeb7c7;font-size:14.5px;line-height:1.68;
  max-width:70ch}
.guide p strong,.guide li strong{color:var(--fg)}
.guide a{color:#a78bfa}
.guide code{padding:1px 5px;border-radius:4px;background:#ffffff0d;
  color:#c4b5fd;font:12px var(--mono)}
.guide-list{margin:0 0 14px;padding-left:20px;color:#aeb7c7;font-size:14.5px}
.guide-list li{margin-bottom:9px;line-height:1.65;max-width:68ch}
.cmdbox{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);
  border-radius:8px;background:#0a0d12;color:#dbe3ee;
  font:12.5px/1.75 var(--mono);white-space:pre-wrap;overflow-x:auto}
.cmdbox .c{color:#6b7688}
.guide-table{width:100%;border-collapse:collapse;margin:6px 0 20px;
  font-size:14px;display:block;overflow-x:auto}
.guide-table th{text-align:left;padding:11px 14px 11px 0;color:#cbd5e1;
  font-weight:600;vertical-align:top;white-space:nowrap;
  border-bottom:1px solid #ffffff0b}
.guide-table thead th{color:#687184;font:8px var(--mono);letter-spacing:.09em;
  text-transform:uppercase}
.guide-table td{padding:11px 0 11px 14px;color:#aeb7c7;vertical-align:top;
  border-bottom:1px solid #ffffff0b;line-height:1.6}
.guide .note{padding:12px 15px;border-left:3px solid #8b5cf6;
  border-radius:0 6px 6px 0;background:#8b5cf60d;font-size:13.5px;
  margin:0 0 18px}
.guide-warn{display:flex;flex-direction:column;gap:6px;margin:6px 0 20px;
  padding:15px 17px;border:1px solid #ef444455;border-left-width:3px;
  border-radius:0 8px 8px 0;background:#ef44440c}
.guide-warn b{color:#fca5a5;font-size:14px}
.guide-warn span{color:#c9b8b8;font-size:13.5px;line-height:1.6}
.guide-foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);
  color:#687184;font-size:13px}

/* ---- legal documents ---------------------------------------------------- */
.legal{max-width:760px;margin:0 auto;padding:30px 20px 70px}
.legal-head{border-bottom:2px solid var(--line);padding-bottom:18px;margin-bottom:26px}
.legal-head h1{margin:6px 0 0;font-size:26px;letter-spacing:-.02em}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.legal-nav a{padding:5px 11px;border:1px solid var(--line);border-radius:99px;
  color:#a78bfa;font:10px var(--mono);letter-spacing:.05em;text-decoration:none}
.legal-nav a.current{border-color:#8b5cf6;background:#8b5cf618;color:#c4b5fd}
.legal-body h2{margin:32px 0 12px;font-size:19px;letter-spacing:-.02em}
.legal-body h3{margin:24px 0 9px;font-size:15px;color:#cbd5e1}
.legal-body h4,.legal-body h5{margin:18px 0 7px;font-size:13.5px;color:#cbd5e1}
.legal-body p{margin:0 0 13px;color:#aeb7c7;font-size:14.5px;line-height:1.72;
  max-width:70ch}
.legal-body strong{color:var(--fg)}
.legal-body a{color:#a78bfa}
.legal-body code{padding:1px 5px;border-radius:4px;background:#ffffff0d;
  color:#c4b5fd;font:12px var(--mono)}
.legal-body ul{margin:0 0 15px;padding-left:20px;color:#aeb7c7;font-size:14.5px}
.legal-body li{margin-bottom:7px;line-height:1.65;max-width:68ch}
.legal-body hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.legal-body .doc-note{padding:12px 15px;border-left:3px solid #8b5cf6;
  border-radius:0 6px 6px 0;background:#8b5cf60d;font-size:13.5px}
.doc-tablewrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);
  border-radius:6px}
.doc-tablewrap table{width:100%;border-collapse:collapse;font-size:13.5px}
.doc-tablewrap td{padding:10px 13px;border-bottom:1px solid #ffffff0b;
  color:#aeb7c7;vertical-align:top;line-height:1.6}
.doc-tablewrap tr:last-child td{border-bottom:0}
.doc-tablewrap tr:first-child td{color:#cbd5e1;font-weight:600;background:#ffffff05}

/* Keyboard focus. Nothing in this file styled :focus-visible, so keyboard
   users navigated the console with no visible indication of where they
   were. Applies only to keyboard focus, so mouse users see no change. */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ===== v3 UX fixes (2026-09-04) ===== */

/* Anchor targets must clear the sticky header */
html { scroll-padding-top: 84px; }
h2[id], h3[id] { scroll-margin-top: 84px; }

/* Skip link (visible on keyboard focus) */
.skip-link {
  position: absolute; left: 12px; top: -48px; z-index: 100;
  padding: 10px 16px; border-radius: 0 0 8px 8px;
  background: #8b5cf6; color: #fff; font-weight: 650; font-size: 13px;
  text-decoration: none; transition: top .15s ease;
}
.skip-link:focus { top: 0; color: #fff; }

/* Stronger active nav state (was a barely-visible pill) */
nav a.active { color: #fff; background: #8b5cf633; box-shadow: inset 0 -2px 0 #a78bfa; }

/* Footer: readable contrast + spaced links */
footer { color: #9aa4b5; font-size: 13px; padding: 24px; }
footer .footer-links { display: block; margin-top: 6px; }
footer .footer-links a { color: #c4b5fd; margin: 0 2px; }
footer .footer-links a:hover { color: #fff; }

/* ---- Auth pages: centered card, real form controls ---- */
.auth-page main {
  display: flex; align-items: center; justify-content: center;
  min-height: calc(100vh - 128px); padding: 40px 24px;
}
.auth-page .auth-panel {
  width: 100%; max-width: 460px; margin: 0;
  padding: 36px 38px 30px;
  background: linear-gradient(145deg, #0d1017, #0b0e15);
  border-color: #2a3140;
  box-shadow: 0 30px 70px #000a;
}
.auth-panel h1 { font-size: 26px; letter-spacing: -0.04em; }
.auth-subtitle { margin: 6px 0 22px; font-size: 13.5px; }

.auth-form { margin-top: 8px; }
.auth-form .field { margin: 0 0 16px; }
.auth-form label { display: block; margin: 0 0 6px; color: #c6cede; font-size: 13px; font-weight: 550; }
.auth-form input[type=email],
.auth-form input[type=password],
.auth-form input[type=text] {
  width: 100%; min-height: 46px; padding: 10px 13px;
  border: 1px solid #333b4d; border-radius: 9px;
  background: #0a0c11; color: #f5f7fa; font-size: 15px;
}
.auth-form input:focus { border-color: #8b5cf6; box-shadow: 0 0 0 3px #8b5cf62b; outline: none; }
.field-hint { display: block; margin-top: 6px; color: #7f8aa0; font-size: 11.5px; line-height: 1.45; }
.errorlist { display: block; margin: 7px 0 0; color: #f87171; font-size: 12.5px; list-style: none; padding: 0; }
.errorlist li { margin: 0; }
.auth-form .errorlist + .field-hint { display: none; }

/* password reveal */
.password-wrap { position: relative; display: block; }
.password-wrap input { padding-right: 62px; }
.password-toggle {
  position: absolute; top: 50%; right: 7px; transform: translateY(-50%);
  padding: 7px 10px; border: 0; border-radius: 6px;
  background: transparent; color: #a78bfa; font-size: 12px; cursor: pointer;
}
.password-toggle:hover { background: #8b5cf61c; color: #fff; }

.auth-options { margin: -6px 0 18px; text-align: right; }
.auth-options a { color: #a78bfa; font-size: 12.5px; }

.auth-submit { display: block; width: 100%; min-height: 46px; padding: 11px 18px;
  font-size: 15px; text-align: center; }
.auth-submit:disabled { opacity: .6; cursor: wait; }

.switch-auth { margin: 18px 0 0; text-align: center; font-size: 13px; }
.switch-auth a { color: #c4b5fd; font-weight: 600; }

.invite-details { margin: 0 0 18px; border: 1px dashed #2e3648; border-radius: 9px; padding: 10px 14px; }
.invite-details summary { cursor: pointer; color: #a78bfa; font-size: 12.5px; font-weight: 600; }
.invite-details .field { margin: 14px 0 0; }

/* ---- Pricing page ---- */
.pricing-head { margin-bottom: 28px; }
.pricing-head h1 { font-size: 34px; letter-spacing: -0.05em; margin-bottom: 6px; }
.pricing-grid { align-items: stretch; }
.pricing-grid .plan { display: flex; flex-direction: column; }
.pricing-grid .plan ul { flex: 1; }
.plan-cta { display: block; text-align: center; margin-top: auto; }
.enterprise-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
  margin-top: 26px; padding: 18px 20px; border: 1px solid var(--line);
  border-radius: 12px; background: #0b0e15; }
.enterprise-row p { margin: 0; flex: 1; }
.pricing-note { margin-top: 14px; line-height: 1.6; }
.empty-plan { padding: 26px; text-align: center; }

/* ---- Downloads ---- */
.release .btn { margin-top: 8px; }
.checksum { word-break: break-all; }

/* ---- Install guide ---- */
.guide { max-width: 860px; margin: 0 auto; }
.guide-head { margin-bottom: 26px; }
.guide-head h1 { font-size: 32px; letter-spacing: -0.05em; margin: 8px 0 10px; }
.guide-lede { color: var(--dim); font-size: 14.5px; max-width: 680px; }
.guide-toc { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 38px;
  padding: 14px 16px; border: 1px solid var(--line); border-radius: 11px;
  background: #0b0e15; position: sticky; top: 82px; z-index: 5; }
.guide-toc a { padding: 6px 11px; border-radius: 7px; color: #aeb7c7; font-size: 12.5px; }
.guide-toc a:hover { background: #8b5cf61c; color: #fff; text-decoration: none; }
.guide h2 { margin-top: 46px; font-size: 22px; letter-spacing: -0.03em; }
.guide h3 { margin-top: 28px; font-size: 16px; }
.guide p { color: #b7c0cf; font-size: 14px; line-height: 1.7; }
.guide-table { width: 100%; border-collapse: collapse; margin: 18px 0 10px;
  border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.guide-table th, .guide-table td { padding: 12px 15px; border-bottom: 1px solid #1d2432;
  text-align: left; vertical-align: top; font-size: 13px; }
.guide-table tr:last-child th, .guide-table tr:last-child td { border-bottom: 0; }
.guide-table th { width: 190px; color: #8f9ab0; font-weight: 600; background: #0b0e15; }
.guide-table td { color: #c6cede; line-height: 1.6; }
.guide-warn { display: flex; gap: 12px; margin: 16px 0; padding: 14px 16px;
  border-left: 3px solid var(--sev-medium); border-radius: 0 9px 9px 0;
  background: #f59e0b0d; color: #e8e0cc; font-size: 13px; line-height: 1.6; }
.guide-warn b { color: #fcd34d; flex: 0 0 auto; }
.guide-warn span { color: #c9cdd6; }
.guide-note { margin: 16px 0; padding: 14px 16px; border-left: 3px solid var(--sev-low);
  border-radius: 0 9px 9px 0; background: #38bdf80d; color: #c9cdd6; font-size: 13px; line-height: 1.6; }
.guide-note b { color: #7dd3fc; }
.guide-list { margin: 14px 0; padding-left: 22px; color: #b7c0cf; font-size: 14px; line-height: 1.7; }
.guide-list li { margin-bottom: 8px; }
.guide-foot { margin-top: 44px; padding: 15px 17px; border: 1px dashed #2e3648;
  border-radius: 10px; color: #8f9ab0 !important; font-size: 13px; }

/* ---- 404 / legal ---- */
.notfound-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0 6px; }
.legal { max-width: 760px; margin: 0 auto; }
.legal h1 { font-size: 30px; letter-spacing: -0.04em; margin-bottom: 6px; }
.legal h2 { margin-top: 30px; font-size: 18px; }
.legal p { color: #b7c0cf; font-size: 14px; line-height: 1.75; }

/* ---- Mobile auth ---- */
@media (max-width: 640px) {
  .auth-page main { padding: 24px 16px; min-height: calc(100vh - 120px); }
  .auth-page .auth-panel { padding: 28px 22px 24px; }
  .auth-submit { width: 100%; }
  .guide-toc { position: static; }
  .guide-table th { width: 130px; }
}

/* ===== v3.1 polish (2026-09-04) ===== */

/* AA-compliant primary buttons: white on violet-600 */
.btn, nav .btn { background: #7c3aed; }
.btn:hover, nav .btn:hover { background: #8b5cf6; }
.landing-btn.primary { background: #7c3aed; }

/* Placeholder legibility */
::placeholder { color: #8b93a7; opacity: 1; }

/* Active nav: filled pill instead of focus-like outline */
nav a.active { background: #8b5cf645; color: #fff; box-shadow: none; border-radius: 8px; }

/* Focus ring without layout shift */
.auth-form input:focus {
  border-color: #8b5cf6; outline: 2px solid #8b5cf680; outline-offset: 1px;
  box-shadow: none;
}

/* Password toggle: larger hit area */
.password-toggle { min-width: 44px; min-height: 36px; color: #c4b5fd; }

/* Pricing heading breathing room */
.pricing-head { padding-top: 30px; }

/* MOST POPULAR tag: readable */
.plan .tag { background: #7c3aed; color: #fff; font-weight: 700; }

/* Guide TOC links look clickable */
.guide-toc a { color: #c4b5fd; }
.guide-toc a:hover { background: #8b5cf61c; color: #fff; text-decoration: underline; }

/* Install table: consistent row rules */
.guide-table th, .guide-table td { border-bottom: 1px solid #1d2432; }
.guide-table tr:last-child th, .guide-table tr:last-child td { border-bottom: 1px solid #1d2432; }
