/* WealthWisers AI Labs, Samriddhi cream skin for the /demo/ landing.
   Extracted from the Claude Design wireframe (the Samriddhi product skin: cream,
   ink, transitional serif, hairline rules, no gradients or shadows). The Labs
   teal header, footer, and closing CTA come from site.css; this file styles the
   cream Samriddhi core inside <main class="sam-auth">. */

.sam-auth {
  --cream:#F7F4ED; --ink:#1B2A3D; --ink-mut:#5A6878; --ink-sub:#8B95A3;
  --burgundy:#A0443A; --ochre:#B58637; --sage:#6B7E5A; --rule:#D8D3C8;
  --sx-serif:"Source Serif 4","Tiempos Headline","Source Serif Pro",Georgia,serif;
  --sx-sans:"Inter",-apple-system,"Segoe UI",sans-serif;
  --sx-mono:"IBM Plex Mono",Menlo,Consolas,monospace;
  --dur:220ms; --ease-out:cubic-bezier(0.22,1,0.36,1);
  background: var(--cream); color: var(--ink); font-family: var(--sx-sans);
}
.sam-auth .wrap { max-width: 1140px; }
.sam-auth .section { padding: 60px 0; border-top:1px solid var(--rule); }
.sx-hero.section { border-top:none; }
.sx-kicker { font-family: var(--sx-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color: var(--ink-sub); }
.sx-sec-head { max-width: 720px; margin-bottom: 36px; }
.sx-sec-head .sx-kicker { display:block; margin-bottom:14px; }
.sx-h { font-family: var(--sx-serif); font-weight:600; font-size:32px; line-height:1.14; color: var(--ink); letter-spacing:-0.005em; margin:0; }
.sx-lede { font-family: var(--sx-sans); font-size:16px; line-height:1.6; color: var(--ink-mut); margin:16px 0 0; max-width:62ch; }

/* hero */
.sx-hero { padding: 60px 0 52px; }
.sx-hero-grid { display:grid; grid-template-columns: 1.02fr 0.98fr; gap:52px; align-items:center; }
.sx-hero-meta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:24px; }
.sx-status { display:inline-flex; align-items:center; gap:9px; font-family: var(--sx-mono); font-size:11px; letter-spacing:0.04em; color: var(--ink-mut); }
.sx-status .sx-bar { width:20px; height:3px; background: var(--sage); }
.sx-os { font-family: var(--sx-mono); font-size:11px; color: var(--ink-sub); }
.sx-title { font-family: var(--sx-serif); font-weight:600; font-size:46px; line-height:1.07; color: var(--ink); margin:0; max-width:15ch; letter-spacing:-0.01em; }
.sx-hero-lede { font-family: var(--sx-sans); font-size:16px; line-height:1.65; color: var(--ink-mut); margin:22px 0 0; max-width:50ch; }
.sx-actions { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.sx-btn { display:inline-flex; align-items:center; gap:8px; font-family: var(--sx-sans); font-weight:500; font-size:14px; padding: 11px 18px; border-radius: 3px; border:1px solid var(--ink); background: var(--ink); color: var(--cream); cursor:pointer; text-decoration:none; transition: background var(--dur) var(--ease-out); }
.sx-btn:hover { background:#26384d; }
.sx-btn svg { width:16px; height:16px; }
.sx-btn-ghost { background: transparent; color: var(--ink); }
.sx-btn-ghost:hover { background: rgba(27,42,61,0.06); }
.sx-demourl { display:inline-flex; align-items:center; gap:7px; font-family: var(--sx-mono); font-size:11.5px; color: var(--ink-sub); margin-top:18px; }

/* diagnostic mock (illustrative artefact) */
.sx-mock { background:#fff; border:1px solid var(--rule); padding: 22px; }
.sx-mock-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--rule); }
.sx-mock-title { font-family: var(--sx-serif); font-weight:600; font-size:17px; color: var(--ink); }
.sx-caseid { font-family: var(--sx-mono); font-size:11px; color: var(--ink-sub); }
.sx-mock-client { font-family: var(--sx-mono); font-size:11px; color: var(--ink-mut); margin:12px 0 14px; letter-spacing:0.02em; }
.sx-finding { padding: 11px 0 11px 14px; border-left:3px solid var(--rule); }
.sx-finding + .sx-finding { border-top:1px dotted var(--rule); }
.sx-finding.escalate { border-left-color: var(--burgundy); }
.sx-finding.flag { border-left-color: var(--ochre); }
.sx-finding.pass { border-left-color: var(--sage); }
.sx-finding-top { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.sx-sev { font-family: var(--sx-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; padding:2px 7px; border:1px solid; border-radius:2px; white-space:nowrap; }
.sx-sev.escalate { color: var(--burgundy); border-color: var(--burgundy); }
.sx-sev.flag { color: var(--ochre); border-color: var(--ochre); }
.sx-sev.pass { color: var(--sage); border-color: var(--sage); }
.sx-finding-code { font-family: var(--sx-mono); font-size:10px; color: var(--ink-sub); }
.sx-finding-text { font-family: var(--sx-serif); font-size:14px; color: var(--ink); line-height:1.4; }
.sx-finding-ev { font-family: var(--sx-mono); font-size:10px; color: var(--ink-mut); margin-top:5px; }
.sx-mock-foot { display:flex; justify-content:space-between; gap:10px; margin-top:14px; padding-top:12px; border-top:1px solid var(--rule); font-family: var(--sx-mono); font-size:9.5px; color: var(--ink-sub); letter-spacing:0.04em; }

/* case gateway (was the live-demo embed) */
.sx-browser { border:1px solid var(--rule); background:#fff; }
.sx-browser-bar { display:flex; align-items:center; gap:12px; padding: 9px 14px; border-bottom:1px solid var(--rule); background: var(--cream); }
.sx-browser-dots { display:flex; gap:6px; }
.sx-browser-dots i { width:9px; height:9px; border-radius:50%; border:1px solid var(--rule); display:block; }
.sx-browser-url { flex:1; font-family: var(--sx-mono); font-size:11px; color: var(--ink-mut); text-align:center; }
.sx-browser-view { padding: 22px 24px; background:#fff; }
.sx-gate { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sx-gate a { display:block; text-decoration:none; border:1px solid var(--rule); padding:18px; transition: border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out); }
.sx-gate a:hover { border-color: var(--ink); background: var(--cream); }
.sx-gate .g-k { font-family: var(--sx-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color: var(--ink-sub); }
.sx-gate .g-t { font-family: var(--sx-serif); font-weight:600; font-size:18px; color: var(--ink); margin-top:8px; }
.sx-gate .g-d { font-family: var(--sx-sans); font-size:13px; line-height:1.5; color: var(--ink-mut); margin-top:6px; }
.sx-gate .g-go { display:inline-flex; align-items:center; gap:6px; font-family: var(--sx-mono); font-size:11px; color: var(--ink); margin-top:12px; }
.sx-embed-note { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; flex-wrap:wrap; }
.sx-embed-label { display:inline-flex; align-items:center; gap:8px; font-family: var(--sx-mono); font-size:11px; color: var(--ink-sub); }
.sx-embed-label .sx-bar { width:18px; height:3px; background: var(--sage); }

/* capability cards */
.sx-cap-grid { display:grid; grid-template-columns: 1.32fr 1fr; gap:20px; }
.sx-cap { background:#fff; border:1px solid var(--rule); padding: 26px; }
.sx-cap-k { font-family: var(--sx-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color: var(--ink-sub); display:block; margin-bottom:12px; }
.sx-cap h3 { font-family: var(--sx-serif); font-weight:600; font-size:23px; color: var(--ink); margin:0; letter-spacing:-0.005em; }
.sx-cap p { font-family: var(--sx-sans); font-size:14px; line-height:1.6; color: var(--ink-mut); margin:10px 0 0; }
.sx-cap-foot { margin-top:16px; padding-top:14px; border-top:1px solid var(--rule); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.sx-cap-link { font-family: var(--sx-mono); font-size:11px; color: var(--ink); text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:1px; white-space:nowrap; }

/* value props: numeral + serif, no icon circles */
.sx-vp-grid { display:grid; grid-template-columns: repeat(3,1fr); border-top:1px solid var(--rule); }
.sx-vp { padding: 22px 24px; border-right:1px solid var(--rule); }
.sx-vp:first-child { padding-left:0; }
.sx-vp:last-child { border-right:none; }
.sx-vp-n { font-family: var(--sx-mono); font-size:11px; color: var(--ink-sub); }
.sx-vp h4 { font-family: var(--sx-serif); font-weight:600; font-size:21px; color: var(--ink); margin:10px 0 0; }
.sx-vp p { font-family: var(--sx-sans); font-size:13.5px; line-height:1.55; color: var(--ink-mut); margin:8px 0 0; }

/* EGA mapped */
.sx-ega-grid { display:grid; grid-template-columns: repeat(3,1fr); border:1px solid var(--rule); }
.sx-ega-card { padding: 22px; border-right:1px solid var(--rule); }
.sx-ega-card:last-child { border-right:none; }
.sx-ega-k { font-family: var(--sx-serif); font-weight:600; font-size:17px; color: var(--ink); }
.sx-ega-card p { font-family: var(--sx-sans); font-size:13px; line-height:1.5; color: var(--ink-mut); margin:8px 0 0; }

/* origin */
.sx-origin { display:flex; gap:24px; align-items:flex-start; padding: 26px; border:1px solid var(--rule); background:#fff; }
.sx-origin-mark { font-family: var(--sx-mono); font-size:10.5px; color: var(--ink-sub); border:1px solid var(--rule); padding:8px 10px; white-space:nowrap; }
.sx-origin h3 { font-family: var(--sx-serif); font-weight:600; font-size:21px; color: var(--ink); margin:0; }
.sx-origin p { font-family: var(--sx-sans); font-size:14px; line-height:1.6; color: var(--ink-mut); margin:8px 0 0; max-width:70ch; }

/* per-holding verdicts diagnostic */
.sx-sample { display:inline-flex; align-items:center; gap:7px; font-family: var(--sx-mono); font-size:10.5px; letter-spacing:0.04em; color: var(--ink-mut); background:#fff; border:1px solid var(--rule); border-radius:3px; padding:5px 10px; margin-top:16px; }
.sx-sample svg { color: var(--ochre); width:13px; height:13px; }
.diag-grid { display:grid; grid-template-columns: 300px 1fr; gap:32px; align-items:start; }
.diag-summary { position: sticky; top: 16px; }
.diag-pie { width: 200px; height:200px; border-radius:50%; margin: 4px auto 22px; position:relative; }
.diag-pie-c { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:96px; height:96px; background: var(--cream); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.diag-pie-c b { font-family: var(--sx-serif); font-weight:600; font-size:26px; color: var(--ink); line-height:1; }
.diag-pie-c span { font-family: var(--sx-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color: var(--ink-sub); margin-top:3px; }
.diag-counts { display:flex; flex-direction:column; gap:0; border-top:1px solid var(--rule); }
.diag-count { display:flex; align-items:center; gap:10px; padding:10px 2px; border-bottom:1px solid var(--rule); font-family: var(--sx-sans); font-size:13.5px; color: var(--ink); }
.diag-count .dc-dot { width:9px; height:9px; border-radius:2px; flex:none; }
.diag-count .dc-l { flex:none; }
.diag-count b { font-family: var(--sx-mono); margin-left:auto; font-size:14px; }
.diag-count .dc-p { font-family: var(--sx-mono); font-size:10.5px; color: var(--ink-sub); width:78px; text-align:right; flex:none; }
.diag-count.muted { color: var(--ink-sub); }
.diag-breach { margin-top:20px; background:#FBF3E2; border:1px solid #E8D9B0; border-radius:4px; padding:16px; }
.db-num { font-family: var(--sx-serif); font-weight:600; font-size:34px; color: var(--ochre); line-height:1; }
.db-num span { font-size:18px; }
.db-text { font-family: var(--sx-sans); font-size:12.5px; line-height:1.5; color: var(--ink); margin:10px 0 0; }
.db-text b { font-weight:600; }
.db-tag { display:inline-block; font-family: var(--sx-mono); font-size:9.5px; letter-spacing:0.04em; color: var(--ochre); background:#fff; border:1px solid #E8D9B0; border-radius:3px; padding:3px 8px; margin-top:11px; }
.diag-groups { display:flex; flex-direction:column; gap:26px; }
.vd-ghead { display:flex; align-items:center; gap:12px; padding-bottom:11px; border-bottom:1px solid var(--rule); margin-bottom:14px; }
.vd-glabel { font-family: var(--sx-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; padding:3px 9px; border:1px solid; border-radius:2px; }
.vd-glabel.s-maintain { color: var(--sage); border-color: var(--sage); }
.vd-glabel.s-monitor { color: var(--ochre); border-color: var(--ochre); }
.vd-glabel.s-discuss { color: var(--burgundy); border-color: var(--burgundy); }
.vd-gsub { font-family: var(--sx-serif); font-style:italic; font-size:15px; color: var(--ink-mut); }
.vd-gcount { margin-left:auto; font-family: var(--sx-mono); font-size:10.5px; color: var(--ink-sub); }
.vd-cards { display:grid; grid-template-columns: 1fr 1fr; gap:0 24px; }
.vd-card { padding:12px 0 12px 14px; border-left:3px solid var(--rule); border-bottom:1px dotted var(--rule); }
.vd-card.s-maintain { border-left-color: var(--sage); }
.vd-card.s-monitor { border-left-color: var(--ochre); }
.vd-card.s-discuss { border-left-color: var(--burgundy); }
.vd-top { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.vd-name { font-family: var(--sx-serif); font-weight:600; font-size:15px; color: var(--ink); }
.vd-val { font-family: var(--sx-mono); font-size:11.5px; color: var(--ink-mut); white-space:nowrap; }
.vd-val i { color: var(--ink-sub); font-style:normal; }
.vd-note { font-family: var(--sx-sans); font-size:12.5px; line-height:1.5; color: var(--ink-mut); margin-top:5px; }

@media (max-width: 920px) {
  .diag-grid { grid-template-columns:1fr; gap:28px; }
  .diag-summary { position: static; }
  .diag-pie { margin-left:0; margin-right:0; }
  .vd-cards { grid-template-columns:1fr; gap:0; }
  .sx-hero-grid, .sx-cap-grid { grid-template-columns:1fr; gap:32px; }
  .sx-title { font-size:34px; }
  .sx-vp-grid, .sx-ega-grid, .sx-gate { grid-template-columns:1fr; }
  .sx-vp { border-right:none; border-bottom:1px solid var(--rule); padding-left:0; }
  .sx-ega-card { border-right:none; border-bottom:1px solid var(--rule); }
  .sx-ega-card:last-child, .sx-vp:last-child { border-bottom:none; }
}
