:root{
    --paper:#F9F9F9;
    --surface:#FFFFFF;
    --ink:#000819;
    --ink-soft:#1B3A5C;
    --muted:#536B83;
    --faint:#8A99A9;
    --line:#DCE4ED;
    --line-soft:#EDF2F8;
    --accent:#5700C4;
    --accent-dark:#410094;
    --shadow:0 1px 2px rgba(27,58,92,.045), 0 8px 24px rgba(27,58,92,.075);
    --radius:14px;

    /* status palette */
    --s-new:#7C8A99;        --s-new-bg:#EEF2F6;
    --s-contacted:#2D6CDF;  --s-contacted-bg:#E7F0FE;
    --s-voicemail:#7857D6;  --s-voicemail-bg:#F0EBFC;
    --s-voicemail:#6474B8;  --s-voicemail-bg:#EEF0FA;
    --s-later:#8B5E34;      --s-later-bg:#F5EBDD;
    --s-callback:#BE7B0C;   --s-callback-bg:#FBF0D9;
    --s-interested:#0C9385; --s-interested-bg:#D9F2EF;
    --s-meeting:#178A4C;    --s-meeting-bg:#D8F2E2;
    --s-letter:#1E6F8C;     --s-letter-bg:#DCEEF4;
    --s-delivered:#5B4AB8;  --s-delivered-bg:#EAE7FA;
    --s-onboarding:#2F6E5B; --s-onboarding-bg:#E3F2EC;
    --s-preparing:#355C9A;  --s-preparing-bg:#E5ECF7;
    --s-won:#8A6D00;        --s-won-bg:#FAEEC2;
    --s-notint:#C0432C;     --s-notint-bg:#FAE5E0;
    --s-badnum:#8A765C;     --s-badnum-bg:#F2EBE0;
    --s-dq:#5A6573;         --s-dq-bg:#EBEEF1;
    --s-dnc:#8B2635;        --s-dnc-bg:#F7E1E5;
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Poppins',system-ui,-apple-system,sans-serif;
    font-size:14px;
    line-height:1.45;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1560px;margin:0 auto;padding:22px 20px 80px}

  /* ---------- header ---------- */
  header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .mark{
    width:40px;height:40px;border-radius:11px;flex:none;
    background:transparent;padding:2px;
    display:grid;place-items:center;
    font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  }
  .brand h1{
    font-family:'Poppins',sans-serif;font-size:21px;font-weight:700;
    letter-spacing:-.02em;margin:0;line-height:1.05;
  }
  .brand .sub{font-size:12.5px;color:var(--muted);margin-top:1px}
  .savebar{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
  .save-dot{width:7px;height:7px;border-radius:50%;background:var(--s-meeting);box-shadow:0 0 0 0 rgba(23,138,76,.4)}
  .save-dot.flash{animation:pulse .9s ease}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(23,138,76,.45)}100%{box-shadow:0 0 0 9px rgba(23,138,76,0)}}

  /* ---------- monthly + FY target — A&C brand ---------- */
  .firm-target{margin:0 0 14px;font-family:'Poppins',sans-serif}
  .target-card{position:relative;background:#F9F9F9;color:#000819;border:1px solid rgba(27,58,92,.18);border-top:4px solid #5700C4;border-radius:14px;padding:16px 18px 15px;box-shadow:0 7px 20px rgba(27,58,92,.10);overflow:hidden}
  .target-card::after{content:'';position:absolute;right:-55px;top:-85px;width:190px;height:190px;border-radius:50%;background:rgba(87,0,196,.045);pointer-events:none}
  .target-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
  .target-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.105em;font-weight:700;color:#1B3A5C}
  .target-title{font-family:'Poppins',sans-serif;font-size:20px;font-weight:700;margin-top:2px;letter-spacing:-.02em;color:#5700C4}
  .target-edit{border:1px solid #5700C4;background:#fff;color:#5700C4;border-radius:8px;padding:6px 10px;font:600 11px 'Poppins',sans-serif;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}
  .target-edit:hover{background:#5700C4;color:#fff}
  .target-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(340px,1fr);gap:20px;align-items:center}
  .target-progress-stack{display:grid;gap:9px}
  .target-progress-block+.target-progress-block{border-top:1px solid rgba(27,58,92,.13);padding-top:9px}
  .target-primary .target-amount{font-size:30px}
  .target-amount{font-family:'Poppins',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.035em;line-height:1.05;color:#000819}
  .target-amount small{font:500 12.5px 'Poppins',sans-serif;color:#1B3A5C;letter-spacing:0}
    .target-secondary-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#1B3A5C;font-size:11px;font-weight:600}
  .target-secondary-head strong{font-family:'Poppins',sans-serif;font-size:18px;color:#1B3A5C;letter-spacing:-.02em;margin-right:3px}
  .target-bar{height:9px;background:#EDF2F8;border:1px solid rgba(27,58,92,.08);border-radius:999px;overflow:hidden;margin:7px 0 5px}
  .target-bar>span{display:block;height:100%;border-radius:999px;transition:width .35s ease}
  .target-bar-signed>span{background:#5700C4}
    .target-bar-fy{height:6px;margin:7px 0 0}
  .target-bar-fy>span{background:#5700C4;opacity:.72}
  .target-progress-line{display:flex;justify-content:space-between;gap:10px;font-size:10.8px;color:#1B3A5C;font-weight:500}
  .target-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:700;margin-top:10px;border:1px solid transparent}
  .target-status.ahead{background:#EDF2F8;color:#1B3A5C;border-color:rgba(27,58,92,.14)}.target-status.behind{background:#fff4dc;color:#7a4d00;border-color:#f0d394}.target-status.done{background:#efe7fb;color:#5700C4;border-color:#d8c1f3}
  .target-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .target-fact{background:#EDF2F8;border:1px solid rgba(27,58,92,.12);border-radius:9px;padding:9px 10px}
  .target-fact-emphasis{background:#fff;border-color:rgba(87,0,196,.25)}
  .target-fact .k{font-size:9.2px;text-transform:uppercase;letter-spacing:.07em;color:#1B3A5C;font-weight:700}
  .target-fact .v{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;margin-top:2px;color:#000819}.target-fact .v small{font:600 9px 'Poppins',sans-serif;color:#64758a;margin-left:2px}
  .target-fact-emphasis .v{color:#5700C4}
  .target-fy-strip{position:relative;z-index:1;margin-top:13px;padding-top:11px;border-top:1px solid rgba(27,58,92,.16)}
  .target-fy-copy{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;font-size:10.5px;color:#1B3A5C;font-weight:500}
  .target-fy-copy strong{color:#000819}
  .target-fy-title{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#5700C4}
  .target-fy-dates{margin-left:auto;color:#64758a}
  .target-loading{background:#F9F9F9;border:1px solid rgba(27,58,92,.18);border-top:3px solid #5700C4;border-radius:var(--radius);padding:14px 16px;color:#1B3A5C;font-size:12px}
  @media(max-width:980px){.target-main{grid-template-columns:1fr}.target-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.target-fy-dates{margin-left:0}}
  @media(max-width:680px){.target-card{padding:14px}.target-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.target-primary .target-amount{font-size:26px}.target-amount{font-size:24px}.target-progress-line,.target-secondary-head{font-size:10.3px;flex-wrap:wrap}.target-fy-copy{gap:7px 11px}}


  /* ---------- stat cards ---------- */
  .rangebar{display:flex;align-items:center;gap:6px;margin:0 2px 10px}
  .rbtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;
    font:600 11.5px 'Poppins',sans-serif;color:var(--muted);cursor:pointer}
  .rbtn:hover{border-color:var(--faint);color:var(--ink)}
  .rbtn.active{background:var(--ink);border-color:var(--ink);color:#fff}
  .stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:14px}
  @media(max-width:1420px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .stat{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:14px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-width:0;box-sizing:border-box;
  }
  .stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
  .stat .val{font-family:'Poppins',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:3px;line-height:1;cursor:pointer;border-radius:6px;display:inline-block;padding:0 2px;transition:background .12s}
  .stat .val:hover{background:var(--line-soft)}
  .stat .val .minput{font-family:'Poppins',sans-serif;font-size:28px;font-weight:700;width:84px;border:1px solid var(--accent);border-radius:7px;padding:1px 6px;color:var(--ink);box-shadow:0 0 0 3px rgba(87,0,196,.14);outline:none}
  .mtag{font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:#fff;border-radius:999px;padding:1px 6px;vertical-align:middle;font-weight:700}
  .mrevert{color:var(--accent);cursor:pointer;text-decoration:none}
  .mrevert:hover{text-decoration:underline}
  .stat.win .val{color:var(--s-meeting)}
  .stat.won .val{color:var(--s-won)}
  .stat.pipe .val{color:var(--accent)}
  .stat.pipe .edge{background:var(--accent)}
  .stat.wonval .val{color:var(--s-meeting)}
  .stat.wonval .edge{background:var(--s-meeting)}
  .stat.loe .val{color:var(--brand-purple)}
  .stat.loe .edge{background:var(--brand-navy)}
  .stat .val.readonly{cursor:default}
  .stat .val.readonly:hover{background:transparent}
  .stat.hot .val,.stat.interest .val{color:var(--s-interested)}
  .stat .foot{font-size:11.5px;color:var(--faint);margin-top:4px}
  .stat .edge{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
  .stat.win .edge{background:var(--s-meeting)}
  .stat.won .edge{background:var(--s-won)}
  .stat.hot .edge,.stat.interest .edge{background:var(--s-interested)}
  .stat.rate .val{color:var(--s-delivered)}
  .stat.rate .edge{background:var(--s-delivered)}
  .stat.total .edge{background:var(--ink)}

  /* ---------- pipeline strip ---------- */
  .pipe{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:12px 14px;margin-bottom:14px;
  }
  .pipe .pipe-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .pipe .pipe-head .t{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
  .pipe .pipe-head .clear{font-size:11.5px;color:var(--accent);cursor:pointer;background:none;border:none;font-family:inherit;padding:0}
  .pipe .pipe-head .clear:hover{text-decoration:underline}
  .bar{display:flex;height:9px;border-radius:6px;overflow:hidden;background:var(--line-soft);margin-bottom:12px}
  .bar span{height:100%;transition:width .35s ease}
  .chips{display:flex;flex-wrap:wrap;gap:7px}
  .chip{
    display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;
    border:1px solid var(--line);background:var(--surface);
    border-radius:999px;padding:5px 11px 5px 9px;font-size:12.5px;font-weight:500;color:var(--ink-soft);
    transition:border-color .15s, background .15s, transform .05s;
  }
  .chip:hover{border-color:var(--faint)}
  .chip:active{transform:translateY(1px)}
  .chip .dot{width:9px;height:9px;border-radius:50%;flex:none}
  .chip .c{font-family:'Space Mono',monospace;font-weight:700;font-size:12px;color:var(--ink)}
  .chip.active{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:var(--shadow)}
  .chip.active .c{color:#fff}
  .chip.muted{opacity:.6}
  .chip.muted:hover,.chip.muted.active{opacity:1}

  /* ---------- client quick actions ---------- */
  .quickdesk{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:13px 14px;margin-bottom:14px;position:relative;z-index:8;
  }
  .quickdesk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px}
  .quick-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.085em;color:var(--accent);font-weight:800}
  .quick-heading{font:700 15px 'Poppins',sans-serif;color:var(--ink);margin-top:1px}
  .quick-hint{font-size:11.5px;color:var(--muted);text-align:right}
  .quickdesk-row{display:flex;align-items:center;gap:9px}
  .quick-client-search{position:relative;flex:1;min-width:260px}
  .quick-client-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);z-index:2;pointer-events:none}
  .quick-client-search>input{
    width:100%;border:1px solid var(--line);background:#F9F9F9;border-radius:10px;
    padding:10px 13px 10px 38px;font:13.5px 'Poppins',sans-serif;color:var(--ink);
    transition:border-color .15s,box-shadow .15s,background .15s;
  }
  .quick-client-search>input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(87,0,196,.12)}
  .quick-service-picker{display:flex;align-items:center;gap:7px;flex:none;border:1px solid var(--line);background:#F9F9F9;border-radius:10px;padding:5px 8px 5px 10px;min-height:39px}
  .quick-service-picker>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);white-space:nowrap}
  .quick-service-picker>select{border:0;background:transparent;color:var(--ink);font:700 12.5px 'Poppins',sans-serif;outline:none;max-width:180px;cursor:pointer;padding:3px 22px 3px 2px}
  .quick-service-picker:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(87,0,196,.12)}
  .quick-results{
    position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;background:#fff;
    border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(27,58,92,.16);
    max-height:390px;overflow:auto;padding:5px;
  }
  .quick-results[hidden]{display:none}
  .quick-result{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;border-bottom:1px solid var(--line-soft)}
  .quick-result:last-child{border-bottom:none}
  .quick-result:hover{background:#EDF2F8}
  .quick-result-main{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;font-family:inherit;color:inherit}
  .quick-result-name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .quick-result-meta{font-size:11.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .quick-result-actions{display:flex;gap:5px;flex:none}
  .quick-result-actions .btn{padding:6px 8px;border-radius:8px;font-size:11px;box-shadow:none}
  .quick-empty{padding:14px 12px;color:var(--muted);font-size:12.5px}
  .quick-selected{
    margin-top:9px;border-top:1px solid var(--line-soft);padding-top:9px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    font-size:12px;color:var(--muted);
  }
  .quick-selected[hidden]{display:none}
  .quick-selected strong{color:var(--ink);font-size:12.5px}
  .quick-selected .qmeta{min-width:0;flex:1}
  .quick-selected .qactions{display:flex;gap:7px;align-items:center}
  .quick-selected .qactions button{border:0;background:transparent;color:var(--accent);font:700 11.5px 'Poppins',sans-serif;cursor:pointer;padding:2px 0}
  .quick-selected .qactions button:hover{text-decoration:underline}
  @media(max-width:900px){
    .quickdesk-head{align-items:flex-start;flex-direction:column;gap:3px}.quick-hint{text-align:left}
    .quickdesk-row{flex-wrap:wrap}.quick-client-search{flex-basis:100%}.quick-service-picker{flex:1;justify-content:space-between}.quickdesk-row>.btn{flex:1;justify-content:center}
  }

  /* ---------- toolbar ---------- */
  .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
  .view-switch{display:inline-flex;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:2px;box-shadow:0 1px 2px rgba(27,58,92,.03)}
  .viewbtn{border:0;background:transparent;color:var(--muted);font:600 12px 'Poppins',sans-serif;padding:6px 10px;border-radius:7px;cursor:pointer}
  .viewbtn.active{background:var(--ink);color:#fff}
  .search{position:relative;flex:1;min-width:200px}
  .search input{
    width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;
    /* right padding reserves room for #searchStatus ("Searching…") so the
       indicator can never sit on top of what the user has typed */
    padding:10px 84px 10px 34px;font-family:inherit;font-size:13.5px;color:var(--ink);
    box-shadow:var(--shadow);
  }
  .search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.14)}
  .search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint)}
  .btn{
    border:1px solid var(--line);background:var(--surface);color:var(--ink);
    border-radius:10px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;
    cursor:pointer;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:7px;
    transition:border-color .15s,background .15s,transform .05s;white-space:nowrap;
  }
  .btn:hover{border-color:var(--faint)}
  .btn:active{transform:translateY(1px)}
  .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
  .btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
  .btn.ghost{background:transparent;box-shadow:none;color:var(--muted)}
  .btn.ghost:hover{background:var(--surface);color:var(--ink)}

  /* ---------- table ---------- */
  .tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  .scroll{overflow-x:auto}
  table{width:100%;border-collapse:collapse;min-width:1040px}
  thead th{
    position:sticky;top:0;z-index:2;background:#F9F9F9;text-align:left;
    font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;
    padding:11px 8px;border-bottom:1px solid var(--line);white-space:nowrap;
  }
  tbody td{padding:11px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}
  tbody tr:last-child td{border-bottom:none}
  /* v10.1.1: Added is now the third column. The old desktop widths were still
     targeting pre-Added column positions, which accidentally gave Added the
     company's 190px minimum and pushed the right-hand controls off-screen. */
  thead th:nth-child(3),tbody td:nth-child(3){width:74px;min-width:74px;max-width:74px}
  tbody td:nth-child(4){min-width:180px}
  /* v10.1.2: keep Contact and Companies House compact. Long contact values wrap
     inside the cell instead of forcing the whole table wider. */
  thead th:nth-child(5),tbody td:nth-child(5){width:160px;min-width:160px;max-width:160px}
  thead th:nth-child(6),tbody td:nth-child(6){width:108px;min-width:108px;max-width:108px}
  thead th:nth-child(6){white-space:normal;line-height:1.15}
  .reg .rw{white-space:nowrap}
  tbody tr:hover{background:#FAFBFD}
  .num{font-family:'Space Mono',monospace;color:var(--faint);font-size:12px;width:34px}
  .co{font-weight:600;color:var(--ink);font-size:13.5px;line-height:1.25}
  .addr{font-size:11.5px;color:var(--muted);margin-top:3px;max-width:230px}
  .contact a{color:var(--accent);text-decoration:none;font-size:12.5px;display:block;line-height:1.5;overflow-wrap:anywhere}
  .contact a:hover{text-decoration:underline}
  .contact .ph{font-family:'Space Mono',monospace;color:var(--ink-soft);font-size:12px;overflow-wrap:anywhere}
  .reg .rn{font-family:'Space Mono',monospace;font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere}
  .reg .rw{font-size:11px;color:var(--faint);margin-top:2px}

  /* status select */
  .status-select{
    appearance:none;-webkit-appearance:none;border:1px solid transparent;cursor:pointer;
    font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;border-radius:999px;
    padding:5px 26px 5px 22px;background-repeat:no-repeat;background-position:right 8px center,9px center;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23667' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"),radial-gradient(circle,currentColor 3px,transparent 3px);
    transition:filter .12s;max-width:150px;
  }
  .status-select:hover{filter:brightness(.97)}
  .status-select:focus{outline:none;box-shadow:0 0 0 3px rgba(87,0,196,.18)}

  .notes-input{
    width:100%;min-width:160px;border:1px solid transparent;background:transparent;
    font-family:inherit;font-size:12.5px;color:var(--ink-soft);border-radius:7px;padding:6px 8px;resize:none;
    line-height:1.4;
  }
  .notes-input:hover{background:#EDF2F8}
  .notes-input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.12)}
  .notes-input::placeholder{color:var(--faint)}

  /* calls / attempts */
  .calls{white-space:nowrap}
  .callrow{display:flex;align-items:center;gap:7px}
  .callbtn{
    border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;
    width:24px;height:24px;border-radius:7px;font-size:15px;font-weight:700;line-height:1;
    display:grid;place-items:center;flex:none;transition:filter .12s,transform .05s;
  }
  .callbtn:hover{filter:brightness(1.08)}
  .callbtn:active{transform:translateY(1px)}
  .callminus{
    border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;
    width:20px;height:24px;border-radius:7px;font-size:14px;line-height:1;display:grid;place-items:center;flex:none;
  }
  .callminus:hover{border-color:var(--faint);color:var(--ink)}
  .callcount{font-family:'Space Mono',monospace;font-weight:700;font-size:14px;color:var(--ink)}
  .callcount.done{color:var(--s-meeting)}
  .callcount small{color:var(--faint);font-weight:400;font-size:11px}
  .pips{display:flex;gap:2px;margin-top:5px}
  .pip{width:11px;height:4px;border-radius:2px;background:var(--line)}
  .pip.on{background:var(--accent)}
  .pip.on.full{background:var(--s-meeting)}
  .lastcall{font-size:10.5px;color:var(--faint);margin-top:4px}
  .nextcall{
    margin-top:5px;border:1px solid var(--line);border-radius:6px;padding:2px 5px;
    font-family:'Poppins',sans-serif;font-size:11px;color:var(--ink-soft);background:var(--surface);
    width:106px;cursor:pointer;
  }
  .nextcall:focus{outline:none;border-color:var(--accent)}
  .nextcall.due{border-color:var(--s-callback);background:var(--s-callback-bg);color:var(--s-callback);font-weight:600}
  .nextcall.overdue{border-color:var(--s-notint);background:var(--s-notint-bg);color:var(--s-notint);font-weight:600}
  .nextcall{width:100px}
  .nextcalltime{
    margin-top:4px;border:1px solid var(--line);border-radius:6px;padding:2px 5px;
    font-family:'Poppins',sans-serif;font-size:11px;color:var(--ink-soft);background:var(--surface);
    width:100px;cursor:pointer;display:block;
  }
  .nextcalltime:focus{outline:none;border-color:var(--accent)}
  .nextcalltime:disabled{opacity:.4;cursor:not-allowed}
  .nextcalltime.due{border-color:var(--s-callback);background:var(--s-callback-bg);color:var(--s-callback);font-weight:600}
  .nextcalltime.overdue{border-color:var(--s-notint);background:var(--s-notint-bg);color:var(--s-notint);font-weight:600}
  .datetime{display:flex;gap:8px}
  .datetime input[type=date]{flex:1}
  .datetime input[type=time]{width:110px}
  .duebadge{
    display:inline-block;font-size:10px;font-weight:700;border-radius:999px;padding:1px 8px;
    margin-left:7px;vertical-align:1px;letter-spacing:.02em;
  }
  .duebadge.today{background:var(--s-callback-bg);color:var(--s-callback)}
  .duebadge.over{background:var(--s-notint-bg);color:var(--s-notint)}
  .starbtn{
    border:none;background:transparent;cursor:pointer;font-size:15px;line-height:1;
    color:var(--line);width:22px;height:22px;padding:0;flex:none;transition:transform .08s,color .12s;
  }
  .starbtn:hover{transform:scale(1.18);color:var(--s-callback)}
  .starbtn.on{color:#E8A317}
  .cohead{display:flex;align-items:center;gap:6px}
  tr.prio td{background:linear-gradient(90deg,rgba(232,163,23,.07),transparent 55%)}
  tr.prio:hover td{background:linear-gradient(90deg,rgba(232,163,23,.12),#FAFBFD 55%)}
  .btn.toggle.today.active{background:var(--s-callback);border-color:var(--s-callback)}
  .btn.toggle.overdue.active{background:var(--s-notint);border-color:var(--s-notint)}
  .assbadge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#EDF2F8;border:1px solid var(--line);color:var(--muted);font-size:10.5px;font-weight:600;vertical-align:1px;white-space:nowrap}
  #whoSel{border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);cursor:pointer}
  #bulkAssign{border:1px solid var(--s-notint);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12.5px;background:#FFF;cursor:pointer}
  .selcol{width:30px}
  .rowsel{width:30px;text-align:center}
  .rowsel input,.selcol input{width:15px;height:15px;cursor:pointer;accent-color:var(--accent)}
  #bulkbar{
    display:none;flex-direction:column;align-items:stretch;gap:7px;margin-bottom:12px;
    background:var(--s-notint-bg);border:1px solid var(--s-notint);border-radius:10px;
    padding:8px 10px;font-size:12.5px;color:var(--s-notint);font-weight:600;
  }
  #bulkbar.show{display:flex}
  .bulkbar-summary{display:flex;align-items:center;gap:9px;min-width:0;padding:0 2px 6px;border-bottom:1px solid rgba(186,55,42,.16)}
  .bulkbar-summary #bulkCount{flex:none;white-space:nowrap;font-weight:800}
  .bulkbar-summary #bulkVisibility{flex:1;min-width:0;white-space:normal;line-height:1.25}
  .bulkbar-summary #bulkClearHidden{flex:none}
  .bulkbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
  .bulk-action-pair{display:flex;align-items:center;gap:4px;min-width:0}
  #bulkAssign,#bulkSector,#bulkStatus{height:30px;max-width:145px;padding:4px 7px;font-size:12px}
  #bulkSector,#bulkStatus{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
  #bulkbar .btn{padding:6px 9px;font-size:12px;min-height:30px;white-space:nowrap}
  #bulkbar .btn.danger{background:var(--s-notint);border-color:var(--s-notint);color:#fff}
  #bulkbar .btn.danger:hover{filter:brightness(.92)}
  @media(max-width:760px){
    .bulkbar-summary{align-items:flex-start;flex-wrap:wrap}
    .bulkbar-summary #bulkVisibility{flex-basis:100%;order:3}
    .bulkbar-actions{gap:6px}
    .bulk-action-pair{flex:1 1 220px}
    #bulkAssign,#bulkSector,#bulkStatus{max-width:none;flex:1;min-width:0}
  }
  .teamrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
  .teamrow:last-child{border-bottom:none}
  .teamrow .nm{flex:1}
  .teamrow .nm input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;color:var(--ink)}
  .teamrow .em{font-size:11.5px;color:var(--muted);margin-top:3px}
  .teamrow .cnt{font-size:12.5px;color:var(--muted);white-space:nowrap}
  .teamadd{display:flex;gap:8px;margin-top:14px}
  .teamadd input{flex:1;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13.5px}
  .duprow{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}
  .duprow .dl{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:13px}
  .duprow .dl .meta{color:var(--muted);font-size:12px}
  .duprow .dhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
  .duprow .dhead .t{font-weight:700;font-size:13.5px}
  .toastact{margin-left:12px;background:rgba(255,255,255,.18);border:none;color:#fff;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
  .toastact:hover{background:rgba(255,255,255,.3)}
  .btn.toggle.prio.active{background:#E8A317;border-color:#E8A317}
  .valcell{white-space:nowrap;text-align:right}
  .valinput{
    width:74px;border:1px solid transparent;background:transparent;border-radius:6px;
    font-family:'Space Mono',monospace;font-size:12.5px;color:var(--ink);padding:4px 6px;text-align:right;
  }
  .valinput:hover{background:#EDF2F8}
  .valinput:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.12)}
  .valinput::placeholder{color:var(--line)}
  .valfee{font-weight:700;color:var(--s-won)}
  .vallabel{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-right:4px}
  .value-yearend{margin-top:5px;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:18px}
  .value-yearend-text{font:600 11px 'Poppins',sans-serif;color:var(--brand-navy);white-space:nowrap}
  .valyearend{width:82px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;color:var(--brand-navy)}
  th.sortable{cursor:pointer;user-select:none}
  th.sortable:hover{color:var(--ink)}
  th.sortable.on{color:var(--accent)}

  .btn.toggle.active{background:var(--ink);border-color:var(--ink);color:#fff}
  .btn .badge{background:rgba(255,255,255,.22);border-radius:999px;padding:1px 7px;font-size:11px;font-family:'Space Mono',monospace}
  .btn.toggle:not(.active) .badge{background:var(--line-soft);color:var(--ink)}

  .rowact{display:flex;gap:4px;justify-content:flex-end}
  .iconbtn{
    border:none;background:transparent;cursor:pointer;color:var(--faint);
    width:28px;height:28px;border-radius:7px;display:grid;place-items:center;transition:background .12s,color .12s;
  }
  .iconbtn:hover{background:var(--line-soft);color:var(--ink)}
  .iconbtn.del:hover{background:var(--s-notint-bg);color:var(--s-notint)}

  .empty{padding:48px 20px;text-align:center;color:var(--muted)}
  .empty .big{font-family:'Poppins',sans-serif;font-size:16px;color:var(--ink-soft);font-weight:600;margin-bottom:4px}

  .tablefoot{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:#F9F9F9}

  /* ---------- modal ---------- */
  .overlay{position:fixed;inset:0;background:rgba(27,58,92,.42);backdrop-filter:blur(2px);display:none;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow:auto}
  .overlay.show{display:flex}
  .modal{background:var(--surface);border-radius:18px;box-shadow:0 24px 60px rgba(27,58,92,.28);width:100%;max-width:540px;overflow:hidden;animation:rise .2s ease}
  @keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
  .modal-head h2{font-family:'Poppins',sans-serif;font-size:17px;margin:0;font-weight:700;letter-spacing:-.01em}
  .modal-body{padding:18px 20px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
  .field{display:flex;flex-direction:column;gap:5px}
  .field[hidden]{display:none!important}
  .field.full{grid-column:1 / -1}
  .field label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
  .field input,.field select,.field textarea{
    border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);
  }
  .field textarea{resize:vertical;min-height:60px}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.14)}
  .modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:16px 20px;border-top:1px solid var(--line);background:#F9F9F9}

  @media(max-width:820px){
    .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .modal-body{grid-template-columns:1fr}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#pipelineSection[hidden],#quickActionsSection[hidden],#toolbarSection[hidden],#tableSection[hidden],#boardSection[hidden]{display:none!important}
.cobtn{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;display:inline-flex;align-items:center;gap:4px;border-radius:5px;transition:color .14s ease,background .14s ease}.cobtn:hover,.cobtn:focus-visible{color:var(--accent);text-decoration:underline;background:color-mix(in srgb,var(--accent) 7%,transparent);outline:none}.open-record-cue{font-size:16px;line-height:1;color:var(--accent);font-weight:800;transform:translateY(-.5px);transition:transform .14s ease}.cobtn:hover .open-record-cue,.cobtn:focus-visible .open-record-cue,.pipeline-company:hover .open-record-cue{transform:translate(2px,-.5px)}
.metalink{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;color:var(--accent);text-decoration:none;vertical-align:1px}.metalink:hover{text-decoration:underline}
.contactname{font-weight:650;color:var(--ink);margin-bottom:2px}.coho-link{font-family:'Space Mono',monospace;font-size:11.5px;color:var(--accent);text-decoration:none}.coho-link:hover{text-decoration:underline}
.rd-yearend{display:flex;flex-direction:column;gap:4px;min-width:108px}.rd-yearend strong{font-size:12px}.rd-notif{display:inline-flex;width:max-content;max-width:150px;border-radius:999px;padding:2px 7px;background:#EEF2F6;color:var(--muted);font-size:9.5px;font-weight:700;white-space:nowrap}.rd-notif.soon{background:#FFF2CC;color:#7A5700}.rd-notif.urgent,.rd-notif.passed{background:#FBE5E1;color:#A03424}
/* v10.5.7 — Lead detail drawer viewport fix.
   Keep the drawer anchored to the browser viewport, not to the wide lead table.
   The prior CSS was correct in source but index.html still cache-busted styles.css
   as v10.4.5, so browsers could retain an older off-screen drawer layout. */
html,body{max-width:100%;overflow-x:hidden}
body.detail-open{overflow:hidden}
.detail-overlay{
  position:fixed!important;inset:0!important;
  width:auto!important;max-width:none!important;height:100vh;height:100dvh;
  margin:0!important;padding:0!important;overflow:hidden!important;
  align-items:stretch!important;justify-content:flex-end!important;
  transform:none!important;
}
.detail-panel{
  position:relative!important;inset:auto!important;
  flex:0 0 min(560px,100%);width:min(560px,100%);max-width:100%;
  height:100%;min-height:0;margin:0!important;
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface);box-shadow:-20px 0 55px rgba(27,58,92,.2);animation:slidein .2s ease;
}
@media(max-width:620px){
  .detail-panel{flex-basis:100%;width:100%;}
}
.detail-panel>.modal-head{flex:0 0 auto}
.detail-body{
  flex:1 1 auto;min-height:0;padding:18px 20px 50px;
  overflow-y:auto;overflow-x:hidden;max-height:none;
  overscroll-behavior:contain;
}
@keyframes slidein{from{transform:translateX(18px);opacity:.4}to{transform:none;opacity:1}}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.detail-kv{padding:10px 11px;border:1px solid var(--line-soft);border-radius:10px;background:#F9F9F9}.detail-kv .k{font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.detail-kv .v{font-size:12.5px;color:var(--ink);margin-top:2px;word-break:break-word}.timeline{border-left:2px solid var(--line);margin-left:8px;padding-left:18px}.activity{position:relative;padding:0 0 16px}.activity:before{content:'';position:absolute;left:-24px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}.activity .at{font-size:12.5px;font-weight:700}.activity .am{font-size:11px;color:var(--muted);margin:2px 0}.activity .an{font-size:12.5px;color:var(--ink-soft);white-space:pre-wrap}.activity-empty{color:var(--muted);font-size:12.5px;padding:14px 0}
.setup-error{background:var(--s-notint-bg);border:1px solid var(--s-notint);color:var(--s-notint);padding:11px;border-radius:9px;font-size:12.5px;margin-top:12px}

/* ---------- optional pipeline board ---------- */
.pipeline-board-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.pipeline-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}
.pipeline-board-head strong{font-size:13px}.pipeline-board-head span{font-size:11.5px;color:var(--muted)}
.pipeline-board{display:grid;grid-template-columns:repeat(10,minmax(210px,1fr));gap:10px;padding:12px;overflow-x:auto;align-items:start}
.pipeline-col{background:#F9F9F9;border:1px solid var(--line);border-radius:11px;min-height:180px;overflow:hidden}
.pipeline-col-head{display:flex;justify-content:space-between;align-items:center;padding:9px 10px 4px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
.pipeline-col-head b{background:var(--surface);border:1px solid var(--line);border-radius:999px;min-width:23px;text-align:center;padding:1px 6px;font-size:10px}.pipeline-col-value{padding:0 10px 7px;font-size:10.5px;color:var(--muted)}
.pipeline-cards{display:grid;gap:7px;padding:7px;min-height:70px;transition:background .12s ease,box-shadow .12s ease}.pipeline-cards.dragover{background:#EAF1FC;box-shadow:inset 0 0 0 2px rgba(87,0,196,.25)}.pipeline-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px;box-shadow:0 1px 2px rgba(27,58,92,.035);cursor:grab}.pipeline-card.dragging{opacity:.42;cursor:grabbing}.pipeline-card-top{display:flex;justify-content:space-between;align-items:center;margin:-3px -2px 2px}.pipeline-drag{font-size:12px;color:var(--faint);letter-spacing:-2px;user-select:none}.pipeline-order{display:flex;gap:2px}.pipeline-order button{width:22px;height:20px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--muted);font:700 11px 'Poppins';cursor:pointer;padding:0}.pipeline-order button:hover{border-color:var(--accent);color:var(--accent)}
.pipeline-company{border:0;background:transparent;padding:0;color:var(--ink);font:650 12.5px 'Poppins',sans-serif;cursor:pointer;text-align:left}.pipeline-company:hover{color:var(--accent);text-decoration:underline}.pipeline-contact{font-size:11px;color:var(--muted);margin-top:2px}.pipeline-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:10.5px;color:var(--muted)}.pipeline-meta strong{color:var(--ink)}
.pipeline-yearend{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding-top:6px;border-top:1px solid var(--line-soft);font-size:9.5px;color:var(--muted)}.pipeline-yearend strong{color:var(--ink-soft);font-size:10px}.pipeline-rd{margin-top:7px;border-radius:6px;background:#EEF2F6;padding:4px 6px;font-size:9.5px;color:var(--muted)}.pipeline-rd.soon{background:#FFF2CC;color:#7A5700}.pipeline-rd.urgent,.pipeline-rd.passed{background:#FBE5E1;color:#A03424}.pipeline-next{margin-top:7px;font-size:9.5px;color:var(--muted)}.pipeline-next.today{color:#7A5700;font-weight:700}.pipeline-next.over{color:#A03424;font-weight:700}.pipeline-empty{padding:18px 8px;text-align:center;color:var(--faint);font-size:10.5px}
#boardSection[hidden]{display:none!important}
/* The lead table becomes cards at tablet / half-window widths rather than
   forcing a 1040px table into a narrow viewport. Pipeline intentionally keeps
   horizontal columns because that is its native interaction model. */
@media(max-width:980px){
  .toolbar{gap:7px}.toolbar .search{flex-basis:100%}.view-switch{order:2}
  /* Responsive card mode belongs only to the main LeadDesk results table.
     Document tables (LoEs/invoices) must never inherit these rules at screen
     or print widths. */
  .tablewrap{background:transparent;border:0;box-shadow:none;overflow:visible}
  .tablewrap .scroll{overflow:visible}
  .tablewrap table{min-width:0;display:block}
  .tablewrap thead{display:none}
  .tablewrap tbody{display:grid;gap:10px}
  .tablewrap tbody tr{display:grid;grid-template-columns:28px 1fr auto;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:10px}
  .tablewrap tbody td{display:block;border:0;padding:5px 7px;min-width:0}
  .tablewrap tbody td:nth-child(1){grid-column:1;grid-row:1}
  .tablewrap tbody td:nth-child(2){display:none}
  .tablewrap tbody td:nth-child(3){grid-column:3;grid-row:2;font-size:10px;color:var(--muted);text-align:right}
  .tablewrap tbody td:nth-child(4){grid-column:2;grid-row:1}
  .tablewrap tbody td:nth-child(5){grid-column:2/4;grid-row:2}
  .tablewrap tbody td:nth-child(6){display:none}
  .tablewrap tbody td:nth-child(7){grid-column:3;grid-row:1}
  .tablewrap tbody td:nth-child(8){grid-column:2;grid-row:3}
  .tablewrap tbody td:nth-child(9){grid-column:3;grid-row:3}
  .tablewrap tbody td:nth-child(10){grid-column:2/4;grid-row:4}
  .tablewrap tbody td:nth-child(11){grid-column:2;grid-row:5}
  .tablewrap tbody td:nth-child(12){grid-column:3;grid-row:5}
  .tablewrap .addr{max-width:none}
  .detail-grid{grid-template-columns:1fr}.tablefoot{display:block}
}
@media(max-width:720px){
  .wrap{padding:14px 10px 60px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-board{grid-template-columns:repeat(10,minmax(190px,1fr))}
}

.check-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);cursor:pointer}.check-row input{width:auto}


/* v2 workflow refinements */
.field-help{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.4}
.statrate{display:inline-flex;align-items:center;border-radius:999px;background:var(--line-soft);color:var(--ink-soft);font-weight:700;padding:2px 7px;margin-right:4px}
.import-modes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 11px}.import-modes label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 11px;cursor:pointer;background:#fff}.import-modes label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.1)}.import-modes input{margin-top:3px}.import-modes span{display:grid;gap:2px}.import-modes strong{font-size:12.5px}.import-modes small{font-size:10.5px;color:var(--muted);line-height:1.35}.import-warning{background:#FFF8E7;border:1px solid #E6C66A;border-radius:9px;padding:9px 10px;margin:0 0 11px;font-size:11.5px;color:#6C570D}
.inline-input,.inline-textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:12px 'Poppins',sans-serif;padding:6px 7px}.inline-input:focus,.inline-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.11)}.inline-textarea{resize:vertical;min-height:54px;line-height:1.35}.inline-stack{display:grid;gap:5px}.inline-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.rowact .textbtn{width:auto;min-width:auto;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:700}.rowact .savequick{background:var(--accent);color:#fff}.rowact .savequick:hover{background:var(--accent-dark);color:#fff}.rowact .cancelquick{background:var(--line-soft)}
.activity-summary{display:grid;gap:4px;min-width:150px}.activity-summary .latest{font-size:11.5px;color:var(--ink-soft);line-height:1.35}.activity-summary .latest strong{color:var(--ink)}.activity-summary .legacy{font-size:10.5px;color:var(--muted);white-space:pre-wrap;line-height:1.35;max-height:42px;overflow:hidden}.activity-summary .quicklinks{display:flex;gap:5px;flex-wrap:wrap}.activity-summary button{border:0;background:transparent;color:var(--accent);font:700 10.5px 'Poppins';padding:0;cursor:pointer}.activity-summary button:hover{text-decoration:underline}.activity-none{font-size:10.5px;color:var(--faint)}
@media(max-width:720px){.import-modes{grid-template-columns:1fr}.rowact .textbtn{padding:5px 7px}.activity-summary{min-width:0}}

.archive-missing{display:flex;gap:7px;align-items:flex-start;margin-top:7px;font-weight:600}.archive-missing input{margin-top:2px}

/* Build 2.2: explicit Won and Delivered workspaces */
.build-badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700;color:var(--muted);background:var(--panel)}


/* ── letter typography (scoped) ── */
.letter-sheet{--purple:#5700C4;--navy:#1B3A5C;--lt-ink:#000819;--fill:#EDF2F8;--stripe:#F9F9F9}
 .letter-sheet{font:10.5pt/1.6 'Poppins',sans-serif;color:var(--lt-ink);margin:0}
 .letter-sheet .pagewrap{width:100%;min-width:0 !important;max-width:100%;border-collapse:collapse;display:table !important}
 .letter-sheet .pagewrap > tbody > tr > td{padding:0;border:0;display:table-cell !important}
 .letter-sheet .pagewrap > tfoot{display:table-footer-group}
 .letter-sheet .pagewrap > thead{display:table-header-group}
 .letter-sheet .pagehead{padding:0;border:0;height:0}
 .letter-sheet .pagefoot{padding:10px 0 0;border:0;border-top:1px solid rgba(27,58,92,.14);
   text-align:center;font-size:7.5pt;color:rgba(27,58,92,.58)}
 .letter-sheet .regline{text-align:center;font-size:7.5pt;color:rgba(27,58,92,.58);border-top:1px solid rgba(27,58,92,.14);
 padding-top:6px;margin-top:26px}
 .letter-sheet .loe-signoff{break-inside:avoid;page-break-inside:avoid}
 /* Signature and acknowledgement belong together: printing them apart left an
    almost empty page between the letter and the Terms. */
 .letter-sheet .loe-closing{break-inside:avoid;page-break-inside:avoid}
 .letter-sheet .logo{height:42px}
 .letter-sheet .head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
 .letter-sheet .contact{text-align:right;font-size:8.5pt;color:rgba(27,58,92,.78);line-height:1.5}
 .letter-sheet .contact b{color:var(--lt-ink)}
 .letter-sheet .rule{border-bottom:3px solid var(--purple);margin:14px 0 22px}
 .letter-sheet .date{margin-bottom:16px;font-weight:600}
 .letter-sheet .to{font-weight:700;color:var(--navy);margin:0 0 2px}
 .letter-sheet .toaddr{color:var(--navy);margin:0 0 16px}
 .letter-sheet h2{color:var(--purple);font-size:13pt;font-weight:700;margin:22px 0 8px}
 .letter-sheet h3{color:var(--purple);font-size:11pt;font-weight:600;margin:18px 0 6px;
 border-bottom:1px solid rgba(27,58,92,.14);padding-bottom:4px}
 .letter-sheet p{margin:0 0 9px}
 .letter-sheet ul{margin:0 0 10px 0;padding-left:18px}
 .letter-sheet li{margin-bottom:6px}
 .letter-sheet .sig{height:44px;margin:14px 0 2px}
 .letter-sheet .sigblank{border-bottom:1px solid rgba(27,58,92,.42);width:200px;height:40px;margin:10px 0 4px}
 .letter-sheet .signame{font-weight:700;margin:0}
 .letter-sheet .sigrole{color:rgba(27,58,92,.78);font-size:9.5pt;margin:0}
 .letter-sheet .ack{border:1px solid rgba(27,58,92,.18);border-radius:6px;background:var(--stripe);padding:14px 16px;margin-top:20px}
 .letter-sheet .ack h4{color:var(--purple);letter-spacing:.14em;font-size:9pt;margin:0 0 8px;text-transform:uppercase}
 .letter-sheet .ackgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:12px}
 .letter-sheet .ackfield label{font-size:8.5pt;color:rgba(27,58,92,.78)}
 .letter-sheet .ackline{border-bottom:1px solid rgba(27,58,92,.42);height:24px}

/* v10.5.8 — LOE acknowledgement layout: prefilled names sit above their
   signature lines, and individuals/sole traders sign in their own capacity. */
.letter-sheet .ackvalue{font-size:9pt;min-height:20px;display:flex;align-items:flex-end;padding:2px 0 1px;color:var(--lt-ink)}
.letter-sheet .ackline.ackline-value{height:0}
.letter-sheet .ackfield-wide{grid-column:1/-1}
 .letter-sheet .terms{page-break-before:always}
 .letter-sheet .terms h1{color:var(--purple);font-size:15pt;letter-spacing:.06em;margin:0 0 2px}
 .letter-sheet .terms .sub{color:rgba(27,58,92,.78);font-size:9pt;margin:0 0 14px}
 .letter-sheet .terms h3{font-size:10.5pt;color:var(--navy);border:0;margin:16px 0 6px}
 .letter-sheet .cl{margin:0 0 7px;padding-left:34px;text-indent:-34px}
 .letter-sheet .cl b{color:var(--lt-ink)}
 .letter-sheet .sub-list{padding-left:34px;margin:0 0 8px}
 .letter-sheet .sub-list p{margin:0 0 5px;padding-left:20px;text-indent:-20px}
 .letter-sheet .note{margin-top:22px;padding:10px 12px;background:var(--fill);border-left:3px solid var(--purple);
 font-size:9pt;color:rgba(0,8,25,.78)}

/* ── Engagement letter: rendered in-page and printed from here (no pop-up) ─────
   Mirrors the approach used by the claims workbench report: an A4-width sheet in
   the DOM, everything else hidden at print time, colours forced on. */
.letterview{position:fixed;inset:0;z-index:80;background:#8193A5;overflow:auto;padding:0 0 60px}
.letterview[hidden]{display:none}
.letterbar{position:sticky;top:0;z-index:2;display:flex;gap:10px;align-items:center;justify-content:flex-end;
  background:var(--ink,#000819);padding:10px 18px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.letterbar .t{margin-right:auto;color:#fff;font:600 13px 'Poppins',sans-serif}
.letterbar .t small{display:block;font-weight:400;font-size:11px;color:rgba(255,255,255,.66);margin-top:1px}
.letterbar button{border:0;border-radius:8px;padding:8px 14px;font:600 12.5px 'Poppins',sans-serif;cursor:pointer}
.letterbar .sign{background:#5700C4;color:#fff}
.letterbar .sign:hover:not(:disabled){filter:brightness(1.1)}
.letterbar .sign:disabled{opacity:.65;cursor:default}
.letterbar .print{background:#fff;color:#1B3A5C}
.letterbar .print:hover{filter:brightness(.96)}
.letterbar .close{background:transparent;color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.22)}
.letter-sheet{
  width:210mm;min-height:297mm;margin:18px auto;background:#fff;
  padding:16mm 16mm 14mm;box-shadow:0 8px 30px rgba(0,0,0,.28);
}

@media print{
  /* A4 print area. Engagement-specific pagination is scoped below so invoice
     printing keeps its existing sizing. */
  @page{size:A4 portrait;margin:6mm 0 11mm}
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
  html,body{background:#fff !important;margin:0 !important}
  body.printing-letter > *:not(.letterview){display:none !important}
  body.printing-letter .letterview{position:static !important;background:#fff !important;padding:0 !important;overflow:visible !important}
  body.printing-letter .letterbar,.no-print{display:none !important}
  body.printing-letter .letterview{width:210mm !important;max-width:210mm !important;margin:0 auto !important;}
  body.printing-letter .letter-sheet{
    width:210mm !important;max-width:210mm !important;min-height:0 !important;margin:0 !important;
    /* Horizontal inset only. Vertical spacing comes from the repeating thead/tfoot
       below, which applies to every page — element padding only affects the first
       and last, and browsers routinely zero the @page margin. */
    padding:0 16mm !important;box-shadow:none !important;overflow:visible !important;
  }
  /* Print isolation is deliberately narrow: only reset the engagement-letter
     page wrapper. The main LeadDesk responsive table rules are scoped to
     .tablewrap above, so document content keeps its own intended formatting. */
  body.printing-letter .letter-sheet .pagewrap{display:table !important;min-width:0 !important;max-width:100% !important}
  body.printing-letter .letter-sheet .pagewrap > thead{display:table-header-group !important}
  body.printing-letter .letter-sheet .pagewrap > tbody{display:table-row-group !important}
  body.printing-letter .letter-sheet .pagewrap > tfoot{display:table-footer-group !important}
  body.printing-letter .letter-sheet .pagewrap > tbody > tr{
    display:table-row !important;border:0 !important;background:transparent !important;
    border-radius:0 !important;box-shadow:none !important;padding:0 !important;
  }
  body.printing-letter .letter-sheet .pagewrap > tbody > tr > td{
    display:table-cell !important;padding:0 !important;border:0 !important;background:transparent !important;
  }
  /* Invoices do not use the engagement-letter repeating pagehead wrapper. Give
     page 1 its own print-safe top inset so browser/printer clipping cannot eat
     the invoice heading. */
  body.printing-letter .letter-sheet.invoice-doc{padding:12mm 16mm 10mm !important;}
  body.printing-letter .letter-sheet .pagewrap{min-width:0 !important;width:100% !important;display:table !important}
  /* v11.2.9 — keep the regulatory footer in table flow. As a real repeating
     table footer Chrome reserves its height on every printed page, so body
     content cannot run underneath it. This also leaves the browser's optional
     URL/page-number footer in the lower print margin instead of colliding with
     the A&C regulatory line. */
  body.printing-letter .letter-sheet.engagement-doc .pagewrap > tfoot{
    display:table-footer-group !important;
  }
  body.printing-letter .letter-sheet.engagement-doc .pagewrap > tfoot > tr{
    display:table-row !important;
  }
  body.printing-letter .letter-sheet.engagement-doc .pagewrap > tfoot > tr > td{
    display:table-cell !important;width:100% !important;background:transparent !important;
  }
  body.printing-letter .letter-sheet .pagehead{height:14mm;padding:0;border:0}
  body.printing-letter .letter-sheet.engagement-doc .pagefoot{
    padding:4px 0 0 !important;border-top:1px solid rgba(27,58,92,.14) !important;
    text-align:center !important;font-size:7.5pt !important;color:rgba(27,58,92,.58) !important;
  }
  body.printing-letter .letter-sheet.engagement-doc{font-size:10pt !important;line-height:1.52 !important}
  body.printing-letter .letter-sheet.engagement-doc p{margin-bottom:8px}
  body.printing-letter .letter-sheet.engagement-doc li{margin-bottom:5px}
  body.printing-letter .letter-sheet.engagement-doc h3{margin-top:15px}
  body.printing-letter .letter-sheet.engagement-doc .ack{margin-top:14px;padding:11px 14px}
  body.printing-letter .letter-sheet.engagement-doc .ackgrid{gap:7px 24px;margin-top:9px}
  body.printing-letter .letter-sheet.engagement-doc .ackline{height:20px}
  /* Professional pagination: keep headings with the following text and avoid
     stranded lines without forcing whole sections onto separate pages. */
  .letter-sheet.engagement-doc p,.letter-sheet.engagement-doc li{orphans:3;widows:3}
  .letter-sheet.engagement-doc .ack,.letter-sheet.engagement-doc .head,.letter-sheet.engagement-doc .loe-signoff,.letter-sheet.engagement-doc .loe-closing{break-inside:avoid;page-break-inside:avoid}
  .letter-sheet.engagement-doc h2,.letter-sheet.engagement-doc h3,.letter-sheet.engagement-doc .terms h1{break-after:avoid;page-break-after:avoid}
  .letter-sheet.engagement-doc .cl,.letter-sheet.engagement-doc li,.letter-sheet.engagement-doc .sub-list p{break-inside:avoid;page-break-inside:avoid}
  .letter-sheet.engagement-doc img{break-inside:avoid}
  .letter-sheet.engagement-doc .terms{break-before:page;page-break-before:always}
}


#inv_number[readonly]{background:var(--line-soft);color:var(--ink-soft);cursor:default}

/* ── invoice (shares the letter sheet and print pipeline) ── */
 .letter-sheet .invtop{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:6px}
 .letter-sheet .lbl{font-size:8pt;letter-spacing:.12em;text-transform:uppercase;color:rgba(27,58,92,.58);margin-bottom:4px}
 .letter-sheet .invmeta{width:auto;min-width:190px;max-width:100%;display:table;border-collapse:collapse;font-size:9.5pt}
 .letter-sheet .invmeta td{padding:2px 12px 2px 0;color:rgba(27,58,92,.78);white-space:nowrap}
 .letter-sheet .invmeta th{padding:2px 0;text-align:right;font-weight:600;color:var(--lt-ink);white-space:nowrap}
 .letter-sheet .invtbl{width:100%;min-width:0 !important;max-width:100%;display:table !important;table-layout:fixed;border-collapse:collapse;margin:10px 0 18px;font-size:10pt}
 .letter-sheet .invtbl thead{display:table-header-group !important}
 .letter-sheet .invtbl tbody{display:table-row-group !important}
 .letter-sheet .invtbl tfoot{display:table-footer-group !important}
 .letter-sheet .invtbl tr{display:table-row !important}
 .letter-sheet .invtbl th,.letter-sheet .invtbl td{display:table-cell !important;min-width:0 !important}
 .letter-sheet .invtbl thead th{position:static !important;top:auto !important}
 .letter-sheet .invtbl thead th{background:var(--purple);color:#fff;text-align:left;padding:8px 10px;font-size:9pt;
   letter-spacing:.06em;text-transform:uppercase;font-weight:600}
 .letter-sheet .invtbl thead th.r,.letter-sheet .invtbl td.r{text-align:right}
 .letter-sheet .invtbl th:last-child,.letter-sheet .invtbl td:last-child{width:38mm}
 .letter-sheet .invtbl td:first-child{overflow-wrap:anywhere;word-break:normal}
 .letter-sheet .invtbl tbody td{padding:11px 10px;border-bottom:1px solid rgba(27,58,92,.14);vertical-align:top}
 .letter-sheet .invtbl tbody tr:nth-child(even) td{background:var(--stripe)}
 .letter-sheet .invtbl .sub{font-size:8.5pt;color:rgba(27,58,92,.78);margin-top:3px}
 .letter-sheet .invtbl tfoot td{padding:6px 10px;font-size:10pt}
 .letter-sheet .invtbl tfoot tr.tot td{border-top:2px solid var(--purple);font-weight:700;font-size:11.5pt;color:var(--purple);padding-top:9px}
 .letter-sheet .mono{font-variant-numeric:tabular-nums;white-space:nowrap}
 .letter-sheet .paybox{background:var(--fill);border-left:3px solid var(--purple);padding:12px 14px;margin-top:6px}
 .letter-sheet .paybox p{margin:0 0 6px;font-size:9.5pt}
 .letter-sheet .paybox .bank{font-size:10pt;font-weight:600;line-height:1.5;margin:8px 0}
 .letter-sheet .paybox .ref{margin:0;font-size:9.5pt}
 .letter-sheet .vatno{font-size:9pt;color:rgba(27,58,92,.78);margin-top:12px}
 .letter-sheet .invnotes{font-size:9.5pt;color:rgba(0,8,25,.78);margin-top:10px;padding-top:10px;border-top:1px solid rgba(27,58,92,.14)}
@media print{
  /* The line-item table MUST be allowed to break across pages. It previously
     carried break-inside:avoid, so an invoice with more line items than fit on
     one page was pushed wholesale onto page 2, leaving page 1 blank below the
     header. Rows are kept intact individually instead. */
  .letter-sheet .invtbl{width:100% !important;min-width:0 !important;max-width:100% !important;display:table !important}
  .letter-sheet .invtbl tr{break-inside:avoid;page-break-inside:avoid}
  .letter-sheet .invtbl thead{display:table-header-group !important}
  .letter-sheet .paybox,.letter-sheet .invtop{break-inside:avoid;page-break-inside:avoid}
}


/* ── Invoice document (redesigned) ─────────────────────────────────────────
   Structure: logo + firm details · INVOICE + number · Bill to / Invoice details
   · light line-item table · compact right-aligned totals · payment panel · footer */
 .letter-sheet .inv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
 .letter-sheet .inv-logo{height:40px}
 .letter-sheet .inv-firm{text-align:right;font-size:8pt;line-height:1.55;color:rgba(27,58,92,.78)}
 .letter-sheet .inv-titlerow{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 6px}
 .letter-sheet .inv-title{font-size:19pt;font-weight:700;letter-spacing:.02em;color:var(--purple);text-transform:uppercase}
 .letter-sheet .inv-no{font-size:13pt;font-weight:700;color:var(--lt-ink);font-variant-numeric:tabular-nums}
 .letter-sheet .inv-rule{border-bottom:2px solid var(--purple);margin-bottom:18px}
 .letter-sheet .inv-cols{display:flex;justify-content:space-between;gap:34px;margin-bottom:22px}
 .letter-sheet .inv-col{min-width:0}
 .letter-sheet .inv-col.right{text-align:right}
 .letter-sheet .inv-lbl{font-size:7.5pt;letter-spacing:.14em;text-transform:uppercase;
   color:rgba(27,58,92,.58);margin-bottom:6px}
 .letter-sheet .inv-party{font-weight:700;font-size:11pt;color:var(--navy)}
 .letter-sheet .inv-addr{font-size:10pt;color:rgba(27,58,92,.78);margin-top:2px;line-height:1.5}
 .letter-sheet .inv-prop{font-size:9pt;color:rgba(27,58,92,.58);margin-top:5px}
 .letter-sheet .inv-meta{border-collapse:collapse;margin-left:auto;font-size:9.5pt;width:auto !important;min-width:0 !important}
 .letter-sheet .inv-meta td{padding:2px 14px 2px 0;color:rgba(27,58,92,.78);white-space:nowrap;text-align:left}
 .letter-sheet .inv-meta th{padding:2px 0;text-align:right;font-weight:600;color:var(--lt-ink);white-space:nowrap}

 .letter-sheet .invtbl{width:100%;min-width:0 !important;max-width:100%;display:table !important;
   table-layout:fixed;border-collapse:collapse;margin:0 0 4px;font-size:10pt}
 .letter-sheet .invtbl th,.letter-sheet .invtbl td{display:table-cell !important;min-width:0 !important}
 .letter-sheet .invtbl thead th{background:transparent;color:rgba(27,58,92,.58);text-align:left;
   padding:0 0 7px;font-size:7.5pt;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
   border-bottom:1px solid rgba(27,58,92,.28)}
 .letter-sheet .invtbl thead th.r,.letter-sheet .invtbl td.r{text-align:right}
 .letter-sheet .invtbl tbody td{padding:12px 0;border-bottom:1px solid rgba(27,58,92,.14);vertical-align:top;background:transparent}
 .letter-sheet .invtbl .li-title{font-size:10.5pt;color:var(--lt-ink)}
 .letter-sheet .invtbl .li-sub{font-size:8.5pt;color:rgba(27,58,92,.58);margin-top:4px;line-height:1.45}

 .letter-sheet .inv-totalwrap{display:flex;justify-content:flex-end;margin-top:10px}
 .letter-sheet .inv-totals{border-collapse:collapse;font-size:10pt;width:auto !important;min-width:64mm !important}
 .letter-sheet .inv-totals td{padding:5px 0;color:rgba(27,58,92,.78)}
 .letter-sheet .inv-totals td.r{text-align:right;color:var(--lt-ink);padding-left:26px}
 .letter-sheet .inv-totals tr.grand td{border-top:1.5px solid var(--purple);padding-top:9px;
   font-weight:700;font-size:11.5pt;color:var(--purple)}

 .letter-sheet .paypanel{margin-top:26px;border:1px solid rgba(27,58,92,.18);border-radius:6px;
   padding:14px 16px;background:var(--stripe)}
 .letter-sheet .paytbl{border-collapse:collapse;font-size:9.5pt;width:auto !important;min-width:0 !important}
 .letter-sheet .paytbl td{padding:3px 22px 3px 0;color:rgba(27,58,92,.58);white-space:nowrap}
 .letter-sheet .paytbl th{padding:3px 0;text-align:left;font-weight:600;color:var(--lt-ink)}
 .letter-sheet .paydue{margin-top:10px;padding-top:9px;border-top:1px solid rgba(27,58,92,.14);font-size:10pt}
 .letter-sheet .paydue strong{color:var(--purple)}
 .letter-sheet .vatno{font-size:8.5pt;color:rgba(27,58,92,.58);margin-top:12px}
 .letter-sheet .invnotes{font-size:9.5pt;color:rgba(0,8,25,.78);margin-top:12px;padding-top:10px;
   border-top:1px solid rgba(27,58,92,.14)}
@media print{
  /* .invtbl is deliberately excluded from this list — see the note above.
     A long property breakdown has to be able to flow onto further pages. */
  .letter-sheet .inv-totalwrap,.letter-sheet .paypanel,
  .letter-sheet .inv-cols,.letter-sheet .inv-head{break-inside:avoid;page-break-inside:avoid}
  .letter-sheet .invtbl{width:100% !important;min-width:0 !important;display:table !important}
  .letter-sheet .invtbl tr{break-inside:avoid;page-break-inside:avoid}
  .letter-sheet .invtbl thead{display:table-header-group !important}
  /* Never strand the totals alone on a page away from the lines they total. */
  .letter-sheet .inv-totalwrap{break-before:avoid;page-break-before:avoid}
  .letter-sheet .invtbl tbody tr:last-child{break-after:avoid;page-break-after:avoid}
  .letter-sheet .inv-meta,.letter-sheet .paytbl{width:auto !important;min-width:0 !important;display:table !important}
  .letter-sheet .inv-totals{width:auto !important;min-width:64mm !important;display:table !important}
}

/* service line tag on the lead row */
 .svcbadge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;
   background:#EDE3FC;color:#5700C4;font-size:10px;font-weight:700;letter-spacing:.02em;vertical-align:1px}
 .loe-note{margin:0;font-size:12.5px;color:var(--muted);background:var(--line-soft);
   border-radius:8px;padding:9px 11px}
 .loe-note.warn{color:#8A3D33;background:#FCEEEA;border:1px solid #F0C7BC}

/* v7.5 meeting reminder safety controls */

.table-reminder{display:flex;align-items:center;justify-content:center;width:100%;margin-top:6px;padding:4px 7px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink);font:700 10.5px 'Poppins',sans-serif;line-height:1.2;cursor:pointer;white-space:nowrap;transition:.12s ease}
.table-reminder:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(15,23,42,.08)}
.table-reminder.attention{background:#FFF4D8;color:#6E4E00;border-color:#E5C766}
.table-reminder.warn{background:#FFF8E8;color:#7A5600;border-color:#EED79A}
.table-reminder.ok{background:#E8F7EF;color:#176B43;border-color:#BDE5CF}
.table-reminder.sent{background:#E8F3FF;color:#155E9A;border-color:#BEDAF2}
.rembadge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:1.4;white-space:nowrap}
.rembadge.warn{background:#FFF4D8;color:#7A5600;border:1px solid #EED79A}
.rembadge.ok{background:#E8F7EF;color:#176B43;border:1px solid #BDE5CF}
.rembadge.sent{background:#E8F3FF;color:#155E9A;border:1px solid #BEDAF2}
.reminder-card{margin:16px 0 18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#F8FBFF}
.reminder-card .reminder-title{font:700 15px 'Poppins',sans-serif;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.reminder-card .reminder-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:7px 0;border-top:1px solid rgba(148,163,184,.18);font-size:12.5px}
.reminder-card .reminder-row:first-of-type{border-top:0}
.reminder-card .rk{color:var(--muted);min-width:112px}.reminder-card .rv{text-align:right;font-weight:600;color:var(--text)}
.reminder-card .reminder-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.reminder-card .safe-note{margin-top:9px;color:var(--muted);font-size:11.5px;line-height:1.45}
.reminder-warning{grid-column:1/-1;padding:11px 13px;border-radius:10px;background:#FFF8E7;border:1px solid #EFD99E;color:#624A0B;font-size:12.5px;line-height:1.45}
.reminder-email-preview{grid-column:1/-1;margin-top:4px;border:1px solid var(--line);border-radius:12px;background:white;padding:14px}
.reminder-email-preview .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:5px}
.reminder-email-preview .subject{font-weight:700;margin-bottom:14px}
.reminder-email-preview pre{margin:0;white-space:pre-wrap;font:13px/1.55 Poppins,Arial,sans-serif;color:var(--text)}


/* v7.9 — a save that has been failing for minutes needs something that stays on
   screen. A transient toast was too quiet for "your work is not saved". */
.save-alarm{position:fixed;left:0;right:0;bottom:0;z-index:400;background:#B42318;color:#fff;
  font:500 13.5px/1.5 'Poppins',sans-serif;padding:12px 18px;text-align:center;
  box-shadow:0 -6px 20px rgba(180,35,24,.28)}
.save-alarm[hidden]{display:none}
.save-alarm strong{font-weight:700}

.record-open-hint{margin:0 0 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--panel));border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:var(--ink)}
.record-open-hint[hidden]{display:none}
.record-open-hint b{color:var(--accent);font-weight:700}
.record-open-hint button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:5px 9px;font:600 11.5px 'Poppins',sans-serif;cursor:pointer;white-space:nowrap}
.record-open-hint button:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:720px){.record-open-hint{align-items:flex-start}.record-open-hint button{margin-top:-2px}}

/* v8.4 — "a colleague changed this while you had it open". Deliberately loud:
   the version check will refuse a stale save anyway, but the person should
   find that out before they finish typing, not after. */
.remote-change-notice{
  margin:0 0 14px;padding:10px 13px;border-radius:9px;
  background:#FEF3C7;border:1px solid #F59E0B;color:#78350F;
  font:600 12.5px/1.5 'Poppins',sans-serif;
}


/* ---------- sector column (v8.6) ---------- */
td.sectorcell{max-width:150px}
.sectorpill{
  display:inline-block;padding:2px 8px;border-radius:11px;
  background:#EDF2F8;color:#1B3A5C;font-size:11.5px;font-weight:600;
  line-height:1.45;white-space:normal;word-break:break-word;
}
tr.prio .sectorpill{background:#FFF1DC;color:#7A4A08}
select#sectorSel,select#sourceSel{max-width:190px}
td.sectorcell select.inline-input{width:100%;font-size:12px}

select#bulkSector,select#bulkStatus{max-width:200px;padding:6px 8px;font-size:12.5px}

/* ---------- year end day + month picker (v8.7) ---------- */
.yearend-pick{display:flex;gap:6px}
.yearend-pick select{flex:1;min-width:0}
.yearend-pick select#f_yearend_day{flex:0 0 88px}
.yearend-pick select:disabled{opacity:.55;cursor:not-allowed}

/* ---------- invoice: per-property breakdown (v9.0) ---------- */
.inv-prop-row{display:grid;grid-template-columns:1fr 130px 78px 30px;gap:6px;align-items:center;margin-bottom:6px}
.inv-prop-row input{margin:0}
.inv-prop-head{display:grid;grid-template-columns:1fr 130px 78px 30px;gap:6px;margin-bottom:4px;
  font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.inv-prop-del{border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;
  height:32px;line-height:1;color:#b23b3b;font-size:16px;padding:0}
.inv-prop-del:hover{background:#fdf0f0}
.inv-props-total{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);
  font-size:13px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.inv-props-total b{font-variant-numeric:tabular-nums}
@media(max-width:560px){
  .inv-prop-row,.inv-prop-head{grid-template-columns:1fr 96px 60px 30px}
}

/* ---------- invoice draft notice + continuation header (v9.0.2) ---------- */
.inv-draftnote{grid-column:1/-1;margin:2px 0 0;font-size:12.5px;line-height:1.5;
  color:#5A4A1E;background:#FDF6E3;border:1px solid #EFE0B8;border-radius:8px;padding:8px 11px}
.inv-draftnote .linkbtn{background:none;border:0;padding:0;font:inherit;color:#8A5A00;
  text-decoration:underline;cursor:pointer}
.inv-draftnote .linkbtn:hover{color:#6B4600}

/* Identifies every continuation page of a multi-page invoice. Without it a
   page that gets separated from page 1 carries nothing but column headings. */
 .letter-sheet .invtbl thead th .th-inv{float:right;font-weight:400;text-transform:none;
   letter-spacing:0;font-size:8pt;color:rgba(27,58,92,.5)}
@media print{
  .letter-sheet .invtbl thead th .th-inv{color:rgba(27,58,92,.55)}
}

#bulkVisibility{font-size:12px;color:var(--muted);white-space:nowrap} #bulkVisibility.warn{color:#9a5b00;font-weight:700}

.addedcell{font-family:'Space Mono',monospace;font-size:10.5px;color:var(--muted);white-space:nowrap}.bulk-inline{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.bulk-inline>label{display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;color:var(--ink);font-size:12px}.bulk-inline>label input{width:auto}.bulk-inline>input{width:100%}


/* ========================================================================== */
/* v10.3.0 — Ashton & Carrington full interface branding                     */
/* Functional/status colours remain semantic; chrome follows the A&C system. */
/* ========================================================================== */
:root{
  --brand-purple:#5700C4;
  --brand-navy:#1B3A5C;
  --brand-dark:#000819;
  --brand-fill:#EDF2F8;
  --brand-stripe:#F9F9F9;
  --brand-purple-soft:#F2EAFB;
  --panel:#FFFFFF;
  --text:#000819;
}
body{font-family:'Poppins',system-ui,-apple-system,sans-serif;background:var(--brand-stripe);color:var(--brand-dark)}
button,input,select,textarea{font-family:'Poppins',system-ui,-apple-system,sans-serif}

/* Header / application identity */
header.top{
  align-items:center;margin-bottom:16px;padding:4px 2px 13px;
  border-bottom:2px solid rgba(87,0,196,.22);
}
.brand h1{font-family:'Poppins',sans-serif;color:var(--brand-purple);font-weight:700;letter-spacing:-.025em}
.brand .sub{color:var(--brand-navy);font-weight:500}
.brand .mark{font-family:'Poppins',sans-serif}
.build-badge{background:var(--brand-fill);border-color:rgba(27,58,92,.14);color:var(--brand-navy)}
.savebar{color:var(--brand-navy)}

/* Cards and main chrome */
.quickdesk,.pipe,.stat,.tablewrap,.pipeline-board-wrap{
  border-color:rgba(27,58,92,.15);
  box-shadow:0 1px 2px rgba(27,58,92,.035),0 8px 22px rgba(27,58,92,.06);
}
.quickdesk{border-top:3px solid var(--brand-purple)}
.quick-kicker{color:var(--brand-purple)}
.quick-heading{font-family:'Poppins',sans-serif;color:var(--brand-dark)}
.quick-client-search>input,.quick-service-picker{background:var(--brand-stripe)}
.quick-result:hover{background:var(--brand-fill)}

/* Range + view selection: branded primary selection */
.rbtn{font-family:'Poppins',sans-serif;color:var(--brand-navy);background:#fff;border-color:var(--line)}
.rbtn:hover{border-color:rgba(87,0,196,.38);color:var(--brand-purple)}
.rbtn.active{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff;box-shadow:0 3px 10px rgba(87,0,196,.15)}
.viewbtn{font-family:'Poppins',sans-serif}
.viewbtn.active{background:var(--brand-purple);color:#fff}
.chip.active{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}
.btn.toggle.active{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}
/* Semantic selected states intentionally override the brand primary. */
.btn.toggle.today.active{background:var(--s-callback);border-color:var(--s-callback)}
.btn.toggle.overdue.active{background:var(--s-notint);border-color:var(--s-notint)}
.btn.toggle.prio.active{background:#E8A317;border-color:#E8A317}

/* Buttons */
.btn{border-color:#D7E0E9;color:var(--brand-dark);background:#fff;box-shadow:0 1px 2px rgba(27,58,92,.035)}
.btn:hover{border-color:rgba(87,0,196,.35);background:#FCFAFF}
.btn.primary{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff;box-shadow:0 4px 12px rgba(87,0,196,.16)}
.btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.ghost{color:var(--brand-navy)}
.btn.ghost:hover{color:var(--brand-purple);background:var(--brand-purple-soft)}

/* Toolbar filters */
.toolbar>select,#whoSel{
  border:1px solid var(--line);border-radius:9px;padding:9px 10px;
  color:var(--brand-dark);background:#fff;cursor:pointer;
}
.toolbar>select:focus,#whoSel:focus{
  outline:none;border-color:var(--brand-purple);box-shadow:0 0 0 3px rgba(87,0,196,.12)
}
.search input{border-color:var(--line)}
/* v10.5.9 — a subtle inline search indicator. Deliberately NOT a blocking
   overlay: the previous results stay readable while a new search is in
   flight, so the table never flickers or blanks between keystrokes. */
.search-status{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-size:11.5px;letter-spacing:.02em;pointer-events:none;
  background:#fff;padding:0 4px;border-radius:4px
}
.search-status.busy{color:var(--brand-purple);opacity:.85}
.search-status.err{color:#B42318}
@keyframes searchPulse{0%,100%{opacity:.45}50%{opacity:.95}}
.search-status.busy{animation:searchPulse 1s ease-in-out infinite}
.search input:focus,.quick-client-search>input:focus,.quick-service-picker:focus-within,
.field input:focus,.field select:focus,.field textarea:focus,.inline-input:focus,.inline-textarea:focus,
.notes-input:focus,.valinput:focus{
  border-color:var(--brand-purple);box-shadow:0 0 0 3px rgba(87,0,196,.12)
}
.rowsel input,.selcol input{accent-color:var(--brand-purple)}

/* Stats */
.stat .label{color:var(--brand-navy)}
.stat .val,.stat .val .minput{font-family:'Poppins',sans-serif}
.stat .edge{background:var(--brand-purple)}
.stat.pipe .val,.mrevert{color:var(--brand-purple)}
.stat.pipe .edge,.mtag{background:var(--brand-purple)}
.stat.total .edge{background:var(--brand-navy)}

/* Main lead table: A&C purple header, professional striping */
thead th{
  background:var(--brand-purple);color:#fff;border-bottom-color:var(--brand-purple);
  font-weight:600;letter-spacing:.065em;
}
thead th.sortable:hover,thead th.sortable.on{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.65);text-underline-offset:3px}
thead .selcol input{accent-color:#fff}
tbody tr:nth-child(even){background:var(--brand-stripe)}
tbody tr:hover{background:var(--brand-fill)}
.contact a,.coho-link,.metalink,.cobtn:hover,.cobtn:focus-visible,.open-record-cue,
.activity-summary button,.quick-selected .qactions button{color:var(--brand-purple)}
.assbadge,.sectorpill{background:var(--brand-fill);color:var(--brand-navy);border-color:rgba(27,58,92,.10)}
.tablefoot{background:var(--brand-stripe);color:var(--brand-navy)}
.iconbtn:hover{background:var(--brand-purple-soft);color:var(--brand-purple)}
.iconbtn.del:hover{background:var(--s-notint-bg);color:var(--s-notint)}

/* Pipeline chrome: brand the container, retain stage/status colours. */
.pipeline-board-head{border-top:3px solid var(--brand-purple);background:#fff}
.pipeline-board-head strong{color:var(--brand-purple)}
.pipeline-col{background:var(--brand-stripe);border-color:rgba(27,58,92,.14)}
.pipeline-col-head{color:var(--brand-navy)}
.pipeline-col-head b{color:var(--brand-navy)}
.pipeline-cards.dragover{background:var(--brand-purple-soft);box-shadow:inset 0 0 0 2px rgba(87,0,196,.25)}
.pipeline-card{box-shadow:0 1px 3px rgba(27,58,92,.055)}
.pipeline-order button{font-family:'Poppins',sans-serif}
.pipeline-order button:hover,.pipeline-company:hover{border-color:var(--brand-purple);color:var(--brand-purple)}
.pipeline-company{font-family:'Poppins',sans-serif}

/* Modals and detail drawer */
.overlay{background:rgba(0,8,25,.46)}
.modal{border:1px solid rgba(27,58,92,.15);border-top:4px solid var(--brand-purple);box-shadow:0 24px 60px rgba(27,58,92,.22)}
.modal-head{background:#fff;border-bottom-color:rgba(27,58,92,.12)}
.modal-head h2{font-family:'Poppins',sans-serif;color:var(--brand-purple)}
.modal-foot{background:var(--brand-stripe)}
.detail-panel{border-left:4px solid var(--brand-purple);box-shadow:-20px 0 55px rgba(27,58,92,.18)}
.detail-kv{background:var(--brand-stripe);border-color:rgba(27,58,92,.10)}
.detail-kv .k{color:var(--brand-navy)}
.activity:before{background:var(--brand-purple)}
.empty .big,.reminder-card .reminder-title{font-family:'Poppins',sans-serif}
.reminder-card{background:var(--brand-stripe)}
.reminder-email-preview pre{font-family:'Poppins',Arial,sans-serif}

/* Login — first impression uses the same design system. */
#login{font-family:'Poppins',sans-serif!important;background:linear-gradient(180deg,#F9F9F9 0%,#EDF2F8 100%)!important}
.logincard{border:1px solid rgba(27,58,92,.16)!important;border-top:5px solid var(--brand-purple)!important;box-shadow:0 24px 60px rgba(27,58,92,.18)!important}
.logincard h1{font-family:'Poppins',sans-serif!important;color:var(--brand-purple)!important}
.logincard p.sub{color:var(--brand-navy)!important}
.logincard label{color:var(--brand-navy)!important}
.logincard input:focus{border-color:var(--brand-purple)!important;box-shadow:0 0 0 3px rgba(87,0,196,.12)!important}

/* Helpful branded callouts. Warning / danger callouts retain semantic colour. */
.record-open-hint{border-color:rgba(87,0,196,.22);background:var(--brand-purple-soft)}
.record-open-hint b{color:var(--brand-purple)}
.record-open-hint button{font-family:'Poppins',sans-serif}
.record-open-hint button:hover{border-color:var(--brand-purple);color:var(--brand-purple)}

/* Bulk action bar remains red because it represents a consequential selection state. */
#bulkbar{box-shadow:0 2px 8px rgba(192,67,44,.07)}

/* Consistent monochrome line icons for action buttons. */
[data-uiicon]::before,
button[data-loe]::before,button[data-inv]::before,button[data-log="Call"]::before,button[data-accounting-clone]::before{
  content:"";width:15px;height:15px;display:inline-block;flex:0 0 15px;
  background:currentColor;-webkit-mask:var(--ui-icon) center/contain no-repeat;mask:var(--ui-icon) center/contain no-repeat;
}
[data-uiicon="document"],button[data-loe]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h9l5 5v15H6z'/%3E%3Cpath d='M14 2v6h6M9 13h6M9 17h6'/%3E%3C/svg%3E")}
[data-uiicon="invoice"],button[data-inv]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h12v20l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E")}
[data-uiicon="calendar"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E")}
[data-uiicon="warning"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}
[data-uiicon="star"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9z'/%3E%3C/svg%3E")}
[data-uiicon="phone"],button[data-log="Call"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.4 19.4 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c1 .4 1.9.6 2.9.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
[data-uiicon="plus"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
[data-uiicon="upload"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M7 9l5-5 5 5M4 16v4h16v-4'/%3E%3C/svg%3E")}
[data-uiicon="download"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v12M7 11l5 5 5-5M4 20h16'/%3E%3C/svg%3E")}
[data-uiicon="users"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E")}
[data-uiicon="copy"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M15 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E")}
[data-uiicon="archive"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18v4H3zM5 9v11h14V9M10 13h4'/%3E%3C/svg%3E")}
[data-uiicon="edit"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E")}
[data-uiicon="trash"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14'/%3E%3C/svg%3E")}
[data-uiicon="arrow"],button[data-accounting-clone]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}

@media(max-width:980px){
  /* Purple table header disappears in the main lead-table card view; retain brand via card accent. */
  .tablewrap tbody tr{border-top:3px solid rgba(87,0,196,.75)}
}


/* v10.4.6 — fast, explicit call logging */
.dial-choices,.answered-status-choices,.status-call-choices{display:flex;gap:8px;flex-wrap:wrap}
.dial-choice,.status-choice{border:1px solid #d9deea;background:#fff;color:#1B3A5C;border-radius:9px;padding:9px 13px;font:600 13px 'Poppins',sans-serif;cursor:pointer}
.dial-choice:hover,.status-choice:hover{border-color:#5700C4;color:#5700C4}
.dial-choice.active,.status-choice.active{background:#5700C4;border-color:#5700C4;color:#fff;box-shadow:0 0 0 3px rgba(87,0,196,.10)}
.answered-status-choices .status-choice{padding:7px 11px;font-size:12.5px}
.status-call-copy{margin:0 0 16px;color:#1B3A5C;line-height:1.55}
.status-call-choices{display:grid;grid-template-columns:1fr;gap:9px}
.status-call-choices .btn{justify-content:flex-start;text-align:left;padding:12px 14px}
.status-call-choices .btn.primary{background:#5700C4;color:#fff;border-color:#5700C4}
@media(max-width:640px){.dial-choices,.answered-status-choices{display:grid;grid-template-columns:1fr}.status-call-choices{grid-template-columns:1fr}}

/* v10.5 — Chasers + Next Follow-up. Keep this as an extension of the existing
   dial/activity cell rather than introducing another module or queue. */
.stats{grid-template-columns:repeat(9,minmax(0,1fr))}
.stat.chaser:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-navy)}
.bd-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:196px;margin-bottom:6px}
.quick-activity-btn{
  min-height:29px;border-radius:7px;padding:5px 8px;cursor:pointer;
  font:700 10.5px 'Poppins',sans-serif;line-height:1.15;white-space:nowrap;
  transition:filter .12s,transform .05s,box-shadow .12s;
}
.callbtn{width:auto;height:auto;display:block;border:1px solid var(--brand-purple);background:var(--brand-purple);color:#fff;font-size:10.5px;line-height:1.15}
.chaserbtn{border:1px solid var(--brand-navy);background:var(--brand-navy);color:#fff}
.quick-activity-btn:hover{filter:brightness(1.08);box-shadow:0 2px 7px rgba(0,8,25,.12)}
.quick-activity-btn:active{transform:translateY(1px)}
.dial-counter-row{display:flex;align-items:center;gap:7px}
.nextfollow-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:700;margin-top:7px}
.nextfollow-row{display:flex;align-items:center;gap:4px;margin-top:3px}
.nextfollow-row .nextcall{margin-top:0;width:108px}
.nextactiontype{
  border:1px solid var(--line);border-radius:6px;padding:2px 4px;background:var(--surface);
  color:var(--ink-soft);font:600 10.5px 'Poppins',sans-serif;min-width:67px;cursor:pointer;
}
.nextactiontype:focus{outline:none;border-color:var(--accent)}
.nextactiontype:disabled{opacity:.4;cursor:not-allowed}
.followup-form{display:grid;grid-template-columns:minmax(145px,1fr) minmax(105px,.65fr) minmax(105px,.65fr);gap:8px;align-items:center}
.bd-primary-action{font-weight:700!important;min-width:128px}
.chaser-action{background:var(--brand-navy)!important;border-color:var(--brand-navy)!important;color:#fff!important}
@media(max-width:1420px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-form{grid-template-columns:1fr}.bd-quick-actions{min-width:0;grid-template-columns:1fr}.nextfollow-row{align-items:stretch;flex-direction:column}.nextfollow-row .nextcall,.nextactiontype{width:100%;box-sizing:border-box}}

/* ---------- v10.5.3 won breakdown ---------- */
#stats .stat.wonval .val{cursor:pointer}
#stats .stat.wonval .val:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.won-breakdown-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 0 16px;border-bottom:1px solid var(--line)}
.won-breakdown-total{font:800 28px 'Poppins',sans-serif;color:var(--brand-purple);letter-spacing:-.03em}
.won-breakdown-sub{font-size:12px;color:var(--muted);margin-top:3px}
.won-breakdown-filter{font-size:12px;color:var(--muted);text-align:right;line-height:1.5}
.won-breakdown-manual{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:var(--brand-light);color:var(--brand-navy);font-size:12px;border:1px solid rgba(27,58,92,.12)}
.won-breakdown-list{margin-top:10px}
.won-breakdown-row{width:100%;display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(130px,.85fr) 120px 120px 110px;gap:12px;align-items:center;padding:11px 8px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;text-align:left;font-family:inherit;color:var(--ink);cursor:pointer}
.won-breakdown-row:hover{background:var(--brand-light)}
.won-breakdown-head{cursor:default;background:var(--brand-stripe);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);padding-top:8px;padding-bottom:8px}
.won-breakdown-head:hover{background:var(--brand-stripe)}
.won-company{font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.won-company-meta,.won-cell-meta{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.won-fee{font:750 13px 'Poppins',sans-serif;text-align:right;color:var(--brand-purple)}
.won-empty{padding:32px 12px;text-align:center;color:var(--muted);font-size:13px}
.won-loading{padding:30px 12px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:760px){
  .won-breakdown-summary{align-items:flex-start;flex-direction:column}.won-breakdown-filter{text-align:left}
  .won-breakdown-head{display:none}
  .won-breakdown-row{grid-template-columns:1fr auto;gap:5px 12px;padding:13px 8px}
  .won-breakdown-row>div:nth-child(2),.won-breakdown-row>div:nth-child(3),.won-breakdown-row>div:nth-child(4){grid-column:1;font-size:11.5px;color:var(--muted)}
  .won-breakdown-row>.won-fee{grid-column:2;grid-row:1;align-self:start}
}


/* LeadDesk TPS / CTPS screening */
.tps-inline,.pipeline-tps{margin-top:4px}.tps-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:1.2;white-space:nowrap;border:1px solid transparent}.tps-badge.clear{background:#edf8f1;color:#19653a;border-color:#bde4ca}.tps-badge.registered{background:#fff0f0;color:#a11919;border-color:#efb7b7}.tps-badge.failed{background:#fff7e6;color:#8a5800;border-color:#efd49d}.tps-badge.invalid{background:#f5f2f2;color:#684a4a;border-color:#d9cdcd}.tps-badge.unchecked{background:#f2f4f7;color:#53606d;border-color:#d7dde4}.tps-detail-card{border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin:0 0 14px;background:#f8fafc}.tps-detail-card.registered{background:#fff7f7;border-color:#e8b7b7}.tps-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tps-detail-grid{display:grid;grid-template-columns:minmax(110px,.65fr) 1fr;gap:6px 12px;font-size:12.5px}.tps-detail-grid span{color:var(--muted)}.tps-detail-grid b{font-weight:600;color:var(--ink)}.tps-error{color:#a11919!important}.tps-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin-bottom:14px}.tps-admin-metric{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.tps-admin-metric span{display:block;color:var(--muted);font-size:11.5px}.tps-admin-metric strong{display:block;font:700 20px 'Poppins';margin-top:3px}.tps-admin-note{border-radius:9px;padding:11px 12px;background:#eef6ff;border:1px solid #c9ddf3;font-size:12.5px;line-height:1.55}.tps-admin-note.warn{background:#fff7e6;border-color:#efd49d;color:#714700}.tps-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tps-admin-loading{padding:18px;color:var(--muted)}


/* v11.3.5 — prominent, non-blocking bOnline conversation confirmation. */
.conversation-confirm-card{
  position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:240;
  width:min(720px,calc(100vw - 32px));box-sizing:border-box;padding:18px 20px;
  border:2px solid rgba(87,0,196,.34);border-radius:15px;background:#fff;
  box-shadow:0 18px 52px rgba(0,8,25,.27),0 0 0 4px rgba(87,0,196,.06);
  font-family:'Poppins',sans-serif;color:var(--brand-navy)
}
.conversation-confirm-card:before{content:'';position:absolute;left:0;top:13px;bottom:13px;width:5px;border-radius:0 5px 5px 0;background:var(--brand-purple)}
.conversation-confirm-card[hidden]{display:none}
.conversation-confirm-kicker{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--brand-purple);margin-bottom:5px}
.conversation-confirm-title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.conversation-confirm-copy{font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.conversation-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.conversation-confirm-actions .btn{justify-content:center;min-height:42px;font-size:14px;font-weight:800}
@media(max-width:640px){
  .conversation-confirm-card{top:10px;width:calc(100vw - 20px);padding:16px 16px 15px 19px}
  .conversation-confirm-title{font-size:17px}
  .conversation-confirm-copy{font-size:12.5px}
}

/* v11.3.14 — the lead you have just called: visibly "dealt with", not next to dial */
tr.active-call-row td{background:#F1F3F6 !important}
tr.active-call-row td:first-child{box-shadow:inset 4px 0 0 #1F9D55}
tr.active-call-row .cobtn-label,tr.active-call-row .addr,tr.active-call-row .ph,tr.active-call-row a{opacity:.72}
tr.active-call-row .bd-quick-actions{opacity:.45}
tr.active-call-row .bd-quick-actions:hover,tr.active-call-row .bd-quick-actions:focus-within{opacity:1}
.active-call-badge{display:flex;flex-direction:column;gap:1px;margin:0 0 6px;padding:5px 9px;border-radius:8px;
  background:#E6F4EC;border:1px solid #9FD3B4;color:#146C3B;font-weight:700;font-size:12px;line-height:1.25;width:max-content;max-width:100%}
.active-call-badge small{font-weight:500;font-size:11px;color:#2F7A4F}

/* v11.4: one reporting surface; operational controls retain their own styling. */
.performance-shell{margin:0 0 22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:24px;box-shadow:0 4px 18px rgba(27,58,92,.04)}
.performance-heading,.performance-hero-head,.performance-hero-main,.performance-progress-copy,.performance-bottom,.performance-period-row,.performance-team-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.performance-heading{margin-bottom:22px}.performance-heading h1{font-size:23px;letter-spacing:-.03em;margin:4px 0 0}.performance-filters{display:flex;gap:8px;flex-wrap:wrap}.performance-filters select{font:inherit;font-size:12px;max-width:220px;padding:9px 30px 9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}
.performance-shell .firm-target{margin:0}.performance-hero{padding:24px;border-radius:13px;background:linear-gradient(110deg,#f8f4ff,#f1f5fa);border:1px solid #e8dff4}.performance-hero h2{font-size:18px;margin:5px 0 0;letter-spacing:-.02em}.performance-hero-main{margin-top:18px;margin-bottom:18px}.performance-amount{font-size:40px;line-height:1.2;font-weight:700;letter-spacing:-.045em;color:#1b3a5c}.performance-amount span{font-size:20px;color:#758093;font-weight:400;letter-spacing:-.02em}.performance-signed{font-size:12px;color:var(--muted)}.performance-signed strong{font-size:24px;color:var(--ink);margin-right:5px}.performance-progress{height:8px;border-radius:8px;background:#e3dcec;overflow:hidden}.performance-progress>span{height:100%;display:block;background:#5700c4;border-radius:8px;transition:width .2s ease}.performance-progress-copy{margin-top:10px;font-size:12px;color:var(--muted)}.performance-progress-copy strong{color:#5700c4;font-weight:600}.performance-basis{margin-top:18px;font-size:10px;color:var(--muted);line-height:1.7}.performance-missing{display:inline-block;color:#915a13;background:#fff2dc;padding:2px 7px;border-radius:5px;margin-left:8px;font-weight:500}.performance-bottom{padding:14px 0 20px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}.performance-bottom strong{color:var(--ink);font-weight:600}.performance-overdue{margin-left:12px;color:#a35a20}
.performance-period-row{margin:20px 0 13px}.performance-period-row h2{font-size:13px;font-weight:600;margin:0}.performance-shell .rangebar{margin:0;gap:4px;display:flex;flex-wrap:wrap}.performance-shell .rbtn{font-size:11px;padding:7px 10px}.performance-shell .stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0}.performance-shell .stat{min-width:0;padding:15px 13px;border:1px solid var(--line);border-radius:10px;box-shadow:none;min-height:108px;background:var(--surface);height:auto;width:auto}.performance-shell .stat:before,.performance-shell .stat .edge{display:none}.performance-shell .stat .label{font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted)}.performance-shell .stat .val{font-size:24px;color:var(--ink);line-height:1.5;letter-spacing:-.035em;overflow-wrap:anywhere}.performance-shell .stat .foot{font-size:10px;color:var(--muted);line-height:1.5}.performance-clickable{cursor:pointer}.performance-clickable:focus-visible{outline:2px solid #5700c4;outline-offset:2px}.performance-team-head{margin:22px 0 10px}.performance-team-head h3{margin:0;font-size:13px}.performance-team-head span{font-size:11px;color:var(--muted)}.performance-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.performance-table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}.performance-table th{background:#f6f8fa;text-align:right;padding:11px 14px;color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap}.performance-table td{text-align:right;padding:12px 14px;border-top:1px solid var(--line);white-space:nowrap}.performance-table th:first-child,.performance-table td:first-child{text-align:left}.performance-person-link{border:0;background:none;color:#5700c4;font:inherit;font-weight:600;padding:0;cursor:pointer}.performance-person-link:hover{text-decoration:underline}
#personalTargetOverlay .modal{padding:24px;max-width:420px}#personalTargetOverlay h2{font-size:18px;margin-top:0}#personalTargetOverlay label{display:block;font-size:12px;margin:12px 0 6px}#ptAmount,#ptFyAmount,#ptFyStart{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}#ptError{color:#a1402b;font-size:12px;min-height:18px}#personalTargetOverlay .btnrow{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:1100px){.performance-shell .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-period-row{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.performance-shell{padding:15px;border-radius:13px}.performance-heading{align-items:flex-start;flex-direction:column}.performance-filters{width:100%}.performance-filters select{max-width:100%;flex:1;min-width:0}.performance-heading h1{font-size:21px}.performance-hero{padding:17px}.performance-hero-head{align-items:flex-start}.performance-hero h2{font-size:16px}.performance-amount{font-size:32px}.performance-amount span{display:block;font-size:17px;margin-top:5px}.performance-hero-main{align-items:flex-end}.performance-signed{max-width:75px;text-align:right}.performance-signed strong{display:block;margin:0}.performance-progress-copy{font-size:11px;align-items:flex-start}.performance-bottom{align-items:flex-start;flex-direction:column;gap:9px}.performance-shell .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-basis{font-size:9px}.performance-missing{margin:6px 0 0}.performance-team-head{align-items:flex-start}.performance-shell .stat{padding:12px;min-height:98px}}

.performance-shell .stats:has(> :nth-child(8)){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.performance-shell .stats:has(> :nth-child(8)){grid-template-columns:repeat(2,minmax(0,1fr))}}

.performance-table th,.performance-table td{width:auto;min-width:0;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}
.performance-shell .stat .val{cursor:default}.performance-shell .stat .val:hover{background:transparent}.performance-shell .performance-clickable .val{cursor:pointer}
.performance-shell .performance-table th:nth-child(n),.performance-shell .performance-table td:nth-child(n){width:auto;min-width:0;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}

/* Accessible signed-deal drilldowns, v11.4.1 */
.performance-breakdown-link{border:0;background:transparent;color:inherit;font:inherit;text-align:right;cursor:pointer;padding:6px;border-radius:8px}
.performance-breakdown-link span{display:block;font-size:12px;color:var(--purple,#5700c4);margin-top:4px;text-decoration:underline;text-underline-offset:3px}
.performance-breakdown-link:hover{background:rgba(87,0,196,.06)}
.performance-breakdown-link:focus-visible{outline:2px solid #5700c4;outline-offset:3px}
.performance-period-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.performance-period-title h2{margin:0}
.performance-shell .stats:has(> :nth-child(10)){grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.performance-shell .stats:has(> :nth-child(10)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.performance-shell .stats:has(> :nth-child(10)){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Full lead editor remains usable on short screens and at browser zoom. */
#overlay{padding:16px;align-items:center}
#overlay>.modal{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);min-height:0}
#overlay .modal-head,#overlay .modal-foot{flex:0 0 auto}
#overlay .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#feedbackOverlay{padding:16px;align-items:center;z-index:100}
#feedbackOverlay .modal{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.feedback-body{padding:20px;overflow:auto;min-height:0}.feedback-body input,.feedback-body select,.feedback-body textarea,#leadRelationshipFields select,#reminderPreviewSubject,#reminderPreviewBody{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;margin:6px 0 12px}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feedback-table{width:100%;border-collapse:collapse;margin-top:16px}.feedback-table th,.feedback-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}#feedbackError,#relationshipError{color:#a12626}#leadRelationshipFields{padding:12px;background:#f5f3fa;border-radius:10px;margin:12px 0}@media(max-width:600px){.feedback-grid{grid-template-columns:1fr}}

/* v11.5.0 loading and recovery feedback */
#startupStatus{padding:18px 24px;background:#edf2fa;border:1px solid #b5c4e0;border-radius:10px;margin:16px 0}
#startupStatus[hidden]{display:none}.metrics-freshness{font-size:12px;color:#53627b;margin:6px 0}.feedback-table td{overflow-wrap:anywhere}#draftList section{margin:20px 0;border-bottom:1px solid #ddd;padding-bottom:20px}

/* Primary record entry point, above performance and browsing filters. */
.global-search-panel{margin:12px 0 12px;padding:12px 16px;border:1px solid #d4bcef;border-radius:14px;background:#f7f2fd;box-shadow:0 3px 12px rgba(87,0,196,.05)}
.global-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.global-search-heading label{font-size:18px;font-weight:700;color:var(--ink);cursor:text}
.global-search-scope{font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap}
.global-search-panel .search{min-width:0}
.global-search-panel .search input{min-height:44px;padding:10px 110px 10px 42px;font-size:14px;border:1px solid #b899dd;box-shadow:none}
.global-search-panel .search svg{left:15px;color:var(--accent)}
.global-search-panel .search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(87,0,196,.14)}
.global-search-footer{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:var(--muted)}
.global-search-footer a{color:var(--accent);font-weight:600;text-underline-offset:3px;white-space:nowrap}
.global-search-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#tableSection{scroll-margin-top:16px}
@media(max-width:650px){.global-search-panel{padding:10px 12px}.global-search-heading label{font-size:16px}.global-search-panel .search input{padding-right:32px}.global-search-panel .search-status{position:static;display:block;transform:none;background:transparent;margin-top:6px;padding:0}.global-search-panel .search-status[hidden]{display:none}.global-search-panel .search svg{top:22px}.global-search-footer{font-size:11px}}

/* Lead editor: bounded columns, optional sections and a fixed action footer. */
#overlay>.modal{max-width:780px;width:100%;}
#overlay .lead-form-body{display:block;padding:18px 22px;overflow-x:hidden;}
.lead-form-intro{margin:0 0 16px;font-size:12px;color:var(--muted);}
.lead-form-section{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;min-width:0;}
.lead-form-section>summary{padding:14px 16px;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);border-radius:10px;background:#f7f9fc;}
.lead-form-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.lead-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px;padding:16px;}
#overlay .field{min-width:0;}
#overlay .field label{font-size:12px;text-transform:none;letter-spacing:0;}
#overlay .field input:not([type=checkbox]),#overlay .field select,#overlay .field textarea{width:100%;min-width:0;max-width:100%;}
#overlay .followup-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);}
#overlay .yearend-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);}
@media(max-width:600px){#overlay .lead-form-body{padding:12px;} .lead-form-grid{grid-template-columns:minmax(0,1fr);padding:12px;} #overlay .field input,#overlay .field select,#overlay .field textarea{font-size:16px;} #overlay .followup-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);} #overlay #f_nextcall{grid-column:1/-1;}}

/* Client overview prioritises contact context and activity. */
.client-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:12px;}
.client-record-actions{margin-bottom:16px;}
.client-overview{margin-bottom:16px;}
.client-overview .detail-kv{min-width:0;}
.client-overview .v{overflow-wrap:anywhere;}
.client-activity-heading{margin:20px 0 12px;}
.client-activity-heading h3{font-size:16px;color:var(--accent);margin:0 0 4px;}
.client-activity-heading span{font-size:12px;color:var(--muted);}
.client-detail-section{margin:12px 0;border:1px solid var(--line);border-radius:10px;min-width:0;}
.client-detail-section>summary{padding:12px 14px;cursor:pointer;font-weight:600;font-size:13px;background:#f7f9fc;border-radius:10px;}
.client-detail-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.client-detail-section>.detail-grid,.client-detail-section>.detail-actions,.client-detail-section>#leadRelationshipFields,.client-detail-section>.client-background{margin:0;padding:14px;}
.client-background{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;}
#detailBody input,#detailBody select{max-width:100%;min-width:0;}

#accountingTypeSel[hidden],#editAccountingTypeField[hidden]{display:none!important;}
#leadRelationshipFields label{display:grid;gap:6px;margin:10px 0;font-size:12px;}
#leadRelationshipFields input,#leadRelationshipFields select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;font:inherit;}

/* v11.5.18: field editing without changing the table layout */
.cell-field{display:flex;align-items:flex-start;gap:3px;min-width:0;margin:3px 0}
.cell-field>a,.cell-field>.cell-text{min-width:0;overflow-wrap:anywhere}
.cell-text,.cell-add,.cell-pencil{font:inherit;border:0;background:transparent;text-align:left;padding:2px 0;cursor:pointer;color:inherit}
.cell-text{flex:1}.cell-add{font-size:10px;color:var(--muted)}
.cell-pencil{flex:0 0 20px;text-align:center;opacity:0;color:var(--muted);border-radius:4px}
.cell-field:hover .cell-pencil,.cell-field:focus-within .cell-pencil{opacity:1}
.cell-text:hover,.cell-add:hover{color:var(--purple,#5700c9)}
.cell-pencil:hover{background:#eee8fa;color:#5700c9}
.cell-editor{min-width:110px;padding:3px 0}
.cell-input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #8961ca;border-radius:5px;padding:6px;font:inherit;background:white;color:#172235}
textarea.cell-input{resize:vertical;min-height:70px}
.cell-edit-actions{display:flex;gap:6px;margin-top:4px}
.cell-edit-actions button{font:inherit;font-size:10px;cursor:pointer;padding:4px 7px;border:1px solid #d7c9eb;border-radius:4px;background:white;color:#5700c9}
.cell-edit-actions .cell-save{background:#5700c9;color:white}
@media(hover:none){.cell-pencil{opacity:1;min-height:28px}}
.cell-field button:focus-visible{outline:2px solid #5700c9;outline-offset:2px}
/* v11.5.21: long lead summaries stay at three lines in the table; full text on hover, in the editor and in the timeline */
.cell-field .legacy{font-size:10.5px;line-height:1.35;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-height:calc(1.35em * 3)}
.activity-summary .latest{overflow-wrap:anywhere}

.pipeline-totals-status{font-size:11px;color:var(--muted);margin-top:6px}.pipeline-totals-status:empty{display:none}

/* v11.5.21: lead table typography and alignment.
   One font (Poppins, tabular figures) and three text sizes:
   primary 13px (company, contact name) · secondary 12px (email, phone, numbers, links) · meta 11px (address, labels, notes). */
#tableSection tbody td{font-size:12px;line-height:1.45;font-variant-numeric:tabular-nums}
#tableSection tbody .num,#tableSection tbody .addedcell,#tableSection .contact .ph,#tableSection .reg .rn,#tableSection .coho-link,#tableSection .valinput,#tableSection .callcount,#tableSection .sectorcell .rn{font-family:'Poppins',system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}
#tableSection tbody .num{font-size:11px;color:var(--faint)}
#tableSection tbody .addedcell{font-size:11px;color:var(--muted)}
/* field wrappers added by 11.5.18 inherit the cell's own text style, without extra button padding */
#tableSection .cell-field{margin:0 0 3px;align-items:flex-start}
#tableSection .cell-field:last-child{margin-bottom:0}
#tableSection .cell-text{padding:0;line-height:inherit;font-size:inherit}
#tableSection .cell-pencil{padding:0;line-height:1.45;font-size:12px}
#tableSection .cell-add{padding:0;font-size:11px;line-height:1.45;color:var(--faint)}
#tableSection .cell-add:hover{color:var(--brand-purple,#5700c9)}
/* company */
#tableSection .co{font-size:13px}
#tableSection td:nth-child(4)>.cell-field{padding-left:28px;margin-top:4px}
#tableSection .addr{font-size:11px;line-height:1.45;margin-top:0;color:var(--muted)}
/* contact */
#tableSection .contact .cell-field:first-child .cell-text{font-size:13px;font-weight:600;color:var(--ink)}
#tableSection .contact a{font-size:12px;line-height:1.45}
#tableSection .contact .ph{font-size:12px;color:var(--ink-soft)}
#tableSection .tps-inline{margin-top:5px}
/* companies house / sector */
#tableSection .reg .rn,#tableSection .coho-link{font-size:12px}
#tableSection td.sectorcell{min-width:96px}
#tableSection .sectorpill{font-size:11px;word-break:normal;overflow-wrap:anywhere;hyphens:auto}
/* status pill: keep the colour dot at the left instead of in the middle of the label */
.status-select{background-size:9px 9px,10px 10px}
/* value / dials */
#tableSection .valinput{font-size:12px}
#tableSection .vallabel,#tableSection .nextfollow-label{font-size:9.5px;letter-spacing:.06em}
#tableSection .callcount{font-size:13px}
#tableSection .lastcall{font-size:11px}
/* activity */
#tableSection .activity-summary .latest{font-size:11px;line-height:1.45}
#tableSection .activity-summary .quicklinks button{font-size:11px}
#tableSection .cell-field .legacy{font-size:11px;line-height:1.45;max-height:calc(1.45em * 3)}
/* break only between words for short labels (emails still wrap anywhere) */
#tableSection .cell-field>a.coho-link{overflow-wrap:normal;word-break:normal}
#tableSection .sectorpill{overflow-wrap:normal;word-break:normal;hyphens:manual}

/* v11.5.21: activity and pipeline breakdown lists */
.metric-outcome{font-size:12px;font-weight:600;text-align:right;color:var(--brand-navy)}
.metric-muted{color:var(--faint);font-weight:400}
.won-breakdown-row .won-cell-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.performance-table td .performance-person-link[data-metric]{font:inherit;color:inherit}
.performance-table td .performance-person-link[data-metric]:hover{color:var(--brand-purple);text-decoration:underline}
.stat.performance-clickable{transition:border-color .12s,box-shadow .12s}
.stat.performance-clickable:hover{border-color:rgba(87,0,196,.35);box-shadow:0 2px 10px rgba(87,0,196,.08)}
@media(max-width:720px){.metric-outcome{grid-column:2;grid-row:1;align-self:start}}

/* Lead table controls: shared sizing, colour and interaction states. */
#tableSection{--control-h:34px;--control-radius:7px;--action-bg:color-mix(in srgb,var(--brand-purple) 5%,#fff);--action-border:color-mix(in srgb,var(--brand-purple) 22%,#fff);--action-hover:var(--brand-purple-soft)}
#tableSection .bd-quick-actions,#tableSection .row-document-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;margin:0 0 6px}
#tableSection :is(.quick-activity-btn,.row-loe-btn,.row-email-btn,.row-meeting-btn,.row-email-menu-btn){box-sizing:border-box;width:100%;height:var(--control-h);min-width:0;padding:5px 6px;border:1px solid var(--action-border);border-radius:var(--control-radius);background:var(--action-bg);color:var(--brand-navy);font:600 11px 'Poppins',sans-serif;line-height:1.2;white-space:nowrap;cursor:pointer;box-shadow:none}
#tableSection :is(.quick-activity-btn,.row-loe-btn,.row-meeting-btn):hover{background:var(--action-hover);border-color:var(--brand-purple);filter:none;box-shadow:none}
#tableSection :is(.quick-activity-btn,.row-loe-btn,.row-meeting-btn):focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}
#tableSection .row-email-split{display:flex;min-width:0;height:var(--control-h);border:1px solid var(--action-border);border-radius:var(--control-radius);background:var(--action-bg);overflow:hidden}
#tableSection .row-email-split .row-email-btn{flex:1;height:calc(var(--control-h) - 2px);border:0;border-radius:0;background:transparent;padding:5px 3px}
#tableSection .row-email-menu-btn{flex:0 0 20px;height:calc(var(--control-h) - 2px);width:20px;padding:0;border:0;border-left:1px solid var(--action-border);border-radius:0;background:transparent}
#tableSection .row-email-split:hover{background:var(--action-hover);border-color:var(--brand-purple)}
#tableSection .row-email-split:focus-within{outline:2px solid var(--brand-purple);outline-offset:2px}
#tableSection .row-email-split button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--brand-purple)}
#tableSection .row-email-btn:disabled{opacity:.45;cursor:not-allowed}
#tableSection .dial-counter-row{margin-top:10px;gap:8px}
#tableSection .callcount{font:600 12px 'Poppins',sans-serif}
#tableSection .callminus{border-color:var(--line);color:var(--muted);border-radius:5px;height:23px;font:500 11px 'Poppins',sans-serif}
#tableSection .pips{display:flex;width:100%;gap:3px;margin-top:5px}
#tableSection .pip{flex:1;min-width:0;width:auto}
#tableSection .lastcall{margin-top:5px;font-size:11px;color:var(--muted);white-space:normal}
#tableSection .followup .nextfollow-label{display:none}
#tableSection .followup .nextfollow-row{display:block;margin:0}
#tableSection .followup-details{display:grid;grid-template-columns:1fr;gap:6px;margin-top:6px}
#tableSection .followup :is(.nextcall,.nextcalltime,.nextactiontype){box-sizing:border-box;width:100%;min-width:0;height:var(--control-h);margin:0;padding:5px 6px;border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;color:var(--ink-soft);font:500 11px 'Poppins',sans-serif}
#tableSection .followup :is(.nextcall,.nextcalltime,.nextactiontype):focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}
#tableSection .followup :is(.nextcalltime,.nextactiontype):disabled{opacity:.5;cursor:not-allowed}
#tableSection .followup .nextcall.overdue{border-color:#e9a99f;background:#fff5f3;color:#9e3024}
#tableSection .followup .nextcall.due{border-color:#d6b87e;background:#fffaf0;color:#845500}
#tableSection .followup-status{margin-top:7px;color:var(--muted);font-size:11px}
#tableSection .followup-status .overdue{color:#9e3024;font-weight:600}
#tableSection .followup-status .due{color:#845500;font-weight:600}
#tableSection .activity-summary{min-width:0;white-space:normal;overflow-wrap:anywhere;gap:5px}
#tableSection .activity-summary .latest,#tableSection .cell-field .legacy{font-size:12px;line-height:1.5}
#tableSection .activity-summary .quicklinks{flex-wrap:wrap;gap:6px 10px;margin:4px 0}
#tableSection .activity-summary .quicklinks button{font:500 11px 'Poppins',sans-serif}
#tableSection .record-tools{justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
#tableSection .record-tools .iconbtn{height:28px;color:var(--muted);font:500 11px 'Poppins',sans-serif}
#tableSection .record-tools .iconbtn.del:hover{color:var(--s-notint)}
#tableSection .cell-field{position:relative}
#tableSection .cell-pencil{position:absolute;right:0;top:0;background:var(--surface);width:20px}
#tableSection .cell-editor{width:100%;min-width:0}
#tableSection .cell-edit-actions{flex-wrap:wrap}
#tableSection .cohead{align-items:flex-start;gap:4px}
#tableSection .cohead .co{font-size:12px}
#tableSection .cobtn{display:inline}
#tableSection .cobtn .open-record-cue{display:inline-block;margin-left:3px}
#tableSection .cohead .co,#tableSection .cobtn,#tableSection .cobtn-label{min-width:0;overflow-wrap:anywhere}
#tableSection .cohead .starbtn{flex:0 0 20px}
#tableSection td.companycell>.cell-field{padding-left:24px}
#tableSection .sectorpill{display:block;padding:0;background:transparent;border:0;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.5}
#tableSection .status-select{width:100%;max-width:none;min-width:0;text-overflow:ellipsis;font-size:11px;padding-left:17px;padding-right:14px}
#tableSection .valcell>div{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:3px}
#tableSection .vallabel{font-size:9px;margin:0;text-align:left}
#tableSection .valinput{width:100%;min-width:0;padding:4px 1px;font-size:11px}
#tableSection .value-yearend{width:100%}
#tableSection .valcell .valyearend{font-size:10px}
.lead-action-menu{position:fixed;z-index:100;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #00081926;box-sizing:border-box}
.lead-action-menu[hidden]{display:none}
.lead-action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:9px;border:0;border-radius:5px;background:#fff;color:var(--ink-soft);font:600 12px 'Poppins',sans-serif;text-align:left;cursor:pointer}
.lead-action-menu button:hover,.lead-action-menu button:focus-visible{background:#eee4fb;color:var(--brand-purple)}
.lead-action-menu small{display:block;padding:7px 9px;color:var(--muted);font-size:11px}

/* Desktop: fixed controls + proportional text columns keep Activity on the page.
   Fixed controls and compact metadata reserve the remaining width for activity. */
@media(min-width:1360px){
 #tableSection table{width:100%;min-width:0;table-layout:fixed}
 #tableSection thead th,#tableSection tbody td{width:auto;min-width:0;max-width:none;padding:12px 6px}
 #tableSection thead th{font-size:11px;line-height:1.3;text-transform:none;letter-spacing:0;white-space:normal}
 #tableSection td.addedcell{white-space:nowrap;font-size:10px}
 #tableSection th[data-sort="created"]{white-space:nowrap;font-size:10px}
 #tableSection td.num{font-size:10px;overflow-wrap:anywhere}
 #tableSection .col-select{width:28px}#tableSection .col-number{width:44px}#tableSection .col-added{width:62px}
 #tableSection .col-reg{width:80px}#tableSection .col-sector{width:78px}#tableSection .col-status{width:146px}#tableSection .col-value{width:86px}
 #tableSection .col-actions{width:176px}#tableSection .col-followup{width:142px}
 #tableSection .col-company{width:11%}#tableSection .col-contact{width:11%}#tableSection .col-activity{width:auto}
 #tableSection .reg .rn,#tableSection .coho-link{font-size:11px}
}
/* Compact screens: all information stays in the lead card, with activity full width. */
@media(max-width:1359px){
 #tableSection{background:transparent;border:0;box-shadow:none;overflow:visible}
 #tableSection .scroll{overflow:visible}
 #tableSection table{display:block;min-width:0;width:100%}
 #tableSection colgroup,#tableSection thead{display:none}
 #tableSection tbody{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 #tableSection tbody tr{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:4px 8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:none}
 #tableSection tbody td{display:block;width:auto;min-width:0;max-width:none;padding:4px 0;border:0}
 #tableSection tbody .rowsel{grid-column:1;grid-row:1}
 #tableSection tbody .num{display:none}
 #tableSection tbody .companycell{grid-column:2/4;grid-row:1}
 #tableSection tbody .addedcell{grid-column:2/4;grid-row:2;text-align:left;font-size:11px}
 #tableSection tbody .addedcell:before{content:'Added ';color:var(--muted)}
 #tableSection tbody .contact{grid-column:2/4;grid-row:3}
 #tableSection tbody .reg{grid-column:2;grid-row:4}
 #tableSection tbody .sectorcell{grid-column:3;grid-row:4}
 #tableSection tbody .statuscell{grid-column:2;grid-row:5}
 #tableSection tbody .valcell{grid-column:3;grid-row:5}
 #tableSection tbody .calls{grid-column:2/4;grid-row:6;padding-top:10px;border-top:1px solid var(--line-soft)}
 #tableSection tbody .followup{grid-column:2/4;grid-row:7;padding-top:10px;border-top:1px solid var(--line-soft)}
 #tableSection .followup .nextfollow-label{display:block;margin:0 0 6px;font:600 11px 'Poppins',sans-serif;text-transform:none;letter-spacing:0;color:var(--muted)}
 #tableSection .followup-details{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tableSection tbody .activitycell{grid-column:2/4;grid-row:8;padding-top:10px;border-top:1px solid var(--line-soft)}
 #tableSection tbody .activitycell:before{content:'Activity / summary';display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:600}
 #tableSection .emptyrow,#tableSection .showmore{grid-column:1/-1}
 #tableSection .emptyrow td,#tableSection .showmore td{grid-column:1/-1;grid-row:1}
}
@media(max-width:800px){#tableSection tbody{grid-template-columns:1fr}}

@media(min-width:1360px) and (max-width:1439px){
 #tableSection .col-select{width:26px}#tableSection .col-number{width:44px}#tableSection .col-added{width:60px}
 #tableSection .col-reg{width:72px}#tableSection .col-sector{width:70px}#tableSection .col-status{width:146px}#tableSection .col-value{width:80px}
 #tableSection .col-actions{width:170px}#tableSection .col-followup{width:138px}
 #tableSection .col-company,#tableSection .col-contact{width:10.8%}
}

@media(max-width:360px){#tableSection .followup-details{grid-template-columns:1fr}}

/* 11.6.0 Adobe LOE emails (admin) */
.loe-mail-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.loe-mail-mode label{font-size:12.5px;font-weight:600}.loe-mail-mode select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;min-width:0;max-width:100%}
.loe-mail-summary{font-size:12px;color:var(--muted);margin:14px 0 8px}.loe-mail-list{display:flex;flex-direction:column;gap:8px}
.loe-mail-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;min-width:0}.loe-mail-row.open{border-color:#efd49d;background:#fffbf2}
.loe-mail-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}.loe-mail-when{color:var(--muted);font-size:11.5px}
.loe-mail-subject{font-size:12.5px;margin:5px 0 3px;overflow-wrap:anywhere}.loe-mail-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--muted);align-items:center}.loe-mail-meta>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.loe-mail-meta .performance-person-link{font-size:11.5px;text-align:left}
.loe-mail-actions{margin-top:8px}.loe-mail-chip{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;border:1px solid var(--line);background:#f2f4f7;color:#53606d}
.loe-mail-chip.applied{background:#edf8f1;color:#19653a;border-color:#bde4ca}.loe-mail-chip.needs_review{background:#fff7e6;color:#8a5800;border-color:#efd49d}.loe-mail-chip.shadow{background:#f3eefc;color:#5700c4;border-color:#d9c8f3}

/* v11.7 contact state: restrained A&C styling, text accompanies colour. */
.contact-state{white-space:normal;min-width:0;margin-top:5px;font-size:11px;line-height:1.5;color:var(--brand-navy,#1B3A5C);overflow-wrap:anywhere}
.contact-state small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}
.contact-state.overdue,.contact-state.attention{padding-left:7px;border-left:2px solid #a06a17}
.contact-state.overdue{border-color:#a93434}
.contact-history{display:block;border:0;background:none;color:#5700C4;padding:3px 0 0;font:inherit;text-decoration:underline;cursor:pointer}
#answeredStatusQuick select,#answeredStatusQuick input{width:100%;min-height:34px}#answeredStatusQuick label{display:block;margin-top:8px}

/* 11.7.1: one entry point; contact facts remain visible without opening it. */
#tableSection .row-actions-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:34px;box-sizing:border-box;border:1px solid var(--brand-purple);border-radius:7px;background:var(--brand-purple);color:#fff;padding:0 11px;font:600 12px 'Poppins',sans-serif;cursor:pointer}
#tableSection .row-actions-btn:hover,#tableSection .row-actions-btn[aria-expanded="true"]{background:color-mix(in srgb,var(--brand-purple) 85%,#000819)}
#tableSection .row-actions-btn:focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px}
.last-dial{margin-top:9px;font-size:10.5px;line-height:1.5;color:var(--muted);white-space:normal}
.last-dial time,.last-dial span{color:var(--brand-navy);font-weight:500}
.lead-action-menu{max-height:calc(100dvh - 16px);overflow-y:auto}
.lead-action-menu [role="separator"]{height:1px;background:var(--line);margin:5px 3px}
.lead-action-menu button:disabled{color:var(--muted);opacity:.55;cursor:not-allowed;background:transparent}

.lead-action-menu .action-menu-icon{flex:0 0 16px;width:16px;height:16px;color:var(--muted)}

/* v11.7.2 — Activity / summary cell: latest activity with icon, labelled two-line
   summary, one action row (Note · Timeline · Edit · Delete) separated by a hairline. */
#tableSection .activity-summary{display:grid;gap:0}
#tableSection .activity-summary .latest{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;color:var(--ink-soft)}
#tableSection .activity-summary .latest-ico{flex:0 0 15px;display:flex;margin-top:2px;color:var(--brand-purple)}
#tableSection .activity-summary .latest-text{display:flex;flex-direction:column;gap:1px;min-width:0}
#tableSection .activity-summary .latest-text strong{font-size:12px;font-weight:600;color:var(--brand-dark)}
#tableSection .activity-summary .latest-detail{font-size:11.5px;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#tableSection .activity-none{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
#tableSection .activity-none .none-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;box-sizing:border-box}
#tableSection .activitycell .summary-block{margin-top:10px}
#tableSection .activitycell .summary-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
#tableSection .activitycell .summary-block .cell-field{margin:0}
#tableSection .activitycell .summary-block .legacy{font-size:12px;line-height:1.5;color:var(--ink-soft);white-space:normal;-webkit-line-clamp:2;line-clamp:2;max-height:calc(1.5em * 2)}
#tableSection .activitycell>.cell-field{margin-top:8px}
#tableSection .record-tools.activity-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;margin-top:10px;padding-top:6px;border-top:1px solid var(--line-soft)}
#tableSection .activity-tools .acttool{width:auto;height:28px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;border:0;border-radius:6px;background:transparent;color:var(--brand-purple);font:500 11.5px 'Poppins',sans-serif;white-space:nowrap;cursor:pointer}
#tableSection .activity-tools .acttool:hover{background:var(--brand-purple-soft);color:var(--brand-purple)}
#tableSection .activity-tools .acttool.del{margin-left:auto;width:28px;padding:0;justify-content:center;color:var(--muted)}
#tableSection .activity-tools .acttool.del:hover{background:var(--s-notint-bg);color:var(--s-notint)}
#tableSection .activity-tools .acttool:focus-visible{outline:2px solid var(--brand-purple);outline-offset:1px}
#tableSection .activity-tools .act-ico{flex:0 0 14px}
@media(max-width:720px){#tableSection .record-tools.activity-tools{flex-wrap:wrap}}
/* v11.7.2 — alignment: text-style actions with no side padding, so the first icon sits on
   the same left edge as the text above and Delete sits on the right edge. Height stays 28px. */
#tableSection .record-tools.activity-tools{gap:14px}
#tableSection .activity-tools .acttool{padding:0;background:transparent}
#tableSection .activity-tools .acttool:hover{background:transparent;color:var(--brand-purple)}
#tableSection .activity-tools .acttool:hover span{text-decoration:underline;text-underline-offset:2px}
#tableSection .activity-tools .acttool.del{justify-content:flex-end}
#tableSection .activity-tools .acttool.del:hover{background:transparent;color:var(--s-notint)}

/* Member overview: compact aggregate-only FY table. */
.member-performance-table .performance-self{background:#eaf1fb}
.performance-member-name,.member-performance-table .performance-signed-fees{color:var(--brand-purple);font-weight:600}
.performance-you{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:5px;background:#d2e3fb;color:var(--brand-navy,#1b3a5c);font-size:11px;font-weight:500}
.member-performance-table th{background:var(--surface);font-size:11px}

/* Member-only personal sales scorecard; admin table styles are unchanged. */
.personal-hint,.personal-method{color:#566174;font-size:12px;line-height:1.5;margin:6px 0 14px}
.personal-method{margin:12px 0 0;font-size:11px}
.personal-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.personal-card{font:inherit;text-align:left;display:flex;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #ded9e8;border-radius:12px;padding:16px;cursor:pointer;color:#000819;min-width:0;transition:border-color .15s,box-shadow .15s}
.personal-card:hover{border-color:#5700c4;box-shadow:0 2px 10px #5700c412}
.personal-card:focus-visible,.personal-day:focus-visible,.personal-detail-row:focus-visible{outline:3px solid #5700c4;outline-offset:3px}
.personal-card-title{font-size:13px;font-weight:650;color:#1b3a5c}
.personal-card-value{font-size:30px;line-height:1.25;font-weight:750;color:#5700c4;margin:12px 0 6px;font-variant-numeric:tabular-nums}
.personal-card-value small{font-size:17px;color:#657083;font-weight:500}
.personal-card-count{font-size:12px;line-height:1.5;min-height:36px;color:#566174}
.personal-benchmark{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #eeeaf3;padding-top:12px;margin-top:10px;font-size:12px;color:#566174}
.personal-benchmark strong{color:#1b3a5c}
.personal-comparison{font-size:11px;line-height:1.5;margin:6px 0 12px;min-height:32px;color:#566174}
.personal-card-link{font-size:12px;font-weight:650;color:#5700c4;margin-top:auto;padding-top:8px}
.personal-progress{height:6px;background:#eeeaf3;border-radius:5px;overflow:hidden;margin:12px 0}
.personal-progress>span{display:block;height:100%;background:#5700c4}
.personal-week{margin-top:16px;padding:16px;background:#f8f7fb;border:1px solid #e6e0ee;border-radius:12px}
.personal-week-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.personal-week h4{font-size:13px;color:#1b3a5c;margin:0}
.personal-week-head>span{font-size:11px;color:#566174}
.personal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.personal-day{font:inherit;border:1px solid transparent;border-radius:8px;padding:8px;background:transparent;cursor:pointer;display:flex;align-items:center;flex-direction:column;gap:5px;color:#566174;font-size:12px}
.personal-day strong{color:#1b3a5c;font-variant-numeric:tabular-nums;font-size:17px}
.personal-day.is-today{border-color:#d4bcef;background:#fff}
.personal-day:hover:not(:disabled){background:#eee6fa}
.personal-day:disabled{opacity:.55;cursor:default}
.personal-day-track{height:42px;width:100%;max-width:50px;display:flex;align-items:flex-end;border-bottom:1px solid #ddd4e9}
.personal-day-track>span{background:#8060ab;width:100%;border-radius:4px 4px 0 0}
.personal-day small{font-size:10px;white-space:nowrap}
.personal-achievement{font-size:12px;font-weight:600;color:#1b3a5c;margin:12px 0 0}
.personal-detail-row{display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #eeeaf3;padding:14px;cursor:pointer;color:#1b3a5c;font-size:12px}
.personal-detail-row:hover{background:#f8f4ff}
.personal-detail-row strong,.personal-detail-row small{display:block}
.personal-detail-row small{color:#566174;margin-top:5px}
.personal-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px}
@media(max-width:1050px){.personal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.personal-cards{grid-template-columns:1fr}.personal-days{gap:1px}.personal-day{padding:6px 2px}.personal-week{padding:10px}.personal-week-head{align-items:flex-start;flex-direction:column;gap:4px}.personal-detail-row{align-items:flex-start;flex-direction:column;gap:8px}}

/* Compact member dashboard. Scoped so the admin dashboard remains unchanged. */
.member-dashboard #stats{display:block}
.member-dashboard .personal-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.member-dashboard .personal-card{padding:12px;gap:6px;border-radius:10px;font-family:inherit}
.member-dashboard .personal-card-title{font-size:13px;line-height:1.35;color:#1b3a5c;font-weight:650}
.member-dashboard .personal-rate-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.member-dashboard .personal-rate-line>strong{font-size:24px;line-height:1.2;color:#5700c4;font-variant-numeric:tabular-nums}
.member-dashboard .personal-rate-line>span,.member-dashboard .personal-cohort{font-size:12px;line-height:1.5;color:#414c60}
.member-dashboard .personal-card-link{padding-top:0;font-size:12px}
.member-dashboard .personal-hint{margin:4px 0 10px;font-size:12px;color:#414c60}
.member-dashboard .personal-method{font-size:12px;color:#414c60}
.member-dashboard .performance-team-head h3{font-size:15px;line-height:1.4;margin:0}
.member-dashboard .performance-team-head>span{font-size:12px;color:#414c60}
.member-dashboard .personal-week{padding:12px;margin-top:10px}
.member-dashboard .personal-week-head{margin-bottom:6px}
.member-dashboard .personal-days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.member-dashboard .personal-day{padding:5px;width:100%;gap:3px;font-size:12px}
.member-dashboard .personal-day strong{font-size:17px}
.member-dashboard .personal-day small{font-size:12px;color:#414c60;white-space:normal;text-align:center}
.member-dashboard .personal-day-track{height:24px;max-width:60px}
.member-context-link,.member-week-total{font:inherit;font-size:12px;border:0;background:none;color:#5700c4;text-decoration:underline;cursor:pointer;padding:4px}
.member-day-cell{text-align:center;min-width:0}
.member-dashboard .personal-week h4{font-size:13px}
.member-dashboard .member-funnel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid #d9dfeb;border-radius:10px;overflow:hidden}
.member-funnel-step{font:inherit;text-align:left;border:0;border-right:1px solid #e2e5ef;background:#fff;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-width:0;color:#1b3a5c}
.member-funnel-step:last-child{border-right:0}.member-funnel-step:hover{background:#f8f4ff}
.member-funnel-step>span{font-size:13px;font-weight:600}.member-funnel-step>strong{font-size:23px;color:#000819;line-height:1.2;font-variant-numeric:tabular-nums}.member-funnel-step>small{font-size:12px;color:#5700c4}
.member-results{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.member-results>button{font:inherit;font-size:13px;color:#1b3a5c;background:#f8f9fc;border:1px solid #d9dfeb;border-radius:7px;padding:8px 12px;cursor:pointer}
.member-funnel-note{font-size:12px;line-height:1.5;color:#414c60;margin:8px 0 14px}
.member-today{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;font-size:13px;color:#1b3a5c}
/* One compact outstanding-LOE entry point; details remain in the worklist. */
.member-loe-summary{position:relative;display:grid;gap:3px;min-width:235px;padding:10px 38px 10px 12px;border:1px solid #ded5ed;border-radius:8px;background:#faf8fd;color:#1b3a5c;font:inherit;text-align:left;cursor:pointer}
.member-loe-summary>span:first-child{display:flex;align-items:center;gap:12px;font-weight:600}
.member-loe-summary strong{color:#5700c4;font-size:17px}
.member-loe-summary small{color:#526176;font-size:12px}
.member-loe-arrow{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#5700c4}
.member-loe-summary:hover{border-color:#5700c4;background:#f4effb}
.member-loe-summary:focus-visible,.member-loe-lead:focus-visible{outline:2px solid #5700c4;outline-offset:3px}
.member-loe-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e3e7ef;padding:12px 0}
.member-loe-lead{display:grid;gap:4px;flex:1;min-width:0;border:0;background:none;color:#1b3a5c;text-align:left;font:inherit;cursor:pointer}
.member-loe-lead strong{font-size:14px;overflow-wrap:anywhere}
.member-loe-lead span,.member-loe-lead small{font-size:13px;color:#526176}
.member-loe-lead .member-loe-old{color:#875300}
.member-loe-email{flex-shrink:0;font-size:13px!important}
.member-loe-email:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:480px){.member-loe-summary{width:100%}.member-loe-row{gap:8px}.member-loe-email{padding:8px}}

.member-month-label{font-size:12px;color:#414c60;background:white;border:1px solid #ddd4ec;border-radius:5px;padding:5px 8px}
.member-dashboard .member-month-hero{padding:18px}
.member-dashboard .member-month-hero .target-kicker{font-size:12px;letter-spacing:.04em}
.member-dashboard .member-month-hero h2{font-size:17px}
.member-dashboard .performance-amount{font-size:32px}
.member-dashboard .performance-amount span{font-size:17px;color:#414c60}
.member-dashboard .performance-signed{font-size:13px}
.member-dashboard .performance-signed span{font-size:12px}
.member-dashboard .member-pace-bar{position:relative;overflow:visible;height:7px;margin-bottom:12px}
.member-pace-bar>i{position:absolute;top:-4px;bottom:-4px;width:2px;background:#1b3a5c;transform:translateX(-1px)}
.member-pace-copy,.member-hero-facts{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;line-height:1.5;color:#1b3a5c}
.member-pace-action{font-size:13px;color:#1b3a5c;margin:8px 0}
.member-hero-facts{border-top:1px solid #e0d8ec;padding-top:10px;margin-top:10px}
.member-hero-basis{font-size:12px;color:#414c60;line-height:1.5;margin-top:8px}
.member-period-divider{border-top:1px solid #dddfe8;margin:18px 0 0;padding-top:10px;font-size:12px;color:#414c60}
.member-pipeline-split{display:flex;gap:12px;flex-wrap:wrap;padding:12px;background:#f7f3fc;border-radius:8px;font-size:13px;color:#1b3a5c}
.member-dashboard button:focus-visible{outline:3px solid #5700c4;outline-offset:2px}
@media(max-width:1000px){.member-dashboard .member-funnel{grid-template-columns:repeat(3,minmax(0,1fr))}.member-funnel-step{border-bottom:1px solid #e2e5ef}.member-dashboard .personal-cards{grid-template-columns:1fr}.member-dashboard .personal-card{display:grid;grid-template-columns:minmax(170px,1fr) 2fr;column-gap:16px}.member-dashboard .personal-card-link{align-self:end}}
@media(max-width:540px){.member-dashboard .member-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}.member-dashboard .personal-card{display:flex}.member-dashboard .personal-days{gap:2px}.member-dashboard .personal-day small,.member-context-link{font-size:12px}.member-dashboard .personal-week-head{flex-direction:column;align-items:flex-start}.member-month-label{display:none}.member-dashboard .member-month-hero{padding:12px}}
/* Member dashboard polish: status colours and on-demand explanations. */
.member-dashboard .member-pace-status.pace-green{color:#17603d}
.member-dashboard .member-pace-status.pace-amber{color:#805000}
.member-dashboard .member-pace-status.pace-red{color:#a12626}
.member-dashboard .member-pace-bar.pace-green>i{background:#17603d}
.member-dashboard .member-pace-bar.pace-amber>i{background:#a36800}
.member-dashboard .member-pace-bar.pace-red>i{background:#b52c2c}
.member-dashboard .member-info{position:relative;display:inline-flex;vertical-align:middle;font-size:13px;letter-spacing:normal;text-transform:none;font-weight:400}
.member-dashboard .member-info-button{font:inherit;border:0;background:transparent;color:#40526b;padding:3px 5px;cursor:help;line-height:1.2}
.member-dashboard .member-tooltip{display:none;position:absolute;left:0;top:100%;z-index:50;width:280px;max-width:70vw;background:#1b3a5c;color:#fff;padding:10px 12px;border-radius:7px;font-size:12px;line-height:1.5;font-weight:400;box-shadow:0 4px 16px #0002;text-align:left}
.member-dashboard .member-info:hover>.member-tooltip,.member-dashboard .member-info:focus-within>.member-tooltip{display:block}
.member-dashboard .member-period-divider{padding:0;margin-top:16px}
.member-dashboard .member-results{margin-bottom:14px}
@media(max-width:540px){.member-dashboard .member-tooltip{position:fixed;left:12px;right:12px;top:auto;bottom:16px;width:auto;max-width:none}}
/* v11.7.4 — admin "Needs attention" board and colleague-view banner */
.admin-board{margin-top:6px}
.admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.admin-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;font:inherit;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;min-height:96px}
.admin-tile:hover:not(:disabled){border-color:#5700c4}
.admin-tile:focus-visible{outline:2px solid #5700c4;outline-offset:2px}
.admin-tile:disabled{cursor:default;opacity:.75}
.admin-tile span{font-size:11px;color:var(--muted)}
.admin-tile strong{font-size:24px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}
.admin-tile small{font-size:11px;color:var(--muted)}
.admin-tile.tone-red{border-left:4px solid #b52c2c}.admin-tile.tone-red strong{color:#a12626}
.admin-tile.tone-amber{border-left:4px solid #a36800}
.admin-board-table{margin-bottom:6px}
.performance-person-link:disabled{color:var(--muted);font-weight:400;cursor:default;text-decoration:none}
.performance-person-link.admin-urgent{color:#a12626}
.viewing-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border:1px solid #cdb8f0;background:#f5f0fd;border-radius:10px;font-size:13px;color:#2b1a4a}
.viewing-banner-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:540px){.admin-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.viewing-banner{font-size:12px}}
.btn[hidden],#wonBreakdownEdit[hidden]{display:none!important}

/* v11.7.5 — calmer admin dashboard */
.performance-shell .stat{border-color:#e7eaf1;min-height:92px}
.stats-secondary{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 2px 0;font-size:12px;color:var(--muted)}
.stats-link{border:0;background:none;padding:2px 0;font:inherit;color:var(--muted);cursor:pointer}
.stats-link strong{color:var(--ink);font-weight:600;margin-left:3px}
.stats-link:hover{color:#5700c4;text-decoration:underline}
.stats-link:focus-visible{outline:2px solid #5700c4;outline-offset:2px}
.performance-team-head .stats-link{font-size:11px;color:#5700c4}
.admin-tiles-v1175{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-tiles-v1175 .admin-tile{display:flex;flex-direction:column;gap:6px;padding:0;cursor:default;min-height:0;border-color:#e7eaf1}
.admin-tile-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;font:inherit;padding:13px 13px 6px;border:0;background:none;cursor:pointer;width:100%}
.admin-tile-main:disabled{cursor:default;opacity:.75}
.admin-tile-main span{font-size:11px;color:var(--muted)}.admin-tile-main strong{font-size:24px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}.admin-tile-main small{font-size:11px;color:var(--muted)}
.admin-tile-main:focus-visible,.admin-split:focus-visible{outline:2px solid #5700c4;outline-offset:2px}
.admin-split-row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:0 13px 12px;font-size:12px;color:var(--muted)}
.admin-split{border:0;background:none;padding:0;font:inherit;font-weight:600;color:#805000;cursor:pointer}
.admin-split.urgent{color:#a12626}.admin-split:hover{text-decoration:underline}
.team-table-v1175 tr.team-divider td{border-top:2px solid #cfd5e2}
@media(max-width:760px){.admin-tiles-v1175{grid-template-columns:1fr}}

/* v11.7.8 — remove mistaken signing */
.won-remove{display:inline-block;margin-top:4px;border:0;background:none;padding:0;font:inherit;font-size:11px;color:#a12626;text-decoration:underline;cursor:pointer}
.won-remove:focus-visible{outline:2px solid #5700c4;outline-offset:2px}
div.won-breakdown-row[role=button]{cursor:pointer}
div.won-breakdown-row[role=button]:focus-visible{outline:2px solid #5700c4;outline-offset:-2px}
#removeSigningReason{width:100%;box-sizing:border-box;margin-top:6px}
div.won-breakdown-row{font-size:13.33px}

/* Keep validation visible inside the activity form. */
#activityValidation{grid-column:1 / -1;padding:12px;border:1px solid #b42318;border-radius:8px;background:#fff3f1;color:#8d1c13}
#activityValidation[hidden]{display:none}
#activityValidation ul{margin:6px 0 0;padding-left:20px}
#activityOverlay [aria-invalid="true"]{border:2px solid #b42318}
.activity-field-error{color:#b42318;font-size:12px;margin-top:5px}
[data-restored-draft]{grid-column:1 / -1}

/* v11.9.0 Lead pool */
[data-uiicon="inbox"]{--ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E")}
.pool-panel{margin:12px 0;padding:16px 18px;border:1px solid #d4bcef;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(87,0,196,.05);display:flex;flex-direction:column;gap:12px}
.pool-panel .pool-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}
.pool-panel h3{margin:0 0 2px;font-size:18px;font-weight:700;color:var(--ink)}
.pool-panel .pool-sub{margin:0;font-size:13px;color:var(--muted)}
.pool-panel .pool-sub strong{color:var(--ink)}
.pool-panel .pool-chips{display:flex;flex-wrap:wrap;gap:6px}
.pool-panel .pool-chip{padding:4px 10px;border-radius:999px;background:#f7f2fd;border:1px solid #e4d6f7;font-size:12px;color:var(--ink-soft)}
.pool-panel .pool-chip strong{color:var(--accent)}
.pool-panel .pool-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 14px;border-radius:12px;background:#f7f2fd;border:1px solid #e4d6f7}
.pool-panel .pool-scope{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13.5px;color:var(--ink)}
.pool-panel .pool-scope{gap:4px}
.pool-panel .pool-hint{display:inline-flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.4;color:var(--accent-dark,#410094)}
.pool-panel .pool-hint strong{font-weight:600}
.pool-panel .pool-hint::before{content:"";flex:0 0 14px;width:14px;height:14px;margin-top:2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-5M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-5M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.pool-panel .pool-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pool-panel .pool-actions select{border:1px solid #d4bcef;border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;background:#fff}
.pool-panel .pool-actions .btn:not(.primary){background:#fff}
.pool-rule{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;color:var(--muted)}
.pool-rule .pool-rule-state{padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:#efe4fb;color:var(--accent)}
.pool-rule .pool-rule-state.off{background:var(--line-soft);color:var(--muted)}
.pool-rule .pool-rule-text{flex:1 1 260px}
.pool-rule .pool-rule-btn{border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:underline;cursor:pointer}
.pool-rule .pool-rule-btn:disabled{opacity:.5;cursor:default}
.deal-intro{margin:0 0 12px;font-size:13px;color:var(--muted)}
.deal-people{display:grid;gap:6px}
.deal-people label{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;cursor:pointer}
.deal-people label:has(input:checked){border-color:var(--accent);background:var(--brand-purple-soft,#F2EAFB)}
.deal-people .deal-share{margin-left:auto;font-weight:700;color:var(--accent)}
.deal-split{margin:12px 0 0;font-size:12.5px;color:var(--muted);min-height:18px}
.owner-history{margin-top:10px;font-size:12.5px;color:var(--muted)}
.owner-history ul{margin:4px 0 0;padding-left:18px}
.owner-history li{margin:2px 0}
/* v11.9.3 Lead pool button: brand lilac, like the "Find a lead" box */
.btn.toggle.pool{background:#f7f2fd;border-color:#b899dd;color:var(--accent);font-weight:700}
.btn.toggle.pool:hover{background:#efe4fb;border-color:var(--accent);color:var(--accent)}
.btn.toggle.pool .badge,.btn.toggle.pool:not(.active) .badge{background:#fff;color:var(--accent);font-weight:700}
.btn.toggle.pool.active{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.toggle.pool.active .badge{background:#fff;color:var(--accent)}
/* v11.9.3 Training manuals */
.training-intro{margin:0 0 12px;font-size:13px;color:var(--muted)}
.training-list{display:grid;gap:8px}
.training-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name dl" "meta dl";align-items:center;gap:2px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff}
.training-item:hover{border-color:var(--accent);background:#faf6ff}
.training-name{grid-area:name;font-weight:700;font-size:14px}
.training-meta{grid-area:meta;font-size:12px;color:var(--muted)}
.training-dl{grid-area:dl;padding:7px 14px;font-size:13px;pointer-events:none}

/* ── 11.10.0 one-page engagement letters ─────────────────────────────────────
   A fixed 210 × 297 mm page that matches the approved templates. Every rule is
   scoped to .letter-sheet.engagement-doc.loe1 so it outranks the older letter
   and LeadDesk table rules, and the page prints on its own zero-margin @page. */
#loeOverlay .modal-body>.field{min-width:0}
#loeTemplateNote{overflow-wrap:anywhere}
.loe-svc-rows{display:grid;gap:8px;margin-top:4px}
/* Service and fee on the first line, scope beneath it across the full width. */
.loe-svc-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 30px;gap:6px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.loe-svc-row .n{font-weight:600}
.loe-svc-row .d{grid-column:1/3;grid-row:2;font-size:12.5px}
.loe-svc-row input{min-width:0}
.loe-svc-add{display:flex;gap:8px;margin-top:8px}
.loe-svc-add select{flex:1;min-width:0}

.letter-sheet.engagement-doc.loe1{
  --purple:#5700C4;--navy:#1B3A5C;--lt-ink:#000819;--fill:#EDF2F8;--stripe:#F9F9F9;
  width:210mm;min-height:0;height:297mm;padding:0;overflow:hidden;font:7.5pt/1.46 'Poppins',Arial,sans-serif;color:var(--lt-ink)}
.letter-sheet.engagement-doc.loe1 *{box-sizing:border-box;margin:0;padding:0}
.letter-sheet.engagement-doc.loe1 .l1-page{page:loe1;width:210mm;height:297mm;padding:10mm 15mm 9mm;display:flex;flex-direction:column;
  font-family:'Poppins',Arial,sans-serif;font-size:7.5pt;line-height:1.46;color:var(--lt-ink);background:#fff;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.letter-sheet.engagement-doc.loe1 a{color:var(--purple);text-decoration:none}
.letter-sheet.engagement-doc.loe1 b{font-weight:600}
.letter-sheet.engagement-doc.loe1 .l1-top{flex:none;display:flex;justify-content:space-between;align-items:center;padding-bottom:3mm;border-bottom:2px solid var(--purple)}
.letter-sheet.engagement-doc.loe1 .l1-logo{height:10mm;width:auto;display:block}
.letter-sheet.engagement-doc.loe1 .l1-addr{text-align:right;font-size:6.9pt;color:var(--navy);line-height:1.55}
.letter-sheet.engagement-doc.loe1 .l1-main{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:4.6mm;padding:5mm 0 4.5mm;min-height:0}
.letter-sheet.engagement-doc.loe1 .l1-main>*{flex-shrink:0}
.letter-sheet.engagement-doc.loe1 .l1-titlerow{display:flex;justify-content:space-between;align-items:flex-end}
.letter-sheet.engagement-doc.loe1 .l1-h1{font-size:18pt;line-height:1.05;font-weight:700;color:var(--purple);letter-spacing:.01em}
.letter-sheet.engagement-doc.loe1 .l1-lede{font-size:7.8pt;font-weight:600;color:var(--navy);letter-spacing:.14em;text-transform:uppercase;line-height:1;margin-top:2mm;padding-left:.35mm}
.letter-sheet.engagement-doc.loe1 .l1-ref{font-size:7.2pt;color:var(--navy);text-align:right;line-height:1.6}
.letter-sheet.engagement-doc.loe1 .l1-ref b{color:var(--purple)}
.letter-sheet.engagement-doc.loe1 table.l1-t{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;border:1px solid var(--fill);display:table}
.letter-sheet.engagement-doc.loe1 table.l1-t tr{display:table-row;background:transparent;border:0;box-shadow:none}
.letter-sheet.engagement-doc.loe1 table.l1-t tr:has(> th){background:var(--purple)}
.letter-sheet.engagement-doc.loe1 table.l1-t th,.letter-sheet.engagement-doc.loe1 table.l1-t td{display:table-cell;width:auto;min-width:0;max-width:none;white-space:normal;position:static;text-transform:none;letter-spacing:0}
.letter-sheet.engagement-doc.loe1 table.l1-t th{background:transparent;color:#fff;font-weight:600;font-size:7pt;line-height:1.46;text-align:left;padding:1.1mm 2.6mm;vertical-align:bottom;border:0}
.letter-sheet.engagement-doc.loe1 table.l1-t td{padding:1mm 2.6mm;border:0;border-top:1px solid var(--fill);vertical-align:top;font-size:7.5pt;line-height:1.46;color:var(--lt-ink);background:transparent}
.letter-sheet.engagement-doc.loe1 table.l1-t tr:nth-child(even) td{background:var(--stripe)}
.letter-sheet.engagement-doc.loe1 table.l1-t .r{text-align:right}
.letter-sheet.engagement-doc.loe1 table.l1-svc td{padding-top:.72mm;padding-bottom:.72mm}
.letter-sheet.engagement-doc.loe1 table.l1-t td.k{font-weight:600;color:var(--navy)}
.letter-sheet.engagement-doc.loe1 table.l1-t tr.total td{background:var(--fill);font-weight:600;border-top:1px solid var(--navy)}
.letter-sheet.engagement-doc.loe1 table.l1-t tr.total td.r{color:var(--purple)}
.letter-sheet.engagement-doc.loe1 table.l1-det td{font-weight:500;background:#fff;padding-top:1.4mm;padding-bottom:1.4mm}
.letter-sheet.engagement-doc.loe1 .l1-h2{font-size:10pt;font-weight:600;line-height:1.46;color:var(--purple);padding-bottom:1.2mm;margin-bottom:2.4mm;border-bottom:1px solid var(--fill)}
.letter-sheet.engagement-doc.loe1 .l1-clauses{column-count:2;column-gap:9mm;font-size:var(--fs,7.5pt);line-height:var(--lh,1.46)}
.letter-sheet.engagement-doc.loe1 .l1-cl{break-inside:avoid;page-break-inside:avoid;margin:0 0 2.5mm;padding:0;text-indent:0}
.letter-sheet.engagement-doc.loe1 .l1-cl:last-child{margin-bottom:0}
.letter-sheet.engagement-doc.loe1 .l1-cl.newcol{break-before:column}
.letter-sheet.engagement-doc.loe1 .l1-h3{font-size:8.3pt;font-weight:600;line-height:1.46;color:var(--navy);margin-bottom:.5mm}
.letter-sheet.engagement-doc.loe1 .l1-cl p{margin:0 0 1mm;orphans:1;widows:1}
.letter-sheet.engagement-doc.loe1 .l1-cl p:last-child{margin-bottom:0}
.letter-sheet.engagement-doc.loe1 .l1-accept{background:var(--fill);border-left:3px solid var(--purple);padding:3mm 4.5mm 3.4mm;break-inside:avoid}
.letter-sheet.engagement-doc.loe1 .l1-accept .l1-h2{border:0;padding:0;margin-bottom:1mm}
.letter-sheet.engagement-doc.loe1 .l1-accept p{margin:0}
.letter-sheet.engagement-doc.loe1 .l1-sign{display:grid;grid-template-columns:1fr 1fr;column-gap:9mm;margin-top:2.6mm}
.letter-sheet.engagement-doc.loe1 .l1-lbl{display:block;font-size:6.2pt;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
/* 12.6 mm: room for BoldSign's 300 × 44 px client signature field (anchored 3 px
   below the line's top edge), so the field sits on the line and clears the name. */
.letter-sheet.engagement-doc.loe1 .l1-line{height:12.6mm;border-bottom:1px solid var(--navy);display:flex;align-items:flex-end;padding-bottom:.6mm;margin:.6mm 0 1.2mm}
.letter-sheet.engagement-doc.loe1 .l1-line img{height:8mm;width:auto;margin:0}
.letter-sheet.engagement-doc.loe1 .l1-who{display:grid;grid-template-columns:11mm 1fr;row-gap:.6mm;font-size:7.3pt}
.letter-sheet.engagement-doc.loe1 .l1-who .k{color:var(--navy);font-weight:600}
.letter-sheet.engagement-doc.loe1 .l1-foot{flex:none;border-top:2px solid var(--purple);padding-top:2.2mm;display:flex;justify-content:space-between;align-items:flex-end;font-size:6.6pt;color:var(--navy);line-height:1.55}
.letter-sheet.engagement-doc.loe1 .l1-foot b{color:var(--purple)}
.letter-sheet.engagement-doc.loe1 .l1-foot>div:last-child{white-space:nowrap;padding-left:6mm}
@media print{
  @page loe1{size:A4 portrait;margin:0}
  body.printing-letter .letter-sheet.engagement-doc.loe1{
    width:210mm !important;max-width:210mm !important;height:297mm !important;min-height:0 !important;
    margin:0 !important;padding:0 !important;box-shadow:none !important;overflow:hidden !important;
    font-size:7.5pt !important;line-height:1.46 !important;page:loe1;break-after:avoid;
  }
}

/* 11.10.3: required LoE fields left blank or invalid */
#loeOverlay .loe-missing{border-color:#C62828 !important;background:#FDECEC !important;box-shadow:0 0 0 2px rgba(198,40,40,.16) !important}
#loeOverlay .loe-missing-field>label{color:#C62828 !important}
