/* Referral and account pages use the original Instrument type and palette. */
.legal { display:flex; flex-wrap:wrap; gap:5px 22px; padding-block:12px; }
.legal a, .offer-note a, .form-note a, .checkline a { text-decoration:underline; text-underline-offset:3px; }
.legal a { color:#c7cbd8; padding-block:5px; }
.offer-note { color:#d6defe; }
.browser-bar { color:#606570; }
.auren-scene .demo-kicker { color:#536044; }
.home-referral {
  display:flex; align-items:center; justify-content:space-between; gap:24px; margin-block:20px;
  padding:clamp(24px,5vw,62px); border:1px solid #35436c; border-radius:24px; background:linear-gradient(110deg,#111424,#1a2a68);
}
.home-referral h2 { font-size:clamp(2.15rem,4.6vw,4rem); line-height:1; letter-spacing:-.05em; }
.home-referral h2 em { color:#bcc9ff; }
.home-referral p { color:#d5dcf0; margin-top:12px; }
.home-referral .button { flex-shrink:0; }
.contact-card .form-note { margin-block:8px 13px; }
.receipt { margin-bottom:10px; color:#29447f; font-size:.85rem; font-weight:600; overflow-wrap:anywhere; }
.contact-card .service-chips label>span { min-height:42px; }
.contact-card .service-options { margin-top:14px; }
.referral-control { margin-block:16px; padding:10px 13px; background:#f3f6ff; border:1px solid #cad4ed; border-radius:12px; }
.referral-control summary { cursor:pointer; min-height:32px; font-weight:600; font-size:.9rem; }
.referral-control input[readonly] { color:#203f9e; font-weight:600; }
.sr-only,.trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.checkline { display:flex; align-items:flex-start; gap:9px; margin-block:10px; font-size:.875rem; }
.checkline input[type=checkbox], .contact-card .checkline input[type=checkbox] {
  width:18px; height:18px; min-height:0; margin:3px 0 0; padding:0; flex-shrink:0; accent-color:var(--blue);
}
.checkline label { min-height:24px; cursor:pointer; }
.challenge { font-size:.82rem; color:#4b556d; margin-block:8px; }
.challenge:empty, .warning:empty { display:none; }
.feedback:not(:empty) { margin-block:8px; }
.feedback { color:#29477d; line-height:1.5; font-size:.91rem; }
.feedback.error { color:#a1212b; font-weight:600; }
.feedback.on-dark { color:#d8e4ff; }
.feedback.on-dark.error { color:#ffbabf; }
.plain { background:none; color:#2441aa; padding:5px 0; min-height:42px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.warning { color:#8c301c; margin-block:8px; font-size:.89rem; }
button[disabled] { cursor:wait; opacity:.65; transform:none; }
.buttons { display:flex; align-items:center; flex-wrap:wrap; gap:8px 13px; }
.sub-header {
  width:min(1200px,calc(100% - 32px)); margin:16px auto 0; border-radius:17px; padding:12px clamp(14px,4vw,35px);
  display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f4f5f7; color:#171a24;
}
.sub-header nav { display:flex; flex-wrap:wrap; gap:4px 21px; align-items:center; }
.sub-header nav>a { display:inline-flex; align-items:center; min-height:42px; font-size:.88rem; font-weight:600; }
.sub-header .button { width:auto; margin:0; padding:7px 17px; }
.sub-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 24px; padding-block:20px 34px; }
.notice { padding:10px 13px; margin-block:12px; border:1px solid #e2c16d; border-radius:10px; background:#fff0cd; color:#553614; font-size:.87rem; }
.refer-hero {
  display:grid; grid-template-columns:1.5fr minmax(245px,.85fr); align-items:center; gap:clamp(24px,5vw,68px);
  min-height:530px; margin-block:16px; padding:clamp(30px,6vw,82px); border:1px solid #2a365e; border-radius:27px;
  background:radial-gradient(ellipse at 94% 0,#243ea8 0,#15244e 38%,#0b0f1c 69%);
}
.refer-hero .eyebrow { margin-bottom:17px; color:#ccd7ff; }
.refer-hero h1 { font-size:clamp(3.25rem,7.6vw,7.2rem); line-height:.94; letter-spacing:-.065em; }
.refer-hero h1 em { color:#d3ddff; }
.refer-hero .lede { max-width:43ch; margin-block:22px; font-size:clamp(1rem,1.8vw,1.2rem); color:#e6eafa; }
.refer-hero .button-light { padding-inline:22px; }
.offer { padding:clamp(20px,3vw,34px); border:1px solid #ffffff66; border-radius:21px; background:#101a5080; }
.offer strong { display:block; font:400 clamp(5rem,11vw,9.5rem)/.83 var(--serif); letter-spacing:-.062em; color:#dce4ff; }
.offer h2 { margin-block:20px 11px; font-size:clamp(1.5rem,2.8vw,2.1rem); line-height:1.12; letter-spacing:-.035em; }
.offer p { color:#e3e8fc; }
.offer a { display:inline-flex; align-items:center; min-height:43px; margin-top:7px; text-decoration:underline; text-underline-offset:4px; }
.program-section { margin-block:16px; padding-block:clamp(34px,6vw,86px); border-radius:24px; }
.program-section h2, .auth-pitch h1, .policy h1 { font-size:clamp(2.55rem,5.6vw,5.15rem); line-height:1.01; letter-spacing:-.055em; }
.program-section h2 em { color:#3351bd; }
.program-section h2+p, .program-section table+p { margin-block:14px; color:#4d586e; max-width:58ch; }
.reward-grid { display:grid; grid-template-columns:1.25fr .85fr; gap:clamp(22px,6vw,70px); }
.rewards { width:100%; border-collapse:collapse; text-align:left; }
.rewards th,.rewards td { padding:12px 8px; border-bottom:1px solid #d3d8e7; }
.rewards th { font-size:.85rem; color:#47536b; }
.rewards td { font-size:.94rem; }
.rewards td+td { font-weight:700; color:#2846ad; white-space:nowrap; }
.steps { align-self:start; padding:22px 25px; border-radius:18px; background:#e9eefb; }
.steps h3 { font-size:1.45rem; }
.steps ol { margin-bottom:0; padding-left:24px; }
.steps li { color:#303e58; padding:7px 0 7px 5px; }
.steps li::marker { color:#304eb9; font-weight:700; }
.auth-layout {
  display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(20px,7vw,90px);
  max-width:1020px; min-height:600px; padding-block:clamp(28px,7vw,92px);
}
.auth-pitch { padding-top:clamp(7px,4vw,45px); }
.auth-pitch h1 { max-width:11ch; }
.auth-pitch h1 em { color:#b5c3ff; }
.auth-pitch p { color:#c6cee4; max-width:37ch; margin-block:16px; }
.surface { min-width:0; border:1px solid #d5dceb; border-radius:19px; padding:clamp(16px,3vw,28px); color:#191d2b; background:var(--paper); }
.surface h2 { font-size:clamp(1.42rem,3vw,2rem); line-height:1.16; letter-spacing:-.034em; }
.surface h3 { font-size:1.2rem; line-height:1.25; }
.surface .muted, .muted { color:#4d5a72; }
.surface p { overflow-wrap:anywhere; }
.surface .button { min-height:43px; padding:8px 15px; font-size:.89rem; }
.surface .buttons { margin-top:10px; }
.surface :focus-visible, .contact-card :focus-visible { outline-color:#2b4bb7; }
.form-stack { display:grid; gap:10px; margin-top:13px; }
.surface label { display:block; font-size:.88rem; font-weight:600; color:#34415c; }
.surface input:not([type=checkbox]), .surface select, .surface textarea {
  display:block; width:100%; min-height:44px; margin-top:4px; padding:8px 10px; font:inherit;
  border:1px solid #7b86a1; border-radius:8px; color:#1a243b; background:#fff;
}
.surface textarea { resize:vertical; }
.surface input[readonly] { background:#edf1fb; }
.account-page { min-height:100svh; background:radial-gradient(ellipse at 70% 8%,#19234b 0%,#101626 33%,#08090b 76%); }
.account-page .auth-layout { align-items:center; }
.account-page .auth-pitch { padding-top:0; }
.account-page .auth-pitch h1 { max-width:none; font-size:clamp(3.25rem,7vw,6rem); line-height:.94; }
.account-card { padding:clamp(20px,4vw,42px); border-radius:22px; background:#fbfcff; box-shadow:0 28px 86px #0005; }
.account-card h2 { margin:4px 0 7px; font-size:clamp(1.9rem,4vw,2.65rem); }
.account-card .form-stack { gap:15px; margin-top:21px; }
.account-card .form-stack>.button { min-height:48px; border-radius:10px; font-size:1rem; }
.password-field>div { position:relative; }
.surface .password-field input { padding-right:72px; }
.password-field button { position:absolute; right:5px; top:4px; bottom:4px; min-width:54px; border-radius:6px; color:#25439b; background:#edf1fc; font-size:.8rem; font-weight:600; }
.account-options { border-top:1px solid #dfe5f1; padding-top:13px; }
.account-tabs { display:flex; gap:8px; padding:6px; margin:20px 0 24px; width:fit-content; max-width:100%; border:1px solid #43517b; border-radius:12px; background:#141c32; }
.account-tabs a { padding:10px 16px; color:#d5dff6; border-radius:8px; font-size:.9rem; font-weight:600; }
.account-tabs a[aria-current=page] { color:#1e3471; background:#f0f3ff; }
.project-list-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.project-list-heading h2 { font-size:clamp(1.52rem,3vw,2.4rem); }
.project-list-heading p { color:#cad5ec; margin-top:6px; }
.customer-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.projects-empty { grid-column:1/-1; padding-block:clamp(25px,6vw,52px); }
.projects-empty p,.customer-project>p,#referral-verify p { margin-top:8px; }
.customer-project-head { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px; }
.customer-quote { margin-top:14px; border-top:1px solid #d7dfed; padding-top:10px; }
.customer-quote summary { min-height:34px; cursor:pointer; color:#2244a6; font-weight:600; }
#referral-verify .button { margin-top:14px; }
.form-heading p a { color:#2947ab; text-decoration:underline; text-underline-offset:3px; }
#track-project { display:inline-block; margin-bottom:12px; }
.policy { max-width:830px; padding-block:23px; }
.policy .surface { padding:clamp(20px,5vw,58px); }
.policy h1 { margin-top:10px; }
.policy h2 { margin-top:28px; }
.policy p { margin-top:13px; max-width:74ch; color:#48556e; }
.policy a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.workspace { min-height:72vh; padding-block:clamp(23px,4vw,54px); }
.workspace>.surface, .workspace .surface { margin-bottom:15px; }
.workspace-title { display:flex; justify-content:space-between; align-items:center; gap:12px 20px; margin-bottom:18px; }
.workspace-title h1 { font-size:clamp(2.05rem,4.8vw,4rem); line-height:1.02; letter-spacing:-.05em; }
.workspace-title p { color:#c4cce0; margin-top:8px; }
.workspace-title .button-light { padding-inline:20px; }
.metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.metrics>div { padding:10px 13px; border:1px solid #d6deef; border-radius:11px; background:white; }
.metrics dt { color:#495875; font-size:.85rem; }
.metrics dd { margin:3px 0 0; font-size:clamp(1.12rem,3vw,1.85rem); letter-spacing:-.035em; font-weight:600; overflow-wrap:anywhere; }
.share-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; margin-block:13px; }
.dual { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.table-wrap { overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; text-align:left; font-size:.86rem; margin-block:11px; }
.data-table th,.data-table td { border-bottom:1px solid #d3d9e7; padding:9px 6px; vertical-align:top; overflow-wrap:anywhere; }
.data-table th { color:#465574; }
.pill { display:inline-block; padding:3px 7px; font-weight:600; font-size:.76rem; line-height:1.3; color:#344572; background:#e4ebfb; border-radius:6px; }
.pill.good { color:#195b42; background:#deeee6; }
.workspace-nav { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.workspace-nav button { padding:8px 12px; min-height:43px; border:1px solid #3d4969; border-radius:9px; color:#e4e9fc; background:#1c2237; }
.workspace-nav button[aria-pressed=true] { background:#e0e8ff; color:#1c3468; border-color:#adbded; }
.fields,.record-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.fields>.wide { grid-column:1/-1; }
.record-grid>div { border-bottom:1px solid #d7dfed; padding:6px 0; overflow-wrap:anywhere; }
.record-grid dt { color:#4d5b76; font-size:.82rem; }
.record-grid dd { margin:2px 0; white-space:pre-wrap; }
.record-grid a { text-decoration:underline; }
.admin-card { margin-top:13px; padding:11px 14px; border:1px solid #d4dcec; border-radius:12px; background:#fff; }
.admin-card summary { cursor:pointer; min-height:40px; align-content:center; font-weight:600; color:#253658; }
.admin-card p { margin-block:5px 8px; }
.record-buttons { display:grid; gap:8px; margin-block:12px; }
.record-buttons button { width:100%; min-height:46px; padding:9px 12px; border:1px solid #c7d1ee; border-radius:9px; background:#fff; text-align:left; color:#25439b; }
.record-buttons button:hover { background:#e9eeff; }
.empty { padding-block:13px; color:#4d5a72; }
.pre-wrap { white-space:pre-wrap; }
.card-rule { margin-block:19px; border:0; border-top:1px solid #d3dceb; }
@media(max-width:850px) {
  .refer-hero { grid-template-columns:1fr; min-height:0; }
  .offer { max-width:520px; }
  .reward-grid,.dual,.share-row { grid-template-columns:1fr; }
}
@media(max-width:620px) {
  .sub-header,.workspace-title { flex-wrap:wrap; }
  .sub-header nav { gap:4px 12px; }
  .home-referral { align-items:flex-start; flex-direction:column; }
  .refer-hero { padding:30px 18px; }
  .auth-layout,.fields { grid-template-columns:1fr; min-height:0; }
  .customer-projects { grid-template-columns:1fr; }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .data-table,.data-table tbody,.data-table tr,.data-table td { display:block; }
  .data-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .data-table tr { border:1px solid #d4dcec; border-radius:9px; margin-bottom:7px; padding:6px; background:white; }
  .data-table td { display:grid; grid-template-columns:minmax(6ch,.72fr) minmax(0,1fr); gap:7px; padding:5px 3px; border:0; }
  .data-table td::before { content:attr(data-label); font-size:.8rem; font-weight:600; color:#465574; }
}
