/* nmac-phone.css — the hero phone: a call comes in, Ciara answers, the job lands. */
.pscene{--pz:min(1,calc((100vw - 56px)/320));position:relative;width:calc(320px * var(--pz));margin:34px auto 0}
@media (min-width:900px){.pscene{--pz:1;width:320px;margin:0 0 0 auto;position:sticky;top:96px}}
@media (min-width:1080px){.pscene{--pz:1.1;width:352px}}
.pscene::before{content:"";position:absolute;left:50%;top:6%;width:118%;height:88%;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(86,150,222,.3),rgba(15,158,88,.12) 52%,transparent 74%);
  filter:blur(26px);z-index:0}
.pframe{position:relative;z-index:1;width:320px;zoom:var(--pz);-webkit-font-smoothing:antialiased}
.pmetal{position:relative;border-radius:54px;padding:9px;
  background:linear-gradient(118deg,#20303f 0%,#7d8b99 6%,#3d4a57 16%,#161e27 40%,#111820 64%,#4a5865 86%,#78868f 95%,#1d2530 100%);
  box-shadow:0 2px 3px rgba(255,255,255,.14) inset,0 44px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.6)}
.pscreen{position:relative;height:640px;border-radius:46px;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#0A1C31 0%,#061426 46%,#040F1D 100%)}
.pscreen::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:46px;
  background:linear-gradient(147deg,rgba(255,255,255,.11) 0 22%,transparent 42%)}
