/* Apollo prospects page and the priority card on a lead. Uses the client
   palette tokens from client.css, so both themes follow automatically. */
.ap-heading h1{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.04em;margin:10px 0 14px;font-weight:650;max-width:860px}
.ap-heading p{max-width:760px;line-height:1.7;color:rgb(var(--z400))}
.ap-status{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.ap-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgb(var(--z700));border-radius:999px;font-size:.78rem;color:rgb(var(--z300));background:rgb(var(--z900))}
.ap-pill i{width:8px;height:8px;border-radius:50%;background:rgb(var(--z500))}
.ap-pill.on i{background:rgb(var(--good-soft))}.ap-pill.sim i{background:rgb(var(--warn-soft))}
.ap-pill strong{color:rgb(var(--z100));font-weight:650}
.ap-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:980px){.ap-grid{grid-template-columns:minmax(0,1fr)}}
.ap-card{border:1px solid rgb(var(--z700));border-radius:var(--radius);background:rgb(var(--z900));padding:20px;box-shadow:var(--shadow-card);min-width:0}
.ap-card h2{font-size:1.12rem;font-weight:650;color:rgb(var(--z100));margin:4px 0 6px}
.ap-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.ap-muted{font-size:.8rem;line-height:1.6;color:rgb(var(--z400))}
.ap-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.ap-presets a{font-size:.78rem;padding:7px 11px;border-radius:10px;border:1px solid rgb(var(--z700));color:rgb(var(--z200));text-decoration:none;background:rgb(var(--z950))}
.ap-presets a:hover,.ap-presets a:focus-visible{border-color:rgb(var(--acc));color:rgb(var(--acc-text))}
.ap-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.ap-form{grid-template-columns:minmax(0,1fr)}}
.ap-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;color:rgb(var(--z300))}
.ap-form textarea,.ap-form input,.ap-form select{font:inherit;font-weight:400;font-size:.86rem;padding:9px 11px;border-radius:10px;border:1px solid rgb(var(--z600));background:rgb(var(--z950));color:rgb(var(--z100));min-width:0}
.ap-form textarea{min-height:84px;resize:vertical}
.ap-form fieldset{grid-column:1/-1;border:0;padding:0;margin:0}
.ap-form legend{font-size:.78rem;font-weight:600;color:rgb(var(--z300));margin-bottom:6px}
.ap-checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.ap-checks label{flex-direction:row;align-items:center;font-weight:400;gap:6px}
.ap-form .ap-submit{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ap-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}
@media (max-width:640px){.ap-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ap-kpi{border:1px solid rgb(var(--z800));border-radius:12px;padding:10px 12px;background:rgb(var(--z950))}
.ap-kpi span{display:block;font-size:.75rem;color:rgb(var(--z400))}
.ap-kpi strong{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums;color:rgb(var(--z100))}
.ap-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
@media (max-width:640px){.ap-bars{grid-template-columns:minmax(0,1fr)}}
.ap-bars h3{font-size:.76rem;font-weight:650;color:rgb(var(--z300));margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.ap-bars ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ap-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:.8rem;color:rgb(var(--z200));position:relative;padding:3px 6px;border-radius:6px;overflow:hidden}
.ap-bars li i{position:absolute;inset:0 auto 0 0;background:rgb(var(--acc-soft)/.14);z-index:0}
.ap-bars li span,.ap-bars li b{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-bars li b{font-weight:600;font-variant-numeric:tabular-nums;color:rgb(var(--z300))}
.ap-obs{margin:14px 0 0;padding-left:18px;font-size:.84rem;line-height:1.7;color:rgb(var(--z300))}
.ap-insight{margin-top:16px;padding-top:14px;border-top:1px solid rgb(var(--z800))}
.ap-insight p{line-height:1.7;color:rgb(var(--z200));font-size:.9rem}
.ap-insight ul{padding-left:18px;font-size:.84rem;line-height:1.7;color:rgb(var(--z300))}
.ap-next{display:grid;gap:8px;margin-top:10px}
.ap-next a{display:block;padding:10px 12px;border:1px solid rgb(var(--z700));border-radius:10px;text-decoration:none;color:rgb(var(--z200));font-size:.84rem}
.ap-next a strong{color:rgb(var(--acc-text))}
.ap-next a:hover,.ap-next a:focus-visible{border-color:rgb(var(--acc))}
.ap-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ap-tabs a{font-size:.78rem;padding:6px 11px;border-radius:999px;border:1px solid rgb(var(--z700));text-decoration:none;color:rgb(var(--z300))}
.ap-tabs a[aria-current]{background:rgb(var(--acc));border-color:rgb(var(--acc));color:rgb(var(--acc-fg))}
.ap-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ap-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid rgb(var(--z800));border-radius:12px;padding:14px;background:rgb(var(--z900))}
@media (max-width:640px){.ap-row{grid-template-columns:52px minmax(0,1fr)}.ap-row .ap-row-actions{grid-column:1/-1}}
.ap-rank{font-size:.75rem;color:rgb(var(--z400));text-align:center}
.ap-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:8px 6px;border-radius:12px;border:1px solid rgb(var(--z700));background:rgb(var(--z950))}
.ap-score strong{font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--z100))}
.ap-score span{font-size:.75rem;margin-top:4px;color:rgb(var(--z400));text-align:center}
.ap-tier-A{border-color:rgb(var(--good-soft));}.ap-tier-A strong{color:rgb(var(--good))}
.ap-tier-B{border-color:rgb(var(--acc-soft))}.ap-tier-B strong{color:rgb(var(--acc-text))}
/* Tier C ("hold") is set apart from A and B by its own colour and border, not only by the letter. */
.ap-tier-C{border-color:rgb(var(--warn)/.55)}.ap-tier-C strong{color:rgb(var(--warn))}
.ap-row h3{margin:0;font-size:.95rem;font-weight:650;color:rgb(var(--z100))}
.ap-row h3 a{color:inherit;text-decoration:none}.ap-row h3 a:hover{text-decoration:underline}
.ap-row p{margin:3px 0 0;font-size:.8rem;color:rgb(var(--z400));line-height:1.55}
.ap-row .ap-why{color:rgb(var(--z300))}
.ap-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ap-tags span{font-size:.75rem;padding:3px 8px;border-radius:999px;background:rgb(var(--z950));border:1px solid rgb(var(--z800));color:rgb(var(--z300))}
.ap-row-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:150px}
.ap-row-actions form{margin:0}.ap-row-actions .cx-btn{width:100%;justify-content:center}
.ap-hs{display:inline-block;font-size:.75rem;padding:3px 8px;border-radius:8px;border:1px solid rgb(var(--z700));color:rgb(var(--z300))}
.ap-hs-synced{border-color:rgb(var(--good-soft));color:rgb(var(--good))}
.ap-hs-failed{border-color:rgb(var(--bad-soft));color:rgb(var(--bad))}
.ap-hs-simulated,.ap-hs-not_connected,.ap-hs-needs_email{border-color:rgb(var(--warn-soft));color:rgb(var(--warn))}
.ap-alert{padding:12px 14px;border-radius:12px;border:1px solid rgb(var(--bad-soft));color:rgb(var(--bad));background:rgb(var(--z900));margin:0 0 16px;font-size:.88rem}
.ap-ok{padding:12px 14px;border-radius:12px;border:1px solid rgb(var(--good-soft));color:rgb(var(--good));background:rgb(var(--z900));margin:0 0 16px;font-size:.88rem}
.ap-reasons{list-style:none;padding:0;margin:14px 0 8px;display:grid;gap:6px}
.ap-reasons li{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;color:rgb(var(--z200));padding:7px 10px;border-radius:8px;background:rgb(var(--z950))}
.ap-reasons b{font-variant-numeric:tabular-nums;color:rgb(var(--z400));font-weight:600;white-space:nowrap}
.ap-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.ap-hubspot{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ap-hubspot small{font-size:.75rem;color:rgb(var(--z400))}
.ap-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0 12px}
.ap-section-title h2{font-size:1.2rem;font-weight:650;margin:0;color:rgb(var(--z100))}
/* Connection health, test buttons and the HubSpot lead-status picker */
.ap-pill.warn i{background:rgb(var(--warn))}
.ap-pill.warn{border-color:rgb(var(--warn)/.55)}
.ap-link-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.ap-link-actions form{margin:0}
.ap-leadstatus{margin-top:12px;padding-top:12px;border-top:1px solid rgb(var(--z800))}
.ap-leadstatus label,.ap-leadstatus-title{display:block;font-size:.78rem;font-weight:600;color:rgb(var(--z300));margin:0 0 4px}
.ap-leadstatus select{font:inherit;font-size:.86rem;padding:8px 10px;border-radius:10px;border:1px solid rgb(var(--z600));background:rgb(var(--z950));color:rgb(var(--z100));min-width:0;max-width:100%}
.ap-leadstatus select:focus-visible{outline:2px solid rgb(var(--acc));outline-offset:1px}
/* Integrations: health lines and the owner's server setup checklist */
.in-health{margin:0;font-size:.8rem;color:rgb(var(--z400))}
.in-health.bad{color:rgb(var(--bad, var(--warn)))}
.in-health.warn{color:rgb(var(--warn))}
.in-setup{margin:24px 0;border:1px solid rgb(var(--z700));border-radius:var(--radius);background:rgb(var(--z900));padding:18px}
.in-setup h2{margin:0 0 4px;font-size:1.02rem;font-weight:650;color:rgb(var(--z100))}
.in-checklist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.in-checklist li{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:rgb(var(--z200))}
.in-checklist small{display:block;font-family:ui-monospace,monospace;font-size:.75rem;color:rgb(var(--z400))}
.in-mark svg{width:16px;height:16px}
.in-checklist li.done .in-mark{color:rgb(var(--good))}
.in-checklist li.todo .in-mark{color:rgb(var(--warn))}
/* Optional HubSpot extras (owner only) */
.ap-extras{margin-top:18px;padding-top:14px;border-top:1px solid rgb(var(--z700));display:grid;gap:10px}
.ap-extras h3{margin:0;font-size:.95rem;font-weight:650;color:rgb(var(--z100))}
.ap-extras-form{display:grid;gap:10px}
.ap-extra{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:rgb(var(--z200));cursor:pointer}
.ap-extra input{margin-top:3px}
.ap-extra span{display:grid;gap:2px}
.ap-extra small{color:rgb(var(--z400));line-height:1.5}
.ap-extra-state{font-style:normal;font-size:.75rem;font-weight:650;color:rgb(var(--z400))}
.ap-extra-state.on{color:rgb(var(--good))}.ap-extra-state.warn{color:rgb(var(--warn))}
.ap-extra-days{font-size:.82rem;color:rgb(var(--z300))}
.ap-extra-days input{width:4.5em;font:inherit;padding:4px 6px;border-radius:8px;border:1px solid rgb(var(--z600));background:rgb(var(--z950));color:rgb(var(--z100))}
.ap-owner-map table{width:100%;border-collapse:collapse;font-size:.82rem}
.ap-owner-map caption{text-align:left;font-weight:650;color:rgb(var(--z200));padding-bottom:6px}
.ap-owner-map th,.ap-owner-map td{padding:6px 8px;border-bottom:1px solid rgb(var(--z800));text-align:left;color:rgb(var(--z200));vertical-align:top}
.ap-owner-map select{font:inherit;max-width:100%;padding:5px 8px;border-radius:8px;border:1px solid rgb(var(--z600));background:rgb(var(--z950));color:rgb(var(--z100))}

