:root {
  --ink: #101828;
  --muted: #667085;
  --line: #e7ebf0;
  --soft: #f7f9fc;
  --paper: #ffffff;
  --navy: #0b1220;
  --navy-2: #131e33;
  --mint: #70e0bd;
  --mint-deep: #1c8f72;
  --amber: #d89122;
  --red: #d15a5a;
  --blue: #4478d7;
  --shadow: 0 18px 50px rgba(16, 24, 40, .08);
  font-family: 'DM Sans', system-ui, sans-serif;
  color: var(--ink);
  background: #f4f7fa;
  font-synthesis: none;
}
.onboard-summary {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.onboard-summary>div {padding:22px;background:white;border:1px solid var(--line);border-radius:12px;}
.onboard-summary strong {display:block;font:700 28px 'Space Grotesk';}.onboard-summary span {display:block;margin-top:8px;font-size:14px;color:var(--muted);}
.onboard-note {font-size:14px;line-height:1.6;color:var(--muted);margin:18px 0;}
.onboard-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;}
.onboarding-group {overflow:hidden;}.onboarding-group-head {padding:20px;border-bottom:1px solid var(--line);background:#fafffd;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.onboarding-group-head h2 {font-size:20px;}.onboarding-group-head>div>span {font-size:14px;color:var(--muted);display:block;margin-top:8px;}
.scope-controls,.item-switches {display:flex;align-items:center;gap:18px;}.scope-controls label,.item-switches label {display:flex;flex-direction:column;gap:7px;font-size:14px;align-items:center;color:#48566b;white-space:nowrap;}
.scope-switch {border:0!important;width:42px;height:24px;min-width:42px;padding:3px;border-radius:20px;background:#c4cbd5;display:inline-flex;align-items:center;box-shadow:inset 0 0 0 1px #00000008;}
.scope-switch span {width:18px;height:18px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .15s;}.scope-switch.on {background:#21856a;}.scope-switch.on span {transform:translateX(18px);}.scope-switch:disabled {opacity:.75;cursor:default;}
.onboarding-item {padding:20px;border-bottom:1px solid var(--line);}.onboarding-item:last-child {border-bottom:0;}.onboarding-item-line {display:flex;justify-content:space-between;gap:14px;}.onboarding-item h3 {font-size:16px;line-height:1.5;margin:0;}.onboarding-item-line p {font-size:14px;line-height:1.5;color:var(--muted);}
.onboarding-meta {display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:17px;font-size:14px;color:var(--muted);}.onboarding-meta strong {font-weight:500;color:#344054;display:block;margin-top:4px;}
.completion-record {font-size:13px;color:#227557;line-height:1.5;overflow-wrap:anywhere;margin:13px 0 0;}.item-edit-row {display:flex;gap:12px;align-items:center;margin-top:12px;}.item-edit-row .text-link {font-size:14px;}
.group-completed {padding:16px 20px;background:#edf9f3;font-size:14px;color:#227557;}.opted-out .onboarding-group-head {background:#f7f9fc;}.excluded-copy {font-size:14px;line-height:1.6;padding:20px;color:var(--muted);}.item-excluded {background:#f8f9fb;}
.ops-section {margin-bottom:24px;}.ops-section h2 {font-size:20px;}.ops-section .page-sub {font-size:14px;line-height:1.6;margin:12px 0 20px;}.ops-section .text-link {font-size:14px;}.ops-section table td,.ops-section table th {font-size:14px;}.ops-section small {display:block;font-size:12px;font-weight:400;margin-top:8px;text-transform:none;color:var(--muted);}
.delivery-matrix {table-layout:fixed;min-width:100%;border-collapse:separate;border-spacing:0;}
.delivery-matrix th {white-space:normal;overflow-wrap:anywhere;max-width:none;text-transform:none;line-height:1.5;letter-spacing:normal;padding:12px 16px;vertical-align:top;}
.delivery-matrix th:first-child {position:sticky;left:0;background:white;z-index:1;box-shadow:1px 0 0 var(--line);}
.delivery-matrix thead th {text-align:center;}.delivery-matrix thead th:first-child,.delivery-matrix tbody th {text-align:left;}
.delivery-matrix tbody th button {display:block;margin-top:8px;}.delivery-matrix td {text-align:center;}.delivery-matrix td>span {display:block;margin-top:6px;font-size:12px;}
.risk-legacy {padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.risk-legacy p {white-space:pre-wrap;}.risk-legacy small {color:var(--muted);}
.template-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}.template-group {border:1px solid var(--line);border-radius:10px;padding:20px;}.template-group h3 {font-size:18px;}.template-item {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);}.template-item strong {font-size:14px;}.template-item span {display:block;font-size:12px;color:var(--muted);margin-top:5px;}.template-group>.button {margin-top:12px;}
.reminder-rules {display:flex;flex-wrap:wrap;align-items:end;gap:18px;margin:20px 0;}.reminder-rules label {font-size:14px;}.reminder-rules .input {max-width:200px;}.reminder-rules .form-error {width:100%;}
#onboarding-item-form,#template-editor {margin-top:20px;}#onboarding-item-form label,#template-editor label {font-size:14px;}.onboarding-group .button,.ops-section .button {font-size:14px;}
@media(max-width:1200px){.onboard-grid {grid-template-columns:1fr;}.onboarding-group-head {flex-wrap:nowrap;}}
@media(max-width:760px){.onboard-summary {grid-template-columns:1fr;gap:10px;}.onboard-summary>div {padding:16px;}.template-grid {grid-template-columns:1fr;}.onboarding-item-line,.onboarding-group-head {flex-direction:column;}.item-switches,.scope-controls {justify-content:flex-start;}.reminder-rules {display:grid;}.ops-section {padding:16px!important;}}
.login-layout {min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:white;}
.login-story {background:var(--navy);color:white;padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden;}
.login-story:after {content:'';position:absolute;right:-180px;bottom:-200px;width:600px;height:600px;border:1px solid #233d41;border-radius:50%;box-shadow:0 0 0 75px #12282c44,0 0 0 150px #12282c22;pointer-events:none;}
.login-story .brand {padding:0;font-size:30px;}
.login-story .brand-mark {width:38px;height:38px;font-size:22px;}
.login-message {position:relative;z-index:1;margin:80px 0;max-width:570px;}
.login-message .eyebrow {color:var(--mint);letter-spacing:.18em;font-size:11px;}
.login-message h1 {font-family:'Space Grotesk',sans-serif;font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-.04em;color:white;margin:24px 0;}
.login-message em {font-style:normal;color:var(--mint);}
.login-message p {max-width:380px;line-height:1.7;color:#aab9cc;font-size:15px;}
.login-proof {display:flex;gap:24px;color:#d0e6de;font-size:12px;margin-top:42px;}
.login-caption {color:#8a9bb3;font-size:11px;position:relative;z-index:1;}
.login-panel {display:grid;place-items:center;padding:44px;}
.login-card {width:100%;max-width:390px;}
.login-lock {width:44px;height:44px;border-radius:12px;background:#e5f8f0;color:var(--mint-deep);display:grid;place-items:center;font-size:23px;margin-bottom:28px;}
.login-card h2 {font-size:27px;line-height:1.25;letter-spacing:-.04em;margin:12px 0;}
.login-sub {font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 25px;}
.login-account {background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:22px;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;}
.login-account span,.login-account a {font-size:11px;color:var(--muted);}.login-account strong {font-size:14px;}
.login-cta {width:100%;justify-content:center;margin-top:10px;min-height:44px;text-align:center;display:flex;align-items:center;text-decoration:none;}
.login-hint {font-size:11px;color:var(--muted);line-height:1.6;margin:10px 0;}
.login-footer {border-top:1px solid var(--line);margin-top:25px;padding-top:23px;font-size:10px;color:#8795a8;display:flex;justify-content:space-between;}
.code-input {font-size:24px;letter-spacing:.4em;text-align:center;}
.resend-code {margin-top:18px;}
.form-error {font-size:12px;color:#b42318;line-height:1.6;white-space:normal;overflow-wrap:anywhere;}
.form-error:empty {display:none;}
.setup-notice {padding:16px 18px;background:#fff8e9;border:1px solid #f2dfb1;border-radius:10px;font-size:12px;color:#805512;line-height:1.6;margin:0 0 20px;}
.admin-tabs {display:flex;flex-wrap:wrap;gap:25px;margin-bottom:20px;}
.admin-tabs a {font-size:12px;color:var(--muted);text-decoration:none;}
.admin-tabs a:first-child {color:var(--mint-deep);font-weight:700;}
.admin-section {margin-top:24px;scroll-margin-top:20px;}
.scoring-layout {display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;margin-top:24px;}
.scoring-services {border-right:1px solid var(--line);padding-right:20px;display:flex;flex-direction:column;gap:7px;}
.scoring-services .mini-kicker {margin-bottom:12px;font-size:9px;}
.service-pick {border:0;background:transparent;text-align:left;padding:12px;border-radius:8px;color:#344054;}
.service-pick strong {font-size:12px;display:block;font-weight:600;}
.service-pick span {font-size:10px;color:var(--muted);display:block;margin-top:5px;}
.service-pick.selected {background:#e9f8f2;color:#17765b;box-shadow:inset 3px 0 var(--mint-deep);}
.scoring-title {display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.scoring-title h3 {font-size:19px;margin:0;}
.scoring-title p {font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 0;}
.button-row {display:flex;gap:15px;flex-shrink:0;}
.scoring-summary {display:flex;align-items:center;gap:20px;padding:20px 0;font-size:11px;color:var(--muted);}
.scoring-summary strong {color:var(--ink);}.scoring-summary button {margin-left:auto;}
.topic-row {display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-top:1px solid var(--line);}
.topic-number {font-family:'Space Grotesk';font-size:12px;color:#91a2b8;background:#f4f7fa;padding:7px;border-radius:6px;}
.topic-copy {flex:1;min-width:0;overflow-wrap:anywhere;}.topic-copy h4 {margin:0;font-size:13px;}.topic-copy p {font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0;}
.topic-evidence {font-size:10px;line-height:1.6;color:#6e7e94;}.topic-evidence span {color:#287d62;font-weight:600;display:block;}
.topic-weight {text-align:right;min-width:54px;}.topic-weight strong {font-size:15px;}.topic-weight span {display:block;font-size:10px;color:var(--muted);margin-top:5px;}
.topic-actions {display:flex;flex-direction:column;gap:10px;margin-left:10px;}
.danger {color:#b54747!important;}.danger-button {background:#b42318;color:white;border:1px solid #b42318;}
.scoring-formula {background:#f6f9fc;border-radius:9px;padding:16px;font-size:11px;line-height:1.7;margin-top:10px;color:#5c6c83;}.scoring-formula strong {color:#344054;}.scoring-formula p {margin:5px 0 0;}
.configuration-history {border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:11px;color:var(--muted);}.configuration-history>span {display:block;margin-top:8px;}
.email-form {display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:24px;}.email-form>div:nth-child(n+3),.email-form>p {grid-column:1/-1;}.email-form input {max-width:550px;}
.checkbox-field {font-size:12px;display:flex;align-items:center;gap:8px;}.input {font-family:inherit;}textarea.input {resize:vertical;line-height:1.6;}
button:disabled {opacity:.55;cursor:wait;}button:focus-visible,a:focus-visible {outline:3px solid #70e0bd;outline-offset:3px;}
@media(max-width:1100px){.scoring-layout {grid-template-columns:170px minmax(0,1fr);gap:18px;}.scoring-title {flex-direction:column;}.login-story {padding:40px;}}
@media(max-width:760px){.login-layout {grid-template-columns:1fr;}.login-story {min-height:auto;padding:26px;}.login-message {margin:35px 0 10px;}.login-message h1 {font-size:32px;}.login-proof,.login-caption {display:none;}.login-panel {padding:35px 24px;}.login-story .brand {justify-content:flex-start;}.login-story .brand>span {display:block;}.scoring-layout {grid-template-columns:1fr;}.scoring-services {border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px;display:grid;grid-template-columns:1fr 1fr;}.scoring-services .mini-kicker {grid-column:1/-1;}.topic-row {flex-wrap:wrap;gap:10px;}.topic-number {display:none;}.topic-actions {flex-direction:row;width:100%;margin-left:0;}.email-form {grid-template-columns:1fr;}.scoring-summary {gap:10px;flex-wrap:wrap;}.scoring-summary button {margin-left:0;}.button-row {flex-wrap:wrap;}.login-footer {gap:8px;}}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: #f4f7fa; }
.prototype-note { font-size: .8125rem; color: #667085; margin-bottom: 18px; }
.signout { display:block; padding:12px; color:#d8e0ed; font-size:.875rem; }
.profile strong { overflow-wrap:anywhere; }
.access-state { margin:8vh auto; max-width:620px; padding:32px; background:white; border:1px solid var(--line); border-radius:16px; }
.access-state .brand { background:var(--navy); padding:16px; border-radius:12px; margin-bottom:24px; }
.access-state p { margin:20px 0; line-height:1.6; }
.access-state code { overflow-wrap:anywhere; }
.modal { max-height:90vh; overflow-y:auto; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { display: flex; min-height: 100vh; }
.sidebar { width: 248px; background: var(--navy); color: #d8e0ed; padding: 24px 16px; display: flex; flex-direction: column; gap: 28px; flex: 0 0 248px; }
.brand { display: flex; gap: 11px; align-items: center; padding: 0 10px; color: white; font-family: 'Space Grotesk', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.04em; }
.brand-mark { width: 29px; height: 29px; background: var(--mint); color: var(--navy); border-radius: 9px; display: grid; place-items: center; font-weight: 800; font-size: 17px; }
.brand small { color: #8b9ab4; font-family: 'DM Sans'; font-size: 10px; font-weight: 500; letter-spacing: .02em; margin-left: 2px; }
.workspace-switcher { background: var(--navy-2); border: 1px solid #23324e; border-radius: 12px; padding: 10px 12px; color: white; text-align: left; }
.workspace-switcher span { display:block; font-size: 11px; color:#8795ab; margin-bottom: 3px; }
.workspace-switcher strong { font-size: 13px; font-weight: 600; }
.section-label { color: #65738e; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 700; padding: 0 12px; margin-bottom: 6px; }
.nav { display:flex; flex-direction: column; gap: 4px; }
.nav button { border: 0; background: transparent; color: #aab7ca; text-align: left; border-radius: 9px; display:flex; align-items:center; gap: 11px; padding: 10px 12px; font-size: 13px; width: 100%; transition: .15s ease; }
.nav button:hover { background: #19263e; color: white; }
.nav button.active { background: #223352; color: white; box-shadow: inset 3px 0 var(--mint); }
.nav .ico { width: 17px; text-align:center; font-size: 15px; opacity: .9; }
.sidebar-bottom { margin-top:auto; border-top: 1px solid #22304a; padding-top: 16px; }
.profile { display:flex; align-items:center; gap: 9px; padding: 8px 10px; }
.avatar { width: 30px; height:30px; border-radius: 50%; display:grid; place-items:center; background:#2d4163; color:#dffbf4; font-size: 11px; font-weight:700; }
.profile strong { font-size: 12px; color:white; display:block; }
.profile span { font-size: 11px; color:#8290a6; }
.main { flex:1; min-width: 0; }
.topbar { height: 76px; background: rgba(255,255,255,.9); border-bottom: 1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding: 0 36px; position:sticky; top:0; z-index: 3; backdrop-filter: blur(10px); }
.crumb { color:var(--muted); font-size: 13px; display:flex; gap:8px; align-items:center; }
.crumb strong { color: var(--ink); font-weight:600; }
.top-actions { display:flex; align-items:center; gap:10px; }
.context-label { display:flex; align-items:center; gap:7px; color:#667085; font-size:11px; font-weight:700; }
.customer-context { min-width:165px; padding:8px 10px; color:#1d2939; font-size:12px; font-weight:600; }
.icon-btn { width:36px; height:36px; border:1px solid var(--line); border-radius: 10px; background:white; color:#667085; }
.main-content { padding: 30px 36px 56px; max-width: 1420px; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom: 25px; }
.eyebrow { color: var(--mint-deep); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; font-weight:700; margin-bottom:8px; }
h1, h2, h3, p { margin:0; }
h1 { font: 700 30px/1.1 'Space Grotesk', sans-serif; letter-spacing: -.04em; color: var(--ink); }
h2 { font: 600 18px/1.2 'Space Grotesk', sans-serif; letter-spacing: -.02em; }
h3 { font-size: 14px; font-weight:700; }
.page-sub { color:var(--muted); font-size: 14px; margin-top:8px; }
.button { border:1px solid transparent; border-radius:9px; padding:10px 14px; font-size: 13px; font-weight:600; display:inline-flex; align-items:center; gap:7px; transition:.15s ease; }
.button.primary { background:var(--navy); color:white; box-shadow: 0 5px 12px rgba(11,18,32,.12); }
.button.primary:hover { background: #1b2c4a; transform: translateY(-1px); }
.button.secondary { background:white; border-color:var(--line); color:#344054; }
.button.secondary:hover { border-color:#c5cedb; }
.button.mint { background:var(--mint); color:#0d392f; }
.button.small { padding: 7px 10px; font-size:12px; }
.grid { display:grid; gap:16px; }
.metric-grid { grid-template-columns: repeat(4, minmax(0,1fr)); margin-bottom:16px; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow: 0 1px 1px rgba(16,24,40,.02); }
.metric { padding: 18px 19px; position:relative; overflow:hidden; }
.metric:after { content:''; position:absolute; right:-20px; top:-20px; width:74px; height:74px; border-radius:50%; background: #eefbf7; }
.metric .metric-label { font-size: 12px; color:var(--muted); position:relative; z-index:1; }
.metric .metric-value { font: 700 29px/1 'Space Grotesk'; margin-top:11px; position:relative; z-index:1; }
.metric .metric-foot { font-size:11px; color:var(--muted); margin-top:9px; position:relative; z-index:1; }
.metric .metric-foot.good { color:var(--mint-deep); }
.content-grid { grid-template-columns: minmax(0, 1.65fr) minmax(290px, .85fr); }
.chip-row { display:flex; flex-wrap:wrap; gap:4px; max-width:230px; }
.mini-chip { display:inline-flex; border-radius:6px; padding:4px 6px; font-size:10px; font-weight:700; white-space:nowrap; }
.mini-chip.ok { background:#eafaf5; color:#1c8f72; }
.mini-chip.warn { background:#fff6e6; color:#b97615; }
.mini-chip.risk { background:#fff0f0; color:#bc4b4b; }
.mini-chip.more { background:#f2f4f7; color:#667085; }
.card-pad { padding:20px; }
.context-banner { display:flex; align-items:center; gap:9px; flex-wrap:wrap; background:#eefaf6; border:1px solid #d7f3e9; border-radius:11px; padding:10px 13px; margin-bottom:16px; color:#475467; font-size:11px; }
.context-banner strong { color:#1c8f72; font-size:12px; }
.context-banner .text-link { margin-left:auto; }
.context-dot { width:7px; height:7px; border-radius:50%; background:#1c8f72; box-shadow:0 0 0 4px #d7f3e9; }
.card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:17px; }
.card-head p { color:var(--muted); font-size:12px; margin-top:5px; }
.text-link { color:var(--blue); font-size:12px; font-weight:600; border:0; background:transparent; padding:0; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th { text-align:left; color:#98a2b3; font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; padding: 0 13px 10px; white-space:nowrap; }
td { border-top:1px solid #f0f2f5; padding:14px 13px; font-size:12px; color:#475467; vertical-align:middle; }
tbody tr { transition: background .15s; }
tbody tr:hover { background:#fbfcfd; }
td strong { color:#1d2939; font-weight:600; }
.row-action { border:0; background:transparent; color:var(--blue); font-size:12px; font-weight:600; padding:0; }
.badge { display:inline-flex; align-items:center; gap:5px; border-radius:99px; padding:5px 8px; font-size:11px; font-weight:600; white-space:nowrap; }
.badge:before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.badge.green { background:#eafaf5; color:#1c8f72; }
.badge.amber { background:#fff6e6; color:#b97615; }
.badge.red { background:#fff0f0; color:#bc4b4b; }
.badge.blue { background:#edf3ff; color:#396ac5; }
.badge.gray { background:#f2f4f7; color:#667085; }
.score-card { background:var(--navy); color:white; padding:20px; border-radius:14px; position:relative; overflow:hidden; }
.score-card:after { content:''; width:220px; height:220px; border: 1px solid rgba(112,224,189,.18); border-radius:50%; position:absolute; right:-90px; top:-70px; }
.score-card h2 { color:white; }
.score-card p { color:#9facbf; font-size:12px; margin-top:5px; }
.score-row { display:flex; align-items:center; gap:17px; margin-top:24px; }
.score-ring { width:100px; height:100px; border-radius:50%; display:grid; place-items:center; background: conic-gradient(var(--mint) 0deg 270deg, #243550 270deg 360deg); position:relative; flex:0 0 auto; }
.score-ring:after { content:''; width:77px; height:77px; border-radius:50%; background:var(--navy); position:absolute; }
.score-ring strong { position:relative; z-index:1; font:700 24px 'Space Grotesk'; }
.score-copy strong { display:block; font-size:14px; }
.score-copy span { display:block; color:#aab6c9; font-size:11px; margin-top:6px; line-height:1.45; }
.progress { height:7px; background:#edf0f4; border-radius:99px; overflow:hidden; }
.progress > span { display:block; height:100%; border-radius:99px; background:var(--mint); }
.health-list { display:flex; flex-direction:column; gap:15px; }
.health-item { display:grid; grid-template-columns: 1fr auto; gap: 7px 12px; align-items:center; }
.health-item .name { font-size:12px; color:#344054; }
.health-item .date { font-size:11px; color:var(--muted); }
.health-item .progress { grid-column:1 / -1; height:5px; }
.stack { display:flex; flex-direction:column; gap:16px; }
.split-card { display:grid; grid-template-columns: 1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.split-card > div { background:white; padding:18px; }
.stat-num { font:700 26px 'Space Grotesk'; margin-top:10px; }
.stat-label { font-size:12px; color:var(--muted); }
.signal { display:flex; gap:11px; align-items:flex-start; padding:12px 0; border-top:1px solid #f0f2f5; }
.signal:first-of-type { border-top:0; padding-top:0; }
.signal-icon { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; font-size:13px; background:#fff6e6; color:#c9851c; flex:0 0 auto; }
.signal-icon.red { background:#fff0f0; color:#bf5555; }
.signal-icon.green { background:#eafaf5; color:#1c8f72; }
.signal strong { display:block; font-size:12px; color:#344054; }
.signal span { display:block; font-size:11px; color:var(--muted); margin-top:3px; line-height:1.4; }
.toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:16px; }
.filter-row { display:flex; gap:8px; align-items:center; }
.input, .select { border:1px solid var(--line); background:white; color:#344054; border-radius:9px; padding:9px 11px; font-size:12px; outline:none; }
.input:focus, .select:focus { border-color:#97cbbd; box-shadow:0 0 0 3px #eafaf5; }
.search { min-width:220px; }
.tabs { display:flex; gap:20px; border-bottom:1px solid var(--line); margin-bottom:20px; }
.tabs button { border:0; background:transparent; padding:0 0 12px; color:var(--muted); font-size:13px; font-weight:600; border-bottom:2px solid transparent; }
.tabs button.active { color:var(--ink); border-color:var(--mint-deep); }
.detail-layout { display:grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px,.75fr); gap:16px; }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.service-card { border:1px solid var(--line); border-radius:11px; padding:12px; background:#fbfcfd; }
.service-card-top { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.service-card-top strong { font-size:12px; color:#344054; }
.service-card-top .badge { font-size:9px; padding:4px 6px; }
.service-card-top .badge { font-size:.75rem; }
.service-score { display:flex; align-items:center; gap:9px; margin-top:13px; }
.service-score > span { font:700 19px 'Space Grotesk'; color:#1d2939; }
.service-score .progress { flex:1; }
.service-foot { display:flex; justify-content:space-between; align-items:center; margin-top:10px; color:var(--muted); font-size:10px; }
.service-list { display:flex; flex-direction:column; gap:12px; }
.service-line { display:flex; align-items:center; gap:9px; padding:10px 0; border-top:1px solid #f0f2f5; }
.service-line:first-child { border-top:0; padding-top:0; }
.service-dot { width:8px; height:8px; border-radius:50%; background:#d0d5dd; flex:0 0 auto; }
.service-dot.active { background:var(--mint-deep); box-shadow:0 0 0 4px #eafaf5; }
.service-line div { flex:1; }
.service-line strong { display:block; color:#344054; font-size:12px; }
.service-line span { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.onboarding-steps { display:flex; flex-direction:column; gap:0; }
.onboarding-step { display:flex; gap:12px; position:relative; padding:0 0 22px; }
.onboarding-step:not(:last-child):before { content:''; position:absolute; left:14px; top:29px; bottom:0; width:1px; background:#dfe5ec; }
.step-no { width:29px; height:29px; border-radius:50%; background:#f2f4f7; color:#667085; display:grid; place-items:center; font-size:12px; font-weight:700; flex:0 0 auto; position:relative; z-index:1; }
.onboarding-step.done .step-no { background:#eafaf5; color:var(--mint-deep); }
.onboarding-step.current .step-no { background:var(--navy); color:white; box-shadow:0 0 0 5px #eafaf5; }
.onboarding-step strong { display:block; color:#344054; font-size:13px; margin-top:4px; }
.onboarding-step span { display:block; color:var(--muted); font-size:12px; line-height:1.45; margin-top:5px; max-width:500px; }
.onboarding-step button { margin-top:11px; }
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; border:1px solid var(--line); padding:11px; border-radius:9px; }
.check-grid label { font-size:12px; color:#475467; display:flex; align-items:center; gap:7px; }
@media (max-width: 760px) { .topbar { height:auto; min-height:76px; flex-wrap:wrap; gap:10px; padding:12px 18px !important; } .top-actions { flex-wrap:wrap; } .top-actions .badge { white-space:normal; } .profile { overflow-wrap:anywhere; } .signout { padding:4px; font-size:.75rem; } }
.detail-hero { display:flex; align-items:flex-start; gap:16px; }
.customer-avatar { width:52px; height:52px; border-radius:14px; background:#eafaf5; color:var(--mint-deep); display:grid; place-items:center; font:700 17px 'Space Grotesk'; flex:0 0 auto; }
.detail-hero p { color:var(--muted); font-size:12px; margin-top:6px; }
.detail-section { margin-top:20px; }
.finding { border-top:1px solid #edf0f4; padding:15px 0; }
.finding:first-child { border-top:0; padding-top:0; }
.finding-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.finding-title { font-size:13px; font-weight:600; color:#1d2939; }
.finding-meta { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:6px; }
.finding-meta span { color:var(--muted); font-size:11px; }
.finding p { color:#667085; font-size:12px; line-height:1.45; margin-top:9px; }
.evidence-row { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid #edf0f4; padding:14px 0; }
.evidence-left { display:flex; gap:10px; align-items:center; }
.file-icon { width:32px; height:32px; background:#eef3ff; border-radius:9px; display:grid; place-items:center; color:#4876cf; font-size:14px; }
.evidence-left strong { display:block; font-size:12px; color:#344054; }
.evidence-left span { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.evidence-status { text-align:right; }
.evidence-status strong { display:block; font-size:12px; color:#344054; }
.evidence-status span { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.side-list { display:flex; flex-direction:column; gap:12px; }
.side-list-item { padding:12px; background:#f8fafc; border-radius:10px; }
.side-list-item strong { font-size:12px; display:block; color:#344054; }
.side-list-item span { font-size:11px; color:var(--muted); display:block; margin-top:5px; line-height:1.4; }
.empty { padding:42px 20px; text-align:center; color:var(--muted); }
.empty strong { display:block; color:#344054; margin-bottom:7px; }
.modal-backdrop { position:fixed; inset:0; background:rgba(11,18,32,.48); display:grid; place-items:center; z-index:10; padding:20px; }
.modal { width:min(520px, 100%); background:white; border-radius:16px; box-shadow:0 24px 80px rgba(0,0,0,.22); padding:23px; }
.modal-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
.modal-head p { color:var(--muted); font-size:12px; margin-top:6px; }
.close { border:0; background:#f2f4f7; color:#667085; border-radius:8px; width:30px; height:30px; }
.form-grid { display:grid; gap:15px; }
.field label { display:block; font-size:12px; color:#344054; font-weight:600; margin-bottom:6px; }
.field .input, .field .select { width:100%; }
.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:22px; }
.toast { position:fixed; right:24px; bottom:24px; background:var(--navy); color:white; border:1px solid #2a3b5a; box-shadow:var(--shadow); border-radius:10px; padding:12px 15px; font-size:12px; opacity:0; transform:translateY(10px); pointer-events:none; transition:.2s ease; z-index:30; }
.toast.show { opacity:1; transform:translateY(0); }
.mini-kicker { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.report-grid { grid-template-columns: repeat(3, 1fr); }
.report-card { padding:20px; min-height:168px; display:flex; flex-direction:column; justify-content:space-between; }
.report-card .report-icon { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:#eef3ff; color:#4775cc; }
.report-card h3 { margin-top:20px; font-size:15px; }
.report-card p { color:var(--muted); font-size:12px; line-height:1.45; margin-top:6px; }
.report-card button { align-self:flex-start; margin-top:17px; }
.admin-list { display:grid; grid-template-columns: repeat(2, 1fr); gap:12px; }
.admin-item { padding:17px; border:1px solid var(--line); border-radius:12px; background:#fff; display:flex; justify-content:space-between; align-items:center; gap:15px; }
.admin-item strong { display:block; font-size:13px; }
.admin-item span { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.toggle { width:38px; height:22px; background:#d0d5dd; border-radius:99px; padding:3px; border:0; }
.toggle:after { content:''; display:block; width:16px; height:16px; background:white; border-radius:50%; transition:.15s; }
.toggle.on { background:var(--mint-deep); }
.toggle.on:after { transform:translateX(16px); }
@media (max-width: 1080px) { .sidebar { width:214px; flex-basis:214px; } .metric-grid { grid-template-columns:repeat(2,1fr); } .content-grid, .detail-layout { grid-template-columns:1fr; } .service-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 760px) { .sidebar { width:62px; flex-basis:62px; padding:18px 10px; } .brand { padding:0; justify-content:center; } .brand > span:not(.brand-mark), .brand small, .workspace-switcher, .section-label, .nav button span:not(.ico), .profile > div, .sidebar-bottom .profile { display:none; } .nav button { justify-content:center; padding:11px 7px; } .sidebar-bottom { display:flex; justify-content:center; } .topbar { padding:0 18px; } .main-content { padding:22px 18px 40px; } .page-head { flex-direction:column; } .top-actions .icon-btn { display:none; } .toolbar { align-items:stretch; flex-direction:column; } .filter-row { width:100%; } .search { flex:1; min-width:0; } .report-grid, .admin-list { grid-template-columns:1fr; } .service-grid, .check-grid { grid-template-columns:1fr; } h1 { font-size:26px; } }
.onboarding-items[hidden]{display:none!important}
.onboard-grid{align-items:start}
.onboarding-heading{flex:1;min-width:0}
.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;padding:4px 0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.section-toggle:focus-visible{outline:2px solid #13856c;outline-offset:4px;border-radius:3px}
.section-toggle span{font-size:20px!important;color:#187e67}
.risk-modal{max-width:760px!important;max-height:90vh;overflow-y:auto}
.risk-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.risk-table td{vertical-align:top;font-size:14px}
.risk-table small{display:block;font-size:13px;margin-top:6px;color:#64748b}
.risk-table .risk-overdue{color:#b33838}
.risk-table th:first-child{min-width:180px}
@media(max-width:560px){.risk-rating-grid{grid-template-columns:1fr}.onboarding-group-head{flex-wrap:wrap}.onboarding-heading{flex-basis:100%}}
/* Database workspaces */
.workspace-banner{display:flex;gap:14px;align-items:center;padding:14px 18px;background:#eafaf5;border:1px solid #bfe8db;border-radius:10px;color:#155f50;margin-bottom:20px;font-size:13px}
.record-fields{border:0;padding:0;margin:20px 0;min-width:0}
.record-fields:disabled .input,.record-fields:disabled .select{color:#344054;background:#f8fafc;opacity:1}
tr[hidden]{display:none}
td small{display:block;color:#667085;font-size:12px;margin-top:5px;max-width:350px;white-space:normal}
.topbar .button{flex-shrink:0}
@media(max-width:720px){.workspace-banner{align-items:flex-start;flex-direction:column;gap:6px}.topbar{gap:10px;flex-wrap:wrap}.topbar .crumb{flex-wrap:wrap}.page-head{align-items:flex-start;gap:16px}}
.available-coverage{margin-top:20px}
.available-service-list{margin:16px 0;padding-left:20px;color:var(--text)}
.available-service-list li{margin:12px 0}
.available-service-list p{margin:4px 0;color:var(--muted)}
/* GDPR working surface: controls at left, evidence and decisions at right. */
.gdpr-layout{display:grid;grid-template-columns:minmax(240px,0.8fr) minmax(0,2fr);gap:20px;align-items:start;margin:20px 0}
.gdpr-control-list{padding:10px;max-height:82vh;overflow:auto;position:sticky;top:18px}
.gdpr-control{display:flex;flex-direction:column;gap:6px;width:100%;padding:16px;text-align:left;border:0;border-bottom:1px solid #e4eaf0;background:transparent;color:#0b1220;cursor:pointer;font:inherit;border-radius:8px}
.gdpr-control:hover,.gdpr-control.selected{background:#e7f6f1}.gdpr-control.selected{box-shadow:inset 3px 0 #178b75}
.gdpr-control small{font-size:13px;color:#53647d}.gdpr-control span{font-size:14px}.gdpr-control strong{font-size:16px;line-height:1.4}
.gdpr-control-detail p,.gdpr-overview p{line-height:1.65;overflow-wrap:anywhere}.gdpr-control-detail h3{margin-top:22px}
.gdpr-form{margin:18px 0}.gdpr-form fieldset{border:0;padding:0;margin:0}.gdpr-form .form-grid{margin:15px 0}.gdpr-form .field{min-width:0;display:flex;flex-direction:column;gap:8px}.gdpr-form textarea{width:100%;resize:vertical}.gdpr-form .field:has(textarea){grid-column:1/-1}
.gdpr-form input,.gdpr-form select{max-width:100%}.gdpr-form fieldset:disabled{opacity:.85}.gdpr-form button{margin:5px 0}
.gdpr-evidence{border:1px solid #e0e7ef;background:#f8fafc;padding:15px;border-radius:10px;margin:12px 0}.gdpr-evidence small{display:block;margin-top:10px;color:#53647d}
.gdpr-review-picker{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}.gdpr-review-picker .field{display:flex;flex-direction:column;gap:8px;max-width:100%}
.gdpr-control-detail details,.gdpr-overview details{margin:15px 0}.gdpr-control-detail summary,.gdpr-overview summary{cursor:pointer;font-weight:600}.gdpr-control-detail hr{border:0;border-top:1px solid #e4eaf0;margin:24px 0}
@media(max-width:900px){.gdpr-layout{grid-template-columns:1fr}.gdpr-control-list{position:static;max-height:340px}.gdpr-form .form-grid{grid-template-columns:1fr}}
.required-marker{color:#bb2435;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.field-heading{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.gdpr-form .field-heading label{display:inline;margin:0}.field-help{display:inline-block;position:relative;font-size:14px;font-weight:400}.gdpr-control-detail details.field-help{margin:0}.field-help summary{list-style:none;color:#17695a;cursor:pointer;padding:2px 4px;display:inline-block}.field-help summary::-webkit-details-marker{display:none}.field-help summary:focus-visible{outline:2px solid #178b75;border-radius:3px}.field-help-panel{position:absolute;left:0;top:100%;width:min(360px,75vw);padding:14px;background:#fff;border:1px solid #aabbb7;box-shadow:0 8px 28px #122b3426;border-radius:8px;z-index:20;color:#26394c;line-height:1.6;text-align:left}.question-prompt{line-height:1.7;margin:12px 0}.incomplete-notice{padding:12px 16px;border:1px solid #e5be66;background:#fff8e5;color:#6b4900;border-radius:8px;margin:14px 0}.incomplete-notice p{margin:5px 0}.gdpr-control-list{scroll-behavior:auto;overflow-anchor:none}.field:has(.field-help[open]){position:relative;z-index:21}
/* Company directory and request actions */
.tag-list{display:flex;flex-wrap:wrap;gap:6px;max-width:460px}
.portal-tags{border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:14px;max-height:280px;overflow:auto}
.portal-tags legend{font-weight:600;padding:0 6px}
.portal-tags .checkbox-field{margin:8px 0;align-items:flex-start}
.available-service-list li .button{margin-top:8px}
:root{--admin-line:#dfe6eb}
.admin-disclosure{margin:20px 0;border:1px solid var(--admin-line);border-radius:12px;background:#fff;overflow:hidden}
.admin-disclosure>summary{padding:20px 22px;cursor:pointer;list-style:disclosure-closed;color:#0b1220;font-size:17px}
.admin-disclosure[open]>summary{list-style:disclosure-open;border-bottom:1px solid var(--admin-line)}
.admin-disclosure>summary .badge{margin-left:16px;vertical-align:middle}
.admin-disclosure>section.card{border:0;margin:0;border-radius:0;box-shadow:none}
.log-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.log-table{min-width:820px;table-layout:fixed}
.log-table td,.log-table th{overflow-wrap:anywhere;vertical-align:top}
.log-table td:first-child{width:170px}
.integration-result{padding:18px;margin-top:20px;background:#edf8f5;border:1px solid #c9e6dd;border-radius:8px}
#admin-autotask .form-grid{max-width:780px;margin-top:20px}
@media(max-width:650px){.admin-disclosure>summary .badge{display:block;margin:8px 0 0 16px}}
