/* ===== Nova Security Operations — PAM datasheet ===== */
body.ds-body{background:
  radial-gradient(900px 520px at 100% -10%, rgba(124,95,224,.12), transparent 60%),
  var(--bg); color:var(--txt)}

.ds-toolbar{position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:1rem;
  padding:.7rem 22px; background:rgba(13,15,22,.82); backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid var(--line)}
.ds-toolbar .brand{font-size:1rem}
.ds-toolbar .spacer{margin-left:auto}

.ds{max-width:940px; margin:1.6rem auto 3rem; padding:0 22px}

/* cover */
.ds-cover{position:relative; overflow:hidden; border:1px solid var(--line2); border-radius:20px; padding:2.6rem;
  background:radial-gradient(700px 380px at 100% 0,rgba(124,95,224,.32),transparent 60%), linear-gradient(180deg,#1b1430,#120c1f)}
.ds-cover__grid{position:absolute; inset:0; z-index:0;
  background-image:linear-gradient(rgba(179,158,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,95,224,.06) 1px,transparent 1px);
  background-size:38px 38px; mask-image:radial-gradient(120% 90% at 90% 0,#000 30%,transparent 75%)}
.ds-cover__in{position:relative; z-index:1}
.ds-cover__top{display:flex; align-items:center; gap:.8rem; margin-bottom:1.6rem}
.ds-cover__mark{width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(135deg,#8d6ff1,#6234c6); box-shadow:0 12px 28px rgba(108,70,200,.45)}
.ds-cover__mark svg{width:26px; height:26px}
.ds-cover__brand{font-family:"Sora",sans-serif; font-weight:800; font-size:1.05rem}
.ds-cover__brand span{color:var(--accent)}
.ds-tag{margin-left:auto; font-family:"Sora",sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); border:1px solid rgba(179,158,240,.4); border-radius:999px; padding:.35rem .8rem}
.ds-cover h1{font-family:"Sora",sans-serif; font-size:clamp(2rem,4.4vw,2.9rem); letter-spacing:-.02em; line-height:1.1}
.ds-cover h1 span{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.ds-cover .lead{color:var(--muted); font-size:1.08rem; max-width:44em; margin:1rem 0 1.4rem}
.ds-cover__meta{display:flex; flex-wrap:wrap; gap:1.4rem; color:var(--muted2); font-size:.84rem}
.ds-cover__meta b{color:var(--txt); font-weight:600}

/* at a glance */
.ds-glance{display:grid; grid-template-columns:repeat(5,1fr); gap:.8rem; margin:1.2rem 0 .4rem}
.ds-glance div{background:#161922; border:1px solid var(--line); border-radius:12px; padding:1rem}
.ds-glance b{display:block; font-family:"Sora",sans-serif; font-size:1.15rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.ds-glance span{color:var(--muted2); font-size:.74rem}

/* sections */
.ds-section{margin-top:2.2rem}
.ds-section > h2{font-family:"Sora",sans-serif; font-size:1.35rem; display:flex; align-items:center; gap:.6rem; margin-bottom:1rem}
.ds-section > h2::before{content:""; width:5px; height:1.05em; background:var(--grad); border-radius:3px}
.ds-section p.intro{color:var(--muted); margin-bottom:1rem; max-width:60em}

.ds-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.ds-feature{display:flex; gap:.9rem; background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--line); border-radius:13px; padding:1.15rem}
.ds-feature .i{width:42px; height:42px; border-radius:11px; flex:none; display:grid; place-items:center;
  background:rgba(124,95,224,.14); border:1px solid rgba(124,95,224,.3)}
.ds-feature .i svg{width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.ds-feature b{display:block; font-family:"Sora",sans-serif; font-size:.98rem; margin-bottom:.25rem}
.ds-feature p{color:var(--muted); font-size:.86rem; line-height:1.45}

/* targets chips */
.ds-targets{display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem}
.ds-target{background:#161922; border:1px solid var(--line); border-radius:10px; padding:.8rem .9rem}
.ds-target b{font-family:"Sora",sans-serif; font-size:.9rem; display:block}
.ds-target span{color:var(--muted2); font-size:.74rem}

/* spec table */
.ds-table{width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:12px; overflow:hidden}
.ds-table th{text-align:left; background:#171a26; color:var(--muted2); font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; padding:.7rem .9rem}
.ds-table td{padding:.7rem .9rem; border-top:1px solid var(--line); font-size:.88rem; color:var(--muted); vertical-align:top}
.ds-table td:first-child{color:var(--txt); font-weight:600; font-family:"Sora",sans-serif; width:32%}

/* architecture */
.ds-arch{display:flex; align-items:stretch; gap:.7rem; flex-wrap:wrap; justify-content:center; background:#14161e; border:1px solid var(--line); border-radius:14px; padding:1.4rem}
.ds-node{flex:1; min-width:150px; text-align:center; background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--line2); border-radius:12px; padding:1rem .8rem}
.ds-node .n{font-size:1.5rem}
.ds-node b{display:block; font-family:"Sora",sans-serif; font-size:.92rem; margin:.3rem 0 .2rem}
.ds-node span{color:var(--muted2); font-size:.74rem}
.ds-arrow{display:grid; place-items:center; color:var(--accent); font-size:1.4rem; font-weight:700}

/* lists */
.ds-checks{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; padding:0; margin:0}
.ds-checks li{position:relative; padding-left:1.6rem; color:var(--muted); font-size:.9rem}
.ds-checks li::before{content:"✔"; position:absolute; left:0; color:var(--accent)}

/* cta */
.ds-cta{margin-top:2.4rem; border:1px solid var(--line2); border-radius:16px; padding:1.8rem;
  background:radial-gradient(500px 240px at 100% 0,rgba(124,95,224,.2),transparent 60%), linear-gradient(180deg,#17122a,#120c1f);
  display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap}
.ds-cta h3{font-family:"Sora",sans-serif; font-size:1.3rem}
.ds-cta p{color:var(--muted); font-size:.9rem; margin-top:.2rem}
.ds-cta .spacer{margin-left:auto}
.ds-foot{color:var(--muted2); font-size:.8rem; text-align:center; margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--line)}

@media (max-width:760px){
  .ds-glance{grid-template-columns:1fr 1fr}
  .ds-grid,.ds-checks{grid-template-columns:1fr}
  .ds-targets{grid-template-columns:1fr 1fr}
  .ds-table td:first-child{width:40%}
  .ds-cover{padding:1.8rem}
}

/* print → clean PDF */
@media print{
  @page{margin:14mm}
  *{-webkit-print-color-adjust:exact!important; print-color-adjust:exact!important}
  .ds-toolbar,.ds-noprint{display:none!important}
  body.ds-body{background:#0e1018!important}
  .ds{margin:0 auto; max-width:none}
  .ds-cover,.ds-cta{break-inside:avoid}
  .ds-section{break-inside:avoid-page}
  .ds-feature,.ds-node,.ds-target{break-inside:avoid}
  a{color:var(--accent); text-decoration:none}
}