/* Inline style attributes moved here (CSP): share bars snap to 5% steps. */
.ap-bars li i.ap-w-0{width:0%}
.ap-bars li i.ap-w-5{width:5%}
.ap-bars li i.ap-w-10{width:10%}
.ap-bars li i.ap-w-15{width:15%}
.ap-bars li i.ap-w-20{width:20%}
.ap-bars li i.ap-w-25{width:25%}
.ap-bars li i.ap-w-30{width:30%}
.ap-bars li i.ap-w-35{width:35%}
.ap-bars li i.ap-w-40{width:40%}
.ap-bars li i.ap-w-45{width:45%}
.ap-bars li i.ap-w-50{width:50%}
.ap-bars li i.ap-w-55{width:55%}
.ap-bars li i.ap-w-60{width:60%}
.ap-bars li i.ap-w-65{width:65%}
.ap-bars li i.ap-w-70{width:70%}
.ap-bars li i.ap-w-75{width:75%}
.ap-bars li i.ap-w-80{width:80%}
.ap-bars li i.ap-w-85{width:85%}
.ap-bars li i.ap-w-90{width:90%}
.ap-bars li i.ap-w-95{width:95%}
.ap-bars li i.ap-w-100{width:100%}
.ap-actions.ap-actions-flush{margin:0}
.ap-card.ap-card-spaced{margin-top:22px}
.ap-muted.ap-muted-spaced{margin-top:10px}
