/* ProspectX: same look as the ProspectPro closer portal (partner/static/pp.css): dark navy #071018, flat #122033 cards,
   blue #1A6FCE buttons, Inter. The teal-to-violet X lives only in the logo. */
@font-face{font-family:Inter;src:url(fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--night:#071018;--surface:#0e1a29;--card2:#16273d;--fg:#f3f7fb;--paper:#dbe4ee;--mist:#93a4b8;--faint:#849ab2;--violet:#8B5CF6;--teal:#22D3EE;--ember:#f5c81e;--coral:#FB923C;--sky:#60A5FA;--mint:#4ade80;
--accent:#5eb4ff;--accent-dim:#0e2c4d;--accent-light:#9ed0ff;--action:#1a6fce;--action2:#2a7fe0;--glass:#122033;--edge:#24384f;--line:#24384f;color-scheme:dark}
*{box-sizing:border-box;margin:0}
html{background:var(--night)}
body{min-height:100vh;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--paper);background:var(--night);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,.num,.brand{font-family:Outfit,Inter,ui-sans-serif,system-ui,sans-serif;color:var(--fg)}
.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:22px 14px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column}
.side .logo{display:block;padding:4px 10px 4px}.side .logo img{height:30px;display:block}
.who-client{margin:18px 4px 18px;padding:14px;border-radius:16px;background:var(--card2);border:1px solid var(--edge)}
.who-client b{font-family:Outfit,Inter,sans-serif;font-size:15px;display:block}.who-client small{color:var(--mist);font-size:11.5px}
.nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;color:#a6abbd;font-size:14px;margin-bottom:3px;transition:.15s}
.nav a:hover{background:#ffffff08;color:#fff}
.nav a.on{background:var(--accent-dim);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
.nav i{width:7px;height:7px;border-radius:50%;background:#ffffff30}.nav a.on i{background:var(--accent);box-shadow:none}
.side .foot{margin-top:auto;font-size:12px;color:var(--mist);padding:10px}.side .foot a{color:#c9cde0}
.main{min-width:0;padding:26px 32px 40px}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.top h1{font-size:25px;font-weight:640;letter-spacing:-.6px}.top small{color:var(--mist);font-size:12.5px;display:block;margin-top:4px}
.ex{color:#fbbf24;font-weight:700}.real{color:#6ee7b7;font-weight:700}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;background:#ffffff0a;border:1px solid var(--edge);color:#c9cde0}
.pill.live{background:rgba(74,222,128,.12);color:var(--mint);border-color:rgba(74,222,128,.25)}.pill.live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.camps{display:flex;gap:6px;flex-wrap:wrap}.camps a{padding:7px 12px;border-radius:10px;font-size:12.5px;border:1px solid var(--edge);color:#b9bdd0}.camps a.on{background:var(--accent-dim);border-color:var(--accent);color:#fff}
.g{background:var(--glass);border:1px solid var(--edge);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px rgba(0,0,0,.2);position:relative;overflow:hidden}
.edge:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,var(--action))}
.hero{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1fr;gap:14px;margin-bottom:16px}
.k small{color:var(--mist);font-size:12.5px}.k .num{display:block;font-size:30px;font-weight:600;letter-spacing:-1px;margin:6px 0 4px}
.k .up{color:var(--mint);font-size:12px;font-weight:600}.k .nt{color:var(--mist);font-size:12px}
.appt{border-top:3px solid var(--ember)}
.appt .num{font-size:58px;line-height:1;margin:10px 0 8px;color:var(--ember)}
.appt small{color:var(--ember);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}
.row{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px}.row.half{grid-template-columns:1fr 1fr}
.col{display:flex;flex-direction:column;gap:16px}
h3{font-size:15px;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}h3 span,h3 a.sub{color:var(--mist);font-weight:500;font-size:12px}
h3 a.sub:hover{color:#fff}
.agrid{display:grid;grid-template-columns:minmax(150px,1fr) 128px 70px 54px 112px 48px;align-items:center;gap:6px}
.ahdr{color:#6f7487;font-size:11.5px;padding:0 0 8px}
.ag{padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.who{display:flex;align-items:center;gap:11px;min-width:0}.who>div{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ini{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:12px;font-family:Outfit,Inter,sans-serif}
.who small{display:block;color:var(--mist);font-size:11.5px}
.st{font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;justify-self:start;white-space:nowrap}
.st.call{background:var(--accent-dim);color:var(--accent-light)}.st.rdy{background:#34d3991f;color:var(--mint)}.st.pau{background:#fbbf2422;color:#fcd34d}.st.off{background:#ffffff0d;color:var(--mist)}
.bar{width:100%;max-width:104px;height:6px;border-radius:9px;background:#ffffff12;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);transition:width .6s}
.ap{color:#fcd34d;font-weight:700}
.drop{display:block;border:1.5px dashed var(--edge);border-radius:14px;padding:18px;text-align:center;background:var(--surface);cursor:pointer;transition:.15s}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-dim)}
.drop .ic{width:42px;height:42px;border-radius:12px;margin:0 auto 8px;background:var(--action);display:grid;place-items:center;font-size:20px}
.drop small{color:var(--mist);font-size:12px;display:block}.drop input{display:none}.drop .fn{color:var(--accent);font-size:12.5px;margin-top:6px}
.btn{display:inline-block;border:1px solid transparent;cursor:pointer;margin-top:12px;background:var(--action);color:#fff;padding:10px 16px;border-radius:10px;font:700 13.5px Inter,ui-sans-serif,system-ui,sans-serif;text-align:center}
.btn.w{background:#fff;color:#0b0c12}.btn.ghost{background:transparent;color:var(--paper);border:1px solid var(--edge)}.btn.ghost:hover{border-color:var(--accent);color:#fff}
.btn:hover{background:var(--action2)}.btn.w:hover{background:#fff;filter:brightness(.95)}.btn.ghost:hover{background:transparent}
.in,select{width:100%;background:var(--surface);border:1px solid var(--edge);border-radius:10px;padding:10px 12px;color:var(--fg);font:14px Inter,ui-sans-serif,system-ui,sans-serif;margin-bottom:9px}
.in::placeholder{color:var(--faint)}
.in:focus,select:focus{outline:2px solid rgba(94,180,255,.25);border-color:var(--accent)}
select option{background:var(--surface)}
.steps{counter-reset:s;list-style:none;padding:0;margin:4px 0 4px}.steps li{counter-increment:s;display:flex;gap:10px;padding:6px 0;color:#cfd3e0;font-size:13px}
.steps li:before{content:counter(s);flex:none;width:22px;height:22px;border-radius:7px;background:var(--accent-dim);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--accent-light)}
.pay{display:grid;grid-template-columns:1fr 80px 70px 80px;padding:11px 0;border-top:1px solid var(--line);font-size:13.5px}.pay span{color:var(--mist)}.pay b{text-align:right}.pay .nm{color:var(--paper)}
.pay.norate{grid-template-columns:1fr 90px 90px}
.tl div{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px;color:#cfd3e0}.tl em{font-style:normal;color:var(--ember);min-width:66px;font-weight:600}
.tl .k-dial_level em{color:#c4b5fd}.tl .k-list em,.tl .k-queue em{color:var(--teal)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{color:#6f7487;font-weight:500;text-align:left;padding:8px 6px;font-size:11.5px}.tbl td{padding:10px 6px;border-top:1px solid var(--line)}
.tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#ffffff10;color:#c9cde0;white-space:nowrap}
.tag.queued{background:#fbbf2422;color:#fcd34d}.tag.loaded,.tag.paid{background:#34d3991f;color:var(--mint)}.tag.rejected{background:#fb923c22;color:#fdba74}.tag.pending{background:var(--accent-dim);color:var(--accent-light)}
.flash{padding:12px 16px;border-radius:14px;margin-bottom:14px;font-size:13.5px;border:1px solid}.flash.ok{background:#34d39914;border-color:#34d39940;color:#b5f7d6}.flash.err{background:#fb923c14;border-color:#fb923c40;color:#ffc2c8}
.muted{color:var(--mist)}.small{font-size:12px}.mt{margin-top:10px}
.note{font-size:12px;color:var(--mist);margin-top:10px}
.readonly{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--mist);margin-top:10px}.readonly:before{content:"🔒"}
.empty{padding:26px;text-align:center;color:var(--mist)}
.wk{margin-bottom:16px}.wk h3 .tag{margin-left:8px}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 14px}.statgrid div{background:#ffffff06;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.statgrid b{display:block;font-family:Outfit,Inter,sans-serif;font-size:18px}.statgrid small{color:var(--mist);font-size:11.5px}
.mtop{display:none}
/* auth pages */
.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px}
.auth .card{width:100%;max-width:500px;padding:30px 36px 32px;border-radius:16px;border-top:4px solid var(--accent);box-shadow:0 12px 40px rgba(0,0,0,.35);overflow:visible}
.auth .card .logo{height:46px;display:block;margin:0 auto 22px}
.auth h1{font-size:24px;font-weight:600;letter-spacing:-.3px;text-align:center}.auth p{color:var(--mist);text-align:center;margin:8px 0 18px;font-size:14px}
.auth .lbl{display:block;font-weight:700;font-size:13.5px;color:var(--fg);margin:0 0 6px}.auth .in{font-size:16px}
.auth .btn{width:100%;margin-top:6px;padding:12px;font-size:14.5px}
.auth .code{letter-spacing:.45em;text-align:center;font:600 24px ui-monospace,Menlo,Consolas,monospace}
.auth .alt{text-align:center;margin-top:18px;font-size:13px;color:var(--mist)}.auth .alt a{color:var(--accent)}.auth .alt a:hover{text-decoration:underline}
.demo-list form{margin:0}.demo-list button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--edge);color:var(--paper);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;font:14px Inter,ui-sans-serif,system-ui,sans-serif}
.demo-list button:hover{border-color:var(--accent);background:var(--accent-dim)}.demo-list b{font-family:Outfit,Inter,sans-serif}.demo-list small{color:var(--mist)}
.pw{font-size:11.5px;color:var(--mist);margin-top:3px}.pw b{color:var(--accent-light);font-weight:700}
@media (max-width:1180px){.hero{grid-template-columns:1fr 1fr 1fr}.hero .appt{grid-column:1/-1}.row{grid-template-columns:1fr}}
@media (max-width:820px){
 .app{grid-template-columns:1fr}.side{position:fixed;inset:0 30% 0 0;max-width:280px;z-index:20;transform:translateX(-102%);transition:.25s;background:#0e1a29f7}
 .side.open{transform:none}.mtop{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:var(--surface)}
 .mtop img{height:24px;display:block}.mbrand small{display:block;color:var(--mist);font-size:11px;margin-top:2px}.mtop button{background:#ffffff10;border:1px solid var(--edge);color:#fff;border-radius:10px;padding:8px 11px;font-size:16px}
 .main{padding:18px 14px 30px}.hero{grid-template-columns:1fr 1fr;gap:10px}.k .num{font-size:24px}.appt .num{font-size:50px}
 .agrid{grid-template-columns:minmax(0,1fr) auto 44px;row-gap:6px}.agrid .hide-m{display:none}.ahdr{display:none}
 .row.half{grid-template-columns:1fr}.statgrid{grid-template-columns:1fr 1fr}.top h1{font-size:21px}
 .tbl .hide-m{display:none}
}

/* intake */
.drop.big{padding:30px 18px}.drop.big b{font-size:16px;font-family:Outfit,Inter,sans-serif}
.progress-list{margin-top:10px}.pf{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:13px}
.pf .pb{grid-column:1/-1;height:5px;border-radius:9px;background:#ffffff12;overflow:hidden}.pf .pb i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.pf .err{grid-column:1/-1;color:#fdba74;font-size:12px}
.tag.received{background:#60a5fa22;color:#93c5fd}.tag.formatting{background:#fbbf2422;color:#fcd34d}.tag.attention{background:#fb923c22;color:#fdba74}
.legend{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:14px;font-size:12px;color:var(--mist)}
.mini{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}.mini span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb{margin-bottom:16px}

.px-logo-anim{width:100%;max-width:428px;margin:0 auto 20px;min-height:60px;display:flex;align-items:center;justify-content:center}.px-logo-anim svg{width:100%;height:auto;display:block}
.inline{display:inline}.lnk{background:none;border:0;color:var(--accent);font:600 12px Inter,sans-serif;cursor:pointer;padding:4px 6px}.lnk.warn{color:#fdba74}.lnk:hover{text-decoration:underline}
.show-m{display:none}@media (max-width:820px){.show-m{display:block}}

/* client brand (tenant) */
.cbrand{display:block;margin:2px 4px 18px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#ffffff0d,#ffffff04);border:1px solid var(--edge);box-shadow:inset 0 2px 0 var(--brand-accent,var(--accent))}
.cbrand b{font-family:Outfit,Inter,sans-serif;font-size:15px;display:block;margin-top:10px}.cbrand small{color:var(--mist);font-size:11.5px}
.plate{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:10px 12px;height:62px}.plate img{max-height:42px;max-width:100%;display:block}
.plate.sm{height:34px;padding:5px 8px;border-radius:8px;display:inline-flex}.plate.sm img{max-height:24px;max-width:120px}
.plate.big{height:110px;width:100%;max-width:340px}.plate.big img{max-height:84px}.plate em{color:#64748b;font-size:12.5px;font-style:normal}
.nav a.on{box-shadow:inset 3px 0 0 var(--brand-accent,var(--accent))}.nav a.on i{background:var(--brand-accent,var(--accent));box-shadow:none}
.pxfoot{margin-top:14px;display:flex;align-items:center;gap:6px;font-size:10.5px;color:#6f7a90;opacity:.85}.pxfoot img{height:11px;display:block}
.mbrand .plate.sm{height:30px}
.auth .card.wide{max-width:620px}.gatehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pxsm{height:20px;display:block}
.step{font-size:11.5px;color:var(--mist);border:1px solid var(--edge);padding:4px 10px;border-radius:999px}
.brandform{padding:22px}.auth .brandform{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.lbl{display:block;font-size:12.5px;font-weight:600;color:#cfd3e0;margin:12px 0 6px}.lbl .muted{font-weight:400;font-size:11.5px}
.logo-drop{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.logo-drop input{font-size:12.5px;color:var(--mist)}
.colorrow{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;color:#cfd3e0}.colorrow label{display:flex;align-items:center;gap:7px}
.sw{width:18px;height:18px;border-radius:5px;display:inline-block;border:1px solid #ffffff30}input[type=color]{width:38px;height:26px;border:0;background:none;padding:0}
textarea.in{resize:vertical;font:13px/1.45 Inter,sans-serif}.chk{display:flex;gap:8px;align-items:center;font-size:13px;color:#cfd3e0;margin:4px 0 10px}
.previews{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pv{padding:11px 13px;border-radius:12px;border:1px solid var(--edge);background:#ffffff06}.pv:hover{border-color:var(--brand-accent)}
.pv b{display:block;font-size:13px}.pv small{color:var(--mist);font-size:11.5px}
.term summary{list-style:none;cursor:pointer}.term summary::-webkit-details-marker{display:none}.term form{margin-top:8px;min-width:220px;text-align:left}
.btn.sm{padding:7px 12px;font-size:12px;margin:0}.tag.attention{background:#fb923c22;color:#fdba74}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.docs p{color:var(--paper);font-size:13.5px;line-height:1.6}.docs a{color:var(--accent)}
.dgroup{border:1px solid var(--edge);border-radius:16px;padding:12px;margin-bottom:12px}.dhead{display:flex;align-items:center;gap:10px;margin:0 2px 10px}.dhead b{font-family:Outfit,Inter,sans-serif}
.dgroup .demo-list button,.dgroup button{margin-bottom:6px;padding:10px 14px}.dlinks{font-size:12px;color:var(--mist);padding:2px 4px}.dlinks a{color:var(--accent)}
.staff{max-width:1280px;margin:0 auto}.staff .pxsm{margin-bottom:12px}.tn{display:flex;align-items:center;gap:10px;color:var(--paper);font-size:15px}.tn code{font-size:11.5px;color:var(--mist)}
.vici{border-top:1px solid var(--line);padding:10px 0}.vgrid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr auto auto;gap:6px;align-items:center;margin-top:6px}.vgrid .in{margin:0}
.ap{color:var(--ember)}
@media (max-width:820px){.previews,.docs{grid-template-columns:1fr}.vgrid{grid-template-columns:1fr 1fr}}
.tag.loading{background:var(--accent-dim);color:var(--accent-light)}

.setupwait{padding:26px 28px;max-width:720px}.setupwait h3{margin:12px 0 8px;font-size:18px}.setupwait p{line-height:1.6}
.flash.info{background:var(--accent-dim);border-color:#1f4a75;color:var(--accent-light)}
.auth .flash{text-align:center}
@media (max-width:520px){.auth .card{padding:24px 20px 26px}.auth h1{font-size:22px}}
input[type=file]::file-selector-button{background:var(--card2);color:var(--fg);border:1px solid var(--edge);border-radius:8px;padding:6px 11px;margin-right:10px;font:inherit;font-weight:600;cursor:pointer}

/* QC part 2 #5: no page wider than the screen (phone 390px, iPad 1024px). Grid/flex children may shrink; wide tables
   scroll inside their card instead of pushing the page sideways. */
.row>*,.col,.g,.card,.statgrid>*,.grid>*,.vgrid>*{min-width:0}
.col,.g,.card{max-width:100%}
h1,h2,h3,.h2{overflow-wrap:anywhere}
@media (max-width:1100px){.row{grid-template-columns:minmax(0,1fr)!important}.row>.col{width:auto}}
@media (max-width:700px){
  .card,.g{overflow-x:auto}
  .card input,.card select,.g input,.g select,.card button{max-width:100%}
  form.inline{flex-wrap:wrap}
  .tbl{display:block;max-width:100%;overflow-x:auto}
  .statgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vgrid{grid-template-columns:minmax(0,1fr)!important}
}
