:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #10243a; background: #f3f7f7; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
input { width:100%; min-width:0; padding:11px 12px; border:1px solid #bdcdd2; border-radius:8px; font:inherit; }
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#0b2237,#123d46)}.login-card{width:min(520px,100%);padding:34px;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;font-weight:700}.login-card [role=status]{min-height:1.4em;color:#8f2834}.system-identity{margin-top:24px;padding-top:16px;border-top:1px solid #dce6e8;color:#557080}.prepared-notice{margin-top:18px;padding:22px;border:1px solid #dce6e8;border-left:4px solid var(--tenant-accent);border-radius:12px;background:#fff;display:grid;gap:8px}.prepared-notice>*{margin:0}.prepared-notice small{display:block}
button, a { font: inherit; }
a { color: inherit; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; --tenant-accent: #1a7f78; color:var(--tenant-text,#10243a); background:var(--tenant-surface,#fff); }
.sidebar { background: var(--tenant-secondary,#10243a); color: #fff; padding: 28px 22px; display: flex; flex-direction: column; gap: 18px; }
.brand { font-weight: 800; text-decoration: none; font-size: 1.2rem; letter-spacing: -.02em; }
.eyebrow { color: var(--tenant-accent); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.sidebar .eyebrow { color: #86d3ca; margin: 0; }
nav { display: grid; gap: 6px; }
nav a { text-decoration: none; padding: 10px 12px; border-radius: 8px; color: #dbe7ec; }
nav a:hover, nav a:focus-visible { background: #1b344d; color: #fff; outline: none; }
.link-button { margin-top: auto; background: transparent; border: 1px solid #537087; color: #fff; border-radius: 8px; padding: 10px; cursor: pointer; }
main { min-width: 0; }
.topbar { height: 56px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 0 36px; background: #fff; border-bottom: 1px solid #dce6e8; color: #557080; font-size: .85rem; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #38a169; }
.content { max-width: 1040px; margin: 0 auto; padding: 54px 36px 80px; }
.content.narrow { max-width: 720px; }
.page-header { margin-bottom: 34px; }
.page-header h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.04; letter-spacing: -.045em; margin: 8px 0 14px; }
.page-header > p:last-child { color: #557080; max-width: 690px; font-size: 1.05rem; line-height: 1.65; }
.stack { display: grid; gap: 12px; }
.workspace-card, .row-card { width: 100%; display: flex; align-items: center; gap: 16px; justify-content: space-between; padding: 18px; background: #fff; border: 1px solid #dce6e8; border-radius: 12px; text-align: left; text-decoration: none; color: #10243a; cursor: pointer; }
.workspace-card:hover, .row-card:hover, .workspace-card:focus-visible, .row-card:focus-visible { border-color: var(--tenant-accent); box-shadow: 0 8px 30px rgba(16,36,58,.08); outline: none; }
.workspace-card span:nth-child(2), .row-card span:first-child { display: grid; gap: 4px; flex: 1; }
small { color: #637b89; }
.avatar { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; background: #dff3f0; color: #14655f; font-weight: 900; }
.security-note, .notice { margin-top: 22px; color: #557080; padding: 16px 18px; border-left: 3px solid var(--tenant-accent); background: #eaf5f3; }
.notice p { margin-bottom: 0; }
.metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 16px; margin-bottom: 24px; }
.metrics article { background: #fff; border: 1px solid #dce6e8; border-radius: 12px; padding: 20px; display: grid; gap: 10px; }
.metrics span { color: #637b89; }
.metrics strong { font-size: 2rem; }
.panel, .report { background: #fff; border: 1px solid #dce6e8; border-radius: 14px; padding: 24px; }
.panel { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 24px; }
.panel h2, .report h2 { margin-top: 0; }
.button { display: inline-flex; text-decoration: none; border: 0; border-radius: 8px; padding: 11px 16px; background: var(--tenant-accent); color: #fff; font-weight: 750; cursor: pointer; white-space: nowrap; }
.button.secondary { background: #10243a; }
.empty { padding: 34px; border: 1px dashed #aebfc6; border-radius: 12px; text-align: center; color: #557080; }
.progress-list { display: grid; gap: 12px; }
.progress-list article { background: #fff; border: 1px solid #dce6e8; border-radius: 12px; padding: 18px; display: flex; align-items: center; gap: 16px; }
.progress-list h2, .progress-list p { margin: 0 0 4px; }
.progress-list article div { flex: 1; }
.progress-list button { border: 1px solid #bdcdd2; background: #fff; border-radius: 8px; padding: 9px 14px; }
.step { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #9dafb7; font-weight: 800; }
.step.complete { background: var(--tenant-accent); border-color: var(--tenant-accent); color: #fff; }
.pill { display: inline-block; color: #176542; background: #e0f4e8; border-radius: 999px; padding: 6px 10px; font-weight: 800; text-transform:capitalize }.pill.coverage_unknown,.pill.unknown,.pill.unavailable{color:#76520b;background:#fff3cf}.pill.attention_required{color:#8f2834;background:#fff0f1}.scope-strip{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 28px;padding:18px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.scope-strip span{color:#637b89}.coverage-grid,.question-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0 30px}.coverage-grid article,.question-grid article{display:grid;gap:7px;padding:18px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.coverage-grid article>span,.question-grid article>span{color:#637b89;font-size:.72rem;text-transform:uppercase}.evidence{text-transform:capitalize}.evidence.unknown{color:#76520b}.evidence.tested,.evidence.verified{color:#176542}.question-grid p{margin:0;line-height:1.55}.report li{margin:10px 0;line-height:1.5}
dl { display: grid; grid-template-columns: 100px 1fr; gap: 10px; margin: 24px 0; }
dt { color: #637b89; } dd { margin: 0; font-weight: 700; }
.client-view { min-height: 100vh; background: #f5f8f8; --tenant-accent: #1a7f78; }
.client-view > header { background: #fff; border-bottom: 4px solid var(--tenant-accent); padding: 22px max(24px, calc((100vw - 968px) / 2)); display: flex; justify-content: space-between; gap: 20px; }
.client-view > main { max-width: 968px; margin: auto; padding: 52px 24px; }
@media (max-width: 720px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { padding: 18px; position: static; }
  .sidebar nav { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; width: 100%; overflow-x: hidden; }
  .sidebar nav a { min-width: 0; overflow-wrap: anywhere; }
  .link-button { margin-top: 0; }
  .topbar { padding: 0 20px; }
  .content { padding: 34px 20px 60px; }
  .metrics { grid-template-columns: 1fr; }
  .panel { align-items: flex-start; flex-direction: column; }
  .progress-list article { align-items: flex-start; flex-wrap: wrap; }
  .client-view > header { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
.connection-workspace{margin:24px 0;padding:24px;border:1px solid #dce6e8;border-radius:14px;background:#fff}.connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.connection-card{display:grid;align-content:start;gap:12px;padding:18px;border:1px solid #dce6e8;border-radius:12px}.connection-card h3,.connection-card p{margin:0}.connection-card label{display:grid;gap:6px;font-weight:700}.connection-card select{min-height:42px;border:1px solid #b9c9cd;border-radius:8px;padding:8px;background:#fff}.connection-actions{display:flex;flex-wrap:wrap;gap:8px}.connection-actions .button{width:auto}@media(max-width:600px){.connection-workspace{padding:16px}.connection-grid{grid-template-columns:1fr}.connection-actions>*{width:100%!important}}
.demo-account-chip{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(134,211,202,.35);border-radius:10px;background:rgba(24,224,203,.08)}.demo-account-chip strong{color:#86d3ca}.demo-account-chip small{color:#b8c9d2;line-height:1.35}.demo-program-label{margin-left:6px;padding-left:12px;border-left:1px solid #dce6e8;color:#10243a}.demo-portfolio-panel{border-top:3px solid var(--tenant-accent)}@media(max-width:720px){.topbar{height:auto;min-height:56px;flex-wrap:wrap;padding-block:12px}.demo-program-label{width:100%;margin:0;padding:7px 0 0;border-left:0;border-top:1px solid #dce6e8;text-align:right}}
.demo-evidence-notice{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:12px 15px;border:2px solid #176c65;border-radius:10px;background:#e3f5f2;color:#153c3a}.demo-evidence-notice strong{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#176c65;color:#fff;text-transform:uppercase;letter-spacing:.04em}.demo-evidence-notice span{line-height:1.45}.client-view .demo-evidence-notice{position:sticky;top:0;z-index:5;box-shadow:0 6px 18px rgba(16,36,58,.1)}@media(max-width:520px){.demo-evidence-notice{align-items:flex-start;flex-direction:column}}
.value-report{margin-top:24px}.value-report>label{display:flex;align-items:center;gap:8px}.value-report [data-value-result]{display:grid;gap:16px;margin-top:16px}.value-report [data-value-result] ul{display:grid;gap:8px;margin:0;padding-left:20px}.value-report [data-value-result] li span{display:block;color:var(--muted);margin-top:3px}
