/* Insurance workspace: polished materials, explicit states, immediate feedback. */
.insurance-workspace{max-width:1180px;margin:0 auto;color:#20354a}
.insurance-workspace [hidden],#insurance [hidden]{display:none!important}
.insurance-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:38px;padding:38px;border-radius:24px;background:radial-gradient(ellipse at 80% 0%,#44646b 0%,transparent 60%),linear-gradient(125deg,#172d40,#25494c);color:#fff;border:1px solid #49616a;box-shadow:0 16px 38px #20354a18,inset 0 1px 0 #ffffff26}
.insurance-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5b716f}
.insurance-hero .insurance-eyebrow{color:#c2d6d7}
.insurance-hero h2{font-size:clamp(26px,2.5vw,38px);letter-spacing:-.035em;line-height:1.18;font-weight:600;margin:18px 0;color:#fff}
.insurance-hero p{font-size:14px;line-height:1.75;color:#d7e3e6;max-width:520px;margin:0}
.insurance-hero-tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#d9e8e7;margin-top:24px}
.insurance-hero-tag svg{width:21px;height:21px;flex-shrink:0}
.insurance-partner{background:linear-gradient(145deg,#ffffff19,#ffffff08);border:1px solid #ffffff26;border-radius:18px;padding:24px;box-shadow:inset 0 1px 0 #ffffff17;align-self:center}
.insurance-partner-avatar{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(130deg,#eaf1ed,#b5cdcb);box-shadow:0 4px 14px #0002,inset 0 1px 0 #fff;color:#25464b;font:600 20px Georgia,serif;margin-bottom:20px}
.insurance-partner h3{font-size:19px;font-weight:600;margin:10px 0 3px;color:white}
.insurance-partner a{display:inline-block;font-size:13px;color:#e8f0f1;text-underline-offset:4px;margin-top:12px;overflow-wrap:anywhere}
.insurance-partner-note{border-top:1px solid #ffffff26;margin-top:18px;padding-top:16px;font-size:12px;line-height:1.6;color:#c9dcde}
.insurance-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:24px 8px;margin:0}
.insurance-steps li{display:flex;align-items:center;gap:13px}
.insurance-steps li>span{font:500 13px/1 inherit;display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:linear-gradient(#fff,#eef2f2);border:1px solid #dce4e5;box-shadow:0 2px 4px #20354a06;color:#567073}
.insurance-steps strong{display:block;font-size:13px;font-weight:600}
.insurance-steps small{display:block;font-size:12px;color:#61737e;margin-top:4px}
.insurance-simulation{background:#fff6e7;border:1px solid #ecdbba;padding:12px 16px;border-radius:12px;color:#765525;font-size:13px}
.insurance-state{display:flex;gap:15px;align-items:flex-start;background:#edf4f1;border:1px solid #d4e4db;border-radius:16px;padding:21px 24px;margin:0 0 22px}
.insurance-state h3{font-size:15px;font-weight:650;margin:0 0 6px;color:#284b42}
.insurance-state p{font-size:13px;line-height:1.6;margin:0;color:#466058}
.insurance-state-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #bdd3c7;border-radius:50%;flex-shrink:0;color:#315e4d;background:#ffffff80}
.insurance-state[data-state=loading] .insurance-state-icon,.insurance-state[data-state=pending] .insurance-state-icon,.insurance-state[data-state=error] .insurance-state-icon{font-size:0}
.insurance-state[data-state=loading] .insurance-state-icon:after{content:'…';font-size:20px}
.insurance-state[data-state=pending] .insurance-state-icon:after,.insurance-state[data-state=error] .insurance-state-icon:after{content:'!';font-size:17px}
.insurance-state[data-state=error],.insurance-state[data-state=pending]{background:#fff7ed;border-color:#ebdcc6}
.insurance-state[data-state=error] h3,.insurance-state[data-state=pending] h3{color:#795225}
.insurance-text-button{font-family:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:#244e52;padding:0;margin-top:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.insurance-workspace .insurance-card{max-width:none;padding:0;background:#fff;border:1px solid #dbe3e6;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px #233a4e08,0 1px 2px #233a4e06}
.insurance-email-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 30px;border-bottom:1px solid #e5ebed;background:linear-gradient(120deg,#fff,#f4f7f7)}
.insurance-email-header h3{font-size:19px;letter-spacing:-.02em;margin:8px 0 0}
.insurance-recipient{font-size:12px;border:1px solid #dbe3e6;background:#fff;border-radius:8px;padding:8px 11px;white-space:nowrap;color:#506371}
.insurance-letter{padding:26px 30px}
.insurance-letter h4{font-size:14px;font-weight:600;line-height:1.6;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid #e9edef}
.insurance-workspace .insurance-email{background:transparent;padding:0;margin:0;font:13px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#4c606f}
.insurance-send-area{padding:24px 30px 28px;border-top:1px solid #e3e9eb;background:#f7f9f9}
.insurance-workspace .insurance-consent{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:13px;line-height:1.65;color:#354d5d;cursor:pointer}
.insurance-consent input{width:19px;height:19px;margin:2px 0 0;accent-color:#315e5d;flex-shrink:0;cursor:pointer}
.insurance-hint{font-size:12px;color:#617581;line-height:1.6;margin:12px 0 18px}
.insurance-send{font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 22px;border-radius:10px;border:1px solid #24484c;background:linear-gradient(#3d6669,#284e53);box-shadow:inset 0 1px 0 #ffffff30,0 4px 10px #243f501c;color:#fff;cursor:pointer;transition:box-shadow .15s,transform .15s}
.insurance-send:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff30,0 6px 15px #243f5030;transform:translateY(-1px)}
.insurance-send:active:not(:disabled){transform:translateY(1px)}
.insurance-send:disabled{background:#e4e9eb;color:#6b7982;border-color:#d5dee2;box-shadow:none;cursor:not-allowed;transform:none}
.insurance-send[aria-busy=true]{cursor:progress}
.insurance-send[aria-busy=true]:before{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:9px;animation:insurance-spin .8s linear infinite}
.insurance-footnote{font-size:12px;line-height:1.7;color:#627480;text-align:center;padding:18px 24px;margin:0}
.insurance-workspace :focus-visible,#insurance :focus-visible{outline:3px solid #628eae;outline-offset:4px}
#insurance{border-radius:20px;border:1px solid #dbe3e6;box-shadow:0 8px 28px #233a4e08;padding:28px!important;color:#20354a}
#insurance h2{letter-spacing:-.025em;font-weight:600;margin:0 0 10px}
.insurance-admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.insurance-admin-metrics>div{border:1px solid #dfe6e8;border-radius:12px;padding:18px;background:linear-gradient(135deg,#fff,#f1f5f5)}
.insurance-admin-metrics strong{display:block;font-size:28px;font-weight:600;letter-spacing:-.04em;color:#31595e}
.insurance-admin-metrics span{display:block;font-size:12px;color:#60727d;margin-top:5px}
#insuranceAdminStatus{font-size:13px;line-height:1.7;color:#5b6c79}
#insurance .btn{border-radius:9px;min-height:40px;margin-bottom:8px;background:linear-gradient(#34535f,#233d4b);border-color:#2f4c59;box-shadow:inset 0 1px 0 #ffffff24}
#insurance .btn:hover{color:#fff;background:#294854}
#insurance .btn.ghost{background:#fff;color:#385360;border-color:#d4dfe3}
#insurance .btn:disabled{cursor:not-allowed;opacity:.55}
#insurance input,#insurance select{border-radius:8px;margin-bottom:8px;font-size:13px}
#insurance td{vertical-align:top;min-width:110px}
#insurance td:last-child{min-width:245px}
#insuranceFollowupPreview{border:1px solid #dce5e8;background:#f7f9fa;border-radius:14px;padding:22px;margin:18px 0}
#insuranceFollowupText{font-family:inherit;font-size:13px;line-height:1.8}
#insurance .insurance-empty{padding:32px 12px;color:#61727e;line-height:1.6;text-align:center}
@keyframes insurance-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.insurance-hero{grid-template-columns:1fr;gap:22px;padding:28px}.insurance-partner{display:grid;grid-template-columns:46px 1fr;column-gap:16px;padding:20px}.insurance-partner-avatar{grid-row:1/5;margin:0}.insurance-partner-note{grid-column:1/-1}.insurance-partner .insurance-eyebrow{font-size:10px}.insurance-partner h3{margin:6px 0 0}.insurance-partner a{margin-top:4px}.insurance-email-header{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.insurance-hero{padding:24px;border-radius:18px}.insurance-hero h2{font-size:28px}.insurance-hero-tag{font-size:11px}.insurance-steps{gap:12px;padding:22px 0}.insurance-steps li{align-items:flex-start;flex-direction:column;gap:9px}.insurance-steps strong{font-size:12px}.insurance-steps small{font-size:11px;line-height:1.5}.insurance-email-header,.insurance-letter,.insurance-send-area{padding:22px}.insurance-state{padding:18px}.insurance-send{width:100%;font-size:13px}.insurance-admin-metrics{gap:8px}.insurance-admin-metrics>div{padding:12px}.insurance-admin-metrics strong{font-size:23px}.insurance-footnote{padding:18px 2px}}
@media(prefers-reduced-motion:reduce){.insurance-send{transition:none}.insurance-send[aria-busy=true]:before{animation:none}}

/* One place to request an insurance appointment or a broader team meeting. */
.support-workspace { max-width:900px; }
.support-intro h2 { margin:0 0 12px; font-size:clamp(24px,2.5vw,32px); line-height:1.25; letter-spacing:-.025em; }
.support-intro p { max-width:70ch; margin:0 0 28px; color:var(--l25-copy); font-size:15px; line-height:1.65; }
.support-choices,.support-needs { padding:0; margin:0 0 28px; border:0; min-width:0; }
.support-choices legend,.support-needs legend { padding:0; margin-bottom:12px; font-size:14px; font-weight:650; color:var(--l25-ink); }
.support-choices>label { display:flex; align-items:flex-start; gap:14px; padding:18px 20px; border:1px solid var(--l25-line); background:white; cursor:pointer; }
.support-choices>label:first-of-type { border-radius:12px 12px 0 0; }
.support-choices>label:last-of-type { border-radius:0 0 12px 12px; border-top:0; }
.support-choices>label:has(input:checked) { background:#eef4f1; }
.support-choices input,.support-needs input { width:19px; height:19px; flex-shrink:0; accent-color:var(--l25-emerald); margin:2px 0 0; }
.support-choices strong { display:block; color:var(--l25-ink); font-size:16px; line-height:1.5; }
.support-choices small { display:block; margin-top:4px; max-width:75ch; color:var(--l25-copy); font-size:14px; line-height:1.6; }
.support-team { display:flex; gap:20px; align-items:flex-start; margin:0 0 28px; padding:0 0 24px; border-bottom:1px solid var(--l25-line); }
.support-team img { width:88px; height:88px; flex-shrink:0; object-fit:cover; border-radius:12px; }
.support-team h3 { margin:0 0 8px; font-size:19px; line-height:1.35; }
.support-team p { margin:6px 0 0; font-size:14px; line-height:1.65; color:var(--l25-copy); }
.support-needs>div { display:flex; flex-wrap:wrap; gap:4px 24px; }
.support-needs label { display:flex; align-items:center; gap:10px; min-height:44px; color:var(--l25-copy); font-size:14px; cursor:pointer; }
.support-workspace .insurance-card { --request-inset:28px; padding:var(--request-inset); border:1px solid var(--l25-line); border-radius:14px; box-shadow:none; }
.support-workspace .insurance-card>h3 { margin:0; font-size:20px; line-height:1.4; }
.support-workspace .insurance-contact { margin:24px 0 20px; }
.support-workspace .insurance-contact>label { margin-bottom:10px; font-size:14px; font-weight:600; line-height:1.5; }
.support-workspace .insurance-contact-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; }
.support-workspace .insurance-contact-row input { width:100%; max-width:none; min-height:46px; padding:11px 13px; font-size:16px; line-height:1.4; border-color:#bfcdcd; }
.support-workspace #insuranceContactUpdate { margin:0; min-height:44px; padding:10px 14px; border:1px solid #baccc6; border-radius:8px; background:#fff; text-decoration:none; font-size:13px; line-height:1.5; }
.support-workspace #insuranceContactUpdate:hover:not(:disabled) { background:#edf4f1; border-color:var(--l25-emerald); }
.support-workspace #insuranceContactUpdate:disabled { color:var(--l25-copy); cursor:progress; }
.support-workspace .insurance-hint { font-size:13px; line-height:1.6; color:var(--l25-copy); }
.support-letter { border-top:1px solid var(--l25-line); margin-top:20px; padding-top:10px; }
.support-letter summary { display:list-item; list-style-position:inside; cursor:pointer; min-height:44px; padding:10px 0; font-size:14px; color:var(--l25-emerald); font-weight:600; }
.support-letter h4 { font-size:14px; line-height:1.6; margin:12px 0; }
.support-workspace .insurance-send-area { margin:22px calc(-1 * var(--request-inset)) calc(-1 * var(--request-inset)); padding:22px var(--request-inset) 26px; background:#f5f8f7; border-color:var(--l25-line); }
.support-workspace .insurance-consent { font-size:14px; line-height:1.6; gap:12px; }
.support-workspace .insurance-consent input { margin-top:3px; }
.support-workspace .insurance-send { min-height:46px; padding:12px 18px; background:var(--l25-emerald); border:0; border-radius:8px; box-shadow:none; transform:none; }
.support-workspace .insurance-send:hover:not(:disabled) { background:#244c45; box-shadow:none; transform:none; }
.support-workspace .insurance-send:disabled { background:#e2eae6; color:#53665e; box-shadow:none; transform:none; }
.support-workspace .insurance-footnote { max-width:75ch; text-align:left; padding:18px 0; font-size:12px; line-height:1.7; color:var(--l25-copy); }
@media(max-width:600px) {
  .support-workspace .insurance-contact-row { grid-template-columns:minmax(0,1fr); gap:10px; }
  .support-workspace #insuranceContactUpdate { justify-self:start; }
}
@media(max-width:480px) {
  .support-choices>label { padding:16px; }
  .support-team { gap:14px; }
  .support-team img { width:64px; height:64px; }
  .support-team h3 { font-size:17px; }
  .support-workspace .insurance-card { --request-inset:20px; }
  .support-workspace .insurance-card>h3 { font-size:19px; }
}
