﻿:root{
      --bg0:#fff8f4;
      --bg1:#fff2ea;
      --card:#fffdfb;
      --ink:#201b15;
      --muted:#5a4b40;
      --line:rgba(83,68,57,.14);

      --accent:#8e4e14;
      --accent2:#f4a261;
      --accent3:#356668;
      --accent-soft:#b9ecee;

      --good:#1f9d69;
      --bad:#b00020;

      --shadow: 0 18px 44px rgba(32,27,21,.08);
      --radius: 22px;
      --radius2: 999px;

      --max: 640px;          /* more roomy on phones */
      --tap: 54px;
      --focus: 0 0 0 4px rgba(244,162,97,.25);

      --font: "Manrope", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      --font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      --safe-bottom: 0px;
      --safe-bottom: constant(safe-area-inset-bottom);
      --safe-bottom: env(safe-area-inset-bottom);
    }

    *{ box-sizing:border-box }
    html,body{
      height:100%;
      overscroll-behavior-y: none;
      overscroll-behavior-x: none;
    }
    body{
      margin:0;
      font-family:var(--font);
      color:var(--ink);
      background:
        radial-gradient(1200px 620px at 18% 0%, rgba(244,162,97,.25), transparent 58%),
        radial-gradient(980px 540px at 80% 10%, rgba(185,236,238,.42), transparent 55%),
        linear-gradient(180deg, var(--bg1), var(--bg0));
      background-repeat: no-repeat;
      background-attachment: fixed;
      background-size: cover;
      overscroll-behavior-y: none;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-x pan-y;
    }

    a{ color:inherit }
    button, input, select, textarea{ font:inherit }
    code{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
    h1, h2, h3, .navtabs .tab, .bottomnav .tab, .fd-kicker, .fd-page-title, .fd-card-title, .fd-metric-value{
      font-family: var(--font-display);
    }

    .shell{ min-height:100%; display:flex; flex-direction:column; }

    .topbar{
      position:sticky; top:0; z-index:10;
      backdrop-filter: blur(16px);
      background: rgba(255,248,244,.82);
      border-bottom:1px solid rgba(83,68,57,.10);
      box-shadow: 0 10px 28px rgba(32,27,21,.04);
    }
    .topbar-inner{
      max-width: 1280px;
      margin:0 auto;
      padding: 16px 20px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 220px;
    }
    .brand-btn{
      appearance:none;
      border:0;
      background:transparent;
      padding:0;
      margin:0;
      cursor:pointer;
      text-align:left;
    }

    /* Oval brand only (per request) */
    .mtp-oval{
      display:inline-flex;
      align-items:center;
      padding: 9px 14px;
      border: 2px solid rgba(20,22,26,.90);
      border-radius: 999px;
      font-weight: 600;
      letter-spacing: .2px;
      text-transform: lowercase;
      color: rgba(20,22,26,.95);
      background: rgba(255,255,255,.60);
      line-height: 1;
      font-size: 13.5px;
      white-space: nowrap;
    }

    /* JS controls visibility (only after auth) */
    .navtabs{
      display:none;
      gap:28px;
      align-items:center;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .tab{
      height: 44px;
      padding:0 18px;
      border-radius: var(--radius2);
      border:1px solid var(--line);
      background: rgba(255,255,255,.74);
      color: var(--ink);
      font-weight:700;
      font-size:13px;
      cursor:pointer;
      transition: transform .05s ease, background .2s ease, border-color .2s ease;
      white-space:nowrap;
    }
    .navtabs .tab{
      height: 44px;
      padding: 0 0 8px;
      border-radius: 0;
      border:0;
      border-bottom: 2px solid transparent;
      background: transparent;
      box-shadow: none;
      color: rgba(83,68,57,.82);
      font-size: 16px;
      font-weight: 700;
    }
    .navtabs .tab:hover{
      background: transparent;
      color: var(--accent3);
    }
    .navtabs .tab:active{ transform: translateY(1px) }
    .navtabs .tab[aria-current="page"]{
      background: transparent;
      color: var(--accent3);
      border-bottom-color: var(--accent3);
    }

    .main{ flex:1; display:flex; justify-content:center; padding: 20px 16px 26px; }
    .stage{ width:100%; max-width: var(--max); display:flex; flex-direction:column; gap:22px; }

@media (min-width: 980px){
      :root{ --max: 1240px; }
    }

    .card{
      background: var(--card);
      border-radius: var(--radius);
      border:1px solid var(--line);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .card-header{ padding: 22px 22px 0; }
    .card-header-row{ display:flex; align-items:center; gap:10px; }
    .card-header-back{
      width:36px;
      height:36px;
      border-radius:999px;
      border:1px solid rgba(20,22,26,.14);
      background:rgba(255,255,255,.92);
      color:var(--ink);
      font-weight:700;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      line-height:1;
      flex:0 0 auto;
    }
    .card-header-back:active{ transform: translateY(1px); }
    .card-header h2{ margin:0; font-size: 22px; letter-spacing:-.2px; }
    .card-header p{ margin:10px 0 0; color:var(--muted); line-height:1.5; font-size:14.5px; }
    .card-body{ padding: 18px 22px 22px; display:flex; flex-direction:column; gap:14px; }

    .divider{ height:1px; background: var(--line); margin: 4px 0; }

    .row{ display:flex; gap:12px; flex-wrap:wrap; }
    .row > *{ flex:1; min-width: 220px; }

    .field{ display:flex; flex-direction:column; gap:8px; }
    .field label{ font-size:13.5px; color: rgba(20,22,26,.84); font-weight:500; }

    .control{
      height: var(--tap);
      padding: 0 16px;
      border-radius: 16px;
      border:1px solid rgba(20,22,26,.16);
      background: rgba(255,255,255,.97);
      outline:none;
      transition: box-shadow .15s ease, border-color .15s ease, transform .05s ease;
    }
    textarea.control{
      height:auto; min-height: 140px; padding: 14px 16px; resize: vertical;
      line-height:1.5;
    }
    .control:focus{ box-shadow: var(--focus); border-color: rgba(242,156,91,.60); }
    .dob-select-row{
      display:grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, .9fr);
      gap:10px;
    }
    @media (max-width: 520px){
      .dob-select-row{ grid-template-columns: 1fr; }
    }

    .hint{ font-size:12.8px; color: var(--muted); line-height:1.4; }

    .pillbar{ display:flex; gap:10px; flex-wrap:wrap; }
    .pill{
      border:1px solid rgba(20,22,26,.14);
      background: rgba(255,255,255,.88);
      padding:10px 14px;
      border-radius: 999px;
      cursor:pointer;
      font-weight:500;
      font-size:13.5px;
      transition: background .2s ease, transform .05s ease, border-color .2s ease;
      user-select:none;
    }
    .pill:active{ transform: translateY(1px) }
    .pill[aria-pressed="true"]{ background: rgba(242,156,91,.15); border-color: rgba(242,156,91,.60); }

    .btnrow{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top: 4px; }
    .btn{
      height: var(--tap);
      border-radius: 18px;
      border:1px solid transparent;
      padding:0 18px;
      cursor:pointer;
      font-weight:500;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      transition: transform .05s ease, opacity .2s ease, box-shadow .2s ease;
      user-select:none;
      text-align:center;
    }
    .btn:active{ transform: translateY(1px) }
    .btn-primary{ background: var(--ink); color:#fff; box-shadow: 0 14px 22px rgba(20,22,26,.18); }
    .btn-secondary{ background: rgba(255,255,255,.92); border-color: rgba(20,22,26,.14); color: var(--ink); }
    .btn-ghost{ background: transparent; border-color: rgba(20,22,26,.12); color: var(--ink); }
    .btn-danger{ background: rgba(176,0,32,.10); border-color: rgba(176,0,32,.22); color: var(--bad); }
    .btn-invite{ background: rgba(242,156,91,.12); border-color: rgba(242,156,91,.45); color: var(--ink); height:44px; font-size:13px; }
    .btn-xs{ height: 38px; padding: 0 12px; border-radius: 12px; font-size: 12px; }
    .btn[disabled]{ opacity:.55; cursor:not-allowed; box-shadow:none; }

    .fd-getstarted-shell{
      position:relative;
      width:100%;
      max-width: 720px;
      margin: clamp(18px, 7vh, 88px) auto 0;
      padding: 0 4px 24px;
    }
    .fd-getstarted-glow{
      position:fixed;
      top:-110px;
      right:-90px;
      width:min(560px, 70vw);
      aspect-ratio:1;
      border-radius:50%;
      background: radial-gradient(circle, rgba(255,171,105,.18), rgba(255,220,196,0) 68%);
      pointer-events:none;
      z-index:-1;
    }
    .fd-getstarted-card{
      position:relative;
      overflow:hidden;
      background: rgba(255,255,255,.94);
      border:1px solid rgba(216,194,181,.42);
      border-radius: 32px;
      padding: clamp(24px, 5vw, 64px);
      box-shadow: 0 32px 64px rgba(32,27,21,.07);
    }
    .fd-getstarted-head{
      display:flex;
      align-items:center;
      gap:16px;
      margin-bottom:18px;
    }
    .fd-getstarted-back{
      width:42px;
      height:42px;
      flex:0 0 auto;
      border:0;
      border-radius:999px;
      background: rgba(185,236,238,.42);
      color: var(--accent3);
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition: transform .15s ease, background .2s ease;
    }
    .fd-getstarted-back:hover{ background: rgba(185,236,238,.62); transform: scale(1.04); }
    .fd-getstarted-back:active{ transform: scale(.98); }
    .fd-getstarted-back span{
      font-size:34px;
      line-height:1;
      transform: translateY(-1px);
    }
    .fd-getstarted-head h2{
      margin:0;
      font-size: clamp(28px, 4vw, 34px);
      line-height:1.15;
      letter-spacing:0;
      color: var(--ink);
    }
    .fd-getstarted-copy{
      margin:0 0 30px;
      max-width: 470px;
      color: var(--muted);
      font-size: clamp(17px, 2.3vw, 19px);
      line-height:1.55;
    }
    .fd-getstarted-form{
      display:grid;
      gap:24px;
    }
    .fd-getstarted-field label{
      margin-left:4px;
      color: rgba(83,68,57,.86);
      font-size:12px;
      line-height:16px;
      letter-spacing:.04em;
    }
    .fd-getstarted-input{
      height:56px;
      border-color: transparent;
      border-radius: 14px;
      background: rgba(253,241,232,.95);
      color: var(--ink);
    }
    .fd-getstarted-input::placeholder{
      color: rgba(134,116,104,.62);
    }
    .fd-getstarted-actions{
      display:flex;
      flex-wrap:wrap;
      gap:16px;
      padding-top:4px;
    }
    .fd-getstarted-actions .btn{
      min-width: 148px;
      height:56px;
      border-radius:999px;
      padding-inline:32px;
      font-size:18px;
      font-weight:700;
    }
    .fd-button-spinner{
      width:18px;
      height:18px;
      border-radius:999px;
      border:2px solid rgba(255,255,255,.48);
      border-top-color:#fff;
      display:inline-block;
      animation: fd-spin .7s linear infinite;
    }
    @keyframes fd-spin{ to{ transform: rotate(360deg); } }
    .fd-getstarted-primary{
      border-color:transparent;
      background: linear-gradient(135deg, #1a4e50 0%, #356668 100%);
      color:#fff;
      box-shadow: 0 16px 28px rgba(26,78,80,.18);
    }
    .fd-getstarted-secondary{
      background: rgba(185,236,238,.34);
      border-color: transparent;
      color:#1a4e50;
    }
    .fd-getstarted-consent{
      margin:0;
      padding-top:22px;
      border-top:1px solid rgba(216,194,181,.34);
      color: rgba(83,68,57,.82);
      font-size:12px;
      line-height:1.6;
    }
    .fd-getstarted-consent a{
      color: var(--accent3);
      font-weight:800;
      text-decoration:none;
      border-bottom:1px solid rgba(53,102,104,.32);
    }
    .fd-getstarted-consent a:hover{
      border-bottom-color: rgba(53,102,104,.76);
    }
    .fd-getstarted-orb{
      position:absolute;
      right:-54px;
      bottom:-54px;
      width:160px;
      height:160px;
      border-radius:50%;
      background:#ffdcc4;
      opacity:.16;
      filter: blur(24px);
      pointer-events:none;
    }
    .fd-getstarted-help{
      margin:24px 0 0;
      text-align:center;
      color: var(--muted);
      font-size:15px;
      line-height:1.5;
    }
    .fd-getstarted-help a{
      color: var(--accent3);
      font-weight:700;
      text-decoration:none;
      border-bottom:1px solid rgba(53,102,104,.28);
    }
    .fd-getstarted-help a:hover{
      border-bottom-color: rgba(53,102,104,.7);
    }
    .fd-getstarted-legal{
      margin-top:14px;
      display:flex;
      justify-content:center;
      gap:18px;
      flex-wrap:wrap;
      color: rgba(83,68,57,.74);
      font-size:12.5px;
      line-height:1.4;
    }
    .fd-getstarted-legal a{
      color: var(--accent3);
      font-weight:700;
      text-decoration:none;
      border-bottom:1px solid rgba(53,102,104,.24);
    }
    .fd-getstarted-legal a:hover{
      border-bottom-color: rgba(53,102,104,.7);
    }

    .fd-verify-shell{
      width:100%;
      max-width: 620px;
      margin: clamp(18px, 8vh, 92px) auto 0;
      padding: 0 4px 28px;
    }
    .fd-verify-card{
      position:relative;
      overflow:hidden;
      background: rgba(255,255,255,.95);
      border:1px solid rgba(216,194,181,.34);
      border-radius:32px;
      padding: clamp(24px, 5vw, 64px);
      box-shadow: 0 32px 64px rgba(32,27,21,.08);
    }
    .fd-verify-accent{
      position:absolute;
      top:-56px;
      right:-56px;
      width:192px;
      height:192px;
      border-radius:50%;
      background:#ffdcc4;
      opacity:.22;
      filter: blur(28px);
      pointer-events:none;
    }
    .fd-verify-content{
      position:relative;
      z-index:1;
      display:grid;
      gap:30px;
    }
    .fd-verify-header h2{
      margin:0 0 8px;
      font-size: clamp(28px, 4vw, 34px);
      line-height:1.18;
      letter-spacing:0;
      color:var(--ink);
    }
    .fd-verify-header p{
      margin:0;
      max-width:470px;
      color:var(--muted);
      font-size: clamp(16px, 2.4vw, 18px);
      line-height:1.55;
    }
    .fd-verify-form{
      display:grid;
      gap:30px;
    }
    .fd-verify-otp{
      display:grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: clamp(8px, 2vw, 16px);
      max-width: 480px;
    }
    .fd-verify-digit{
      width:100%;
      height: clamp(64px, 10vw, 80px);
      border:0;
      border-radius:14px;
      background: rgba(253,242,231,.96);
      font-family: var(--font-display);
      font-size: clamp(24px, 5vw, 32px);
      font-weight:700;
      color:var(--ink);
      transition: box-shadow .15s ease, background .15s ease, transform .05s ease;
    }
    .fd-verify-digit:focus{
      background:#fff;
      box-shadow: 0 0 0 3px rgba(53,102,104,.18);
    }
    .fd-verify-actions{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:16px;
    }
    .fd-verify-actions .btn{
      height:56px;
      border-radius:999px;
      padding-inline:30px;
      font-size:18px;
      font-weight:700;
    }
    .fd-verify-primary{
      background: linear-gradient(135deg, #1a4e50 0%, #356668 100%);
      color:#fff;
      box-shadow: 0 16px 28px rgba(26,78,80,.18);
    }
    .fd-verify-resend{
      background: rgba(185,236,238,.34);
      border-color: transparent;
      color:#1a4e50;
    }
    .fd-verify-resend[disabled]{
      opacity:.72;
    }
    .fd-verify-resend-icon{
      font-size:20px;
      line-height:1;
    }
    .fd-verify-change{
      width:max-content;
      border:0;
      background:transparent;
      color: var(--accent3);
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:0;
      font-size:12px;
      line-height:16px;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:800;
    }
    .fd-verify-change:hover{
      color:var(--accent3);
    }
    .fd-verify-support{
      margin:24px 0 0;
      padding:0 18px;
      display:flex;
      align-items:center;
      gap:16px;
      color: rgba(83,68,57,.74);
    }
    .fd-verify-support-avatars{
      display:flex;
      flex:0 0 auto;
    }
    .fd-verify-support-avatars span{
      width:40px;
      height:40px;
      border-radius:999px;
      border:2px solid var(--bg0);
      background:
        radial-gradient(circle at 50% 32%, rgba(255,255,255,.95) 0 16%, transparent 17%),
        radial-gradient(circle at 50% 78%, rgba(255,255,255,.75) 0 27%, transparent 28%),
        linear-gradient(135deg, #b9ecee, #356668);
      box-shadow: 0 8px 18px rgba(32,27,21,.08);
    }
    .fd-verify-support-avatars span + span{
      margin-left:-10px;
      background:
        radial-gradient(circle at 50% 32%, rgba(255,255,255,.95) 0 16%, transparent 17%),
        radial-gradient(circle at 50% 78%, rgba(255,255,255,.75) 0 27%, transparent 28%),
        linear-gradient(135deg, #ffdcc4, #8e4e14);
    }
    .fd-verify-support p{
      margin:0;
      font-size:15px;
      line-height:1.45;
      font-style:italic;
    }
    .fd-verify-support a{
      color:var(--accent3);
      font-weight:700;
      text-decoration:none;
    }
    @media (max-width: 560px){
      .fd-getstarted-shell{
        margin-top: 12px;
      }
      .fd-getstarted-card{
        border-radius: 26px;
        padding: 22px;
      }
      .fd-getstarted-actions{
        flex-direction:column;
      }
      .fd-getstarted-actions .btn{
        width:100%;
      }
      .fd-verify-shell{
        margin-top:12px;
      }
      .fd-verify-card{
        border-radius:26px;
        padding:22px;
      }
      .fd-verify-actions{
        flex-direction:column;
      }
      .fd-verify-actions .btn{
        width:100%;
      }
      .fd-verify-change{
        justify-self:center;
      }
      .fd-verify-support{
        align-items:flex-start;
        padding:0 4px;
      }
    }

    .btnstack{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      line-height:1.1;
      gap:6px;
    }
    .btnsub{
      font-weight:600;
      font-size:12.5px;
      opacity:.85;
    }

    .callout{
      border-radius: 18px;
      border:1px solid rgba(242,156,91,.35);
      background: rgba(242,156,91,.10);
      padding: 14px 14px;
      color: rgba(20,22,26,.92);
      font-size:14px;
      line-height:1.45;
    }
    .callout.good{
      border-color: rgba(31,157,105,.35);
      background: rgba(31,157,105,.10);
    }
    .appt-tickler{
      border-radius: 18px;
      border:1px solid rgba(31,157,105,.35);
      background: rgba(31,157,105,.10);
      padding: 14px;
      display:grid;
      grid-template-columns: 56px 1fr;
      gap: 12px;
      align-items:flex-start;
    }
    .visit-tickler{
      border-radius: 18px;
      border:1px solid rgba(37,99,235,.35);
      background: rgba(37,99,235,.10);
      padding: 14px;
      display:grid;
      grid-template-columns: 56px 1fr;
      gap: 12px;
      align-items:flex-start;
    }
    .appt-avatar{
      width:56px; height:56px;
      border-radius:50%;
      overflow:hidden;
      border:1px solid rgba(20,22,26,.16);
      background:#fff;
      display:flex; align-items:center; justify-content:center;
    }
    .appt-avatar img{ width:100%; height:100%; object-fit:cover; }
    .appt-kicker{ font-size:13px; color:var(--muted); font-weight:500; }
    .appt-name{ font-size:22px; line-height:1.15; font-weight:600; margin-top:2px; }
    .appt-datetime{ font-size:18px; line-height:1.2; font-weight:600; margin-top:6px; }
    .appt-reason{ font-size:14px; margin-top:4px; color:rgba(20,22,26,.92); }
    .appt-actions{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }

    .list{ display:flex; flex-direction:column; gap:12px; }

    .item{
      border:1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,.88);
      padding: 14px 14px;
      display:flex;
      align-items:flex-start;
      gap:12px;
    }
    .schedule-slot-card{
      width:100%;
      color:inherit;
      font:inherit;
      text-align:left;
      cursor:pointer;
      transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .05s ease;
    }
    .schedule-slot-card:hover,
    .schedule-slot-card:focus-visible{
      border-color:rgba(242,156,91,.60);
      box-shadow:var(--focus);
      outline:none;
    }
    .schedule-slot-card:active{ transform:translateY(1px); }
    .schedule-slot-card[aria-pressed="true"]{
      background:rgba(242,156,91,.12);
      border-color:rgba(242,156,91,.70);
    }
    .schedule-slot-card[aria-pressed="true"] .pill{
      background:rgba(242,156,91,.15);
      border-color:rgba(242,156,91,.60);
    }
    .badge{
      flex:0 0 auto;
      min-width: 38px;
      height:38px;
      border-radius: 14px;
      background: rgba(242,156,91,.22);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:600;
      color: rgba(20,22,26,.8);
    }
    .badge img.badge-img{
      width: 20px;
      height: 20px;
      display:block;
      object-fit: contain;
    }
    .item h3{ margin:0; font-size:15px; letter-spacing:-.1px; font-weight:600; }
    .item p{ margin:6px 0 0; color:var(--muted); font-size:13.5px; line-height:1.45; }
    .item .right{
      margin-left:auto;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
      align-items:center;
    }
    .item.invite-item{
      flex-wrap: nowrap;
    }
    .item.invite-item[data-action]{
      cursor: pointer;
    }
    .item.invite-item[data-action]:hover{
      border-color: rgba(242,156,91,.55);
      background: rgba(255,255,255,.96);
    }
    .item.profile-item .badge{
      min-width: 56px;
      height:56px;
      border-radius: 18px;
      font-size: 24px;
    }
    .item.profile-item .badge.profile-badge{
      min-width: 56px;
      width:56px;
      height:56px;
      border-radius: 999px;
      overflow:hidden;
      padding:0;
      background: rgba(255,255,255,.86);
      border:1px solid var(--line);
    }
    .item.profile-item .badge.profile-badge img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .item.profile-item{
      align-items: center;
    }
    .item.profile-item .identity{
      flex:1;
      min-height: 56px;
      display:flex;
      align-items:center;
    }
    .item.profile-item.profile-select{
      cursor:pointer;
    }
    .item.profile-item.profile-select:hover{
      border-color: rgba(242,156,91,.55);
      background: rgba(255,255,255,.96);
    }
    .item.profile-item h3{
      font-size: 19px;
      line-height: 1.2;
    }
    .profile-label-badge{
      display:inline-flex;
      margin-top:6px;
      padding:4px 10px;
      border-radius: 999px;
      border:1px solid rgba(242,156,91,.45);
      background: rgba(242,156,91,.14);
      font-size: 12px;
      font-weight: 600;
      color: rgba(20,22,26,.78);
      letter-spacing:.2px;
    }
    .iconcta{
      width: 42px;
      height: 42px;
      border-radius: 14px;
      border:1px solid rgba(20,22,26,.15);
      background:#fff;
      font-size: 22px;
      font-weight: 600;
      line-height: 1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:0;
      cursor:pointer;
      text-decoration:none;
      color: inherit;
    }
    .otp-row{
      display:grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap:10px;
      max-width: 430px;
    }
    .otp-digit{
      height: 56px;
      border-radius: 14px;
      border:1px solid rgba(20,22,26,.16);
      text-align:center;
      font-size: 24px;
      font-weight: 600;
      background: rgba(255,255,255,.97);
      outline:none;
    }
    .otp-digit:focus{ box-shadow: var(--focus); border-color: rgba(242,156,91,.60); }

    :root{
      --bottom-nav-h: 86px; /* mobile bottom nav total footprint (approx) */
    }
    
    /* If you changed bottom nav height, keep these aligned */
    @media (max-width: 979px){
      :root{ --bottom-nav-h: 96px; }
    }
    @media (min-width: 980px){
      :root{ --bottom-nav-h: 0px; }
    }
    
    .toast{
      display:none;
      position:fixed;
      left:50%;
      bottom: calc(16px + var(--bottom-nav-h) + env(safe-area-inset-bottom));
      transform: translateX(-50%);
      max-width: min(680px, calc(100% - 26px));
      background: rgba(20,22,26,.92);
      color:#fff;
      padding: 11px 14px;
      border-radius: 16px;
      box-shadow: 0 12px 26px rgba(0,0,0,.25);
      z-index: 999; /* ensure above bottom nav */
      font-size:13.8px;
      line-height:1.4;
    }
    
    .toast.show{ display:block }

    .grid2{ display:grid; grid-template-columns: 1fr; gap:14px; }
    @media (min-width: 980px){
      .two-col{ display:grid; grid-template-columns: 1.1fr .9fr; gap:18px; align-items:start; }
      .grid2{ grid-template-columns: 1fr 1fr; }
    }

    /* Checkbox list */
    .checklist{
      display:flex;
      flex-direction:column;
      gap:10px;
      padding: 12px 14px;
      border-radius: 18px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.74);
    }
    .checkrow{
      display:flex;
      gap:10px;
      align-items:flex-start;
      font-size: 14px;
      color: rgba(20,22,26,.92);
      font-weight:600;
    }
    .checkrow input{ margin-top:3px; }
    .consent-list{
      display:flex;
      flex-direction:column;
      gap:12px;
      padding: 14px 16px;
      border-radius: 20px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.76);
    }
    .consent-row{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .consent-row input{
      margin-top:4px;
      flex:0 0 auto;
    }
    .consent-row__copy{
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:4px;
      font-size: 14px;
      line-height:1.55;
      color: rgba(20,22,26,.94);
      font-weight: 600;
    }
.consent-row__copy label{
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  cursor:pointer;
}
.fd-legal-authority-text{
  font-size: 16px;
  line-height: 1.5;
}
.fd-legal-authority-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.fd-legal-authority-row input{
  margin-top:0;
}
.consent-link{
  appearance:none;
      border:0;
      background:transparent;
      padding:0;
      margin:0;
      color: var(--accent3);
      font:inherit;
      font-weight:800;
      text-decoration: underline;
      text-underline-offset: 2px;
      cursor:pointer;
    }
    .agreement-inline-link{
      display:inline;
      color: var(--accent);
      font: inherit;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
      vertical-align: baseline;
    }
    .agreement-confirmation{
      font-size: 14px;
      line-height: 1.6;
    }
    .registration-doc-modal{
      position: fixed;
      inset: 0;
      background: rgba(20,22,26,.55);
      z-index: 1260;
      display:none;
      align-items:center;
      justify-content:center;
      padding: 16px;
    }
    .registration-doc-modal.open{ display:flex; }
    .registration-doc-sheet{
      width:min(760px, 100%);
      max-height: min(88vh, 820px);
      background:#fff;
      border-radius: 24px;
      border:1px solid var(--line);
      box-shadow: var(--shadow);
      display:flex;
      flex-direction:column;
      overflow:hidden;
    }
    .registration-doc-header{
      display:flex;
      justify-content:space-between;
      gap:16px;
      padding: 20px 22px 16px;
      border-bottom:1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(253,241,232,.84));
    }
    .registration-doc-header h3{
      margin:4px 0 6px;
      font-size: 24px;
      line-height:1.15;
    }
    .registration-doc-header p{
      margin:0;
      color: var(--muted);
      line-height:1.5;
      font-size: 14px;
      max-width: 560px;
    }
    .registration-doc-kicker{
      color: var(--accent3);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .registration-doc-close{
      appearance:none;
      border:1px solid var(--line);
      background:#fff;
      color: var(--ink);
      width:40px;
      height:40px;
      border-radius: 14px;
      font-size: 22px;
      line-height:1;
      cursor:pointer;
      flex:0 0 auto;
    }
    .registration-doc-body{
      overflow:auto;
      padding: 20px 22px 24px;
      display:flex;
      flex-direction:column;
      gap:16px;
      background: rgba(255,255,255,.96);
    }
    .registration-doc-frame{
      width:100%;
      min-height: min(62vh, 620px);
      border:0;
      border-radius: 14px;
      background:#fff;
    }
    .registration-doc-message{
      padding: 16px;
      border: 1px solid rgba(216,194,181,.42);
      border-radius: 14px;
      background: rgba(255,248,244,.72);
      color: var(--muted);
      font-size: 14px;
      line-height: 1.5;
    }
    .registration-doc-message--error{
      color: #9f2d2d;
      border-color: rgba(159,45,45,.28);
      background: rgba(255,239,239,.78);
    }
    .registration-doc-section{
      padding: 18px;
      border-radius: 18px;
      border:1px solid rgba(216,194,181,.32);
      background: rgba(255,248,244,.72);
    }
    .registration-doc-section h4{
      margin:0 0 10px;
      font-size: 17px;
      line-height:1.25;
    }
    .registration-doc-section p{
      margin:10px 0 0;
      color: rgba(20,22,26,.88);
      font-size: 14px;
      line-height:1.65;
    }
    .registration-doc-section p:first-of-type{
      margin-top:0;
    }

    /* Upload previews */
    .preview-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:8px;
    }
    @media (min-width: 980px){
      .preview-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
    }
    .preview{
      border:1px solid var(--line);
      border-radius: 16px;
      overflow:hidden;
      background: rgba(255,255,255,.92);
      display:flex;
      flex-direction:column;
    }
    .preview .cap{
      padding:9px 10px;
      font-size:12.5px;
      color: var(--muted);
      border-top:1px solid var(--line);
      word-break: break-word;
      font-weight:600;
    }
    .preview img{
      width:100%;
      height:88px;
      object-fit:cover;
      display:block;
    }
    .preview video{
      width:100%;
      height:150px;
      object-fit:cover;
      display:block;
      background:#000;
    }
    .cam-modal{
      position: fixed;
      inset: 0;
      background: rgba(20,22,26,.55);
      z-index: 1200;
      display:none;
      align-items:center;
      justify-content:center;
      padding: 14px;
    }
    .cam-modal.open{ display:flex; }
    .confirm-modal{
      position: fixed;
      inset: 0;
      background: rgba(20,22,26,.55);
      z-index: 1250;
      display:none;
      align-items:center;
      justify-content:center;
      padding: 14px;
    }
    .confirm-modal.open{ display:flex; }
    .confirm-sheet{
      width:min(520px, 100%);
      background:#fff;
      border-radius: 18px;
      border:1px solid var(--line);
      box-shadow: var(--shadow);
      padding: 16px;
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .confirm-sheet h3{ margin:0; font-size:20px; }
    .confirm-sheet p{ margin:0; color:var(--muted); line-height:1.45; }
    .session-warning-sheet{
      max-width: 460px;
    }
    .session-countdown{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:72px;
      border:1px solid var(--line);
      border-radius:12px;
      background:#f7fbfa;
      color:var(--ink);
      font-size:34px;
      font-weight:800;
      font-variant-numeric: tabular-nums;
      letter-spacing:0;
    }
    .busy-overlay{
      position:fixed;
      inset:0;
      background:rgba(20,22,26,.55);
      z-index:1300;
      display:none;
      align-items:center;
      justify-content:center;
      padding:16px;
    }
    .busy-overlay.open{ display:flex; }
    .busy-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      padding:18px 20px;
      min-width:260px;
      display:flex;
      align-items:center;
      gap:12px;
      box-shadow: var(--shadow);
    }
    .busy-spinner{
      width:22px;
      height:22px;
      border-radius:50%;
      border:3px solid rgba(20,22,26,.18);
      border-top-color: var(--ink);
      animation: spin 0.9s linear infinite;
      flex:0 0 auto;
    }
    .inline-loading{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:64px;
    }
    .inline-loading .busy-spinner{
      width:18px;
      height:18px;
      border-width:2px;
    }
    @keyframes spin{ to { transform: rotate(360deg); } }
    .cam-sheet{
      width: min(760px, 100%);
      background:#fff;
      border-radius: 18px;
      border:1px solid var(--line);
      box-shadow: var(--shadow);
      padding: 12px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .cam-video{
      width:100%;
      max-height:58vh;
      border-radius:14px;
      background:#000;
      object-fit:cover;
    }
    .cam-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
    }
    .debug-panel{
      border:1px dashed rgba(20,22,26,.25);
      border-radius: 14px;
      background: rgba(255,255,255,.9);
      padding: 10px;
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .debug-panel pre{
      margin:0;
      white-space:pre-wrap;
      word-break:break-word;
      font-size:12px;
      line-height:1.35;
      max-height:240px;
      overflow:auto;
      background:#fff;
      border:1px solid var(--line);
      border-radius:10px;
      padding:8px;
    }

    /* Payment layout */
    .pay-hero{
      text-align:center;
      padding: 4px 0 0;
    }
    .pay-hero-rich{
      display:flex;
      flex-direction:column;
      gap:8px;
      align-items:center;
    }
    .pay-kicker{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:30px;
      padding: 0 12px;
      border-radius:999px;
      background: rgba(53,102,104,.12);
      color: var(--accent3);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .pay-title{
      margin:0;
      font-size: 32px;
      line-height:1.02;
      letter-spacing:-.04em;
      font-weight: 800;
      font-family: var(--font-display);
    }
    .pay-hero .headline{
      margin:0;
      max-width: 720px;
      color: var(--muted);
      font-size: 16px;
      line-height:1.5;
      font-weight: 500;
    }
    @media (min-width: 980px){
      .pay-title{ font-size: 38px; }
      .pay-hero .headline{ font-size: 18px; }
    }
    @media (max-width: 640px){
      .pay-hero .headline{
        max-width: 100%;
      }
    }
    .pay-summary{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
      padding: 16px;
      border-radius: 28px;
      background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,162,97,.09));
      border:1px solid rgba(244,162,97,.22);
      box-shadow: 0 18px 34px rgba(32,27,21,.06);
    }
    @media (min-width: 980px){
      .pay-summary{
        grid-template-columns: repeat(3, 1fr);
        gap:16px;
        padding: 18px;
      }
    }
    .pay-summary-item{
      display:flex;
      align-items:center;
      gap:14px;
      min-width:0;
    }
    .pay-summary-icon{
      width:50px;
      height:50px;
      border-radius:18px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
    }
    .pay-summary-icon svg,
    .choice-icon svg{
      width:24px;
      height:24px;
      display:block;
    }
    .pay-summary-title{
      margin:0;
      font-size:14px;
      line-height:1.3;
      font-weight: 700;
    }
    .pay-summary-copy{
      margin:4px 0 0;
      color: var(--muted);
      font-size:12.5px;
      line-height:1.4;
      font-weight:500;
    }
    .pay-choices{
      display:grid;
      grid-template-columns: 1fr;
      gap:14px;
    }
    .choice{
      border:1px solid rgba(20,22,26,.10);
      background: rgba(255,255,255,.92);
      border-radius: 28px;
      padding: 18px;
      display:flex;
      gap:16px;
      align-items:center;
      cursor:pointer;
      box-shadow: 0 16px 32px rgba(32,27,21,.06);
      transition: transform .05s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .choice:hover{
      background: rgba(255,255,255,.98);
      box-shadow: 0 18px 34px rgba(32,27,21,.08);
    }
    .choice:active{ transform: translateY(1px) }
    .choice-card[aria-selected="true"]{
      border-color: rgba(142,78,20,.45);
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,162,97,.12));
      box-shadow: 0 22px 36px rgba(142,78,20,.12);
    }
    .choice-icon{
      width:56px;
      height:56px;
      border-radius:20px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      color: var(--accent);
      background: rgba(244,162,97,.16);
      transition: background .2s ease, color .2s ease;
    }
    .choice-copy{
      min-width:0;
      flex:1 1 auto;
    }
    .choice-title-row{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .choice .ctitle{
      font-weight: 700;
      margin:0;
      font-size: 19px;
      line-height:1.2;
    }
    .choice .cdesc{
      margin:5px 0 0;
      color: var(--muted);
      font-weight:500;
      font-size: 14px;
      line-height:1.45;
    }
    .choice .selmark{
      width:24px;
      height:24px;
      border-radius:999px;
      border:2px solid rgba(83,68,57,.22);
      display:flex;
      align-items:center;
      justify-content:center;
      background:#fff;
      flex:0 0 auto;
      transition: border-color .2s ease, background .2s ease;
    }
    .choice .selmark-dot{
      width:10px;
      height:10px;
      border-radius:999px;
      background: var(--accent);
      opacity:0;
      transform: scale(.65);
      transition: opacity .2s ease, transform .2s ease;
    }
    .choice-card[aria-selected="true"] .selmark{
      border-color: var(--accent);
      background: rgba(244,162,97,.12);
    }
    .choice-card[aria-selected="true"] .selmark-dot{
      opacity:1;
      transform: scale(1);
    }
    .tone-orange.choice-card[aria-selected="true"] .choice-icon,
    .pay-summary-icon.tone-orange{
      background: rgba(244,162,97,.22);
      color: var(--accent);
    }
    .tone-teal .choice-icon,
    .pay-summary-icon.tone-teal{
      background: rgba(185,236,238,.42);
      color: var(--accent3);
    }
    .tone-rose .choice-icon,
    .pay-summary-icon.tone-rose{
      background: rgba(255,218,210,.82);
      color: #a33d23;
    }
    .tone-gold .choice-icon{
      background: rgba(255,220,196,.72);
      color: #8e4e14;
    }
    .tone-orange .choice-icon{
      background: rgba(244,162,97,.16);
      color: var(--accent);
    }
    .choice-card[aria-selected="true"] .choice-icon{
      background: rgba(244,162,97,.24);
      color: var(--accent);
    }
    .employer-question-card{
      overflow: visible;
    }
    .employer-question-card .card-body{
      padding: 18px;
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .employer-question-hero{
      border-radius: 34px;
      overflow:hidden;
      min-height: 220px;
      background: linear-gradient(180deg, rgba(248,236,227,.86), rgba(255,255,255,.92));
      box-shadow: 0 16px 32px rgba(32,27,21,.06);
    }
    .employer-question-hero img{
      width:100%;
      height:100%;
      max-height:300px;
      object-fit:cover;
      display:block;
    }
    .employer-question-panel{
      position:relative;
      border-radius: 34px;
      padding: 28px;
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,236,227,.92));
      box-shadow: 0 24px 44px rgba(32,27,21,.08);
      overflow:hidden;
    }
    .employer-question-panel::after{
      content:"";
      position:absolute;
      top:-28px;
      right:-28px;
      width:120px;
      height:120px;
      border-radius: 0 0 0 120px;
      background: rgba(255,218,210,.58);
      pointer-events:none;
    }
    .employer-question-panel > *{
      position:relative;
      z-index:1;
    }
    .employer-question-title{
      margin:0;
      font-size: 28px;
      line-height: 1.08;
      font-weight: 800;
      letter-spacing: 0;
    }
    .employer-question-copy{
      margin: 10px 0 0;
      max-width: 62ch;
      color: var(--muted);
      font-size: 34px;
      line-height: 1.32;
      font-weight: 600;
    }
    .employer-question-callout{
      margin-top: 24px;
      border-radius: 30px;
      padding: 14px 14px 12px;
      background: linear-gradient(180deg, rgba(248,236,227,.88), rgba(255,255,255,.96));
      border: 1px solid rgba(83,68,57,.10);
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .employer-question-callout__head{
      display:flex;
      gap:10px;
      align-items:flex-start;
    }
    .employer-question-callout__icon{
      width:40px;
      height:40px;
      border-radius:14px;
      flex:0 0 auto;
    }
    .employer-question-callout__head h3{
      margin:2px 0 0;
      font-size: 17px;
      line-height: 1.3;
    }
    .employer-question-options{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:flex-start;
    }
    .employer-question-options .choice{
      padding: 10px 12px;
      border-radius: 18px;
      min-height: 0;
      flex: 0 0 auto;
      min-width: 112px;
    }
    .employer-question-options .choice .ctitle{
      font-size:15px;
    }
    .employer-question-field{
      margin-top: 2px;
    }
    .employer-question-actions{
      margin-top: 24px;
      justify-content: space-between;
    }
    .employer-question-actions .btn-primary{
      min-width: 180px;
    }
    @media (max-width: 720px){
      .employer-question-panel{
        padding: 22px;
      }
      .employer-question-callout{
        padding: 12px 12px 10px;
      }
      .employer-question-callout__head{
        flex-direction:column;
      }
      .employer-question-options{
        flex-direction:row;
      }
      .employer-question-actions{
        justify-content:stretch;
      }
      .employer-question-actions .btn-primary{
        min-width: 0;
      }
    }

    .visit-waiting-card{
      overflow:hidden;
    }
    .visit-waiting-layout{
      display:grid;
      grid-template-columns: 1fr;
      gap:28px;
      padding: 28px 22px 26px;
    }
    .visit-waiting-copy{
      display:flex;
      flex-direction:column;
      gap:22px;
    }
    .visit-waiting-copy__header{
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .visit-waiting-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:max-content;
      min-height:34px;
      padding: 0 14px;
      border-radius:999px;
      background: rgba(185,236,238,.52);
      color: var(--accent3);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .visit-waiting-title{
      margin:0;
      font-size: 42px;
      line-height: .98;
      letter-spacing:-.05em;
      font-weight: 800;
      font-family: var(--font-display);
    }
    .visit-waiting-subtitle{
      margin:0;
      color: var(--muted);
      font-size: 21px;
      line-height:1.45;
      font-weight: 500;
      max-width: 520px;
    }
    .visit-waiting-subtitle strong{
      color: var(--accent);
      font-weight: 800;
    }
    .visit-waiting-actions{
      display:flex;
      flex-direction:column;
      gap:18px;
      align-items:flex-start;
    }
    .visit-waiting-quote{
      margin:0;
      color: rgba(83,68,57,.84);
      font-size: 18px;
      line-height:1.65;
      max-width: 560px;
    }
    .visit-waiting-launch{
      min-height: 60px;
      padding: 0 26px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      gap:14px;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      border:0;
      box-shadow: 0 20px 34px rgba(142,78,20,.24);
    }
    .visit-waiting-launch:hover{
      transform: translateY(-1px);
      box-shadow: 0 22px 38px rgba(142,78,20,.28);
    }
    .visit-waiting-launch:disabled{
      opacity:.58;
      box-shadow:none;
    }
    .visit-waiting-launch__arrow{
      font-size: 20px;
      line-height:1;
    }
    .visit-waiting-panel-wrap{
      position:relative;
    }
    .visit-waiting-panel-glow{
      position:absolute;
      border-radius:999px;
      filter: blur(48px);
      opacity:.55;
      pointer-events:none;
      z-index:0;
    }
    .visit-waiting-panel-glow--top{
      top:-28px;
      right:-12px;
      width:180px;
      height:180px;
      background: rgba(255,180,162,.72);
    }
    .visit-waiting-panel-glow--bottom{
      left:-18px;
      bottom:-18px;
      width:160px;
      height:160px;
      background: rgba(185,236,238,.74);
    }
    .visit-waiting-panel{
      position:relative;
      z-index:1;
      border-radius: 34px;
      padding: 24px;
      background: rgba(255,255,255,.82);
      border:1px solid rgba(255,255,255,.65);
      box-shadow: 0 20px 56px rgba(32,27,21,.08);
      backdrop-filter: blur(14px);
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .visit-waiting-panel__top{
      display:flex;
      flex-direction:column;
      gap:18px;
      align-items:flex-start;
    }
    .visit-waiting-provider{
      position:relative;
      flex:0 0 auto;
    }
    .visit-waiting-provider__avatar{
      width:96px;
      height:96px;
      border-radius:28px;
      overflow:hidden;
      background: rgba(242,230,221,.92);
      box-shadow: 0 0 0 4px rgba(185,236,238,.28);
    }
    .visit-waiting-provider__avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .visit-waiting-panel__body{
      display:flex;
      flex-direction:column;
      gap:14px;
      min-width:0;
    }
    .visit-waiting-panel__title{
      margin:0;
      font-size: 28px;
      line-height:1.12;
      letter-spacing:-.03em;
      font-weight: 800;
    }
    .visit-waiting-chips{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .visit-waiting-chip{
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-height:46px;
      padding: 0 16px;
      border-radius:18px;
      background: rgba(242,230,221,.78);
      color: var(--ink);
      font-size: 14px;
      font-weight: 700;
    }
    .visit-waiting-chip--secure{
      background: rgba(185,236,238,.64);
      color: #1a4e50;
    }
    .visit-waiting-chip__icon{
      width:20px;
      height:20px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
    }
    .visit-waiting-chip__icon svg{
      width:20px;
      height:20px;
      display:block;
    }
    .visit-waiting-status{
      padding: 20px;
      border-radius: 26px;
      background: rgba(253,241,232,.7);
      display:flex;
      flex-direction:column;
      gap:16px;
    }
    .visit-waiting-status__head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
    }
    .visit-waiting-status__kicker{
      display:block;
      color: var(--accent3);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .visit-waiting-status__copy{
      margin:0;
      color: var(--muted);
      font-size: 15px;
      line-height:1.45;
      font-weight:500;
    }
    .visit-waiting-status__time{
      font-family: var(--font-display);
      font-size: 32px;
      line-height:1;
      letter-spacing:-.04em;
      font-weight: 800;
      color: var(--accent);
      white-space:nowrap;
    }
    .visit-waiting-progress{
      height:12px;
      border-radius:999px;
      overflow:hidden;
      background: rgba(236,224,216,.92);
    }
    .visit-waiting-progress__bar{
      width:68%;
      height:100%;
      border-radius:999px;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
    }
    .visit-waiting-support-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
    }
    .visit-waiting-support-card{
      display:flex;
      align-items:flex-start;
      gap:14px;
      padding: 18px;
      border-radius: 22px;
      background: rgba(255,255,255,.9);
      border:1px solid rgba(216,194,181,.32);
    }
    .visit-waiting-support-card__icon{
      width:22px;
      height:22px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color: var(--accent);
      flex:0 0 auto;
    }
    .visit-waiting-support-card__icon--teal{
      color: var(--accent3);
    }
    .visit-waiting-support-card__icon svg{
      width:22px;
      height:22px;
      display:block;
    }
    .visit-waiting-support-card__copy{
      min-width:0;
    }
    .visit-waiting-support-card__title{
      margin:0;
      font-size: 14px;
      font-weight: 800;
      line-height:1.3;
    }
    .visit-waiting-support-card__text{
      margin:4px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height:1.45;
      font-weight:500;
    }
    @media (min-width: 980px){
      .visit-waiting-layout{
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr);
        gap:44px;
        align-items:center;
        padding: 34px 30px 32px;
      }
      .visit-waiting-title{
        font-size: 56px;
      }
      .visit-waiting-panel{
        padding: 30px;
      }
      .visit-waiting-panel__top{
        flex-direction:row;
        gap:22px;
        align-items:flex-start;
      }
      .visit-waiting-support-grid{
        grid-template-columns: 1fr 1fr;
      }
    }
    @media (max-width: 640px){
      .visit-waiting-layout{
        padding: 24px 18px 22px;
        gap:22px;
      }
      .visit-waiting-title{
        font-size: 34px;
      }
      .visit-waiting-subtitle{
        font-size: 18px;
      }
      .visit-waiting-quote{
        font-size: 16px;
      }
      .visit-waiting-launch{
        width:100%;
        justify-content:center;
      }
      .visit-waiting-panel{
        padding: 20px;
        border-radius: 28px;
      }
      .visit-waiting-panel__title{
        font-size: 24px;
      }
      .visit-waiting-status__head{
        flex-direction:column;
        align-items:flex-start;
      }
      .visit-waiting-status__time{
        font-size: 28px;
      }
    }

    .ready-join-card{
      overflow:hidden;
    }
    .ready-join-layout{
      display:flex;
      flex-direction:column;
      gap:28px;
      padding: 28px 22px 26px;
    }
    .ready-join-hero{
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      gap:12px;
    }
    .ready-join-hero__icon{
      width:60px;
      height:60px;
      border-radius:20px;
      display:flex;
      align-items:center;
      justify-content:center;
      color: #1a4e50;
      background: rgba(185,236,238,.56);
    }
    .ready-join-hero__icon svg{
      width:30px;
      height:30px;
      display:block;
    }
    .ready-join-title{
      margin:0;
      font-size: 46px;
      line-height:1;
      letter-spacing:-.05em;
      font-weight: 800;
      font-family: var(--font-display);
    }
    .ready-join-subtitle{
      margin:0;
      max-width: 560px;
      color: var(--muted);
      font-size: 20px;
      line-height:1.5;
      font-weight: 500;
    }
    .ready-join-subtitle strong{
      color: var(--accent);
      font-weight: 800;
    }
    .ready-join-panel{
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .ready-join-patient-card{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:18px;
      padding: 24px;
      border-radius: 30px;
      background: rgba(255,255,255,.92);
      border:1px solid rgba(216,194,181,.26);
      box-shadow: 0 14px 32px rgba(32,27,21,.06);
    }
    .ready-join-patient-card__copy{
      min-width:0;
    }
    .ready-join-patient-card__kicker{
      display:block;
      color: var(--accent3);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
      opacity:.75;
      margin-bottom: 8px;
    }
    .ready-join-patient-card__title{
      margin:0;
      font-size: 32px;
      line-height:1.1;
      letter-spacing:-.03em;
      font-weight: 800;
    }
    .ready-join-patient-card__meta{
      margin:8px 0 0;
      color: var(--muted);
      font-size: 16px;
      line-height:1.5;
      font-weight: 500;
    }
    .ready-join-patient-card__avatar{
      width:80px;
      height:80px;
      border-radius:24px;
      overflow:hidden;
      flex:0 0 auto;
      box-shadow: 0 0 0 4px rgba(255,248,244,.92);
    }
    .ready-join-patient-card__avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .ready-join-invite-row{
      display:flex;
      align-items:center;
      gap:14px;
      padding: 0 4px;
    }
    .ready-join-invite-avatars{
      display:flex;
      align-items:center;
      margin-right: 2px;
    }
    .ready-join-invite-avatars__pill{
      min-width:36px;
      height:36px;
      padding: 0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:2px solid var(--bg0);
      margin-left: -8px;
      background: rgba(255,220,196,.92);
      color: var(--accent);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .06em;
    }
    .ready-join-invite-avatars__pill:first-child{
      margin-left:0;
    }
    .ready-join-invite-avatars__pill--teal{
      background: rgba(185,236,238,.8);
      color: #1a4e50;
    }
    .ready-join-invite-text{
      color: var(--muted);
      font-size: 14px;
      line-height:1.45;
      font-weight:500;
    }
    .ready-join-action-card{
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      gap:22px;
      padding: 30px 24px;
      border-radius: 30px;
      background: linear-gradient(180deg, rgba(253,241,232,.86), rgba(242,230,221,.76));
    }
    .ready-join-action-card__copy{
      max-width: 560px;
    }
    .ready-join-action-card__kicker{
      margin:0 0 8px;
      color: var(--accent);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .ready-join-action-card__text{
      margin:0;
      color: var(--muted);
      font-size: 15px;
      line-height:1.6;
      font-weight: 500;
    }
    .ready-join-actions{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:14px;
      width:100%;
    }
    .ready-join-actions__back{
      min-width:160px;
      border-radius:18px;
    }
    .ready-join-actions__confirm{
      min-width:320px;
      border-radius:18px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      background: var(--ink);
      box-shadow: 0 18px 28px rgba(32,27,21,.12);
    }
    .ready-join-actions__arrow{
      font-size:20px;
      line-height:1;
    }
    @media (min-width: 980px){
      .ready-join-layout{
        max-width: 820px;
        margin: 0 auto;
      }
    }
    @media (max-width: 640px){
      .ready-join-layout{
        padding: 24px 18px 22px;
        gap:22px;
      }
      .ready-join-title{
        font-size: 36px;
      }
      .ready-join-subtitle{
        font-size: 18px;
      }
      .ready-join-patient-card{
        padding: 20px;
      }
      .ready-join-patient-card__title{
        font-size: 26px;
      }
      .ready-join-patient-card__avatar{
        width:68px;
        height:68px;
        border-radius:20px;
      }
      .ready-join-action-card{
        padding: 24px 18px;
      }
      .ready-join-actions{
        flex-direction:column-reverse;
        align-items:stretch;
      }
      .ready-join-actions__back,
      .ready-join-actions__confirm{
        width:100%;
        min-width:0;
      }
    }

    /* Dictation mic button */
    .microw{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .micbtn{
      width: 44px;
      height: 44px;
      border-radius: 999px;
      border:1px solid rgba(20,22,26,.14);
      background: rgba(255,255,255,.92);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition: transform .05s ease, box-shadow .2s ease;
      flex:0 0 auto;
    }
    .micbtn:active{ transform: translateY(1px) }
    .micbtn:focus{ outline:none; box-shadow: var(--focus); }
    .micbtn[aria-pressed="true"]{
      border-color: rgba(242,156,91,.60);
      box-shadow: 0 0 0 4px rgba(242,156,91,.18);
    }
    .micicon{
      width: 20px; height:20px;
      display:inline-block;
    }

    /* Visit options "Now" */
    .nowbox{
      border-radius: 20px;
      border:1px solid rgba(20,22,26,.12);
      background: rgba(255,255,255,.92);
      padding: 16px 16px;
      min-height: 220px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      text-align:center;
      gap:10px;
    }
    .nowbox .label{ color: var(--muted); font-weight:500; font-size:13.5px; }
    .nowbox .now{
      font-size: 30px;
      font-weight: 600;
      letter-spacing: -0.6px;
      line-height:1;
    }
    .homekit-hero{
      border:1px solid var(--line);
      border-radius: 18px;
      overflow:hidden;
      background:#fff;
    }
    .homekit-hero img{
      width:100%;
      height:240px;
      object-fit:contain;
      background:#fff;
      display:block;
    }
    .homekit-hero .cap{
      padding:10px 12px;
      font-size:13px;
      color: var(--muted);
    }
    .btn-sm{
  height: 42px;
  padding: 0 14px;
  border-radius: 16px;
  font-size: 12.5px;
	  font-weight: 600;
}

.item .actions-under{
  margin-top: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Hide header nav tabs on mobile (bottom nav replaces them) */
.navtabs{
  display:none !important;
}

/* ================================
   Mobile Bottom Navigation
================================ */

.bottomnav{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 100;
  background: rgba(255,247,240,.90);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--line);
  padding: 8px 12px calc(6px + var(--safe-bottom));
  display: none; /* shown only when authenticated */
}

.bottomnav-inner{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

/* Bottom nav buttons */
.bottomnav .tab{
  height: 60px;
  border-radius: 18px;
  border: 1px solid rgba(20,22,26,.12);
  background: rgba(255,255,255,.85);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size: 11.5px;
  font-weight: 600;
  padding: 8px 6px;
}

.bottomnav .tab svg{
  width: 28px;
  height: 28px;
}

.bottomnav .tab[aria-current="page"]{
  background: var(--ink);
  color: #fff;
  border-color: transparent;
}

/* Hide header nav on mobile */
@media (max-width: 979px){
  .navtabs{
    display: none !important;
  }

  .main{
    padding-bottom: 100px; /* space for bottom nav */
  }
}

/* Desktop: hide bottom nav, show header nav */
@media (min-width: 980px){
  .bottomnav{
    display: none !important;
  }

  .navtabs{
    display: flex !important;
  }

  .main{
    padding-bottom: 26px;
  }
}

/* Optional: if you want NO icons on desktop header tabs, uncomment: */
/*
@media (min-width: 980px){
  .navtabs .tab svg{ display:none; }
}
*/

/* Ensure content isn't hidden behind bottom nav */
.main{
  padding-bottom: calc(26px + 92px);
}
@media (min-width: 980px){
  .main{ padding-bottom: 26px; }
}

.callout{
  border-radius: 22px;
  border:1px solid rgba(244,162,97,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,162,97,.12));
  padding: 16px 16px;
}
.appt-tickler{
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(31,157,105,.10));
  padding: 18px;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  box-shadow: 0 14px 30px rgba(31,157,105,.08);
}
.visit-tickler{
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(53,102,104,.13));
  padding: 18px;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  box-shadow: 0 14px 30px rgba(53,102,104,.10);
}
.appt-avatar{
  width:72px;
  height:72px;
  border-radius:22px;
}
.appt-name{
  font-size:24px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.02em;
}
.appt-datetime{
  font-weight:700;
}
.bottomnav{
  background: rgba(255,248,244,.88);
  border-top: 1px solid rgba(83,68,57,.12);
  box-shadow: 0 -14px 34px rgba(32,27,21,.06);
}
.bottomnav-inner{
  gap: 12px;
}
.bottomnav .tab{
  height: 64px;
  border-radius: 22px;
  gap: 4px;
  background: rgba(255,255,255,.72);
}
.bottomnav .tab[aria-current="page"]{
  background: linear-gradient(135deg, var(--accent2), #db7f35);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(219,127,53,.26);
}

.fd-page{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.fd-page-hero{
  display:grid;
  gap:18px;
  align-items:end;
}
.fd-hero-copy,
.fd-hero-note{
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(83,68,57,.10);
  border-radius: 30px;
  padding: 24px;
  backdrop-filter: blur(10px);
}
.fd-hero-note{
  background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(248,236,227,.88));
}
.fd-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: var(--accent3);
  margin-bottom:10px;
}
.fd-page-title{
  margin:0;
  font-size: clamp(30px, 4vw, 48px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
}
.fd-page-text{
  margin:10px 0 0;
  color: var(--muted);
  line-height:1.6;
  font-size:15px;
}
.fd-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fd-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(83,68,57,.12);
  font-size:12px;
  font-weight:700;
}
.fd-chip strong{
  font-weight:800;
}
.fd-grid{
  display:grid;
  gap:18px;
}
.fd-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.fd-panel{
  background: var(--card);
  border-radius: 30px;
  border:1px solid rgba(83,68,57,.10);
  box-shadow: var(--shadow);
  padding: 24px;
}
.fd-panel--soft{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,162,97,.10));
}
.fd-invite-panel{
  color: var(--ink);
}
.fd-invite-panel .fd-card-title{
  color: var(--ink);
}
.fd-invite-panel .fd-page-text{
  color: var(--muted);
}
.fd-panel--accent{
  background: linear-gradient(135deg, #8e4e14, #cc7b37);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.fd-panel--accent::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-80px;
  bottom:-110px;
  border-radius:50%;
  background: rgba(255,255,255,.12);
}
.fd-panel--accent .fd-kicker,
.fd-panel--accent .fd-page-text,
.fd-panel--accent .fd-card-copy{
  color: rgba(255,255,255,.88);
}
.fd-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.fd-card-title{
  margin:0;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:800;
}
.fd-card-copy{
  color: var(--muted);
  line-height:1.55;
  font-size:14px;
}
.fd-metrics{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap:12px;
  margin-top: 14px;
}
.fd-metric{
  background: rgba(255,255,255,.88);
  border:1px solid rgba(83,68,57,.10);
  border-radius: 22px;
  padding: 14px 16px;
}
.fd-metric-label{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: var(--muted);
}
.fd-metric-value{
  display:block;
  margin-top:6px;
  font-size:24px;
  font-weight:800;
  line-height:1;
}
.fd-card-grid{
  display:grid;
  gap:16px;
}
.fd-patient-card,
.fd-visit-card,
.fd-profile-card{
  appearance:none;
  width:100%;
  border:1px solid rgba(83,68,57,.12);
  background: rgba(255,255,255,.96);
  border-radius: 28px;
  padding: 20px;
  text-align:left;
  cursor:pointer;
  display:flex;
  gap:14px;
  transition: transform .08s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  color: inherit;
}
.fd-patient-card,
.fd-visit-card{
  flex-direction:column;
}
.fd-patient-card:hover,
.fd-visit-card:hover,
.fd-profile-card:hover{
  transform: translateY(-2px);
  border-color: rgba(142,78,20,.28);
  box-shadow: 0 20px 34px rgba(32,27,21,.10);
}
.fd-patient-card__avatar{
  width:88px;
  height:88px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(83,68,57,.10);
  background: linear-gradient(180deg, rgba(248,236,227,.90), rgba(255,255,255,.92));
}
.fd-patient-card__avatar img,
.fd-profile-card__avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.fd-card-meta{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--muted);
}
.fd-card-heading{
  display:block;
  margin:6px 0 0;
  font-size:24px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.03em;
}
.fd-card-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.fd-inline-pill,
.fd-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background: rgba(244,162,97,.14);
  color: var(--ink);
  border:1px solid rgba(244,162,97,.30);
  font-size:12px;
  font-weight:700;
}
.fd-tag{
  padding:6px 10px;
  background: rgba(53,102,104,.10);
  border-color: rgba(53,102,104,.20);
}
.fd-arrow{
  font-size:24px;
  line-height:1;
  color: var(--accent);
}
.fd-empty{
  border-radius: 30px;
  border:1px dashed rgba(83,68,57,.24);
  background: rgba(255,255,255,.72);
  padding: 30px 24px;
  text-align:center;
  color: var(--muted);
}
.fd-banner{
  background: linear-gradient(135deg, rgba(185,236,238,.48), rgba(255,255,255,.94));
  border-radius: 30px;
  border:1px solid rgba(53,102,104,.14);
  padding: 24px;
}
.fd-banner h3{
  margin:0 0 8px;
  font-size:30px;
  line-height:1.06;
  letter-spacing:-.03em;
}
.fd-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.fd-visit-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.fd-visit-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.fd-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid transparent;
}
.fd-status--teal{
  background: rgba(53,102,104,.12);
  color: var(--accent3);
  border-color: rgba(53,102,104,.22);
}
.fd-status--warm{
  background: rgba(244,162,97,.14);
  color: var(--accent);
  border-color: rgba(244,162,97,.26);
}
.fd-status--muted{
  background: rgba(83,68,57,.09);
  color: var(--muted);
  border-color: rgba(83,68,57,.14);
}
.fd-status--ink{
  background: rgba(32,27,21,.08);
  color: var(--ink);
  border-color: rgba(32,27,21,.12);
}
.fd-visit-meta,
.fd-summary-grid,
.fd-contact-grid,
.fd-info-grid{
  display:grid;
  gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.fd-meta-block,
.fd-info-block,
.fd-contact-card{
  background: rgba(248,236,227,.56);
  border:1px solid rgba(83,68,57,.08);
  border-radius: 22px;
  padding: 14px 16px;
}
.fd-meta-label{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: var(--muted);
  margin-bottom:6px;
}
.fd-meta-block strong,
.fd-info-block strong{
  display:block;
  font-size:16px;
  line-height:1.3;
}
.fd-detail-layout{
  display:grid;
  gap:18px;
}
.fd-note-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fd-note-step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding: 14px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  position:relative;
  z-index:1;
}
.fd-step-number{
  width:32px;
  height:32px;
  border-radius:999px;
  background: rgba(255,255,255,.24);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  flex:0 0 auto;
}
.fd-quote{
  margin:0;
  padding-left:18px;
  border-left:3px solid rgba(53,102,104,.30);
  font-size:16px;
  line-height:1.7;
  color: var(--muted);
}
.fd-plain-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fd-plain-list div{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.fd-plain-list span:first-child{
  color: var(--accent3);
  font-weight:800;
}
.fd-contact-card{
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 28px rgba(32,27,21,.06);
}
.fd-contact-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.fd-profile-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fd-profile-card{
  align-items:center;
  border-radius: 24px;
}
.fd-profile-card__avatar{
  width:58px;
  height:58px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(83,68,57,.10);
  flex:0 0 auto;
}
.fd-profile-card__body{
  flex:1;
  min-width:0;
}
.fd-profile-card__body strong{
  display:block;
  font-size:19px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.fd-tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.fd-link-btn{
  appearance:none;
  border:0;
  background:transparent;
  color: var(--accent);
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
}
.fd-link-btn:hover{
  color: var(--accent3);
}

.fd-pastvisit-page{
  gap: 26px;
}
.fd-pastvisit-hero{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
.fd-pastvisit-head{
  display:grid;
  gap:10px;
}
.fd-pastvisit-title{
  margin-top:4px;
}
.fd-pastvisit-subtitle{
  margin-top:0;
  font-size:18px;
}
.fd-pastvisit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.fd-pastvisit-pill{
  appearance:none;
  border:1px solid rgba(83,68,57,.10);
  background: rgba(248,236,227,.92);
  color: var(--ink);
  min-height:48px;
  padding: 0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  cursor:pointer;
}
.fd-pastvisit-pill-icon{
  width:16px;
  height:16px;
  object-fit:contain;
  flex:0 0 auto;
  filter: brightness(0) saturate(100%) opacity(.9);
}
.fd-pastvisit-pill--primary{
  background: var(--accent);
  border-color: var(--accent);
  color:#fff;
}
.fd-pastvisit-layout{
  align-items:start;
}
.fd-pastvisit-panel{
  border-radius: 34px;
  padding: 28px;
}
.fd-pastvisit-panel--soft{
  background: linear-gradient(180deg, rgba(248,236,227,.64), rgba(255,248,244,.95));
}
.fd-pastvisit-panel-header{
  justify-content:flex-start;
  gap:12px;
  margin-bottom:16px;
  align-items:center;
}
.fd-pastvisit-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:18px;
  flex:0 0 auto;
}
.fd-pastvisit-icon img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
  filter: brightness(0) saturate(100%) opacity(.88);
}
.fd-pastvisit-icon--summary{
  background:#f6dcc6;
  color: var(--accent);
}
.fd-pastvisit-icon--notes{
  background:#b9ecee;
  color: var(--accent3);
}
.fd-pastvisit-icon--steps{
  background: rgba(142,78,20,.12);
  color: var(--accent);
}
.fd-pastvisit-icon--rx{
  background: rgba(201,88,51,.14);
  color:#c95833;
}
.fd-pastvisit-card-title{
  font-size:20px;
  line-height:1;
  padding-top:2px;
}
.fd-pastvisit-copy{
  margin-top:0;
  font-size:15px;
}
.fd-pastvisit-summary-grid{
  margin-top:20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fd-pastvisit-summary-grid .fd-meta-block{
  background:#fff3ea;
}
.fd-pastvisit-quote{
  color:#5e5147;
}
.fd-pastvisit-observations{
  margin-top:18px;
}
.fd-pastvisit-observation-title{
  margin:0 0 4px;
  font-size:17px;
  line-height:1.3;
}
.fd-pastvisit-sidecard{
  background: linear-gradient(180deg, #fff4ea, #f9e7d8);
  border-radius: 30px;
  border:1px solid rgba(142,78,20,.08);
  padding: 24px;
  position:relative;
  overflow:hidden;
}
.fd-pastvisit-sidecard::after{
  content:"";
  position:absolute;
  top:-28px;
  right:-28px;
  width:108px;
  height:108px;
  border-radius:50%;
  background: rgba(142,78,20,.07);
}
.fd-pastvisit-side-title{
  color: var(--accent);
}
.fd-pastvisit-step-list{
  position:relative;
  z-index:1;
}
.fd-pastvisit-sidecard .fd-note-step{
  background: transparent;
  border:none;
  padding:0;
}
.fd-pastvisit-sidecard .fd-step-number{
  background: var(--accent);
  color:#fff;
}
.fd-pastvisit-step-copy{
  color:#5e5147;
  line-height:1.55;
}
.fd-pastvisit-rx{
  gap:16px;
}
.fd-pastvisit-rx-list{
  gap:14px;
}
.fd-pastvisit-rx-card{
  background:#ffd7cf;
  border:1px solid rgba(201,88,51,.12);
  border-radius:18px;
  padding:14px 16px;
}
.fd-pastvisit-rx-card strong{
  display:block;
  font-size:16px;
  line-height:1.35;
}
.fd-pastvisit-rx-card .fd-card-copy{
  margin-top:4px;
}
.fd-pastvisit-rx-note{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
}
.fd-pastvisit-outline{
  appearance:none;
  width:100%;
  min-height:46px;
  margin-top:10px;
  border-radius:999px;
  border:1px solid rgba(201,88,51,.22);
  background:#fff;
  color:#c95833;
  font-weight:800;
  cursor:pointer;
}
.fd-pastvisit-provider{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-radius:24px;
  background: rgba(248,236,227,.92);
  border:1px solid rgba(83,68,57,.08);
}
.fd-pastvisit-provider-avatar{
  width:54px;
  height:54px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg, #d86e7a, #f4b38d);
  flex:0 0 auto;
  overflow:hidden;
}
.fd-pastvisit-provider-avatar img{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
  filter: brightness(0) saturate(100%) opacity(.88);
}
.fd-pastvisit-provider-name{
  font-weight:800;
  line-height:1.3;
}
.fd-pastvisit-provider-role{
  color: var(--muted);
  font-size:14px;
  margin-top:2px;
}
.fd-pastvisit-provider-link{
  color: var(--accent);
  font-size:12px;
  font-weight:800;
  margin-top:6px;
}
.fd-pastvisit-footer{
  margin-top:4px;
}

.fd-care-hero{
  margin-bottom: 6px;
}
.fd-care-bento{
  display:grid;
  gap:18px;
}
.fd-care-highlight{
  background: linear-gradient(135deg, rgba(185,236,238,.92), rgba(255,255,255,.95));
  border-radius: 32px;
  border:1px solid rgba(53,102,104,.18);
  padding: 28px;
  display:grid;
  gap:18px;
  box-shadow: 0 18px 36px rgba(53,102,104,.10);
}
.fd-care-highlight__body{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fd-care-highlight__media{
  width:100%;
  max-width:200px;
  justify-self:center;
}
.fd-care-highlight__media .fd-patient-card__avatar{
  width:100%;
  height:auto;
  aspect-ratio: 1 / 1;
  border-radius:24px;
}
.fd-manage-card{
  background: linear-gradient(180deg, rgba(248,236,227,.92), rgba(255,255,255,.96));
  border:1px solid rgba(83,68,57,.10);
  border-radius: 32px;
  padding: 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  box-shadow: var(--shadow);
}
.fd-manage-icon{
  width:52px;
  height:52px;
  border-radius:999px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  box-shadow: 0 10px 18px rgba(32,27,21,.08);
}
.fd-patient-grid{
  display:grid;
  gap:16px;
}
.fd-patient-select-card{
  background: rgba(255,255,255,.98);
  border:1px solid rgba(83,68,57,.10);
  border-radius: 30px;
  padding: 22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  box-shadow: 0 10px 26px rgba(32,27,21,.06);
}
.fd-patient-select-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.fd-patient-select-card__summary{
  display:flex;
  align-items:center;
  gap:16px;
}
.fd-patient-select-card__info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.fd-patient-select-card__actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.fd-round-icon{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(83,68,57,.12);
  background: rgba(248,236,227,.72);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: var(--muted);
}
.fd-add-card{
  background: linear-gradient(180deg, rgba(248,236,227,.85), rgba(255,255,255,.86));
  border:2px dashed rgba(83,68,57,.22);
  border-radius: 30px;
  padding: 22px;
  min-height: 100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:14px;
}
.fd-add-card__headline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.fd-add-card .fd-manage-icon{
  width:64px;
  height:64px;
  font-size:30px;
}
.fd-footer-message{
  margin-top: 6px;
  padding: 36px 10px 10px;
  border-top:1px solid rgba(83,68,57,.12);
  text-align:center;
}
.fd-footer-badges{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.fd-history-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.fd-history-filterbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.fd-search-shell{
  position:relative;
  flex:1 1 300px;
}
.fd-search-shell input{
  width:100%;
  height:52px;
  border-radius: 18px;
  border:1px solid rgba(83,68,57,.12);
  padding: 0 16px 0 46px;
  background: rgba(255,255,255,.96);
}
.fd-search-shell span{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color: var(--muted);
}
.fd-filter-pill{
  height:52px;
  padding:0 16px;
  border-radius:18px;
  border:1px solid rgba(83,68,57,.12);
  background: rgba(248,236,227,.82);
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
}
.fd-history-row{
  width:100%;
  border:1px solid rgba(83,68,57,.10);
  background: rgba(255,255,255,.98);
  border-radius: 26px;
  padding: 20px;
  text-align:left;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(32,27,21,.05);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.fd-history-row__grid{
  display:grid;
  gap:14px;
  align-items:center;
}
.fd-mini-avatar{
  width:40px;
  height:40px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(83,68,57,.12);
}
.fd-mini-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.fd-history-patient{
  display:flex;
  align-items:center;
  gap:10px;
}
.fd-history-summary{
  background: rgba(248,236,227,.48);
  border:1px solid rgba(83,68,57,.08);
  border-radius: 18px;
  padding: 16px;
  display:grid;
  gap:12px;
}
.fd-history-detail-grid{
  display:grid;
  gap:12px;
}
.fd-history-panel{
  background: rgba(255,255,255,.92);
  border:1px solid rgba(83,68,57,.08);
  border-radius: 18px;
  padding: 16px;
}
.fd-account-shell{
  max-width: 1200px;
  margin: 0 auto;
}
.fd-account-core{
  background: rgba(255,255,255,.96);
  border:1px solid rgba(83,68,57,.10);
  border-radius: 34px;
  padding: 28px;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
  gap:28px;
}
.fd-section-sep{
  height:1px;
  background: rgba(83,68,57,.10);
}
.fd-info-grid--account{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fd-contact-grid--stack{
  grid-template-columns: 1fr;
}
.fd-support-shell{
  display:grid;
  gap:18px;
}
.fd-landing{
  display:grid;
  gap:32px;
}
.fd-landing-hero{
  display:grid;
  gap:24px;
  align-items:center;
}
.fd-landing-copy{
  display:grid;
  gap:18px;
}
.fd-landing-copy h1{
  margin:0;
  font-family: var(--font-display);
  font-size: clamp(42px, 7vw, 74px);
  line-height: .98;
  letter-spacing: -.04em;
}
.fd-landing-copy p{
  margin:0;
  max-width: 640px;
  font-size: clamp(18px, 2.8vw, 24px);
  line-height: 1.6;
  color: var(--muted);
}
.fd-landing-cta{
  min-height:60px;
  padding-inline: 28px;
  border-radius:999px;
  font-size:18px;
}
.fd-landing-callout{
  display:grid;
  gap:6px;
  max-width: 460px;
  padding:16px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  border:1px solid rgba(83,68,57,.12);
  box-shadow: 0 12px 28px rgba(32,27,21,.06);
}
.fd-landing-media{
  position:relative;
  min-height: 320px;
}
.fd-landing-photo{
  min-height: 320px;
  border-radius: 48px;
  background:
    linear-gradient(180deg, rgba(32,27,21,.08), rgba(32,27,21,.18)),
    url("graphics/telehealth-session.jpg") center/cover no-repeat;
  box-shadow: 0 26px 60px rgba(32,27,21,.14);
  transform: rotate(2deg);
  overflow: hidden;
}
.fd-landing-photo__glow{
  width:100%;
  height:100%;
  border-radius: inherit;
  background:
    radial-gradient(circle at 65% 34%, rgba(255,255,255,.95), transparent 20%),
    radial-gradient(circle at 38% 62%, rgba(255,255,255,.5), transparent 18%);
}
.fd-landing-stat{
  position:absolute;
  left:-12px;
  bottom:-18px;
  display:grid;
  gap:4px;
  padding:18px 20px;
  border-radius: 24px;
  background: #b9ecee;
  color:#1a4e50;
  box-shadow: 0 18px 36px rgba(53,102,104,.18);
}
.fd-landing-stat small{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fd-landing-stat strong{
  font-family: var(--font-display);
  font-size: 32px;
}
.fd-landing-services,
.fd-landing-why{
  border-radius: 40px;
}
.fd-landing-sectionhead{
  display:grid;
  gap:10px;
  text-align:center;
}
.fd-landing-sectionhead h2,
.fd-landing-why__copy h2{
  margin:0;
  font-family: var(--font-display);
  font-size: clamp(32px, 4.6vw, 46px);
  line-height: 1.05;
}
.fd-landing-sectionhead p,
.fd-landing-why__copy p,
.fd-landing-quote p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
.fd-landing-services{
  display:grid;
  gap:26px;
}
.fd-landing-services__grid{
  display:grid;
  gap:18px;
}
.fd-landing-service{
  background: linear-gradient(180deg, rgba(248,236,227,.92), rgba(255,255,255,.96));
  border:1px solid rgba(83,68,57,.08);
  border-radius: 38px;
  padding: 28px;
  display:grid;
  gap:14px;
  box-shadow: var(--shadow);
}
.fd-landing-service__icon{
  width:64px;
  height:64px;
  border-radius:20px;
  background: rgba(255,220,196,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
}
.fd-landing-service h3,
.fd-support-faq__card strong{
  margin:0;
  font-size: 24px;
  font-family: var(--font-display);
}
.fd-landing-service p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
.fd-landing-why{
  display:grid;
  gap:28px;
  padding: 28px;
  background: rgba(236,224,216,.72);
  border:1px solid rgba(83,68,57,.08);
}
.fd-landing-points{
  display:grid;
  gap:18px;
}
.fd-landing-points div{
  display:grid;
  gap:6px;
}
.fd-landing-points strong{
  font-size:20px;
}
.fd-landing-quote{
  display:grid;
  gap:12px;
  padding:24px;
  border-radius: 30px;
  background: rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.45);
  box-shadow: 0 18px 44px rgba(32,27,21,.08);
}
.fd-landing-quote__avatar{
  width:52px;
  height:52px;
  border-radius:999px;
  background: linear-gradient(135deg, #f4a261, #ffdcc4);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:#6f3800;
}
.fd-landing-quote small{
  color: var(--muted);
}
.fd-support-page{
  display:grid;
  gap:28px;
}
.fd-support-hero{
  display:grid;
  gap:24px;
}
.fd-support-alert{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:20px 22px;
  border-radius: 24px;
  background: rgba(255,218,214,.55);
  border-left: 4px solid #ba1a1a;
}
.fd-support-alert p{
  margin:4px 0 0;
  color:#6f3800;
  line-height:1.6;
}
.fd-support-alert__icon{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  flex:0 0 32px;
  border-radius:999px;
  background:#ba1a1a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}
.fd-support-hero__grid,
.fd-support-layout{
  display:grid;
  gap:24px;
}
.fd-support-hero__copy{
  display:grid;
  gap:14px;
  align-content:end;
}
.fd-support-stack{
  display:grid;
  gap:18px;
}
.fd-support-callcard,
.fd-support-message,
.fd-support-note,
.fd-support-faq__card{
  border:1px solid rgba(83,68,57,.08);
  box-shadow: var(--shadow);
}
.fd-support-callcard{
  display:grid;
  gap:18px;
  padding:28px;
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(248,236,227,.92), rgba(255,255,255,.98));
}
.fd-support-callcard__icon,
.fd-support-note__icon,
.fd-support-faq__icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}
.fd-support-callcard__icon{
  background:#8e4e14;
  color:#fff;
}
.fd-support-phone{
  display:flex;
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius: 22px;
  border:1px solid rgba(83,68,57,.10);
  background:#fff;
  color: inherit;
  text-decoration:none;
}
.fd-support-phone__badge{
  width:44px;
  height:44px;
  border-radius:14px;
  background: rgba(255,180,162,.54);
  display:flex;
  align-items:center;
  justify-content:center;
}
.fd-support-phone small{
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color: var(--muted);
}
.fd-support-phone strong{
  display:block;
  font-family: var(--font-display);
  font-size: 28px;
  color:#356668;
}
.fd-support-meta{
  margin:0;
  color: var(--muted);
}
.fd-support-note{
  display:flex;
  gap:14px;
  align-items:center;
  padding:22px 24px;
  border-radius: 32px;
  background: rgba(185,236,238,.34);
}
.fd-support-note__icon{
  width:44px;
  height:44px;
  border-radius:999px;
  background:#356668;
  color:#fff;
  flex:0 0 auto;
}
.fd-support-note p{
  margin:0;
  color:#1a4e50;
  font-weight:700;
}
.fd-support-message{
  padding: 30px;
  border-radius: 34px;
  background: rgba(255,255,255,.98);
}
.fd-support-form-grid,
.fd-support-faq__grid{
  display:grid;
  gap:18px;
}
.fd-support-textarea{
  min-height: 140px;
  resize: vertical;
}

.pcp-prompt-layout{
  display:grid;
  gap:18px;
  padding-top:22px;
}
.pcp-prompt-hero{
  display:grid;
  gap:14px;
}
.pcp-prompt-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:8px 14px;
  border-radius:999px;
  background:#f5d8cc;
  color:#8b351d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pcp-prompt-title{
  margin:0;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.pcp-prompt-copy{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  font-size:15px;
}
.pcp-prompt-clinic{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(116,181,183,.10));
  border:1px solid rgba(116,181,183,.20);
  min-width:0;
}
.pcp-prompt-clinic-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#d9efef;
  color:#2d6668;
  font-size:32px;
  font-weight:700;
  flex:0 0 auto;
}
.pcp-prompt-clinic-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.pcp-prompt-clinic-name{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}
.pcp-prompt-clinic-phone{
  color:var(--muted);
  font-size:14px;
  overflow-wrap:anywhere;
}
.pcp-prompt-clinic-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  color:var(--brand-700);
  font-weight:800;
  text-decoration:none;
}
.pcp-prompt-clinic-link:hover{
  text-decoration:underline;
}
.pcp-prompt-panel{
  display:grid;
  gap:14px;
  padding:22px;
  border-radius:18px;
  background:#fffdfa;
  border:1px solid rgba(32,27,21,.06);
  box-shadow:0 18px 42px rgba(32,27,21,.08);
  min-width:0;
}
.pcp-prompt-panel-title{
  margin:0;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.pcp-prompt-panel-copy{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.pcp-prompt-choice{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border-radius:20px;
  background:#f8f1ea;
  border:2px solid transparent;
}
.pcp-prompt-choice input{
  margin-top:2px;
}
.pcp-prompt-choice span{
  font-weight:700;
  color:var(--ink);
}
.fd-age-limit-note{
  width:100%;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

@media (max-width: 520px){
  .pcp-prompt-layout{
    padding-top:12px;
    gap:14px;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .pcp-prompt-title{
    font-size:28px;
    line-height:1.12;
  }
  .pcp-prompt-clinic{
    padding:14px;
    gap:10px;
  }
  .pcp-prompt-clinic-icon{
    width:40px;
    height:40px;
    font-size:24px;
  }
  .pcp-prompt-clinic-name{
    font-size:17px;
  }
  .pcp-prompt-panel{
    padding:16px;
    width:100%;
    max-width:100%;
    gap:12px;
  }
  .pcp-prompt-panel-title{
    font-size:20px;
  }
  .pcp-prompt-panel-copy,
  .pcp-prompt-panel .field,
  .pcp-prompt-panel .field label{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-wrap:anywhere;
  }
  .pcp-prompt-panel .control{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .pcp-prompt-panel select.control{
    padding-left:12px;
    padding-right:34px;
    text-overflow:ellipsis;
  }
  .pcp-prompt-choice{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:13px;
    gap:10px;
  }
  .pcp-prompt-choice span{
    min-width:0;
    overflow-wrap:anywhere;
  }
}

@media (min-width: 880px){
  .pcp-prompt-layout{
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items:start;
    gap:26px;
  }
  .pcp-prompt-panel{
    position:sticky;
    top:96px;
  }
}
.fd-support-field-gap{
  margin-top: 12px;
}
.fd-support-message__footer{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  margin-top: 12px;
}
.fd-support-send{
  border-radius:999px;
  min-height:56px;
  padding-inline: 24px;
}
.fd-support-faq{
  display:grid;
  gap:18px;
}
.fd-support-faq__card{
  display:grid;
  gap:12px;
  padding:22px;
  border-radius: 28px;
  background: rgba(248,236,227,.7);
}
.fd-support-faq__icon{
  background: rgba(255,220,196,.95);
  color:#8e4e14;
}
.fd-support-faq__card p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}

@media (min-width: 760px){
  .fd-landing-services__grid,
  .fd-support-faq__grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fd-support-form-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fd-patient-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fd-history-detail-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fd-card-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 980px){
  .fd-landing-hero{
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  }
  .fd-landing-why{
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    padding: 40px 44px;
  }
  .fd-support-layout{
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    align-items:start;
  }
  .fd-care-bento{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .fd-care-highlight{
    grid-column: span 8;
    grid-template-columns: minmax(0, 1fr) 200px;
    align-items:center;
  }
  .fd-manage-card{
    grid-column: span 4;
  }
  .fd-patient-grid{
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fd-history-row__grid{
    grid-template-columns: 1.1fr 1.2fr 1fr .9fr auto;
  }
  .fd-account-shell{
    max-width: 1200px;
  }
  .fd-page-hero{
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  }
  .fd-grid--care-shell{
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  }
  .fd-grid--account-top{
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  }
  .fd-detail-layout{
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  }
  .fd-card-grid--profiles{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.fd-path-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
}
.fd-path-hero{
  display:block;
}
.fd-path-card{
  appearance:none;
  width:100%;
  border:1px solid rgba(216,194,181,.6);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,244,.94));
  border-radius:32px;
  padding:28px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:14px;
  box-shadow:0 18px 34px rgba(32,27,21,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  cursor:pointer;
}
.fd-path-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 40px rgba(32,27,21,.1);
}
.fd-path-card.is-selected{
  border-color:rgba(142,78,20,.55);
  box-shadow:0 24px 42px rgba(32,27,21,.12);
}
.fd-path-card--behavioral.is-selected{
  border-color:rgba(53,102,104,.45);
}
.fd-path-card__icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  line-height:1;
  background:rgba(53,102,104,.12);
  color:var(--accent3);
}
.fd-path-card--behavioral .fd-path-card__icon{
  background:rgba(53,102,104,.12);
  color:var(--accent3);
}
.fd-path-card__title{
  font-family:var(--font-display);
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--ink);
}
.fd-path-card--behavioral .fd-path-card__title{
  color:var(--ink);
}
.fd-path-card__list{
  margin:0;
  padding-left:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
.fd-path-card__cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:999px;
  padding:0 18px;
  background:rgba(53,102,104,.12);
  color:var(--accent3);
  font-weight:800;
  letter-spacing:.01em;
}
.fd-path-card--behavioral .fd-path-card__cta{
  background:rgba(53,102,104,.12);
  color:var(--accent3);
}
.fd-safety-page{
  gap:20px;
}
.fd-safety-header{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fd-safety-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.fd-safety-question,
.fd-safety-resources,
.fd-safety-image,
.fd-safety-alert{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(216,194,181,.58);
  box-shadow:0 16px 34px rgba(32,27,21,.06);
}
.fd-safety-question{
  position:relative;
  overflow:hidden;
  border-radius:38px;
  padding:28px;
}
.fd-safety-question__bg{
  position:absolute;
  top:18px;
  right:18px;
  width:120px;
  height:120px;
  color:rgba(32,27,21,.06);
  pointer-events:none;
}
.fd-safety-question__bg svg{
  width:100%;
  height:100%;
  display:block;
}
.fd-safety-question__title{
  position:relative;
  z-index:1;
  margin:0 0 24px;
  max-width:900px;
  font-family:var(--font-display);
  font-size:clamp(28px, 3.2vw, 40px);
  line-height:1.15;
  letter-spacing:-.03em;
}
.fd-safety-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  max-width:360px;
}
.fd-safety-option{
  appearance:none;
  width:100%;
  min-height:56px;
  border-radius:18px;
  border:1px solid rgba(216,194,181,.7);
  background:rgba(255,255,255,.94);
  color:var(--ink);
  padding:0 18px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.fd-safety-option:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(32,27,21,.08);
}
.fd-safety-option__title{
  font-family:var(--font-display);
  font-size:20px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
}
.fd-safety-option.is-selected{
  border-color:rgba(53,102,104,.45);
  background:rgba(185,236,238,.24);
}
.fd-safety-resources{
  border-radius:32px;
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.fd-safety-section-title{
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-size:24px;
  line-height:1.2;
  font-weight:800;
}
.fd-safety-section-title__icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#a33d23;
}
.fd-safety-section-title__icon svg{
  width:22px;
  height:22px;
  display:block;
}
.fd-safety-resource-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.fd-safety-resource{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:16px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 20px rgba(32,27,21,.05);
}
.fd-safety-resource__icon{
  width:48px;
  height:48px;
  flex:0 0 auto;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fd-safety-resource__icon svg{
  width:22px;
  height:22px;
  display:block;
}
.fd-safety-resource__icon--emergency{
  background:#ffdad6;
  color:#ba1a1a;
}
.fd-safety-resource__icon--support{
  background:#b9ecee;
  color:var(--accent3);
}
.fd-safety-resource__icon--text{
  background:#ffdcc4;
  color:var(--accent);
}
.fd-safety-resource__copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.fd-safety-resource__title{
  margin:0;
  font-weight:800;
  color:var(--ink);
}
.fd-safety-resource__text{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.fd-safety-resource__text a{
  color:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.fd-safety-resource__meta{
  margin:0;
  font-size:12px;
  color:var(--muted);
  font-style:italic;
}
.fd-safety-image{
  position:relative;
  overflow:hidden;
  min-height:320px;
  border-radius:32px;
}
.fd-safety-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fd-safety-image__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:28px;
  background:linear-gradient(180deg, rgba(32,27,21,.05), rgba(142,78,20,.58));
}
.fd-safety-image__quote{
  margin:0;
  color:#fff;
  font-family:var(--font-display);
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  max-width:360px;
}
.fd-safety-alert{
  border-radius:30px;
  padding:24px 26px;
  background:linear-gradient(180deg, #fff5f3, #ffebe7);
  border-color:rgba(186,26,26,.24);
}
.fd-safety-alert--grid{
  grid-column:1 / -1;
}
.fd-safety-alert__title{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:24px;
  line-height:1.15;
  font-weight:800;
  color:#93000a;
}
.fd-safety-alert__text{
  margin:0;
  color:#6b2b1c;
  line-height:1.6;
}
@media (min-width: 980px){
  .fd-path-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .fd-safety-options{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .fd-safety-grid{
    grid-template-columns:repeat(12, minmax(0, 1fr));
    align-items:start;
  }
  .fd-safety-question{
    grid-column:1 / -1;
    padding:34px 36px;
  }
  .fd-safety-alert--grid{
    grid-column:1 / -1;
  }
  .fd-safety-resources{
    grid-column:span 7;
  }
  .fd-safety-image{
    grid-column:span 5;
    min-height:100%;
  }
}
@media (max-width: 759px){
  .fd-path-card__icon{
    padding-bottom:2px;
  }
}
@media (max-width: 759px){
  .fd-pastvisit-hero,
  .fd-pastvisit-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .fd-pastvisit-pill{
    justify-content:center;
  }
  .fd-pastvisit-summary-grid{
    grid-template-columns: 1fr;
  }
  .fd-pastvisit-provider{
    padding:14px 16px;
  }
  .fd-patient-grid{
    order: 2;
  }
  .fd-manage-card{
    order: 3;
  }
  .fd-landing-photo{
    min-height: 260px;
    border-radius: 34px;
  }
  .fd-landing-stat{
    position:relative;
    left:auto;
    bottom:auto;
    margin-top: -22px;
    width: fit-content;
  }
  .fd-landing-why{
    padding: 22px;
    border-radius: 30px;
  }
  .fd-support-callcard,
  .fd-support-message{
    padding:22px;
    border-radius: 28px;
  }
  .fd-page-title{
    font-size: 34px;
  }
  .fd-card-title{
    font-size: 24px;
  }
  .fd-panel,
  .fd-hero-copy,
  .fd-hero-note,
  .fd-banner{
    padding: 20px;
    border-radius: 26px;
  }
  .fd-safety-question,
  .fd-safety-resources,
  .fd-safety-image,
  .fd-safety-alert{
    border-radius:26px;
  }
  .fd-safety-question{
    padding:22px;
  }
  .fd-safety-question__title{
    font-size:30px;
  }
  .fd-safety-image{
    min-height:260px;
  }
  .fd-safety-image__overlay{
    padding:22px;
  }
  .fd-safety-image__quote{
    font-size:18px;
  }
  .fd-patient-card__avatar{
    width:76px;
    height:76px;
  }
  .fd-history-row{
    padding:18px;
  }
}

.fd-bh-choice-page{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.fd-bh-choice-hero{
  max-width:760px;
}

.fd-bh-consult-card{
  background:linear-gradient(135deg, rgba(26,78,80,.11), rgba(255,220,196,.34));
  border:1px solid rgba(26,78,80,.16);
  border-radius:32px;
  padding:24px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:flex-start;
  box-shadow:0 18px 46px rgba(32,27,21,.06);
}

.fd-bh-consult-card__icon{
  width:58px;
  height:58px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1a4e50;
  background:#ffffff;
  box-shadow:0 10px 28px rgba(32,27,21,.08);
}

.fd-bh-consult-card__icon svg{
  width:30px;
  height:30px;
}

.fd-bh-consult-card h2{
  margin:0 0 8px;
  color:#002021;
  font-size:24px;
  line-height:1.2;
}

.fd-bh-consult-card p{
  margin:0;
  color:#1a4e50;
  font-size:16px;
  line-height:1.5;
}

.fd-bh-choice-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.fd-bh-choice-card{
  background:#ffffff;
  border:1px solid rgba(83,68,57,.16);
  border-radius:32px;
  padding:26px;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:100%;
  box-shadow:0 18px 46px rgba(32,27,21,.07);
}

.fd-bh-choice-card.is-selected{
  border-color:#8e4e14;
  box-shadow:0 20px 52px rgba(112,56,0,.14);
}

.fd-bh-choice-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.fd-bh-choice-card__icon{
  width:58px;
  min-width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1a4e50;
  background:#b9ecee;
}

.fd-bh-choice-card--lcpc .fd-bh-choice-card__icon{
  color:#8e4e14;
  background:#ffdcc4;
}

.fd-bh-choice-card__icon svg{
  width:30px;
  height:30px;
}

.fd-bh-choice-card__body{
  flex:1;
}

.fd-bh-choice-card__title{
  margin:0 0 8px;
  font-size:26px;
  line-height:1.18;
  color:#201b15;
}

.fd-bh-choice-card__copy{
  margin:0 0 18px;
  color:#534439;
  font-size:16px;
  line-height:1.45;
}

.fd-bh-choice-card__bullets{
  margin:-8px 0 18px 0;
  padding-left:1.25rem;
  color:#534439;
  font-size:16px;
  line-height:1.5;
  list-style:disc;
}

.fd-bh-choice-card__bullets li{
  margin:0 0 8px;
}

.fd-bh-choice-card__actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.fd-bh-choice-card__payment-panel{
  border:1px solid rgba(26,78,80,.16);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(185,236,238,.42), rgba(247,236,226,.75));
  padding:18px;
  display:grid;
  gap:10px;
}

.fd-bh-choice-card--lcpc .fd-bh-choice-card__payment-panel{
  border-color:rgba(142,78,20,.22);
  background:linear-gradient(135deg, rgba(255,220,196,.72), rgba(247,236,226,.82));
}

.fd-bh-choice-card__payment-kicker{
  color:#1a4e50;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.fd-bh-choice-card__payment-panel strong{
  color:#201b15;
  font-size:18px;
  line-height:1.28;
}

.fd-bh-choice-card__payment-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.fd-bh-choice-card__payment-tags .fd-bh-choice-card__payment-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  border:1px solid rgba(26,78,80,.22);
  border-radius:999px;
  background:#f7ece2;
  color:#201b15;
  padding:5px 10px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(32,27,21,.06);
}

.fd-bh-choice-action{
  width:100%;
  min-height:48px;
  border:1px solid rgba(83,68,57,.22);
  border-radius:999px;
  background:#f7ece2;
  color:#201b15;
  font-weight:700;
  font-size:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.fd-bh-choice-action:hover{
  background:#ece1d7;
  border-color:rgba(83,68,57,.34);
  transform:translateY(-1px);
}

.fd-bh-choice-action.is-selected{
  background:#ffdcc4;
  border-color:#8e4e14;
  color:#301400;
}

.fd-bh-choice-action__icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#1a4e50;
}

.fd-bh-choice-action__icon svg{
  width:22px;
  height:22px;
}

.fd-bh-choice-help{
  background:rgba(185,236,238,.35);
  border:1px solid rgba(26,78,80,.16);
  border-radius:32px;
  padding:24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:20px;
  align-items:center;
}

.fd-bh-choice-help__avatar{
  width:66px;
  height:66px;
  border-radius:50%;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1a4e50;
  box-shadow:0 10px 28px rgba(32,27,21,.08);
}

.fd-bh-choice-help__avatar svg{
  width:30px;
  height:30px;
}

.fd-bh-choice-help__copy h2{
  margin:0 0 4px;
  font-size:22px;
  line-height:1.25;
  color:#002021;
}

.fd-bh-choice-help__copy p{
  margin:0;
  color:#1a4e50;
  line-height:1.45;
}

@media (max-width: 860px){
  .fd-bh-consult-card{
    grid-template-columns:1fr;
  }
  .fd-bh-choice-grid{
    grid-template-columns:1fr;
  }
  .fd-bh-choice-help{
    grid-template-columns:1fr;
    text-align:left;
  }
}