.pnotch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:88px;height:25px;border-radius:99px;background:#02080F;z-index:3}
.pstatus{display:flex;align-items:center;justify-content:space-between;padding:15px 22px 0;
  font-family:var(--label);font-size:12.5px;font-weight:500;color:#fff;letter-spacing:.02em;z-index:2}
.pstatus .pbars{display:flex;align-items:flex-end;gap:2.5px;height:11px}
.pstatus .pbars i{width:3px;background:#fff;border-radius:1px;opacity:.9}
.pstatus .pbars i:nth-child(1){height:4px}.pstatus .pbars i:nth-child(2){height:6px}
.pstatus .pbars i:nth-child(3){height:8.5px}.pstatus .pbars i:nth-child(4){height:11px}
.pstatus .pbatt{width:22px;height:11px;border:1.3px solid rgba(255,255,255,.75);border-radius:3px;position:relative;margin-left:6px}
.pstatus .pbatt::after{content:"";position:absolute;inset:1.6px;right:6px;background:#fff;border-radius:1px}
.pstatus .pright{display:flex;align-items:center}
.pbody{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 14px 18px;gap:11px}

/* app chrome inside the screen */
.papp{display:flex;align-items:center;gap:8px;padding:0 4px 2px}
.papp img{height:16px;width:auto;opacity:.95}
.papp span{font-family:var(--label);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(214,230,245,.5);margin-left:auto}

/* cards */
.pcard{border-radius:20px;padding:15px 15px 16px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03));
  border:1px solid rgba(203,221,240,.15);box-shadow:0 18px 34px -22px rgba(0,0,0,.9)}
.pcard.enter{animation:pIn .5s cubic-bezier(.16,.84,.3,1) both}
@keyframes pIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.pkick{display:flex;align-items:center;gap:8px;font-family:var(--label);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
.pdot{width:7px;height:7px;border-radius:50%;background:var(--green-hi);box-shadow:0 0 0 4px rgba(20,185,104,.18);animation:pPulse 1.5s ease-in-out infinite}
@keyframes pPulse{0%,100%{box-shadow:0 0 0 3px rgba(20,185,104,.22)}50%{box-shadow:0 0 0 8px rgba(20,185,104,.05)}}
.pcaller{display:flex;align-items:center;gap:13px;margin-top:13px}
.pcaller>span:last-child{min-width:0}
.pnum,.pwho{display:block}
.pav{flex:0 0 44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(180deg,#26527F,#153455);border:1px solid rgba(203,221,240,.2)}
.pav svg{width:20px;height:20px}
.pnum{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em;color:#fff}
.pwho{font-size:13.5px;color:rgba(214,230,245,.62);margin-top:1px}
.pbtns{display:flex;gap:9px;margin-top:15px}
.pbtn{flex:1;min-height:46px;border:none;border-radius:13px;cursor:pointer;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;
  transition:background .2s,transform .16s,box-shadow .2s}
.pbtn-go{color:#fff;background:linear-gradient(180deg,var(--green-hi),var(--green));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 14px 26px -14px rgba(15,158,88,1)}
.pbtn-go:hover{transform:translateY(-1px)}
.pbtn-mute{flex:0 0 46px;display:grid;place-items:center;color:var(--ice);background:rgba(203,221,240,.09);border:1px solid rgba(203,221,240,.16)}
.pbtn-mute svg{width:19px;height:19px}
.pbtn-mute.on{color:var(--green-hi);background:rgba(20,185,104,.14);border-color:rgba(20,185,104,.4)}
.pmiss{margin-top:11px;font-family:var(--label);font-size:11px;line-height:1.5;color:rgba(214,230,245,.7);text-align:center}

/* live call header */
.plive{display:flex;align-items:center;gap:10px}
.plive .pt{font-family:var(--display);font-weight:700;font-size:15.5px;color:#fff;letter-spacing:-.015em}
.plive .pclock{margin-left:auto;font-family:var(--label);font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ice)}
.peq{display:flex;align-items:flex-end;gap:2.5px;height:15px;margin-left:2px}
.peq i{width:2.5px;border-radius:2px;background:var(--green-hi);height:4px;animation:pEq 1s ease-in-out infinite}
.peq i:nth-child(2){animation-delay:.12s}.peq i:nth-child(3){animation-delay:.26s}
.peq i:nth-child(4){animation-delay:.4s}.peq i:nth-child(5){animation-delay:.52s}
@keyframes pEq{0%,100%{height:4px;opacity:.65}50%{height:15px;opacity:1}}
@media (prefers-reduced-motion:reduce){.peq i,.pdot{animation:none}}

/* transcript stream */
.pstream{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:9px;padding:2px 2px 0}
.pline{opacity:0;transform:translateY(10px);animation:pIn .42s cubic-bezier(.16,.84,.3,1) both}
.pline b{display:block;font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(214,230,245,.45);margin-bottom:3px}
.pline p{font-size:14.5px;line-height:1.42;color:rgba(226,238,248,.78);border-radius:14px;padding:9px 12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(203,221,240,.09)}
.pline.ai b{color:var(--green-hi)}
.pline.ai p{color:#EEF5FB;background:rgba(15,158,88,.14);border-color:rgba(20,185,104,.26)}

/* job captured */
.pjob .prow{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid rgba(203,221,240,.1);font-size:14px;line-height:1.35}
.pjob .prow:last-child{border-bottom:none}
.pjob .prow b{flex:0 0 62px;font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(214,230,245,.45);padding-top:3px}
.pjob .prow span{color:#EEF5FB}
.pjob .urgent span{color:var(--green-hi)}
.ptext{margin-top:2px;border-radius:18px 18px 18px 6px;padding:12px 14px;background:#123655;border:1px solid rgba(203,221,240,.12)}
.ptext .pkick{color:rgba(214,230,245,.55);margin-bottom:7px}
.ptext p{font-size:14.5px;line-height:1.45;color:#EDF4FA}
.pdone{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:4px;font-family:var(--label);font-size:11px;letter-spacing:.04em;color:var(--ice)}
.pdone::before{content:"";flex:0 0 16px;height:16px;border-radius:50%;background:var(--green);position:relative;
  box-shadow:0 0 0 4px rgba(15,158,88,.16)}
.pdone i{font-style:normal;position:absolute}

/* caption + replay */
.pcap{margin:16px auto 0;max-width:34ch;text-align:center;font-family:var(--label);font-size:11.5px;line-height:1.6;color:var(--faint)}
.pcap a{color:var(--ice);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(203,221,240,.3)}
.preplay{margin-top:9px;display:flex;justify-content:center}
.preplay button{background:none;border:1px solid rgba(203,221,240,.18);border-radius:9px;padding:8px 14px;cursor:pointer;
  font-family:var(--label);font-size:11.5px;color:var(--ice);transition:border-color .2s,background .2s}
.preplay button:hover{border-color:rgba(203,221,240,.4);background:rgba(203,221,240,.07)}

/* ── your-jobs screen ── */
.papp-head .pstats{display:flex;gap:14px;margin-top:14px}
.papp-head .pstats div{flex:1}
.papp-head .pstats b{display:block;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.03em;color:#fff}
.papp-head .pstats span{display:block;margin-top:3px;font-family:var(--label);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(214,230,245,.6);line-height:1.35}
.pjobs{display:flex;flex-direction:column;gap:9px;min-height:0;overflow:hidden}
.pj{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border-radius:16px;
  background:rgba(255,255,255,.05);border:1px solid rgba(203,221,240,.1)}
.pj>div{min-width:0;flex:1}
.pj-t{flex:0 0 auto;font-family:var(--label);font-size:10.5px;font-variant-numeric:tabular-nums;color:rgba(214,230,245,.62);padding-top:2px}
.pj-h{font-size:13.5px;line-height:1.35;color:#EDF4FA}
.pj-s{margin-top:3px;font-family:var(--label);font-size:10px;letter-spacing:.04em;color:rgba(214,230,245,.55)}
.pj-b{flex:0 0 auto;align-self:center;font-family:var(--label);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(214,230,245,.72);border:1px solid rgba(203,221,240,.18);border-radius:99px;padding:5px 9px}
.pj-b.urg{color:var(--green-hi);border-color:rgba(20,185,104,.42);background:rgba(15,158,88,.14)}

/* ── clickable app inside the phone ── */
.pscroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  display:flex;flex-direction:column;gap:10px;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(203,221,240,.25) transparent}
.pscroll::-webkit-scrollbar{width:4px}
.pscroll::-webkit-scrollbar-thumb{background:rgba(203,221,240,.22);border-radius:4px}
.pjobs{overflow:visible}
button.pj:active{transform:scale(.985);background:rgba(15,158,88,.16)}
.pj-go{flex:0 0 auto;align-self:center;margin-left:2px;color:rgba(203,221,240,.5);font-size:15px;line-height:1}
button.pj:hover .pj-go{color:var(--green-hi)}
.ptabs{display:flex;gap:2px;margin:2px -4px -6px;padding-top:10px;border-top:1px solid rgba(203,221,240,.1)}
.ptabs button{flex:1;padding:9px 0 2px;background:none;border:none;cursor:pointer;
  font-family:var(--label);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(214,230,245,.5)}
.ptabs button.on{color:var(--green-hi)}
.ptabs button:hover{color:var(--text)}
.pnext{border-color:rgba(20,185,104,.3);background:linear-gradient(180deg,rgba(15,158,88,.16),rgba(15,158,88,.04))}
.purg{font-style:normal;margin-left:auto;font-size:9.5px;letter-spacing:.1em;color:#F0B487;
  border:1px solid rgba(240,180,135,.4);border-radius:99px;padding:4px 8px}
.pkick.warm{color:#F0B487}
.pj-when{margin-top:12px;font-family:var(--label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(214,230,245,.6)}
.pnext-n{margin-top:4px;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.028em;color:#fff}
.pnext-d{margin-top:6px;font-size:13.5px;line-height:1.4;color:#E3EEF8}
.pnext-a{margin-top:5px;font-family:var(--label);font-size:10.5px;color:rgba(214,230,245,.55)}
.pnext .pbtn{width:100%;margin-top:12px}
.pbtn-ghost{color:#E7F1FA;background:rgba(255,255,255,.07);border:1px solid rgba(203,221,240,.16);font-size:14px;min-height:42px}
.pnote-row{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:14px;
  border:1px solid rgba(20,185,104,.24);background:rgba(15,158,88,.1);
  font-size:12.5px;color:#E7F1FA}
.pnote-row em{font-style:normal;color:rgba(214,230,245,.55)}

/* ── app: clickable rows, detail view ── */
.pj{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
button.pj:hover{border-color:rgba(20,185,104,.4);background:rgba(15,158,88,.1);transform:translateY(-1px)}
.pj.plain{cursor:default}
.pj-mid{display:block;min-width:0;flex:1}
.pj-h{display:block}
.pj-s{display:block}
.pback{display:inline-flex;align-items:center;gap:6px;margin:0 0 2px -4px;padding:6px 8px;border:none;background:none;cursor:pointer;
  font-family:var(--label);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ice)}
.pback:hover{color:#fff}
.pback svg{width:15px;height:15px}
.pscroll .pline{margin-bottom:10px}
.pscroll .pline p{font-size:13.5px}
.dcards .pj-h{font-size:15px}
.dcards .pj-s{font-size:11px}
.dcards .pnext-n{font-size:25px}
.dcards .pnext-d{font-size:15px}
.dcards .pline p{font-size:15px;padding:11px 14px}
.dcards .pstats b{font-size:30px}

/* ── deeper app: bars, segments, switches ── */
.pj-b.dim{color:rgba(214,230,245,.5);border-color:rgba(203,221,240,.12);background:none}
.pbar{display:flex;align-items:center;gap:11px;padding:10px 0}
.pbar-l{flex:1;min-width:0;font-size:13px;color:#E3EEF8}
.pbar-t{flex:0 0 84px;height:6px;border-radius:3px;background:rgba(203,221,240,.14);overflow:hidden}
.pbar-t i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green),var(--green-hi))}
.pbar-n{flex:0 0 auto;font-family:var(--label);font-size:12px;font-variant-numeric:tabular-nums;color:rgba(214,230,245,.7)}
.pseg{display:flex;gap:7px;margin-top:13px}
.pseg-b{flex:1;min-height:44px;padding:0 10px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(203,221,240,.16);background:rgba(203,221,240,.06);
  font-family:var(--label);font-size:11.5px;line-height:1.3;color:rgba(214,230,245,.7)}
.pseg-b.on{color:#fff;border-color:rgba(20,185,104,.45);background:rgba(15,158,88,.18)}
.psw{margin-top:9px}
.pswitchbox{flex:0 0 44px;width:44px;height:26px;border-radius:99px;background:rgba(203,221,240,.14);
  border:1px solid rgba(203,221,240,.16);position:relative;align-self:center;transition:background .2s,border-color .2s}
.pswitchbox i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.pswitchbox.on{background:rgba(15,158,88,.55);border-color:rgba(20,185,104,.6)}
.pswitchbox.on i{transform:translateX(18px)}
.dcards .pbar-l{font-size:14.5px}
.dcards .pbar-t{flex-basis:140px}

/* account + job rows: label / value pairs (unscoped — used outside .pjob too) */
.prow{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(203,221,240,.1);font-size:14px;line-height:1.4}
.prow:last-child{border-bottom:none}
.prow b{flex:0 0 66px;font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(214,230,245,.55);padding-top:4px}
.prow span{flex:1;min-width:0;color:#EEF5FB}
.prow.urgent span{color:var(--green-hi)}
.dcards .prow{font-size:15px}
.dcards .prow b{flex-basis:88px;font-size:10px}

/* row layout: time + status on top, content full width (reads like a real app at 390px) */
.pj{display:grid;grid-template-columns:1fr auto;grid-template-areas:"t b" "m m";column-gap:10px;row-gap:7px;align-items:center}
.pj-t{grid-area:t;padding-top:0;letter-spacing:.1em;text-transform:uppercase}
.pj-b{grid-area:b;align-self:center;white-space:nowrap}
.pj-mid{grid-area:m}
.pj-go{display:none}
.pj-h{font-size:14px}
/* desktop window has the room for one line */
.dcards .pj{grid-template-columns:1fr auto auto;grid-template-areas:"t b g" "m m m";column-gap:10px}
.dcards .pj-go{display:block}
.dcards .pj-h{font-size:15px}
.dcards .pj-t{flex:0 0 auto}

/* ══ app v2: chrome, sheets, money, diary, timeline ══ */
/* header */
.papp2{display:flex;align-items:center;gap:10px;padding:2px 4px 4px}
.pa-l{min-width:0;flex:1}
.pa-l b{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.025em;color:#fff;line-height:1.1}
.pa-dot{width:7px;height:7px;border-radius:50%;background:var(--green-hi);box-shadow:0 0 0 3px rgba(20,185,104,.16)}
.pa-l i{display:block;margin-top:3px;font-style:normal;font-family:var(--label);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(214,230,245,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-r{display:flex;gap:7px}
.pa-live{margin-left:auto;padding:4px}
.pico{position:relative;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;cursor:pointer;
  color:#DCE9F5;background:rgba(203,221,240,.08);border:1px solid rgba(203,221,240,.16);transition:background .18s,border-color .18s}
.pico:hover{background:rgba(203,221,240,.14)}
.pico svg{width:17px;height:17px}
.pico u{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--green-hi);box-shadow:0 0 0 2px #071627}
/* tabs: icon + label */
.ptabs{display:flex;gap:0;margin:2px -6px -8px;padding-top:8px;border-top:1px solid rgba(203,221,240,.1)}
.ptabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0 3px;background:none;border:none;cursor:pointer;
  color:rgba(214,230,245,.52);font-family:var(--label);letter-spacing:.02em;text-transform:none}
.ptabs button svg{width:19px;height:19px}
.ptabs button span{font-size:9.5px}
.ptabs button.on{color:var(--green-hi)}
/* bottom sheet */
.pshw{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;justify-content:flex-end;border-radius:46px;overflow:hidden}
.pshb{position:absolute;inset:0;border:none;cursor:pointer;background:rgba(2,9,18,.6);backdrop-filter:blur(2px);animation:pshFade .25s both}
@keyframes pshFade{from{opacity:0}}
.psheet{position:relative;max-height:87%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;
  display:flex;flex-direction:column;gap:12px;padding:8px 16px 24px;
  background:linear-gradient(180deg,#0E2543,#081A30 34%);border:1px solid rgba(203,221,240,.18);border-bottom:none;border-radius:24px 24px 0 0;
  box-shadow:0 -24px 60px -20px rgba(0,0,0,.9);animation:pshUp .34s cubic-bezier(.16,.84,.3,1) both}
.psheet::-webkit-scrollbar{display:none}
@keyframes pshUp{from{transform:translateY(46px);opacity:0}}
@media (prefers-reduced-motion:reduce){.psheet,.pshb{animation:none}}
.psh-grab{width:38px;height:4px;border-radius:2px;background:rgba(203,221,240,.32);margin:2px auto 0;flex:0 0 auto}
/* sheet content */
.pquote{border-radius:16px;padding:13px 14px;background:rgba(255,255,255,.055);border:1px solid rgba(203,221,240,.13)}
.pq-k{font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:rgba(214,230,245,.55)}
.pquote .pq-t{margin-top:7px;font-family:var(--display);font-weight:600;font-size:15.5px;line-height:1.4;letter-spacing:-.015em;color:#F0F6FC}
.pquote .pq-s{margin-top:7px;font-family:var(--label);font-size:10px;color:rgba(214,230,245,.5)}
.pfacts{border-radius:16px;padding:3px 14px;background:rgba(255,255,255,.045);border:1px solid rgba(203,221,240,.11)}
.ptl{display:flex;flex-direction:column;margin-top:-2px}
.ptl-r{display:flex;align-items:flex-start;gap:10px;padding:7px 2px}
.ptl-r+.ptl-r{border-top:1px dashed rgba(203,221,240,.1)}
.ptl-k{flex:0 0 16px;height:16px;margin-top:1px;border-radius:50%;background:rgba(15,158,88,.22);border:1px solid rgba(20,185,104,.5);position:relative}
.ptl-k::after{content:"";position:absolute;left:4.5px;top:3.5px;width:4.5px;height:7px;border:1.6px solid var(--green-hi);border-top:0;border-left:0;transform:rotate(40deg)}
.ptl-r p{flex:1;min-width:0;font-size:13px;line-height:1.4;color:#E3EEF8}
.ptl-r em{flex:0 0 auto;font-style:normal;font-family:var(--label);font-size:10px;font-variant-numeric:tabular-nums;color:rgba(214,230,245,.5);padding-top:2px}
.pbefore{border-radius:14px;padding:11px 13px;background:rgba(143,180,220,.08);border:1px solid rgba(143,180,220,.18)}
.pbefore p:last-child{margin-top:6px;font-size:13px;line-height:1.4;color:#DCE9F5}
.psh-act{display:flex;flex-direction:column;gap:9px;margin-top:2px}
.psh-act .pbtn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.psh-act .pbtn svg{width:16px;height:16px}
.pwrong{background:none;border:none;cursor:pointer;padding:9px 0 2px;
  font-family:var(--label);font-size:11px;letter-spacing:.04em;color:rgba(214,230,245,.55);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(203,221,240,.25)}
.pwrong:hover{color:#fff}
.pwrong-done{padding:9px 0 2px;font-family:var(--label);font-size:11px;line-height:1.5;color:var(--green-hi);text-align:center}
.plink{background:none;border:none;cursor:pointer;padding:2px 0;text-align:left;
  font-family:var(--label);font-size:11.5px;color:var(--ice);letter-spacing:.02em}
.plink:hover{color:#fff}
.prang{font-style:normal;margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--ice);
  border:1px solid rgba(143,180,220,.4);border-radius:99px;padding:4px 8px}
.pplay{display:flex;align-items:center;gap:11px;width:100%;min-height:50px;padding:0 15px;border-radius:14px;cursor:pointer;
  color:#fff;background:rgba(15,158,88,.16);border:1px solid rgba(20,185,104,.42);
  font-family:var(--display);font-weight:700;font-size:14.5px;letter-spacing:-.01em}
.pplay svg{width:16px;height:16px;color:var(--green-hi)}
.pplay em{margin-left:auto;font-style:normal;font-family:var(--label);font-size:11px;font-variant-numeric:tabular-nums;color:rgba(214,230,245,.6)}
.pcard-flat{border-radius:16px;padding:12px 13px;background:rgba(255,255,255,.04);border:1px solid rgba(203,221,240,.1);display:flex;flex-direction:column;gap:10px}
.pcard-flat .pline p{font-size:13px}
/* money on the table */
.pmoney{padding:12px 0 13px;border-bottom:1px solid rgba(203,221,240,.1)}
.pmoney:last-child{border-bottom:none;padding-bottom:2px}
.pm-top{display:flex;align-items:baseline;gap:10px}
.pm-top b{flex:1;min-width:0;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.015em;color:#fff}
.pm-val{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--green-hi);white-space:nowrap}
.pm-job{margin-top:3px;font-size:13px;line-height:1.4;color:#E3EEF8}
.pm-sub{margin-top:4px;font-family:var(--label);font-size:10px;letter-spacing:.03em;color:rgba(214,230,245,.55)}
.pm-act{display:flex;align-items:center;gap:11px;margin-top:10px}
.pm-ring{flex:0 0 auto;width:auto;min-height:38px;padding:0 15px;font-size:13px;border-radius:11px}
.pm-q{background:none;border:none;cursor:pointer;padding:6px 0;
  font-family:var(--label);font-size:10.5px;color:rgba(214,230,245,.6);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(203,221,240,.25)}
.pm-q:hover{color:#fff}
.pm-empty{padding:10px 0 4px;font-size:13px;line-height:1.5;color:rgba(214,230,245,.6)}
/* note ribbon is a button now */
button.pnote-row{width:100%;text-align:left;font:inherit;cursor:pointer;font-size:12.5px;transition:border-color .18s,background .18s}
button.pnote-row:hover{border-color:rgba(20,185,104,.45);background:rgba(15,158,88,.16)}
button.pnote-row em{margin-left:auto;white-space:nowrap}
/* diary strip */
.pstrip{display:flex;gap:5px;padding:1px 0 0}
.pstr{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.045);border:1px solid rgba(203,221,240,.11);transition:border-color .18s,background .18s}
.pstr b{font-family:var(--label);font-size:8.5px;font-weight:500;letter-spacing:.08em;color:rgba(214,230,245,.5)}
.pstr span{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:-.02em;color:#EDF4FA}
.pstr i{display:flex;gap:2.5px;height:4px;margin-top:1px}
.pstr i em{width:4px;height:4px;border-radius:50%;background:var(--green-hi);opacity:.85}
.pstr.on{border-color:rgba(20,185,104,.5);background:rgba(15,158,88,.16)}
.pstr.on b,.pstr.on span{color:#fff}
/* diary group label + rows */
.pgl{display:flex;align-items:baseline;gap:10px;padding:8px 3px 0}
.pgl span{font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
.pgl em{margin-left:auto;font-style:normal;font-family:var(--label);font-size:9.5px;letter-spacing:.06em;color:rgba(214,230,245,.45)}
.pdr{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;font:inherit;color:inherit;
  padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.05);border:1px solid rgba(203,221,240,.1);
  cursor:pointer;transition:border-color .18s,background .18s}
button.pdr:hover{border-color:rgba(20,185,104,.4);background:rgba(15,158,88,.1)}
.pdr.plain{cursor:default}
.pdr-t{flex:0 0 52px;font-family:var(--label);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--green-hi);padding-top:2px}
.pdr.plain .pdr-t{color:rgba(214,230,245,.45)}
.pdr-m{flex:1;min-width:0}
.pdr-m b{display:block;font-size:13.5px;font-weight:600;line-height:1.3;color:#EDF4FA;letter-spacing:-.01em}
.pdr-m p{margin-top:2px;font-size:12px;line-height:1.4;color:rgba(214,230,245,.62)}
.pdr-m i{display:flex;align-items:center;gap:5px;margin-top:4px;font-style:normal;font-family:var(--label);font-size:9.5px;color:rgba(214,230,245,.48)}
.pdr-m i svg{width:11px;height:11px;flex:0 0 auto}
.pdr .pj-b{margin-left:2px}
.pj-b.ua{color:#CBDDF0;border-color:rgba(143,180,220,.35);background:rgba(143,180,220,.1)}
/* add-a-job form */
.pfield label{display:block;font-family:var(--label);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(214,230,245,.55);margin-bottom:6px}
.pfield input{width:100%;min-height:46px;padding:0 13px;border-radius:12px;font-family:var(--body);font-size:14.5px;color:#F2F7FC;
  background:rgba(255,255,255,.06);border:1px solid rgba(203,221,240,.18);-webkit-appearance:none}
.pfield input::placeholder{color:rgba(214,230,245,.38)}
.pfield input:focus{outline:none;border-color:rgba(20,185,104,.55);box-shadow:0 0 0 3px rgba(20,185,104,.14)}
.pfield .pseg{margin-top:0}
/* desktop window */
.dsheet{display:flex;flex-direction:column;gap:13px;max-width:560px}
.dcards .psheet{position:static;max-height:none}
.dcards .pm-job{font-size:14.5px}
.dcards .pdr-m b{font-size:15px}
.dcards .pdr-m p{font-size:13px}
.dcards .ptl-r p{font-size:14px}
.dcards .pquote .pq-t{font-size:17px}
.dbadge{font-style:normal;margin-left:auto;font-family:var(--label);font-size:10px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;
  display:inline-grid;place-items:center;color:var(--green-hi);background:rgba(15,158,88,.16);border:1px solid rgba(20,185,104,.4)}

button.pnote-row{flex-wrap:nowrap}
.pnr-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:#EDF4FA}
button.pnote-row em{flex:0 0 auto}
/* switch sits beside its label */
.pj.psw{grid-template-columns:1fr auto;grid-template-areas:"m s";align-items:center;row-gap:0}
.psw .pj-mid{grid-area:m}
.psw .pswitchbox{grid-area:s}

.purg,.prang{white-space:nowrap;flex:0 0 auto}
.pplay span{flex:1;min-width:0;text-align:left;white-space:nowrap}

/* desktop: single-column cards — the 2-up grid was breaking Home */
.dcards{display:flex!important;flex-direction:column;gap:16px;max-width:660px}
.dcards .pjobs{display:flex!important;flex-direction:column;gap:10px}
.dcards .pj:not(.psw),.dcards .pdr{grid-template-columns:auto 1fr auto auto;grid-template-areas:"t m b g";column-gap:16px;row-gap:0;align-items:center}
.dcards .pdr{display:grid}
.dcards .pdr-t{flex:0 0 auto;grid-area:t}
.dcards .pdr-m{grid-area:m}
.dcards .pdr .pj-b{grid-area:b}
.dcards .pstrip{max-width:520px}

/* audio playing: the equaliser gets a speaker cue */
.plive.sound .pt::after{content:"sound on";margin-left:8px;font-family:var(--label);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-hi);vertical-align:2px}

/* ══ desktop window: fill the width, one clean column of full-width cards ══ */
.dcards{max-width:none!important}
.dcards .pcard{padding:20px 22px 21px;border-radius:18px}
.dcards .pkick{font-size:10.5px}
/* every card fills the window's content column */
.dcards>*{width:100%}
/* next job: text stacks, actions sit side by side underneath */
.dcards .pnext .pbtn{flex:0 0 auto;width:auto;display:inline-flex;white-space:nowrap;min-height:46px;padding:0 26px;margin:16px 10px 0 0}
.dcards .pnext .pbtn-ghost{margin-top:16px}
.dcards .pnext-n{font-size:29px}
.dcards .pnext-d{max-width:58ch}
/* money rows: name + value left, ring button right */
.dcards .pmoney{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center;padding:16px 0 17px}
.dcards .pm-top,.dcards .pm-job,.dcards .pm-sub{grid-column:1}
.dcards .pm-top{gap:14px}
.dcards .pm-val{margin-left:auto}
.dcards .pm-act{grid-column:2;grid-row:1/span 3;flex-direction:column;align-items:flex-end;gap:7px;margin-top:0}
.dcards .pm-ring{min-height:42px;padding:0 20px;font-size:13.5px}
/* rows fill the column */
.dcards .pj,.dcards .pdr{padding:14px 18px;border-radius:14px}
.dcards .pdr-t{flex-basis:74px;font-size:11px}
/* ribbon matches card width and reads as one line */
.dcards .pnote-row{padding:14px 20px;border-radius:14px;font-size:13.5px}
/* bars get the room they deserve */
.dcards .pbar{padding:12px 0}
.dcards .pbar-t{flex-basis:260px}
/* diary strip: proper day cards like the reference */
.dcards .pstrip{max-width:none;gap:9px}
.dcards .pstr{padding:12px 0 11px;border-radius:14px;gap:4px}
.dcards .pstr b{font-size:10px;letter-spacing:.14em}
.dcards .pstr span{font-size:19px}
.dcards .pgl{padding:14px 4px 2px}
.dcards .pgl span{font-size:10.5px}
/* the sheet, on desktop, is a centred panel not a full-width slab */
.dsheet{width:100%;max-width:680px}
.dcards>.pback{margin-bottom:4px}

/* desktop Account: the switch keeps its own two-column template */
.dcards .pj.psw{grid-template-columns:1fr auto;grid-template-areas:"m s";column-gap:24px;align-items:center}
