[hidden]:not([hidden=until-found i]){display:none!important}
img{max-width:100%}
  :root{
    --bg:#F6F8F7;
    --surface:#FFFFFF;
    --surface-sunk:#EEF2F1;
    --ink:#16232A;
    --ink-muted:#51636A;
    --ink-faint:#84969C;
    --accent:#0B5D6B;
    --accent-strong:#08444E;
    --accent-tint:#E3F0EE;
    --accent-ink:#FFFFFF;
    --line:#DCE4E2;
    --line-strong:#C3CFCC;
    --success:#2F7A4D;
    --success-tint:#E6F2EA;
    --warning:#9A6A12;
    --warning-tint:#FBF0DD;
    --critical:#B3261E;
    --critical-tint:#FBE9E7;
    --locked:#6B5F52;
    --locked-tint:#F1ECE4;
    --shadow: 0 1px 2px rgba(20,35,38,0.06), 0 6px 20px -8px rgba(20,35,38,0.15);
    --radius: 3px;
    --font-display:'Times New Roman', Times, serif;
    --font-body:'Space Grotesk', -apple-system, 'Segoe UI', Roboto, sans-serif;
    --font-mono:'IBM Plex Mono', 'Courier New', monospace;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:1.0625rem;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--accent-strong);}
  button{font-family:inherit;}
  :focus-visible{outline:3px solid var(--accent); outline-offset:2px;}

  .skiplink{position:absolute; left:-9999px;}
  .skiplink:focus{left:1rem; top:1rem; z-index:200; background:var(--surface); padding:.6rem 1rem; border-radius:3px; box-shadow:var(--shadow);}

  /* ---------- demo banner ---------- */
  .demo-banner{
    background:var(--locked-tint);
    color:var(--locked);
    border-bottom:1px solid var(--line-strong);
    font-size:max(0.8438rem,var(--fs-floor,0px));
    text-align:center;
    padding:7px 12px;
    font-weight:600;
    letter-spacing:.01em;
  }

  /* ---------- top bar ---------- */
  .topbar{
    background:var(--surface);
    border-bottom:1px solid var(--line);
    padding: 18px clamp(16px,4vw,40px) 0;
  }
  .topbar-row{
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap;
    max-width:1180px; margin:0 auto;
  }
  .brand{display:flex; flex-direction:column; gap:2px; padding-bottom:14px;}
  .brand-mark{
    font-family:var(--font-display); font-weight:700; font-size:1.625rem; letter-spacing:.01em; color:var(--accent-strong);
    display:flex; align-items:baseline; gap:9px;
  }
  .brand-mark small{
    font-family:var(--font-body); font-weight:600; font-size:max(0.7812rem,var(--fs-floor,0px)); letter-spacing:.09em; text-transform:uppercase; color:var(--ink-muted);
  }
  .brand-sub{font-size:max(0.8438rem,var(--fs-floor,0px)); color:var(--ink-muted);}

  .portal-switch{display:flex; gap:4px; padding-bottom:0;}
  .portal-switch button{
    appearance:none; border:1px solid transparent; background:transparent; color:var(--ink-muted);
    font-size:0.9062rem; font-weight:600; padding:10px 16px; border-radius:3px 3px 0 0; cursor:pointer;
    border-bottom:3px solid transparent; transition:color .15s ease, background .15s ease;
  }
  .portal-switch button:hover{color:var(--accent-strong); background:var(--accent-tint);}
  .portal-switch button[aria-selected="true"]{color:var(--accent-strong); border-bottom-color:var(--accent);}

  main{max-width:1180px; margin:0 auto; padding:28px clamp(16px,4vw,40px) 80px;}
  .view{display:none;}
  .view.active{display:block; animation:fade .25s ease;}
  @media (prefers-reduced-motion:reduce){ .view.active{animation:none;} }
  @keyframes fade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}

  h1.page-title{font-family:var(--font-display); font-size:clamp(1.625rem,3vw,2rem); font-weight:600; margin:0 0 4px; text-wrap:balance;}
  .page-lede{color:var(--ink-muted); font-size:0.9688rem; margin:0 0 28px; max-width:62ch;}

  .card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);}
  .card-pad{padding:22px clamp(18px,3vw,28px);}

  /* ---------- Agent portal layout ---------- */
  .agent-grid{display:grid; grid-template-columns: minmax(0,1.15fr) minmax(0,0.85fr); gap:22px; align-items:start;}
  @media (max-width:880px){ .agent-grid{grid-template-columns:1fr;} }

  .section-heading{
    font-family:var(--font-display); font-size:1.1875rem; font-weight:600; margin:0 0 14px;
    display:flex; align-items:center; gap:10px;
  }
  .section-heading .count{
    font-family:var(--font-mono); font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted); font-weight:400;
    background:var(--surface-sunk); border-radius:3px; padding:2px 10px;
  }

  /* steps */
  .steps{display:flex; flex-direction:column; gap:12px;}
  .step{
    border:1px solid var(--line); border-radius:var(--radius); background:var(--surface);
    padding:16px 18px; display:flex; gap:14px;
  }
  .step[data-state="done"]{border-color:var(--success); background:var(--success-tint);}
  .step[data-state="locked"]{border-color:var(--warning); background:var(--warning-tint);}
  .step-num{
    font-family:var(--font-mono); font-weight:600; font-size:0.875rem; color:var(--ink-muted);
    width:30px; height:30px; border-radius:50%; background:var(--surface-sunk); display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .step[data-state="done"] .step-num{background:var(--success); color:#fff;}
  .step[data-state="locked"] .step-num{background:var(--warning); color:#fff;}
  .step-body{flex:1; min-width:0;}
  .step-title{font-weight:700; font-size:0.9688rem; margin:0 0 3px;}
  .step-desc{color:var(--ink-muted); font-size:0.875rem; margin:0;}
  .step-verbatim{
    margin-top:10px; background:var(--surface); border:1px dashed var(--line-strong); border-radius:3px;
    padding:12px 14px; font-size:0.9062rem; color:var(--ink);
  }
  .step-verbatim strong{display:block; font-size:max(0.7188rem,var(--fs-floor,0px)); letter-spacing:.08em; text-transform:uppercase; color:var(--warning); margin-bottom:5px;}
  .step-actions{margin-top:12px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .check-row{display:flex; align-items:center; gap:8px; font-size:0.875rem; color:var(--ink-muted);}
  .check-row input{width:18px; height:18px;}

  .btn{
    appearance:none; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink);
    font-weight:700; font-size:0.9062rem; padding:10px 18px; border-radius:3px; cursor:pointer;
    transition:transform .08s ease, box-shadow .12s ease;
  }
  .btn:hover{box-shadow:var(--shadow);}
  .btn:active{transform:translateY(1px);}
  .btn:disabled{opacity:.45; cursor:not-allowed; box-shadow:none;}
  .btn-primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
  .btn-primary:hover{background:var(--accent-strong); border-color:var(--accent-strong);}
  .btn-ghost{background:transparent; border-color:transparent; color:var(--accent-strong); padding:8px 4px;}
  .btn-sm{padding:7px 13px; font-size:max(0.8438rem,var(--fs-floor,0px));}

  .lock-banner{
    display:flex; gap:12px; align-items:flex-start; background:var(--warning-tint); border:1px solid var(--warning);
    color:#5C3E0A; padding:14px 16px; border-radius:var(--radius); font-size:0.9062rem; margin-bottom:18px;
  }

  /* form */
  .field{margin-bottom:14px;}
  .field label{display:block; font-size:max(0.8438rem,var(--fs-floor,0px)); font-weight:700; margin-bottom:6px; color:var(--ink);}
  .field input, .field select{
    width:100%; padding:11px 13px; font-size:1rem; border:1.5px solid var(--line-strong); border-radius:3px;
    background:var(--surface); color:var(--ink); font-family:inherit;
  }
  .field input:focus, .field select:focus{border-color:var(--accent);}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media (max-width:520px){ .field-row{grid-template-columns:1fr;} }

  .plan-list{display:flex; flex-direction:column; gap:10px; margin-bottom:18px;}
  .plan{
    border:1.5px solid var(--line-strong); border-radius:var(--radius); padding:13px 15px; cursor:pointer;
    display:flex; justify-content:space-between; gap:12px; align-items:center;
  }
  .plan:hover{border-color:var(--accent);}
  .plan[data-selected="true"]{border-color:var(--accent); background:var(--accent-tint);}
  .plan-name{font-weight:700; font-size:0.9375rem;}
  .plan-meta{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .plan-premium{font-family:var(--font-mono); font-weight:600; font-size:0.9375rem; white-space:nowrap;}

  .handoff{margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
  .handoff-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px;}
  .chip-row{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
  .chip{
    font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:600; padding:5px 11px; border-radius:3px; background:var(--surface-sunk);
    color:var(--ink-muted); border:1px solid var(--line);
  }
  .chip.phase2::after{content:" \00b7 Phase 2";  color:var(--ink-faint);}

  .code-callout{
    font-family:var(--font-mono); background:var(--accent-strong); color:#fff; border-radius:4px;
    padding:16px 20px; margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  }
  .code-callout .code{font-size:1.375rem; font-weight:600; letter-spacing:.06em;}
  .code-callout .label{font-family:var(--font-body); font-size:max(0.7812rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.08em; opacity:.85;}

  /* The call's filled application (Fill & send application card) */
  .app-fill{border:1px solid var(--line); border-radius:4px; padding:14px 16px; margin-bottom:14px; background:var(--surface-sunk);}
  .app-fill-head{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
  .app-fill-head .label{font-size:max(0.75rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-muted);}
  .app-fill-name{font-weight:700; font-size:1rem;}
  .app-fill-plan{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .app-fill-missing{font-size:max(0.8438rem,var(--fs-floor,0px)); margin-bottom:8px;}
  .app-fill-missing.ok{color:var(--success); font-weight:600;}
  .app-fill-missing h3{font-size:max(0.8438rem,var(--fs-floor,0px)); margin:0 0 6px; color:var(--critical);}
  .app-fill-missing ul{margin:0; padding-left:18px; columns:2; column-gap:24px;}
  .app-fill-missing li{color:var(--critical); break-inside:avoid;}
  .app-fill-details summary{cursor:pointer; font-size:max(0.8125rem,var(--fs-floor,0px)); font-weight:600; color:var(--accent);}
  .app-fill-sec{font-size:max(0.75rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-muted); margin:12px 0 4px;}
  .app-fill-row{display:flex; justify-content:space-between; gap:12px; font-size:max(0.8125rem,var(--fs-floor,0px)); padding:3px 0; border-bottom:1px dashed var(--line);}
  .app-fill-row .k{color:var(--ink-muted); flex:1 1 55%;}
  .app-fill-row .v{text-align:right; flex:1 1 45%; word-break:break-word;}
  .app-fill-row.missing .k, .app-fill-row.missing .v{color:var(--critical); font-weight:600;}
  .app-delivery{font-size:max(0.8438rem,var(--fs-floor,0px)); font-weight:600; margin:10px 0 0; padding:8px 12px; border-radius:3px;}
  .app-delivery.sent{background:var(--success-tint); color:var(--success);}
  .app-delivery.not_sent{background:var(--warning-tint); color:var(--warning);}
  .app-delivery.failed{background:var(--critical-tint); color:var(--critical);}
  @media (max-width:600px){ .app-fill-missing ul{columns:1;} }

  /* Beneficiary portal */
  .lookup-wrap{max-width:460px;}
  .lookup-wrap .field-row-inline{display:flex; gap:10px;}
  .lookup-wrap input{text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-mono);}

  .summary-list{display:flex; flex-direction:column; gap:0;}
  .summary-row{display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:0.9375rem;}
  .summary-row:last-child{border-bottom:none;}
  .summary-row .k{color:var(--ink-muted);}
  .summary-row .v{font-weight:600; text-align:right;}

  .compliance-check{display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:0.9062rem;}
  .compliance-check:last-child{border-bottom:none;}
  .compliance-check .dot{width:9px; height:9px; border-radius:50%; background:var(--success); flex-shrink:0;}
  .compliance-check .ts{margin-left:auto; font-family:var(--font-mono); font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}

  .sign-box{border:1.5px dashed var(--line-strong); border-radius:var(--radius); padding:20px; margin-top:18px;}
  .sign-box input[type="text"]{font-family:var(--font-display); font-size:1.375rem; font-style:italic;}

  .empty-state{color:var(--ink-muted); font-size:0.9375rem; padding:30px 0; text-align:center;}

  /* Manager review table */
  .mgr-toolbar{display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; flex-wrap:wrap;}
  .stat-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px;}
  .stat{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px 20px; min-width:150px; box-shadow:var(--shadow);}
  .stat .num{font-family:var(--font-display); font-size:1.875rem; font-weight:600; line-height:1;}
  .stat .lbl{font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:6px;}

  table.enroll-table{width:100%; border-collapse:collapse; font-size:0.9062rem;}
  .enroll-table thead th{
    text-align:left; font-size:max(0.75rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-muted);
    padding:0 14px 10px; border-bottom:1.5px solid var(--line-strong); font-weight:700;
  }
  .enroll-table tbody td{padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:middle;}
  .enroll-table tbody tr:hover{background:var(--surface-sunk); cursor:pointer;}
  .table-scroll{overflow-x:auto; border-radius:var(--radius); border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow);}
  .table-scroll table{min-width:640px;}

  .pill{display:inline-flex; align-items:center; gap:6px; font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:700; padding:4px 11px; border-radius:3px;}
  .pill-progress{background:var(--warning-tint); color:var(--warning);}
  .pill-awaiting{background:var(--accent-tint); color:var(--accent-strong);}
  .pill-signed{background:var(--success-tint); color:var(--success);}

  .code-tag{font-family:var(--font-mono); font-weight:600; font-size:max(0.8438rem,var(--fs-floor,0px));}

  .modal-backdrop{
    position:fixed; inset:0; background:rgba(22,35,42,.45); display:flex; align-items:flex-start; justify-content:center;
    padding:6vh 16px; z-index:100; overflow-y:auto;
  }
  .modal-backdrop[hidden]{display:none;}
  .modal{background:var(--surface); border-radius:4px; max-width:560px; width:100%; box-shadow:0 20px 60px rgba(20,35,38,.3); padding:26px 26px 22px;}
  .modal-head{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px;}
  .modal h2{font-family:var(--font-display); font-size:1.3125rem; margin:0;}
  .modal-close{background:none; border:none; font-size:1.375rem; cursor:pointer; color:var(--ink-muted); line-height:1; padding:2px 6px;}

  .visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

  footer.foot{max-width:1180px; margin:0 auto; padding:0 clamp(16px,4vw,40px) 40px; color:var(--ink-faint); font-size:max(0.7812rem,var(--fs-floor,0px));}

  /* ---------- login gate ---------- */
  .gate{
    position:fixed; inset:0; background:var(--bg); z-index:300; display:flex; align-items:center; justify-content:center; padding:24px;
  }
  .gate-card{max-width:380px; width:100%; text-align:center;}
  .gate-card .brand-mark{justify-content:center; margin-bottom:6px;}
  .gate-card p.gate-sub{color:var(--ink-muted); font-size:0.9062rem; margin:0 0 22px;}
  .gate-card .field{text-align:left;}
  .gate-error{color:var(--critical); font-size:max(0.8438rem,var(--fs-floor,0px)); display:none; margin:0 0 12px;}

  /* ---------- landing page ---------- */
  .landing{max-width:1000px; margin:0 auto; padding:44px clamp(16px,4vw,40px) 80px;}
  .landing-head{text-align:center; margin-bottom:36px;}
  .landing-head .brand-mark{justify-content:center; font-size:2rem;}
  .landing-head p{color:var(--ink-muted); font-size:1rem; margin:10px auto 0; max-width:52ch;}
  .tile-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px; margin-bottom:40px;}
  .tile{
    background:var(--surface); border:1px solid var(--line); border-radius:4px; box-shadow:var(--shadow);
    padding:24px 20px; text-align:left; cursor:pointer; appearance:none; font-family:inherit; display:flex; flex-direction:column; gap:8px;
    transition:transform .1s ease, border-color .15s ease;
  }
  .tile:hover{border-color:var(--accent); transform:translateY(-2px);}
  .tile .tile-title{font-family:var(--font-display); font-weight:600; font-size:1.125rem; color:var(--ink);}
  .tile .tile-desc{font-size:max(0.8438rem,var(--fs-floor,0px)); color:var(--ink-muted); line-height:1.45;}
  .tile .tile-arrow{margin-top:auto; font-weight:700; color:var(--accent-strong); font-size:max(0.8438rem,var(--fs-floor,0px));}

  .landing-section-title{
    font-size:max(0.7812rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-muted); font-weight:700;
    margin:0 0 14px; text-align:center;
  }
  .daily-login-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px;}
  .login-tile{
    background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:16px 22px; min-width:130px;
    text-align:center; box-shadow:var(--shadow); cursor:pointer; font-family:inherit;
  }
  .login-tile:hover{border-color:var(--accent);}
  .login-tile{text-decoration:none; color:var(--ink);}
  .login-tile .name{display:block; font-weight:700; font-size:0.875rem;}
  .login-tile .status{display:block; font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-muted); margin-top:2px;}
  .login-tile[data-soon="true"]{opacity:.55; cursor:default;}

  .carrier-section{text-align:center;}
  .carrier-note{font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--warning); margin:0 0 12px; font-weight:600;}
  .carrier-row{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
  .carrier-chip{
    background:var(--surface-sunk); border:1px solid var(--line); border-radius:3px; padding:8px 16px;
    font-size:max(0.8438rem,var(--fs-floor,0px)); font-weight:600; color:var(--ink-muted);
  }
  .back-home{background:none; border:none; color:var(--accent-strong); font-weight:700; font-size:max(0.8438rem,var(--fs-floor,0px)); cursor:pointer; padding:8px 0;}

  /* ---------- count the money ---------- */
  .money-table{width:100%; border-collapse:collapse; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .money-table th{text-align:left; font-size:max(0.6875rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); padding:0 6px 8px; font-weight:700;}
  .money-table td{padding:6px; vertical-align:middle;}
  .money-row-label{font-weight:700;}
  .money-row-label .dir{display:block; font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:600;}
  .money-row-label .dir.higher{color:var(--success);}
  .money-row-label .dir.lower{color:var(--critical);}
  .money-input{width:84px; padding:7px 6px; border:1.5px solid var(--line-strong); border-radius:2px; font-family:var(--font-mono); font-size:max(0.8438rem,var(--fs-floor,0px));}
  .money-freq{padding:6px 6px; border:1.5px solid var(--line-strong); border-radius:2px; font-size:max(0.7812rem,var(--fs-floor,0px)); font-family:inherit;}
  .money-summary{
    border:1.5px solid var(--success); border-radius:var(--radius); background:var(--success-tint); padding:16px 18px; margin-top:16px;
  }
  .money-summary-title{font-weight:700; font-size:max(0.8125rem,var(--fs-floor,0px)); margin:0 0 3px; display:flex; align-items:center; gap:6px;}
  .money-summary-sub{font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:0 0 12px;}
  .money-summary-boxes{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px;}
  .money-box{background:var(--surface); border-radius:3px; padding:10px 8px; text-align:center;}
  .money-box .lbl{font-size:max(0.6562rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); font-weight:700;}
  .money-box .val{font-family:var(--font-mono); font-weight:700; font-size:1rem; margin-top:2px; overflow-wrap:anywhere;}
  .money-box.current .val{color:var(--critical);}
  .money-box.new .val{color:var(--ink);}
  .money-box.net .val{color:var(--success);}
  .calc-row{display:flex; align-items:center; gap:8px; margin-top:16px; flex-wrap:wrap;}
  .calc-row input, .calc-row select{padding:8px 10px; border:1.5px solid var(--line-strong); border-radius:2px; font-family:var(--font-mono); font-size:0.875rem;}
  .calc-row input{width:110px;}
  .calc-result{font-family:var(--font-mono); font-weight:700; background:var(--surface-sunk); border-radius:2px; padding:8px 14px; min-width:90px; text-align:center;}
  .count-notes{width:100%; margin-top:14px; padding:10px 12px; border:1.5px solid var(--line-strong); border-radius:3px; font-family:inherit; font-size:0.875rem; resize:vertical; min-height:64px;}
  .dsnp-warning{margin-top:14px; background:var(--critical-tint); color:var(--critical); border:1px solid var(--critical); border-radius:3px; padding:10px 14px; font-size:max(0.8125rem,var(--fs-floor,0px)); font-weight:600;}

  /* ---------- full script sections ---------- */
  .script-section{border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:18px 20px; margin-bottom:14px;}
  .script-section[data-done="true"]{border-color:var(--success); background:var(--success-tint);}
  .script-section-title{font-family:var(--font-display); font-size:1.0312rem; font-weight:600; margin:0 0 12px; display:flex; align-items:center; gap:8px;}
  .script-banner{border-radius:3px; padding:9px 13px; font-size:max(0.8125rem,var(--fs-floor,0px)); font-weight:600; margin-bottom:12px;}
  .script-banner.warn{background:var(--warning-tint); color:var(--warning); border:1px solid var(--warning);}
  .script-banner.danger{background:var(--critical-tint); color:var(--critical); border:1px solid var(--critical);}
  .vb{background:var(--accent-tint); border-radius:3px; padding:10px 13px; font-size:0.875rem; margin-bottom:9px; color:var(--ink);}
  .vb.must{background:var(--critical-tint); color:#7A1913; font-weight:600;}
  .vb .mustlabel{display:block; font-size:max(0.6562rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.07em; color:var(--critical); font-weight:700; margin-bottom:3px;}
  .note-line{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin-bottom:9px;}
  .script-confirm{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-weight:600;}
  .mini-field{margin-bottom:10px;}
  .mini-field label{display:block; font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:700; margin-bottom:4px;}
  .mini-field input, .mini-field select, .mini-field textarea{width:100%; padding:9px 11px; font-size:0.9375rem; border:1.5px solid var(--line-strong); border-radius:3px; font-family:inherit;}
  .mini-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  @media (max-width:520px){ .mini-row{grid-template-columns:1fr;} }
  .checklist-item{display:flex; align-items:flex-start; gap:9px; padding:7px 0; border-bottom:1px solid var(--line); font-size:max(0.8438rem,var(--fs-floor,0px));}
  .checklist-item:last-child{border-bottom:none;}
  .checklist-item input{margin-top:3px; width:16px; height:16px; flex-shrink:0;}
  .link-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; margin-bottom:10px;}
  .link-grid a{
    display:block; text-align:center; padding:9px 8px; border:1.5px solid var(--line-strong); border-radius:3px;
    font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:700; color:var(--ink); text-decoration:none;
  }
  .link-grid a:hover{border-color:var(--accent); color:var(--accent-strong);}
  .med-table{width:100%; border-collapse:collapse; font-size:max(0.8125rem,var(--fs-floor,0px)); margin-bottom:8px;}
  .med-table th{text-align:left; font-size:max(0.6562rem,var(--fs-floor,0px)); text-transform:uppercase; color:var(--ink-muted); padding:0 5px 6px;}
  .med-table td{padding:4px 5px;}
  .med-table input{width:100%; padding:6px 7px; border:1.5px solid var(--line-strong); border-radius:2px; font-size:max(0.8125rem,var(--fs-floor,0px)); font-family:inherit;}
  .satisfaction-table{width:100%; border-collapse:collapse; font-size:max(0.8125rem,var(--fs-floor,0px)); margin-bottom:8px;}
  .satisfaction-table th{font-size:max(0.6562rem,var(--fs-floor,0px)); text-transform:uppercase; color:var(--ink-muted); padding:0 6px 6px; text-align:center;}
  .satisfaction-table th:first-child{text-align:left;}
  .satisfaction-table td{padding:6px; text-align:center; border-top:1px solid var(--line);}
  .satisfaction-table td:first-child{text-align:left; font-weight:700;}
  .overall-progress{
    position:sticky; top:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:12px 16px; margin-bottom:16px; box-shadow:var(--shadow); z-index:5;
  }
  .overall-progress .bar{height:8px; background:var(--surface-sunk); border-radius:3px; overflow:hidden; margin-top:8px;}
  .overall-progress .bar-fill{height:100%; background:var(--accent); border-radius:3px; transition:width .2s ease;}

  /* ---------- VCAP coaches ---------- */
  .coach-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin:10px 0 4px;}
  .coach-card{
    border:1.5px solid var(--line-strong); border-radius:4px; padding:12px 10px; text-align:center; cursor:pointer; background:var(--surface);
  }
  .coach-card:hover{border-color:var(--accent);}
  .coach-card[data-selected="true"]{border-color:var(--accent); background:var(--accent-tint);}
  .coach-card .avatar{width:40px; height:40px; border-radius:50%; margin:0 auto 6px; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:1rem; color:#fff; overflow:hidden;}
  .coach-card .avatar img{width:100%; height:100%; object-fit:cover; object-position:top center;}
  .coach-card .cname{font-weight:700; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .coach-card .ctitle{font-size:max(0.6562rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); margin-top:1px;}

  .vcap-widget{
    position:fixed; right:18px; bottom:18px; width:280px; max-width:calc(100vw - 36px); background:var(--surface); border:1px solid var(--line);
    border-radius:4px; box-shadow:0 12px 32px rgba(20,35,38,.22); z-index:60; overflow:hidden; font-size:max(0.8125rem,var(--fs-floor,0px));
  }
  .vcap-widget[hidden]{display:none;}
  .vcap-head{display:flex; align-items:center; gap:9px; padding:11px 13px; background:var(--accent-strong); color:#fff;}
  .vcap-head .avatar{width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; overflow:hidden;}
  .vcap-head .avatar img{width:100%; height:100%; object-fit:cover; object-position:top center;}
  .vcap-head .info{line-height:1.2;}
  .vcap-head .name{font-weight:700; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .vcap-head .role{font-size:max(0.6562rem,var(--fs-floor,0px)); opacity:.85;}
  .vcap-live-dot{width:7px; height:7px; border-radius:50%; background:#4ADE80; margin-left:auto; flex-shrink:0; animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.35;}}
  .vcap-feed{max-height:220px; overflow-y:auto; padding:10px 13px; display:flex; flex-direction:column; gap:8px;}
  .vcap-msg{background:var(--surface-sunk); border-radius:3px; padding:7px 10px; font-size:max(0.7812rem,var(--fs-floor,0px)); line-height:1.4;}
  .vcap-msg.compliance{background:var(--success-tint); color:#1c5a34; font-weight:600;}
  .vcap-toggle{width:100%; text-align:left; padding:8px 13px; background:var(--surface-sunk); border:none; border-top:1px solid var(--line); font-size:max(0.7188rem,var(--fs-floor,0px)); font-weight:700; color:var(--ink-muted); cursor:pointer;}

  /* ---------- compliance demo modal (v2 — live call simulation) ---------- */
  .btn-compliance-demo{
    background:var(--critical); border-color:var(--critical); color:#fff; font-weight:700;
  }
  .btn-compliance-demo:hover{background:#8f1610; border-color:#8f1610;}
  .modal.compliance-live{max-width:940px; --csim-h:clamp(300px, 52vh, 560px);}
  @media (max-width:760px){ .modal.compliance-live{--csim-h:clamp(280px, 46vh, 480px); padding:20px 16px 18px;} }
  .csim-wrap{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:4px;}
  @media (max-width:760px){ .csim-wrap{grid-template-columns:1fr;} }
  .csim-transcript{
    background:var(--surface-sunk); border:1px solid var(--line); border-radius:4px; padding:14px;
    height:var(--csim-h); overflow-y:auto; display:flex; flex-direction:column; gap:9px;
  }
  .csim-bubble{max-width:86%; padding:9px 12px; border-radius:4px; font-size:max(0.8438rem,var(--fs-floor,0px)); line-height:1.4; animation:bubbleIn .25s ease;}
  @keyframes bubbleIn{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}
  .csim-bubble .who{display:block; font-size:max(0.625rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.06em; opacity:.7; margin-bottom:2px; font-weight:700;}
  .csim-bubble.agent{background:var(--surface); border:1px solid var(--line); align-self:flex-start;}
  .csim-bubble.ben{background:var(--accent-tint); color:var(--accent-strong); align-self:flex-end; text-align:right;}
  .csim-bubble.system{align-self:center; background:transparent; color:var(--ink-faint); font-size:max(0.7188rem,var(--fs-floor,0px)); font-style:italic; padding:2px; max-width:100%; text-align:center;}
  .csim-screen{
    position:relative; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:4px; overflow:hidden; height:var(--csim-h);
    display:flex; flex-direction:column; box-shadow:0 0 0 3px transparent inset; transition:box-shadow .3s ease;
  }
  .csim-screen[data-risk="true"]{box-shadow:0 0 0 3px var(--warning) inset;}
  .csim-screen-bar{display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:var(--surface-sunk); border-bottom:1px solid var(--line); font-size:max(0.7188rem,var(--fs-floor,0px)); letter-spacing:.03em; flex-shrink:0; color:var(--ink-muted);}
  .csim-screen-bar .rec{display:flex; align-items:center; gap:6px; color:var(--critical); font-weight:700;}
  .csim-screen-bar .rec .dot{width:7px; height:7px; border-radius:50%; background:var(--critical); animation:pulse 1.2s infinite;}
  .csim-screen-body{flex:1; padding:16px 18px; display:flex; flex-direction:column; gap:11px; justify-content:center;}
  .csim-screen-step{font-size:max(0.8438rem,var(--fs-floor,0px)); color:var(--ink-muted); display:flex; align-items:center; gap:9px; transition:color .2s ease;}
  .csim-screen-step[data-done="true"]{color:var(--success);}
  .csim-screen-step .m{width:16px; text-align:center; flex-shrink:0;}
  .csim-log{padding:9px 14px; background:var(--surface-sunk); border-top:1px solid var(--line); font-family:var(--font-mono); font-size:max(0.6562rem,var(--fs-floor,0px)); color:var(--ink-muted); max-height:64px; overflow-y:auto; flex-shrink:0;}
  .csim-log div{padding:2px 0;}
  .csim-lock{
    position:absolute; inset:0; background:rgba(179,38,30,.97); color:#fff; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center; padding:22px; gap:11px; animation:lockIn .18s ease;
  }
  .csim-lock{overflow-y:auto; overscroll-behavior:contain; justify-content:flex-start; padding-bottom:0;}
  /* auto margins center the content when it fits; when it doesn't, it scrolls instead of clipping */
  .csim-lock > :first-child{margin-top:auto;}
  .csim-lock > .btn-confirm{margin-bottom:auto;}
  .csim-lock .verbatim-box{max-width:100%; overflow-wrap:anywhere; flex-shrink:0;}
  .csim-lock > *{flex-shrink:0;}
  .csim-lock[hidden]{display:none;}
  @keyframes lockIn{from{opacity:0; transform:scale(.97);} to{opacity:1; transform:none;}}
  .csim-lock .siren{font-size:1.875rem; animation:sirenSpin 1s infinite;}
  @keyframes sirenSpin{0%,100%{transform:rotate(-8deg);} 50%{transform:rotate(8deg);}}
  .csim-lock h3{font-family:var(--font-display); font-size:1.1875rem; margin:0; letter-spacing:.01em;}
  .csim-lock .verbatim-box{background:rgba(0,0,0,.28); border:1px dashed rgba(255,255,255,.5); border-radius:3px; padding:12px 14px; font-size:max(0.8125rem,var(--fs-floor,0px)); line-height:1.4;}
  .csim-lock .verbatim-box strong{display:block; font-size:max(0.625rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.08em; margin-bottom:5px; opacity:.85;}
  .csim-lock .btn-confirm{background:#fff; color:var(--critical); border:none; font-weight:800; padding:11px 20px; border-radius:3px; cursor:pointer; font-size:0.875rem;
    position:sticky; bottom:14px; z-index:1; max-width:100%; white-space:normal;
    box-shadow:0 0 0 14px rgba(179,38,30,.97), 0 6px 18px rgba(0,0,0,.35);}
  /* spacer so the sticky button never covers the end of the verbatim text */
  .csim-lock::after{content:""; display:block; flex:0 0 14px;}
  .csim-lock .btn-confirm:hover{background:#ffe9e7;}
  .csim-unlocked-flash{position:absolute; inset:0; background:#2F7A4D; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:0.9375rem; text-align:center; padding:20px; animation:flashOut 1.1s ease forwards;}
  @keyframes flashOut{0%{opacity:1;} 70%{opacity:1;} 100%{opacity:0;}}


  /* ---------- retention ---------- */
  .retention-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
    padding:16px 18px; margin-bottom:12px;
  }
  .retention-head{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap;}
  .retention-name{font-family:var(--font-display); font-weight:600; font-size:1.0625rem;}
  .retention-meta{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin-top:2px;}
  .pill-ontrack{background:var(--success-tint); color:var(--success);}
  .pill-followup{background:var(--warning-tint); color:var(--warning);}
  .pill-atrisk{background:var(--critical-tint); color:var(--critical);}
  .touchpoint-log{margin-top:10px; padding-top:10px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px;}
  .touchpoint-row{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); display:flex; gap:8px;}
  .touchpoint-row .type{font-weight:700; color:var(--ink); text-transform:uppercase; font-size:max(0.6875rem,var(--fs-floor,0px)); letter-spacing:.04em;}
  .touchpoint-form{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; align-items:center;}
  .touchpoint-form select, .touchpoint-form input{padding:8px 10px; border:1.5px solid var(--line-strong); border-radius:3px; font-size:max(0.8438rem,var(--fs-floor,0px)); font-family:inherit;}
  .touchpoint-form input[type="text"]{flex:1; min-width:160px;}

  /* ---------- need approval / escalation ---------- */
  .btn-need-approval{
    background:var(--critical); color:#fff; border:none; font-weight:700; font-size:max(0.8125rem,var(--fs-floor,0px)); padding:9px 16px;
    border-radius:3px; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  }
  .btn-need-approval:hover{background:#8f1610;}
  .priority-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0;}
  .priority-opt{border:1.5px solid var(--line-strong); border-radius:3px; padding:10px 12px; cursor:pointer; text-align:left; background:var(--surface); font-family:inherit;}
  .priority-opt:hover{border-color:var(--accent);}
  .priority-opt[data-selected="true"]{border-color:var(--critical); background:var(--critical-tint);}
  .priority-opt .plabel{font-weight:700; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .priority-opt .pdesc{font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-muted); margin-top:1px;}

  /* ---------- sign-in & user bar ---------- */
  .sso-buttons{display:flex; flex-direction:column; gap:10px; margin-bottom:6px;}
  .sso-btn{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; text-decoration:none; background:var(--surface);}
  .sso-btn svg{width:18px; height:18px; flex:none;}
  .gate-divider{display:flex; align-items:center; gap:10px; margin:18px 0 12px; color:var(--ink-faint); font-size:max(0.75rem,var(--fs-floor,0px));}
  .gate-divider::before, .gate-divider::after{content:""; flex:1; border-top:1px solid var(--line);}
  .gate-none{font-size:0.875rem; color:var(--warning);}
  .gate-foot{font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-faint); margin-top:22px;}
  .gate-error:not(:empty){display:block;}
  .userbar{display:flex; justify-content:flex-end; align-items:center; gap:12px; flex-wrap:wrap; font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin-bottom:12px;}
  .userbar-compact{margin:0 0 6px;}
  .userbar .role{font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:3px; background:var(--accent-tint, rgba(11,93,107,.1)); color:var(--accent);}
  .userbar a, .userbar button{font:inherit; font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--accent); background:none; border:0; padding:0; cursor:pointer; text-decoration:underline;}
  [data-requires][data-allowed="false"]{display:none !important;}
  .admin-invite{display:grid; grid-template-columns:2fr 2fr 1fr auto; gap:12px; align-items:end;}
  .admin-invite .field{margin:0;}
  @media (max-width:720px){ .admin-invite{grid-template-columns:1fr;} }
  .admin-actions{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end;}

  /* ---------- call lab ---------- */
  .lab-inputs{display:grid; grid-template-columns:1fr auto 1fr 1fr; gap:14px; align-items:end; margin-bottom:12px;}
  .lab-inputs .field{margin:0;} .lab-inputs input[type=file]{max-width:100%;}
  .lab-or{font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--ink-faint); padding-bottom:10px;}
  @media (max-width:820px){ .lab-inputs{grid-template-columns:1fr;} .lab-or{padding:0;} }
  .lab-help{margin-top:14px; font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .lab-help pre{white-space:pre-wrap; overflow-wrap:anywhere; background:var(--surface-sunk); padding:10px 12px; border-radius:3px; font-size:max(0.75rem,var(--fs-floor,0px));}
  .stat-row{display:flex; gap:12px; flex-wrap:wrap; margin:20px 0;}
  .lab-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media (max-width:820px){ .lab-grid{grid-template-columns:1fr;} }
  .lab-lock{border-left:4px solid var(--critical); background:var(--critical-tint, #fbeae8); border-radius:3px; padding:10px 12px; margin-bottom:10px; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .lab-lock.cleared{border-left-color:var(--success); background:var(--surface-sunk);}
  .lab-lock .t{font-weight:800;} .lab-lock .meta{font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .lab-transcript{max-height:70vh; overflow-y:auto; display:flex; flex-direction:column; gap:8px;}
  .lab-seg{display:grid; grid-template-columns:58px 92px 1fr; gap:10px; font-size:max(0.8438rem,var(--fs-floor,0px)); padding:6px 0; border-bottom:1px solid var(--line);}
  @media (max-width:600px){ .lab-seg{grid-template-columns:1fr;} }
  .lab-seg .ts{font-family:var(--font-mono); font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-faint);}
  .lab-seg .sp{font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted);}
  .lab-ev{display:inline-block; font-size:max(0.7188rem,var(--fs-floor,0px)); font-weight:700; border-radius:3px; padding:2px 8px; margin:4px 6px 0 0;}
  .lab-ev.lock{background:var(--critical); color:#fff;} .lab-ev.ok{background:var(--accent-tint); color:var(--accent-strong);}
  .lab-ev.field{background:var(--surface-sunk); color:var(--ink);} .lab-ev.warn{background:#f6e7c8; color:#6b4b00;}
  .lab-job{margin-top:14px;}
  .lab-job-row{display:flex; justify-content:space-between; font-size:max(0.8438rem,var(--fs-floor,0px)); font-weight:600; margin-bottom:6px;}
  .lab-job .progress-track{height:8px; background:var(--surface-sunk); border-radius:3px; overflow:hidden;}
  .lab-job .progress-fill{height:100%; background:var(--accent); transition:width .4s ease;}
  .lab-job-note{font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--ink-faint); margin:8px 0 0;}

  /* ---------- phone / live call ---------- */
  .phone-card{margin-bottom:18px;}
  .phone-head{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap;}
  .phone-sub{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:4px 0 0;}
  .phone-avail{display:flex; gap:6px;}
  .phone-avail .btn[data-active="true"]{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
  .phone-avail .btn[data-active="true"][data-avail="away"]{background:var(--ink-muted); border-color:var(--ink-muted);}
  .phone-ring{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; padding:12px 14px; border-radius:4px;
    background:var(--accent-tint); border:1px solid var(--accent);}
  .phone-ring-dot{width:12px; height:12px; border-radius:50%; background:var(--accent); animation:pulse 1s infinite; flex:none;}
  .phone-ring-text{flex:1; min-width:160px; display:flex; flex-direction:column; font-size:0.875rem;}
  .phone-ring-text span{font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .phone-dial{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:14px;}
  .phone-dial input{flex:1 1 200px; min-width:0; font-family:var(--font-mono);}
  .phone-pad{flex-basis:100%; display:grid; grid-template-columns:repeat(3, minmax(0, 72px)); gap:6px;}
  .phone-pad .btn{font-family:var(--font-mono); font-size:1.0625rem; padding:8px 0;}
  .phone-dial-msg{flex-basis:100%; margin:0; font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .phone-dial-msg:empty{display:none;}
  .phone-dial-msg[data-error]{color:var(--critical); font-weight:600;}
  .phone-incall{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; font-size:0.875rem;}
  .live-watchbar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; padding:10px 12px; font-size:0.875rem; background:var(--surface-2, #F3F6FA); border-radius:4px;}
  .live-behind{font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:600; color:var(--ink-muted); font-family:var(--font-mono);}
  .ready-chip{display:inline-flex; align-items:center; gap:6px; font-size:max(0.7812rem,var(--fs-floor,0px)); font-weight:600; color:var(--accent);}
  .ready-dot{width:8px; height:8px; border-radius:50%; background:var(--accent); animation:pulse 1.4s infinite; flex:none;}
  .ready-box{display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; margin:0 0 14px; padding:10px 12px;
    background:var(--surface-2, #F3F6FA); border-radius:4px; font-size:0.875rem;}
  .ready-opt{display:inline-flex; align-items:center; gap:6px;}
  .ready-opt select{max-width:220px;}
  .ready-status{flex:1 1 260px; font-weight:600; color:var(--accent);}
  .ready-status:empty{display:none;}
  .ready-help{flex-basis:100%; font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-faint);}
  .calls-toolbar-btns{display:inline-flex; gap:8px; flex-wrap:wrap;}
  #testing-toggle[aria-expanded="true"]{background:var(--accent-tint); border-color:var(--accent); color:var(--accent-strong);}
  .testing-box{margin:0 0 14px; padding:12px 14px; border:1px dashed var(--accent); border-radius:4px;
    background:var(--accent-tint); font-size:0.875rem; animation:testing-open .18s ease-out;}
  @keyframes testing-open{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;}}
  .testing-head{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-bottom:10px;}
  .testing-sub{font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .testing-row{display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px;}
  .testing-switch{display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-weight:600;}
  .testing-switch input{position:absolute; opacity:0; width:1px; height:1px;}
  .testing-track{position:relative; width:34px; height:20px; border-radius:4px; background:var(--line-strong); flex:none; transition:background .15s;}
  .testing-track::after{content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.25); transition:transform .15s;}
  .testing-switch input:checked + .testing-track{background:var(--accent);}
  .testing-switch input:checked + .testing-track::after{transform:translateX(14px);}
  .testing-switch input:focus-visible + .testing-track{outline:2px solid var(--accent-strong); outline-offset:2px;}
  .testing-hint{flex:1 1 220px; font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .testing-hint[data-error]{color:var(--critical); font-weight:600;}
  .phone-incall .rec-dot{width:9px; height:9px; border-radius:50%; background:var(--critical); animation:pulse 1.2s infinite;}
  .phone-timer{font-family:var(--font-mono); color:var(--ink-muted);}
  .phone-listen{flex:1; font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-faint);}
  .btn-hangup{background:var(--critical); border-color:var(--critical); color:#fff;}
  .live-panel{display:grid; grid-template-columns:minmax(220px, 1fr) 2fr; gap:18px; margin-top:14px;}
  @media (max-width:760px){ .live-panel{grid-template-columns:1fr;} }
  .live-label{font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:6px;}
  .live-fields{display:flex; flex-wrap:wrap; gap:6px;}
  .live-transcript{background:var(--surface-sunk); border:1px solid var(--line); border-radius:4px; padding:10px 12px;
    height:clamp(160px, 28vh, 320px); overflow-y:auto; display:flex; flex-direction:column; gap:6px; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .live-line .who{font-size:max(0.6562rem,var(--fs-floor,0px)); font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); margin-right:6px;}
  .live-line.ben{color:var(--accent-strong);}
  .live-ev{display:inline-block; font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:700; border-radius:3px; padding:1px 7px; margin-left:6px;
    background:var(--accent-tint); color:var(--accent-strong);}
  .live-ev.lock{background:var(--critical); color:#fff;}
  .script-section[data-heard="true"] .script-confirm::after{content:"✓ heard on call"; margin-left:8px; font-size:max(0.7188rem,var(--fs-floor,0px));
    font-weight:700; color:var(--success);}
  .field-autofilled{box-shadow:0 0 0 2px var(--success) inset; transition:box-shadow .3s;}

  /* live compliance lock: covers the page; content scrolls; always fits the screen */
  .live-lock{position:fixed; inset:0; z-index:200; background:rgba(120,20,15,.55); display:flex; align-items:center;
    justify-content:center; padding:16px;}
  .live-lock[hidden]{display:none;}
  .live-lock-card{background:rgba(179,38,30,.98); color:#fff; border-radius:4px; width:min(640px, 100%);
    max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; padding:22px; text-align:center;
    display:flex; flex-direction:column; gap:10px; animation:lockIn .18s ease; box-shadow:0 20px 60px rgba(0,0,0,.4);}
  .live-lock-card > *{flex-shrink:0;}
  .live-lock-card .siren{font-size:1.875rem; animation:sirenSpin 1s infinite;}
  .live-lock-card h3{font-family:var(--font-display); font-size:1.25rem; margin:0;}
  .live-lock-card p{margin:0; font-size:0.875rem;}
  .live-lock-card .verbatim-box{background:rgba(0,0,0,.28); border:1px dashed rgba(255,255,255,.5); border-radius:3px;
    padding:12px 14px; font-size:0.875rem; line-height:1.45; text-align:left; overflow-wrap:anywhere;}
  .live-lock-card .verbatim-box strong{display:block; font-size:max(0.625rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; opacity:.85;}
  .live-lock-foot{font-size:max(0.75rem,var(--fs-floor,0px)) !important; opacity:.8;}
  /* the compliance flag is a corner banner — the screen stays usable */
  .live-lock.live-lock-banner{inset:auto 16px 16px auto; background:none; padding:0; display:block; pointer-events:none;
    width:min(420px, calc(100vw - 32px));}
  .live-lock.live-lock-banner[hidden]{display:none;}
  .live-lock-banner .live-lock-card{pointer-events:auto; padding:14px 16px; gap:6px; text-align:left;
    max-height:min(50vh, 360px); animation:none;}
  .live-lock-banner .live-lock-card .siren{font-size:1.125rem; animation:none;}
  .live-lock-banner .live-lock-card h3{font-size:0.9375rem;}
  .live-lock-banner .live-lock-card p, .live-lock-banner .live-lock-card .verbatim-box{font-size:max(0.7812rem,var(--fs-floor,0px));}

  /* ---------- compliance gate scoreboard ---------- */
  .gate-board{display:flex; flex-direction:column; gap:2px; max-height:clamp(220px, 40vh, 460px); overflow-y:auto;}
  .gate-row{display:grid; grid-template-columns:22px 1fr auto; gap:6px; align-items:center; font-size:max(0.7812rem,var(--fs-floor,0px));
    padding:3px 6px; border-radius:2px;}
  .gate-row .ic{font-weight:800; text-align:center;}
  .gate-row.passed .ic{color:var(--success);} .gate-row.partial .ic{color:var(--warning);}
  .gate-row.failed{background:var(--critical-tint, #fbeae8);} .gate-row.failed .ic{color:var(--critical);}
  .gate-row.pending .ic, .gate-row.not_applicable .ic, .gate-row.app .ic{color:var(--ink-faint);}
  .gate-row.not_applicable{opacity:.55;}
  .gate-row.not_observed{opacity:.55; font-style:italic;} .gate-row.not_observed .ic{color:var(--ink-faint);}
  .live-position{font-size:max(0.8125rem,var(--fs-floor,0px)); margin:0 0 6px; padding:6px 8px; border-radius:2px; background:var(--surface-2, rgba(0,0,0,.04));}
  .live-position .muted{color:var(--ink-muted);} .live-position details{margin-top:4px;} .live-position select{max-width:100%;}
  .gate-row.current{outline:2px solid var(--accent); outline-offset:-2px;}
  .gate-row .tag{font-size:max(0.6562rem,var(--fs-floor,0px)); font-weight:700; color:var(--ink-faint); white-space:nowrap;}
  .gate-row .tag.late{color:var(--warning);}
  .gate-row .miss{grid-column:2 / 4; font-size:max(0.6875rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .script-section[data-current="true"]{box-shadow:0 0 0 2px var(--accent); border-radius:4px;}

  /* availability light next to the Available / Away toggle */
  .phone-avail{align-items:center;}
  .avail-light{display:inline-flex; align-items:center; gap:5px; font-size:max(0.7188rem,var(--fs-floor,0px)); font-weight:700; color:var(--ink-muted); margin-right:4px;}
  .avail-light .dot{width:9px; height:9px; border-radius:50%; background:#C0392B; box-shadow:0 0 0 2px rgba(192,57,43,.18);}
  .setting-row{display:flex; gap:10px; align-items:flex-start; font-size:0.875rem; line-height:1.45; cursor:pointer;}
  .setting-row input{margin-top:3px; width:18px; height:18px; flex:none;}
  .avail-light[data-state="on"] .dot{background:#1E9E4A; box-shadow:0 0 0 2px rgba(30,158,74,.2);}
  .avail-light[data-state="on"] .lbl{color:#1E7A3C;}

  .live-caption{opacity:.65; font-style:italic;}

  /* ---------- call scripts (superadmin) ---------- */
  .sc-gates td{vertical-align:top; font-size:max(0.8125rem,var(--fs-floor,0px));}
  .sc-gates input:not([type=checkbox]), .sc-gates select{width:100%; min-width:90px; padding:5px 7px; border:1px solid var(--line-strong); border-radius:2px; font:inherit; font-size:max(0.8125rem,var(--fs-floor,0px));}
  .sc-gates input[data-k=coverage]{min-width:60px; width:64px;}
  .sc-gates tr.sc-review{background:var(--warning-tint);}
  .sc-id{font-family:"IBM Plex Mono",monospace; font-size:max(0.6875rem,var(--fs-floor,0px)); color:var(--ink-faint); margin-top:3px;}
  .sc-notes{font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--warning); margin-top:4px;}
  .sc-lines{min-width:240px; max-width:380px;}
  .sc-line{font-size:max(0.7812rem,var(--fs-floor,0px)); line-height:1.35; padding:2px 0; border-bottom:1px dashed var(--line);}
  .sc-mode{font-size:max(0.6875rem,var(--fs-floor,0px)); color:var(--accent-strong); font-weight:700; margin-top:3px;}
  .sc-problems{color:var(--critical); font-size:max(0.8438rem,var(--fs-floor,0px)); margin:0 0 10px; padding-left:18px;}
  .sc-preview h3{font-family:var(--font-display); margin:18px 0 8px;}
  .sc-step{border-left:4px solid var(--line-strong); padding:6px 10px; margin:6px 0; font-size:0.875rem;}
  .sc-step p{margin:4px 0;}
  .sc-step-head{font-weight:700;}
  .sc-step-head em{font-weight:500; color:var(--ink-faint); font-size:max(0.75rem,var(--fs-floor,0px));}
  .sc-step.kind-verbatim{border-color:#7BC46A; background:#F2FAEE;}
  .sc-step.kind-own_words{border-color:#D07FC6; background:#FBF1FA;}
  .sc-step.kind-situational{border-color:#E8946A; background:#FDF3EE;}
  .sc-checklist{color:var(--ink-muted); font-size:max(0.8125rem,var(--fs-floor,0px));}
  .sc-checklist::before{content:"☐ ";}
  .sc-note{background:#E6FBFB; color:#0E5E5E; font-size:max(0.7812rem,var(--fs-floor,0px)); padding:3px 6px; border-radius:2px;}

  /* ---------- live script panel ---------- */
  .live-panel:has(#live-script-col:not([hidden])){grid-template-columns:minmax(220px, 1fr) 1.4fr 1.6fr;}
  @media (max-width:1100px){ .live-panel:has(#live-script-col:not([hidden])){grid-template-columns:1fr 1fr;} }
  @media (max-width:760px){ .live-panel:has(#live-script-col:not([hidden])){grid-template-columns:1fr;} }
  .live-script{max-height:520px; overflow-y:auto; padding-right:4px; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .ls-phase{font-family:var(--font-display); font-weight:600; font-size:0.9375rem; margin:12px 0 6px; position:sticky; top:0; background:var(--surface, #fff);}
  .ls-step{border-left:4px solid var(--line-strong); padding:5px 9px; margin:5px 0; border-radius:0 2px 2px 0; opacity:.75;}
  .ls-step p{margin:3px 0; line-height:1.4;}
  .ls-head{font-weight:700; font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .ls-ic::before{content:"○ "; color:var(--ink-faint);}
  .ls-step.kind-verbatim{border-color:#7BC46A;}
  .ls-step.kind-own_words{border-color:#D07FC6;}
  .ls-agency{margin:.35rem 0; padding:.35rem .6rem; border-left:3px dashed #9AA5B1; color:var(--muted, #5b6470); font-size:max(.85rem,var(--fs-floor,0px));}
  .ls-agency p{margin:.2rem 0;}
  .ls-agency-h{font-size:max(.72rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.04em; opacity:.8;}
  .ls-step.kind-situational{border-color:#E8946A;}
  .ls-check{color:var(--ink-muted); font-size:max(0.7812rem,var(--fs-floor,0px));}
  .ls-check::before{content:"☐ ";}
  .ls-note{background:#E6FBFB; color:#0E5E5E; font-size:max(0.75rem,var(--fs-floor,0px)); padding:2px 6px; border-radius:2px;}
  .ls-step.ls-heard{opacity:1;}
  .ls-step.ls-done{opacity:.55;}
  .ls-step.ls-done .ls-ic::before{content:"✓ "; color:var(--success);}
  .ls-step.ls-flag .ls-ic::before{content:"◐ "; color:var(--warning);}
  .ls-step.ls-current{opacity:1; background:var(--accent-tint); box-shadow:0 0 0 2px var(--accent);}

  /* gate confidence */
  .conf{font-family:"IBM Plex Mono",monospace; font-size:max(0.6875rem,var(--fs-floor,0px)); font-weight:600; padding:1px 5px; border-radius:3px; margin-left:auto;}
  .conf-hi{background:var(--success-tint); color:var(--success);}
  .conf-mid{background:var(--warning-tint); color:var(--warning);}
  .conf-lo{background:var(--critical-tint); color:var(--critical);}
  .tag.para{color:var(--warning); font-weight:700;}
  .gate-tags{display:inline-flex; gap:5px; align-items:center; white-space:nowrap;}

.field-fix{margin-top:8px; padding:8px 10px; border-radius:3px; background:var(--critical-soft, #fdecea);
  color:var(--critical, #b3261e); font-size:max(0.7812rem,var(--fs-floor,0px)); line-height:1.45;}

.live-captured{grid-column:1 / -1; border-top:1px solid var(--line, #e5e5e5); padding-top:12px;}
.live-captured .live-fields{gap:6px 8px;}

  /* ---------- agent IDs (My profile / admin) ---------- */
  .agent-ids-sub{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:4px 0 8px;}
  .agent-ids-help{font-size:max(0.8125rem,var(--fs-floor,0px)); margin:0 0 14px; padding-left:18px; color:var(--ink-muted);}
  .agent-ids-help li{margin:2px 0;}
  .agent-ids-msg{font-size:max(0.8438rem,var(--fs-floor,0px)); margin:4px 0 10px; min-height:1em;}
  .field input:disabled{background:var(--surface-sunk); color:var(--ink);}
  .agent-ids-table td.mono{font-family:var(--font-mono); font-size:max(0.7812rem,var(--fs-floor,0px));}
  .agent-ids-table td.none{color:var(--ink-faint);}

  /* ---------- CMS check (mock eligibility lookup, js/cms.js) ---------- */
  .cms-check-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:4px 0 10px;}
  .cms-check-hint{font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);}
  .modal.cms-modal{max-width:760px;}
  .cms-mock-label{display:inline-block; margin:0 0 12px; padding:4px 10px; border-radius:2px; font-size:max(0.75rem,var(--fs-floor,0px)); font-weight:700;
    letter-spacing:.06em; text-transform:uppercase; color:var(--warning); background:var(--warning-tint); border:1px dashed var(--warning);}
  .cms-sec{border:1px solid var(--line); border-radius:var(--radius); padding:10px 14px; margin:0 0 10px;}
  .cms-sec h3{font-size:max(0.8125rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-muted); margin:0 0 6px;}
  .cms-sec.cms-warn{border-color:var(--warning); background:var(--warning-tint);}
  .cms-dl{display:grid; grid-template-columns:minmax(8rem, max-content) 1fr; gap:4px 14px; margin:0; font-size:0.875rem;}
  .cms-dl dt{color:var(--ink-muted);}
  .cms-dl dd{margin:0;}
  .cms-muted{color:var(--ink-muted); font-size:max(0.8125rem,var(--fs-floor,0px));}
  .cms-none{margin:0;}
  .cms-mono{font-family:var(--font-mono); font-size:max(0.8125rem,var(--fs-floor,0px));}
  .cms-when{font-size:max(0.8125rem,var(--fs-floor,0px));}
  .cms-alerts{list-style:none; padding:0; margin:0 0 12px;}
  .cms-alert{margin:0 0 6px; padding:7px 10px; border-radius:2px; font-size:max(0.8438rem,var(--fs-floor,0px)); border-left:4px solid var(--line-strong); background:var(--surface-sunk);}
  .cms-alert.cms-critical{border-left-color:var(--critical); background:var(--critical-tint); color:var(--critical); font-weight:700;}
  .cms-alert.cms-warn{border-left-color:var(--warning); background:var(--warning-tint);}
  .cms-alert.cms-info{border-left-color:var(--accent); background:var(--accent-tint);}
  .cms-events{list-style:none; padding:0; margin:0; font-size:0.875rem;}
  .cms-events li{padding:6px 8px; border-radius:2px; margin-bottom:4px;}
  .cms-events li.cms-ev-active{background:var(--success-tint); border-left:4px solid var(--success);}
  .cms-tag{font-size:max(0.6875rem,var(--fs-floor,0px)); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-muted); background:var(--surface-sunk); border-radius:3px; padding:1px 8px;}
  .cms-ev-active .cms-tag{color:var(--success); background:var(--surface);}
  .cms-table-wrap{overflow-x:auto;}
  .cms-table{width:100%; border-collapse:collapse; font-size:max(0.8438rem,var(--fs-floor,0px));}
  .cms-table th{text-align:left; font-size:max(0.75rem,var(--fs-floor,0px)); color:var(--ink-muted); font-weight:600; padding:4px 8px; border-bottom:1px solid var(--line-strong);}
  .cms-table td{padding:6px 8px; border-bottom:1px solid var(--line); vertical-align:top;}
  .cms-addr{margin:0 0 6px; font-size:0.9062rem;}
  .cms-apply-msg{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:6px 0 10px; min-height:1em;}
  .cms-actions{display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap;}
  @media (max-width:560px){ .cms-dl{grid-template-columns:1fr;} .cms-dl dt{margin-top:4px;} }

/* Count the money: row-by-row comparison colours */
#money-tbody tr.money-better td{background:color-mix(in srgb, var(--success) 14%, transparent);}
#money-tbody tr.money-same td{background:color-mix(in srgb, var(--warning) 14%, transparent);}
#money-tbody tr.money-worse td{background:color-mix(in srgb, var(--critical) 12%, transparent);}
.money-key{display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center; font-size:max(0.7812rem,var(--fs-floor,0px)); color:var(--ink-muted);
  margin:8px 0 0;}
.money-swatch{display:inline-block; width:0.75rem; height:0.75rem; border-radius:2px; margin-right:5px; vertical-align:-1px;}
.money-swatch.better{background:color-mix(in srgb, var(--success) 45%, transparent);}
.money-swatch.same{background:color-mix(in srgb, var(--warning) 45%, transparent);}
.money-swatch.worse{background:color-mix(in srgb, var(--critical) 40%, transparent);}
/* "—" = no data (never $0); dashed = only counts if they qualify (see the footnote) */
.money-input::placeholder{color:var(--ink-faint); font-family:var(--font-body); font-size:max(0.75rem,var(--fs-floor,0px));}
.money-key-item{display:inline-flex; align-items:center;}
.money-input.money-conditional{border-style:dashed;}
.money-footnote{font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:6px 0 0; white-space:pre-line;}
.money-gaps{font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-muted); margin:-6px 0 10px;}
.money-box.net .val.neg{color:var(--critical);}

/* Extra Help (LIS) above the medication table */
.lis-bar{display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:0 0 10px;}
.lis-bar label{font-size:max(0.8125rem,var(--fs-floor,0px)); font-weight:600; color:var(--ink-muted);}
.lis-bar select{font-size:max(0.8125rem,var(--fs-floor,0px));}
.lis-badge{flex:1 1 100%; display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:4px;
  background:color-mix(in srgb, var(--success) 12%, var(--surface, #fff)); color:var(--success);
  border:1px solid color-mix(in srgb, var(--success) 45%, transparent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 18%, transparent), 0 0 18px color-mix(in srgb, var(--success) 45%, transparent);
  animation:lis-glow 2.4s ease-in-out infinite;}
.lis-badge strong{font-size:0.875rem;}
.lis-badge span{font-size:max(0.78rem,var(--fs-floor,0px)); color:var(--ink);}
@keyframes lis-glow{50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 25%, transparent), 0 0 26px color-mix(in srgb, var(--success) 60%, transparent);}}
@media (prefers-reduced-motion: reduce){ .lis-badge{animation:none;} }
.lis-badge .lis-say{margin-top:4px; color:var(--ink); font-size:max(0.8125rem,var(--fs-floor,0px));}

.btn-danger{background:#C0392B; border-color:#C0392B; color:#fff;}
.btn-danger:hover{background:#A93226;}

/* ---------- phones: the live call screen, Testing mode and the superadmin pages fit the screen ---------- */
@media (max-width:880px){
  .agent-grid{grid-template-columns:minmax(0,1fr);}
  .agent-grid > *, .live-panel > *{min-width:0;}
}
@media (max-width:760px){
  .live-panel, .live-panel:has(#live-script-col:not([hidden])){grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  html, body{overflow-x:hidden;}
  .portal-switch{overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .portal-switch::-webkit-scrollbar{display:none;}
  .portal-switch button{flex:0 0 auto; white-space:nowrap;}
  input, select, textarea{max-width:100%;}
  table{max-width:100%;}
  .modal-backdrop{align-items:flex-start; overflow-y:auto; padding:10px 8px;}
  .modal{max-width:calc(100vw - 16px); padding:18px 14px 16px; max-height:none;}
  .mgr-toolbar{flex-wrap:wrap; gap:8px;}
  .testing-box{padding:10px;}
}

.testing-variant{display:inline-flex; align-items:center; gap:6px; font-size:max(.85rem,var(--fs-floor,0px));}
.testing-variant select{min-height:36px; max-width:100%;}
@media (max-width:600px){ .testing-variant{flex:1 1 100%;} .testing-variant select{flex:1;} }
.testing-qa{margin-top:12px; padding-top:10px; border-top:1px dashed var(--line, #cfd8da);}
.testing-qa-table{width:100%; border-collapse:collapse; font-size:max(.8rem,var(--fs-floor,0px));}
.testing-qa-table th, .testing-qa-table td{padding:4px 6px; text-align:left; white-space:nowrap; border-bottom:1px solid var(--line, #e3e8ea);}
.testing-qa-issues{margin:8px 0 0; padding-left:18px; font-size:max(.82rem,var(--fs-floor,0px));}
.qa-score{display:inline-block; min-width:2.2em; text-align:center; border-radius:2px; padding:1px 4px; font-weight:700; color:#fff;}
.qa-good{background:#2e7d4f;} .qa-ok{background:#b7791f;} .qa-bad{background:#c0392b;}

.update-banner{position:sticky; top:0; z-index:50; display:flex; gap:10px; align-items:center; justify-content:center;
  flex-wrap:wrap; padding:8px 12px; background:#fff4d6; color:#5b4300; border-bottom:1px solid #e8c766; font-size:.9rem;}

/* Manager Review: pager + audit trail */
.mgr-pager { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:12px; }
.mgr-page-info { font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted); }
.audit-list { list-style:none; margin:0; padding:0; max-height:260px; overflow:auto; border-top:1px solid var(--line); }
.audit-list li { padding:6px 0; border-bottom:1px solid var(--line); font-size:max(0.8125rem,var(--fs-floor,0px)); }
.audit-list .ts { color:var(--ink-muted); margin-right:6px; white-space:nowrap; }
.audit-actor { color:var(--ink-muted); word-break:break-all; }
.audit-det { color:var(--ink-muted); margin-top:2px; overflow-wrap:anywhere; }

/* ---- call controls (docs/call-controls.md) ---- */
.avail-pick{position:relative; display:inline-block;}
.avail-menu{position:absolute; right:0; top:calc(100% + 4px); z-index:30; min-width:190px; margin:0; padding:4px; list-style:none;
  background:var(--surface, #fff); border:1px solid var(--line); border-radius:4px; box-shadow:0 6px 18px rgba(0,0,0,.14);}
.avail-menu button{display:flex; justify-content:space-between; gap:12px; width:100%; text-align:left; border:0; background:none;
  padding:9px 10px; border-radius:2px; font:inherit; font-size:0.875rem; color:var(--ink); cursor:pointer; min-height:40px;}
.avail-menu button:hover, .avail-menu button:focus-visible{background:var(--accent-tint);}
.avail-menu small{color:var(--ink-muted);}
.avail-since{font-size:max(0.7188rem,var(--fs-floor,0px)); color:var(--ink-muted); font-family:var(--font-mono);}
.avail-since:empty{display:none;}
.phone-ctl{flex-basis:100%; display:flex; flex-wrap:wrap; gap:6px;}
.phone-ctl .btn[aria-pressed="true"], .phone-ctl .btn[aria-expanded="true"], .phone-ctl .btn[data-on="true"]{background:var(--accent-tint); border-color:var(--accent); color:var(--accent-strong);}
.phone-ctl .btn[hidden]{display:none;}
.phone-hold-timer{font-family:var(--font-mono); font-weight:700; padding:2px 8px; border-radius:3px; background:var(--accent-tint); color:var(--accent-strong);}
.phone-hold-timer[data-late]{background:#f6e7c8; color:#6b4b00;}
.phone-parties{flex-basis:100%; display:flex; flex-wrap:wrap; gap:6px;}
.phone-party{display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px; padding:5px 8px; border:1px solid var(--line); border-radius:3px; font-size:max(0.8125rem,var(--fs-floor,0px));}
.phone-party small{color:var(--ink-muted);}
.phone-party .btn{padding:3px 8px;}
.phone-ctl-box{flex-basis:100%; display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px 12px; padding:10px 12px; margin:0; background:var(--surface-2, #F3F6FA); border-radius:4px;}
.phone-ctl-box[hidden]{display:none;}
.phone-ctl-box > div{display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px 12px; flex-basis:100%;}
.phone-ctl-box > div[hidden]{display:none;}
.phone-ctl-lbl{display:flex; flex-direction:column; gap:3px; font-size:max(0.75rem,var(--fs-floor,0px)); font-weight:600; color:var(--ink-muted); min-width:0;}
.phone-ctl-lbl input, .phone-ctl-lbl select{max-width:100%;}
.phone-parked{margin-top:14px; padding-top:10px; border-top:1px solid var(--line);}
.phone-parked-h{margin:0 0 6px; font-size:0.9375rem;}
.phone-parked-list{list-style:none; margin:0; padding:0;}
.phone-parked-list li{display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; padding:6px 0; font-size:0.875rem;}
.phone-parked-list .grow{flex:1 1 180px; min-width:0; overflow-wrap:anywhere;}
.phone-parked-list small{color:var(--ink-muted);}
.calls-sup{margin-bottom:10px;}
.calls-sup-btns{display:inline-flex; gap:4px; flex-wrap:wrap;}
.calls-sup-btns .btn[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.tel-alert{display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center;}
.tel-reasons-row{display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin-bottom:6px;}
.tel-reasons-row .field{margin:0;}

/* ---------- hover: a slight lift and a soft glow on everything you can press (apple.com-style); links glow ---------- */
:root{
  --lift-ease: cubic-bezier(.25,.1,.25,1);
  --glow: 0 10px 24px -12px rgba(11,93,107,.45), 0 0 0 1px rgba(11,93,107,.14), 0 0 18px -4px rgba(11,93,107,.28);
  --link-glow: 0 0 10px rgba(11,93,107,.38);
}
.btn, button, [role="button"], [role="tab"], .tile, .login-tile, .coach-card, .plan, .rc-card, .intake-item,
.pr-gate-btn, .pr-pick, .tg-opt, .priority-opt, .link-grid a, .enroll-table tbody tr{
  transition: transform .35s var(--lift-ease), box-shadow .35s var(--lift-ease), background-color .2s ease,
              border-color .2s ease, color .2s ease;
}
@media (hover:hover){
  .btn:not(:disabled):hover, button:not(:disabled):not(.modal-close):hover, [role="button"]:hover,
  [role="tab"]:not([aria-selected="true"]):hover,
  .tile:hover, .login-tile:not([data-soon]):hover, .coach-card:hover, .plan:hover, .rc-card:hover, .intake-item:hover,
  .pr-gate-btn:not(:disabled):hover, .pr-pick:hover, .tg-opt:hover, .priority-opt:hover, .link-grid a:hover{
    transform: translateY(-2px);
    box-shadow: var(--glow);
  }
  .enroll-table tbody tr:hover{ box-shadow: var(--glow); }      /* rows glow but don't lift (tables stay aligned) */
  .modal-close:hover{ box-shadow: var(--glow); }
  a:not(.btn):not(.tile):not(.login-tile):hover{
    text-shadow: var(--link-glow);
    transition: text-shadow .25s ease, color .2s ease;
  }
}
.btn:not(:disabled):active, button:not(:disabled):active, .tile:active, .login-tile:active{
  transform: translateY(0); transition-duration: .08s;
}
@media (prefers-reduced-motion: reduce){
  .btn, button, [role="button"], [role="tab"], .tile, .login-tile, .coach-card, .plan, .rc-card, .intake-item,
  .pr-gate-btn, .pr-pick, .tg-opt, .priority-opt, .link-grid a{ transition: box-shadow .2s ease, background-color .2s ease; }
  .btn:hover, button:hover, [role="button"]:hover, [role="tab"]:hover, .tile:hover, .login-tile:hover, .coach-card:hover,
  .plan:hover, .rc-card:hover, .intake-item:hover, .pr-gate-btn:hover, .pr-pick:hover, .tg-opt:hover,
  .priority-opt:hover, .link-grid a:hover{ transform: none !important; }
}

/* Test call quality (Live Calls → Testing mode): a dropdown, closed by default */
.testing-qa > summary{cursor:pointer; list-style:none; display:flex; align-items:baseline; gap:8px; padding:4px 0;}
.testing-qa > summary::-webkit-details-marker{display:none;}
.testing-qa > summary::before{content:"\25B8"; display:inline-block; color:var(--ink-muted); transition:transform .2s ease;}
.testing-qa[open] > summary::before{transform:rotate(90deg);}
.testing-qa > summary:hover strong{text-shadow:var(--link-glow);}
.testing-qa[open] > summary{margin-bottom:8px;}
