a,
button,
[role="button"],
summary,
label[for],
label,
input[type="submit"],
input[type="button"],
input[type="checkbox"],
input[type="radio"],
select {
  cursor: pointer !important;
}

/*
  Host sidebar: only the nav list scrolls. Thin thumb on navy so the
  default OS bar doesn't flash a light track down the rail.
*/
.sidebar-scroll {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
  -webkit-overflow-scrolling: touch;
}

.sidebar-scroll::-webkit-scrollbar {
  width: 6px;
}

.sidebar-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.28);
  border-radius: 9999px;
}

.sidebar-scroll::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.45);
}

.sidebar-scroll::-webkit-scrollbar-corner {
  background: transparent;
}

/* Invite-staff phone: match rounded-lg fields. */
#invite-staff-modal form[data-controller~="tel"] .tel-input.iti--separate-dial-code:has(input.h-11) {
  border-radius: 0.5rem;
}

body.pc-public-choice-page{
  --paper:#F6F3EE; --card:#FFFFFF;
  --ink:#1D1D1A; --ink2:#5A5A52; --ink3:#8F8B81;
  --rose:#C2095A; --rose-dark:#A80B50; --rose-light:#FCEEF4; --rose-border:#EFB6D2;
  --gold1:#FEF3CE; --gold2:#FDE8AE; --gold-ink:#8A6A12; --gold-border:#EAD79A; --gold-dash:#D3AE52;
  --green:#2FA24F; --green-deep:#1F8A3E; --green-dark:#238C43; --green-bg:#EAF6EE;
  --indigo:#213A5E; --indigo-soft:#ECEFF9; --indigo-border:#D3DAF0;
  --amber:#DF7E12; --amber-bg:#FCF1E0; --amber-border:#F1CE97;
  --line:#E7E1D7;
  --r-lg:20px; --r-md:15px; --r-sm:12px;
}
.pc-app,.pc-app *{box-sizing:border-box;}
.pc-app *{margin:0;padding:0;}
body.pc-public-choice-page{
  margin:0; -webkit-text-size-adjust:100%; font-family:'Sora',system-ui,-apple-system,sans-serif; color:var(--ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background:var(--paper); min-height:100dvh;
}
/* On tablet/desktop, present the flow as a centred paper column on an ambient field. */
@media (min-width:560px){
  body.pc-public-choice-page{ background:radial-gradient(1100px 760px at 50% -12%, #E7E2D8 0%, #DAD5CA 72%);
    display:flex; align-items:flex-start; justify-content:center; padding:20px 16px; }
}

/* ── App shell: full-bleed on phones, framed column on larger screens ── */
.pc-app{
  width:100%; background:var(--paper); position:relative; overflow:hidden; isolation:isolate;
  min-height:100dvh; font-size:14px;
  padding:
    calc(env(safe-area-inset-top) + 10px)
    calc(env(safe-area-inset-right) + 12px)
    calc(env(safe-area-inset-bottom) + 14px)
    calc(env(safe-area-inset-left) + 12px);
}
@media (min-width:560px){
  .pc-app{
    width:min(100%,404px); min-height:auto; border-radius:24px;
    padding:16px 16px 18px;
    box-shadow:0 30px 70px -30px rgba(30,24,14,.5),0 6px 20px -12px rgba(0,0,0,.25);
    border:1px solid rgba(0,0,0,.06);
  }
}

/* ── Shared top strip ── */
.pc-top{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:7px;}
.pc-brand{display:flex; align-items:center; gap:7px; font-weight:700; font-size:16px; letter-spacing:-.01em; background:none; border:none; color:inherit; font-family:inherit; cursor:default;}
.pc-brand.is-link{cursor:pointer;}
.pc-brand .pin{width:24px;height:24px;border-radius:7px;background:var(--rose);display:flex;align-items:center;justify-content:center;flex:none;}
.pc-step{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.03em; color:var(--ink3);}
.pc-rule{border:none;border-top:1px solid var(--line); margin-bottom:2px;}

/* ── Views (states) ── */
.pc-view{animation:fadeUp .34s cubic-bezier(.22,1,.36,1);}
.pc-view[hidden]{display:none;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── Parcel card ── */
.pc-card{background:var(--card); border-radius:16px; padding:13px; box-shadow:0 12px 30px -20px rgba(30,24,14,.4); border:1px solid #F0ECE3; margin-top:8px;}
.pc-k{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink3); margin-bottom:5px;}
.pc-t{font-weight:700; font-size:17px; letter-spacing:-.02em; line-height:1.18;}
.pc-s{font-size:12.5px; color:var(--ink2); margin-top:3px; line-height:1.35;}
.pc-dash{border:none; border-top:1.5px dashed #DAD5C9; margin:10px 0;}

/* far card (see how far) */
.pc-far{width:100%; text-align:left; font-family:inherit; cursor:pointer;
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; background:var(--indigo-soft); border:1px solid var(--indigo-border);
  border-radius:12px; padding:10px 11px; transition:transform .18s, box-shadow .18s;}
.pc-far:hover{transform:translateY(-1px); box-shadow:0 8px 20px -12px rgba(33,58,94,.35);}
.pc-far:active{transform:scale(.99);}
.pc-far .ic{display:flex; align-items:center; justify-content:center;}
.pc-far .ic svg{animation:bob 2.4s ease-in-out infinite; display:block;}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.pc-far .tx{display:block; min-width:0;}
.pc-far .tx .a{display:block; font-weight:700; font-size:13px; color:var(--indigo); line-height:1.25;}
.pc-far .tx .b{display:block; font-size:11px; color:var(--ink2); margin-top:2px; line-height:1.35;}
.pc-far .ch{margin-left:auto; color:var(--indigo); font-size:20px; flex:none; transition:transform .2s;}
.pc-far[aria-expanded="true"] .ch{transform:rotate(90deg);}

.pc-reveal{max-height:0; overflow:hidden; transition:max-height .55s cubic-bezier(.22,1,.36,1);}
.pc-reveal.open{max-height:720px; margin-top:12px;}
.pc-revwrap{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:13px; box-shadow:0 10px 26px -18px rgba(28,20,10,.4);}
.pc-locating{display:flex; flex-direction:column; align-items:center; padding:16px 0 14px;}
.pc-radar{position:relative; width:54px; height:54px; margin-bottom:11px;}
.pc-radar .core{position:absolute; inset:22px; border-radius:50%; background:var(--rose);}
.pc-radar .ring{position:absolute; inset:0; border-radius:50%; border:2px solid var(--rose); opacity:0; animation:ping 1.6s ease-out infinite;}
.pc-radar .ring:nth-child(2){animation-delay:.5s;} .pc-radar .ring:nth-child(3){animation-delay:1s;}
@keyframes ping{0%{transform:scale(.35);opacity:.7}100%{transform:scale(1);opacity:0}}
.pc-locating .l1{font-weight:600; font-size:13.5px;} .pc-locating .l2{font-size:12px; color:var(--ink3); margin-top:2px;}
.pc-location-retry{margin-top:11px; border:1px solid var(--line); border-radius:9px; background:var(--card); color:var(--rose); padding:7px 12px; font-family:inherit; font-size:11.5px; font-weight:700; cursor:pointer;}
.pc-location-retry:hover{background:var(--rose-light);}
.pc-location-retry:focus-visible{outline:2px solid var(--rose); outline-offset:2px;}
.pc-rhead{opacity:0; transform:translateY(6px); transition:.4s;} .pc-rhead.in{opacity:1; transform:none;}
.pc-rhead .big{font-weight:700; font-size:19px; letter-spacing:-.02em;} .pc-rhead .big em{font-style:normal; color:var(--rose);}
.pc-rhead .sub{font-size:12px; color:var(--ink2); margin-top:3px; display:flex; align-items:center; gap:6px;}
.pc-rhead .sub .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;}
.pc-frict{margin-top:11px; background:var(--amber-bg); border:1px solid var(--amber-border); border-radius:var(--r-sm); padding:10px 6px 11px; opacity:0; transform:translateY(8px); transition:.45s;}
.pc-frict.in{opacity:1; transform:none;}
.pc-frict .fh{text-align:center; font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); font-weight:600; margin-bottom:9px;}
.pc-frow{display:flex; align-items:center; justify-content:space-around;}
.pc-fs{display:flex; flex-direction:column; align-items:center; gap:1px; flex:1;}
.pc-fs .fi{font-size:15px;} .pc-fs .fv{font-size:16px; font-weight:700; letter-spacing:-.02em; margin-top:2px;} .pc-fs .fl{font-size:10px; color:var(--ink3);}
.pc-fdiv{width:1px; height:34px; background:var(--amber-border); flex:none;}
.pc-pitch{position:relative; margin-top:11px; border-radius:13px; overflow:hidden; padding:13px 15px; background:linear-gradient(158deg,var(--gold1) 0%,var(--gold2) 100%); border:1px solid var(--gold-border); box-shadow:0 8px 20px -14px rgba(231,164,0,.6); opacity:0; transform:translateY(10px); transition:.5s;}
.pc-pitch.in{opacity:1; transform:none;}
.pc-pitch::after{content:"";position:absolute;top:-40%;right:-8%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.6),rgba(255,255,255,0) 70%);}
.pc-pitch .pe{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;position:relative;z-index:2;}
.pc-pitch .ph{font-weight:700;font-size:16px;letter-spacing:-.01em;margin-top:4px;position:relative;z-index:2;}
.pc-pitch .pl{font-size:12.5px;color:var(--ink2);margin-top:3px;position:relative;z-index:2;} .pc-pitch .pl b{color:var(--ink);}
.pc-pbul{display:flex;gap:6px;margin-top:10px;position:relative;z-index:2;flex-wrap:wrap;}
.pc-pbul span{font-size:11px;font-weight:600;color:var(--green-deep);background:rgba(255,255,255,.7);border:1px solid var(--gold-border);padding:4px 9px;border-radius:20px;}

/* ── choose ── */
.pc-choose{text-align:center; font-weight:600; font-size:14px; margin:12px 0 8px; color:var(--ink);}
.pc-cta{position:relative; width:100%; text-align:center; font-family:inherit; cursor:pointer; border:none;
  background:linear-gradient(180deg,#D01462 0%,var(--rose) 55%,var(--rose-dark) 100%); color:#fff; font-weight:700; font-size:15.5px; min-height:50px; padding:0 14px; border-radius:13px; text-decoration:none;
  display:flex; align-items:center; justify-content:center; gap:8px;
  box-shadow:0 14px 28px -12px rgba(194,9,90,.7), inset 0 1px 0 rgba(255,255,255,.2); transition:filter .18s, transform .18s;}
.pc-cta:hover{filter:brightness(1.04); transform:translateY(-1px);} .pc-cta:active{transform:scale(.99);}
.pc-cta.pulse{animation:pulse 1.9s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 14px 28px -12px rgba(194,9,90,.7),0 0 0 0 rgba(194,9,90,.35),inset 0 1px 0 rgba(255,255,255,.2)}50%{box-shadow:0 14px 28px -12px rgba(194,9,90,.7),0 0 0 9px rgba(194,9,90,0),inset 0 1px 0 rgba(255,255,255,.2)}}
.pc-ribbon{position:absolute; top:-9px; right:14px; background:#FDCB58; color:var(--gold-ink); font-size:9.5px; font-weight:700; padding:3px 9px; border-radius:20px; box-shadow:0 3px 8px -3px rgba(231,164,0,.9); opacity:0; transform:translateY(4px) scale(.9); transition:.4s;}
.pc-ribbon.in{opacity:1; transform:none;}
.pc-alt{width:100%; min-height:44px; text-align:center; font-family:inherit; cursor:pointer; margin-top:8px; background:var(--card); color:var(--ink); font-weight:700; font-size:14px; padding:0 14px; border-radius:13px; border:1px solid #E6E1D7; text-decoration:none; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px -14px rgba(0,0,0,.4); transition:background .15s;}
.pc-alt:hover{background:#FBF9F5;}
.pc-note{text-align:center; font-size:11.5px; color:var(--ink3); margin-top:8px; line-height:1.45; padding-inline:4px;}

/* ── section heading ── */
.pc-h{font-weight:700; font-size:18px; letter-spacing:-.02em; line-height:1.2; margin:8px 0 10px;}

/* ── collect (walk-in) ── */
.pc-badge{display:flex; justify-content:center; margin-bottom:10px;}
.pc-badge span{background:var(--green-bg); color:var(--green-deep); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:5px 13px; border-radius:20px;}
.pc-hero{background:var(--indigo); border-radius:16px; padding:14px; color:#fff; text-align:center; margin-bottom:10px;}
.pc-hero h2{font-weight:700; font-size:16px; letter-spacing:-.01em; display:flex; align-items:center; justify-content:center; gap:7px;}
.pc-hero p{color:#AEC1DC; font-size:12.5px; margin-top:3px; line-height:1.45;}
.pc-facts{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:6px 16px; margin-bottom:10px;}
.pc-fact{display:grid; grid-template-columns:74px 1fr; gap:12px; padding:9px 0;}
.pc-fact + .pc-fact{border-top:1px solid #F1EDE4;}
.pc-fact .fk{color:var(--ink3); font-weight:600; font-size:12px;}
.pc-fact .fvv{color:var(--ink); font-weight:600; font-size:13px; line-height:1.35;}
.pc-duo{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;}
.pc-btn{font-family:inherit; cursor:pointer; font-weight:700; font-size:14px; padding:13px; border-radius:13px; text-align:center; transition:.15s; border:1px solid transparent; text-decoration:none; display:block;}
.pc-btn.solid{background:var(--indigo); color:#fff;} .pc-btn.solid:hover{background:#182B47;}
.pc-btn.ghost{background:var(--card); color:var(--ink); border-color:#E6E1D7;} .pc-btn.ghost:hover{background:#FBF9F5;}
.pc-btn.disabled{background:#F1EEE8; color:var(--ink3); cursor:not-allowed;}
.pc-convert{width:100%; background:var(--rose-light); border:1.5px solid var(--rose-border); border-radius:13px; padding:12px; text-align:center; cursor:pointer; font-family:inherit; transition:.15s;}
.pc-convert:hover{border-color:var(--rose);}
.pc-convert b{color:var(--rose); font-weight:700; font-size:14px;}

/* ── checkout ── */
.pc-field{display:flex; align-items:center; gap:10px; min-height:50px; background:var(--card); border:1px solid #E6E1D7; border-radius:12px; padding:0 12px; margin-bottom:8px; box-shadow:0 6px 16px -16px rgba(0,0,0,.4);}
.pc-field .mk{color:var(--rose); flex:none; display:flex;}
.pc-field input{flex:1; min-width:0; border:none; outline:none; background:none; font-family:inherit; font-size:15px; font-weight:600; color:var(--ink); padding:13px 0;}
.pc-field input::placeholder{color:var(--ink3); font-weight:500;}
.pc-field-clear{width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#F0ECE5;color:var(--ink2);cursor:pointer;font-family:inherit;transition:background .15s,color .15s,transform .15s;}
.pc-field-clear[hidden]{display:none;}
.pc-field-clear:hover{background:#E5DED3;color:var(--ink);}
.pc-field-clear:active{transform:scale(.94);}
.pc-field-clear:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
.pc-address-confirm{margin-bottom:8px;border:1px solid var(--indigo-border);border-radius:14px;background:linear-gradient(145deg,#F8FAFF,var(--indigo-soft));padding:13px;box-shadow:0 8px 22px -18px rgba(33,58,94,.55);}
.pc-address-confirm__icon{width:34px;height:34px;border-radius:11px;background:var(--card);color:var(--rose);display:flex;align-items:center;justify-content:center;float:left;margin-right:10px;box-shadow:0 5px 14px -10px rgba(0,0,0,.45);}
.pc-address-confirm__body{min-width:0;overflow:hidden;}
.pc-address-confirm__eyebrow{font-family:'JetBrains Mono',monospace;font-size:8.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:#667792;font-weight:700;}
.pc-address-confirm__title{font-size:14px;line-height:1.3;font-weight:800;color:var(--indigo);margin-top:3px;}
.pc-address-confirm__address{font-size:12px;line-height:1.45;color:var(--ink2);margin-top:4px;overflow-wrap:anywhere;}
.pc-address-confirm__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;clear:both;padding-top:12px;}
.pc-address-confirm__actions button{min-height:38px;border-radius:10px;padding:8px 9px;font-family:inherit;font-size:11.5px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;}
.pc-address-confirm__actions button:active{transform:scale(.99);}
.pc-address-confirm__primary{border:1px solid var(--rose);background:var(--rose);color:#fff;}
.pc-address-confirm__primary:hover{background:var(--rose-dark);border-color:var(--rose-dark);}
.pc-address-confirm__primary:disabled{cursor:wait;background:#D6D9E0;border-color:#D6D9E0;color:#737A86;}
.pc-address-confirm__secondary{border:1px solid #D8DFEC;background:var(--card);color:var(--indigo);}
.pc-address-confirm__secondary:hover{background:#F8FAFD;border-color:#BFCBE0;}
.pc-address-confirm__actions button:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
.pc-tiers{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-bottom:8px;}
.pc-tier{min-height:48px; background:var(--card); border:1.5px solid #E6E1D7; border-radius:12px; padding:6px 3px; text-align:center; cursor:pointer; transition:.15s; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;}
.pc-tier .tt{font-weight:700; font-size:13px;} .pc-tier .tm{font-size:10.5px; color:var(--ink3); margin:0; white-space:nowrap;}
.pc-tier.on{border-color:var(--rose); border-width:2px; background:var(--rose-light);} .pc-tier.on .tm{color:var(--rose);}
/* real radio-driven tiers (no JS): checked radio styles its sibling card */
.pc-tierwrap{display:block; cursor:pointer;}
.pc-tier-radio{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;}
.pc-tier-radio:checked + .pc-tier{border-color:var(--rose); border-width:2px; background:var(--rose-light);}
.pc-tier-radio:checked + .pc-tier .tm{color:var(--rose);}
.pc-tier-radio:focus-visible + .pc-tier{outline:2px solid var(--rose); outline-offset:2px;}

.pc-band{position:relative; border-radius:14px; padding:12px; background:linear-gradient(158deg,var(--gold1),var(--gold2)); border:1px solid var(--gold-border); margin-bottom:8px; overflow:hidden; box-shadow:0 6px 20px -14px rgba(231,164,0,.55);}
.pc-band::after{content:"";position:absolute;top:-40%;right:-8%;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);pointer-events:none;}
.pc-band .top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; position:relative; z-index:2;}
.pc-band .gl{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); font-weight:700;}
.pc-band .gs{display:flex; align-items:center; gap:6px; font-size:12px; color:#8F7A38; margin-top:6px;}
.pc-band .tick{width:15px;height:15px;border-radius:50%;background:var(--green);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.pc-band .price{text-align:right;}
.pc-band .oldp{font-size:13px; color:var(--ink3); text-decoration:line-through; height:16px;}
.pc-band .gp{font-weight:700; font-size:22px; letter-spacing:-.02em; line-height:1;}
.pc-band .gp .gk{font-size:14px; color:var(--ink2); font-weight:600;}

/* pay_on_delivery — trip fee is settled at the door, not here. */
.pc-pod{border-radius:14px; padding:13px; background:linear-gradient(158deg,var(--gold1),var(--gold2)); border:1px solid var(--gold-border);}
.pc-pod .podh{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.pc-pod .podh .ttl{font-weight:700; font-size:14px;}
.pc-pod .podh .amt{font-weight:700; font-size:18px; white-space:nowrap;}
.pc-pod .podp{font-size:12.5px; color:var(--ink2); line-height:1.5; margin:7px 0 11px;}
.pc-pod .podbtn{width:100%; min-height:48px; background:var(--rose); color:#fff; font-weight:700; font-size:15px; text-align:center; border:none; border-radius:11px; padding:0 12px; font-family:inherit; cursor:pointer;}
.pc-pod .podbtn:disabled{opacity:.55; cursor:not-allowed;}

/* covered — nothing for the receiver to pay; just confirm the address. */
.pc-coveredbox{border-radius:14px; padding:14px; background:var(--green-bg); border:1px solid rgba(47,162,79,.28);}
.pc-coveredbox .cvh{display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; color:var(--green-deep);}
.pc-coveredbox .cvh .tick{width:19px;height:19px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none;}
.pc-coveredbox .cvp{font-size:12.5px; color:var(--ink2); line-height:1.5; margin:8px 0 12px;}
.pc-coveredbox .cvbtn{width:100%; min-height:48px; background:var(--rose); color:#fff; font-weight:700; font-size:15px; text-align:center; border:none; border-radius:11px; padding:0 12px; font-family:inherit; cursor:pointer;}
.pc-coveredbox .cvbtn:disabled{opacity:.55; cursor:not-allowed;}
.pc-pindrop{position:relative; z-index:2; margin-top:9px; width:100%; text-align:left; font-family:inherit; cursor:pointer; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.62); border:1.5px dashed var(--gold-dash); border-radius:11px; padding:10px; transition:transform .18s, background .18s, box-shadow .18s;}
.pc-pindrop:hover{background:rgba(255,255,255,.92); transform:translateY(-1px); box-shadow:0 6px 16px -10px rgba(231,164,0,.7);}
.pc-pindrop:active{transform:scale(.99);}
.pc-pindrop .gi{width:36px;height:36px;border-radius:10px;background:var(--rose);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 3px 8px -2px rgba(194,9,90,.5);}
.pc-pindrop .gi svg{animation:bob 2.4s ease-in-out infinite;display:block;}
.pc-pindrop .gtxt{font-size:12px; color:var(--ink2); line-height:1.35; min-width:0;}
.pc-pindrop .gtxt b{font-size:13.5px; font-weight:700; color:var(--ink); display:block; margin-bottom:1px;}
.pc-pindrop .gg{margin-left:auto; color:var(--rose); font-weight:700; font-size:19px; flex:none; padding-left:4px; align-self:center;}
.pc-spot{display:none; align-items:center; gap:9px; margin-top:12px; position:relative; z-index:2; background:rgba(255,255,255,.82); border:1px solid var(--gold-border); border-radius:12px; padding:10px 12px;}
.pc-spot.show{display:flex; animation:pop .4s cubic-bezier(.2,1.3,.5,1);}
.pc-spot .smk{color:var(--rose); flex:none; display:flex;}
.pc-spot > span:nth-child(2){min-width:0;}
.pc-spot .s1{font-size:12.5px; font-weight:700;} .pc-spot .s2{font-size:11.5px; color:var(--ink2); margin-top:1px; overflow-wrap:anywhere;}
.pc-spot .sedit{margin-left:auto; flex:none; border:none; background:none; padding:6px 4px; font-family:inherit; font-size:11.5px; font-weight:700; color:var(--rose); cursor:pointer; border-radius:7px;}
.pc-spot .sedit:hover{background:var(--rose-light);}
.pc-spot .sedit:focus-visible{outline:2px solid var(--rose);outline-offset:1px;}
@keyframes pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}

.pc-mpesa{background:linear-gradient(165deg,#3AA95C 0%,var(--green) 55%,var(--green-dark) 100%); border-radius:15px; padding:12px; color:#fff; box-shadow:0 16px 30px -18px rgba(31,138,62,.9);}
.pc-mpesa .h{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
.pc-mpesa .h .ttl{font-weight:700; font-size:15px;}
.pc-mpesa .h .stk{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.03em; background:rgba(255,255,255,.2); padding:4px 10px; border-radius:20px;}
.pc-mpesa input{width:100%; min-height:48px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.34); border-radius:10px; padding:0 12px; font-family:inherit; font-size:15px; letter-spacing:.04em; color:#fff; margin-bottom:10px;}
.pc-mpesa input::placeholder{color:rgba(255,255,255,.65);}
/* M-Pesa phone: separated country (flag + dial code) then number */
.pc-phone{display:flex; gap:7px; margin-bottom:8px; position:relative;}
.pc-phone .cc{display:flex; align-items:center; gap:6px; flex:none; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.34); border-radius:10px; padding:0 10px; color:#fff; font-family:inherit; font-size:15px; font-weight:600; cursor:pointer;}
.pc-phone .cc .fl{font-size:18px; line-height:1;}
.pc-phone .cc .cr{opacity:.7; font-size:10px; margin-left:1px;}
.pc-phone input{flex:1; width:auto; min-width:0; margin-bottom:0; letter-spacing:.08em;}
.pc-ccmenu{position:absolute; top:calc(100% + 6px); left:0; z-index:20; background:#fff; color:var(--ink); border-radius:12px; box-shadow:0 18px 40px -16px rgba(0,0,0,.4); overflow:hidden; min-width:220px; display:none;}
.pc-ccmenu.open{display:block; animation:fadeUp .18s ease;}
.pc-ccmenu button{display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:none; border:none; padding:11px 13px; font-family:inherit; font-size:14px; cursor:pointer; color:var(--ink);}
.pc-ccmenu button + button{border-top:1px solid #F1EDE4;}
.pc-ccmenu button:hover{background:#F6F3EE;}
.pc-ccmenu .fl{font-size:18px;} .pc-ccmenu .nm{font-weight:600;}
.pc-ccmenu .dc{margin-left:auto; color:var(--ink3); font-family:'JetBrains Mono',monospace; font-size:12.5px;}
.pc-paybtn{width:100%; min-height:48px; background:#fff; color:var(--green-deep); font-weight:700; font-size:15px; text-align:center; border:none; border-radius:10px; padding:0 12px; cursor:pointer; font-family:inherit;}
.pc-quotehint{min-height:38px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:11.5px; color:var(--ink3); padding:10px 8px; line-height:1.45;}
.pc-quotehint.calc{color:var(--rose); font-weight:600;}
.pc-paycluster{animation:fadeUp .34s cubic-bezier(.22,1,.36,1);}
.pc-farhost{margin-bottom:8px;}
.pc-free{text-align:center; margin-top:12px;}
.pc-free .fl1{color:var(--rose); font-weight:700; font-size:14px; cursor:pointer; background:none; border:none; font-family:inherit;}
.pc-free .fl2{font-size:11.5px; color:var(--ink3); margin-top:5px; line-height:1.45; padding:0 4px;}

/* ── doorstep payment success + live tracking ── */
.pc-doorstep{
  overflow:hidden;
  border-top:1px solid var(--line);
  background:var(--paper);
}
.pc-doorstep-panel{
  width:100%;
  max-width:430px;
  margin:0 auto;
  padding:16px 2px 6px;
}
.pc-doorstep-success{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.pc-success{text-align:center; padding:0 4px;}
.pc-checkcircle{
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--green-bg);
  color:var(--green-deep);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 10px;
}
.pc-checkcircle svg{width:28px;height:28px;display:block;}
.pc-success-h{
  max-width:380px;
  margin:0 auto;
  font-weight:700;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.pc-success-p{
  max-width:370px;
  margin:5px auto 0;
  padding:0 6px;
  color:var(--ink2);
  font-size:12.5px;
  line-height:1.5;
  font-weight:500;
  text-wrap:pretty;
}
.pc-codecard{
  border-radius:17px;
  padding:17px 18px 16px;
  text-align:center;
  margin:14px 0 10px;
  box-shadow:0 14px 28px -22px rgba(18,38,66,.8);
}
.pc-codecard.navy{background:var(--indigo);color:#fff;}
.pc-codecard.light{background:var(--card);border:1px solid var(--line);}
.pc-codecard .lab{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
  color:#C8D2E5;
}
.pc-codecard.light .lab{color:var(--ink3);}
.pc-codecard .val{
  margin:8px 0 7px;
  padding-left:.16em;
  font-family:'JetBrains Mono',monospace;
  font-size:42px;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  color:#CCFF00;
}
.pc-codecard .val.rose{color:var(--rose);}
.pc-codecard .hint{
  max-width:300px;
  margin:0 auto;
  color:#D5DDEC;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}
.pc-codecard.light .hint{color:var(--ink3);}
.pc-btn.rose{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  border-color:var(--rose);
  background:var(--rose);
  color:#fff;
  box-shadow:0 12px 24px -18px rgba(194,9,90,.95);
}
.pc-btn.rose:hover{background:var(--rose-dark);border-color:var(--rose-dark);}
.pc-btn.rose:focus-visible,
.pc-doorstep-back:focus-visible{
  outline:3px solid rgba(194,9,90,.22);
  outline-offset:2px;
}
.pc-track-action{font-size:15px;}
.pc-doorstep-foot{
  max-width:360px;
  margin:8px auto 0;
  padding:0 8px;
  color:var(--ink3);
  font-size:11.5px;
  font-weight:500;
  line-height:1.45;
  text-align:center;
  text-wrap:pretty;
}

.pc-doorstep-live{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:12px;
}
.pc-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 1px;
}
.pc-live-eyebrow{
  margin-bottom:2px;
  color:var(--ink3);
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.pc-live-head h1{
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.025em;
}
.pc-live-count{
  display:flex;
  align-items:center;
  gap:6px;
  flex:none;
  border:1px solid var(--rose-border);
  border-radius:999px;
  background:var(--rose-light);
  padding:6px 9px;
  color:var(--rose-dark);
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  font-weight:700;
}
.pc-live-count .live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--rose);
  box-shadow:0 0 0 0 rgba(194,9,90,.45);
  animation:beat 1.8s ease-out infinite;
}
@keyframes beat{
  0%{box-shadow:0 0 0 0 rgba(194,9,90,.42)}
  70%{box-shadow:0 0 0 7px rgba(194,9,90,0)}
  100%{box-shadow:0 0 0 0 rgba(194,9,90,0)}
}
.pc-runner{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:10px 11px;
  border:1px solid var(--rose-border);
  border-radius:14px;
  background:linear-gradient(135deg,#FFF8FB,var(--rose-light));
}
.pc-runner .av{
  width:38px;
  height:38px;
  border-radius:12px;
  background:var(--rose);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}
.pc-runner-copy{min-width:0;}
.pc-runner .rn{
  overflow:hidden;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pc-runner .rn span{color:#B87800;white-space:nowrap;}
.pc-runner .rs{
  margin-top:2px;
  color:var(--rose);
  font-size:11px;
  font-weight:600;
  line-height:1.3;
}
.pc-timeline-card{
  padding:13px 13px 10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--card);
  box-shadow:0 12px 28px -25px rgba(30,24,14,.5);
}
.pc-timeline{
  position:relative;
  margin:0;
  padding-left:29px;
}
.pc-timeline::before{
  content:"";
  position:absolute;
  left:9px;
  top:9px;
  bottom:10px;
  width:2px;
  border-radius:2px;
  background:#E8E3D9;
}
.pc-tstep{
  position:relative;
  min-height:44px;
  padding:0 0 11px 2px;
}
.pc-tstep:last-child{min-height:22px;padding-bottom:0;}
.pc-tstep .node{
  position:absolute;
  z-index:1;
  left:-29px;
  top:0;
  width:20px;
  height:20px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--card);
}
.pc-tstep.done .node{
  background:var(--green-deep);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.pc-tstep.now .node{
  border:2px solid var(--rose);
  background:#fff;
  box-shadow:0 0 0 4px var(--rose-light);
}
.pc-tstep.now .node i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--rose);
}
.pc-tstep.todo .node{border:2px solid #DAD5CB;background:#F4F2ED;}
.pc-tstep .tl{
  padding-top:1px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}
.pc-tstep.todo .tl{color:var(--ink3);}
.pc-tstep .tsub{
  margin-top:2px;
  color:var(--ink3);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  line-height:1.35;
}
.pc-reassure{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 11px;
  border:1px solid #F0D88A;
  border-radius:14px;
  background:#FFF9E7;
}
.pc-reassure-icon{
  width:24px;
  height:24px;
  border-radius:8px;
  background:#FFE9A8;
  color:#8A5A00;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  font-size:12px;
}
.pc-reassure p{
  color:#76520E;
  font-size:11.5px;
  font-weight:500;
  line-height:1.45;
}
.pc-doorstep-back{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
  color:var(--ink2);
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.pc-doorstep-back:hover{background:#FBF9F5;color:var(--ink);}

@media (max-width:359px){
  .pc-doorstep-panel{padding-top:12px;}
  .pc-success-h{font-size:16.5px;}
  .pc-success-p{font-size:11.5px;}
  .pc-codecard{padding:15px 12px 14px;}
  .pc-codecard .val{font-size:36px;}
  .pc-codecard .hint{font-size:11px;}
  .pc-live-head h1{font-size:16.5px;}
  .pc-runner .rn{font-size:12px;}
}

/* ── pin-drop sheet ── */
.pc-scrim{position:fixed; inset:0; background:rgba(20,14,6,.44); opacity:0; pointer-events:none; transition:.28s; z-index:70;}
.pc-scrim.show{opacity:1; pointer-events:auto;}
.pc-sheet{position:fixed; left:50%; bottom:0; width:min(100%,440px); transform:translateX(-50%) translateY(103%); z-index:80; background:var(--paper); border-radius:26px 26px 0 0; transition:transform .42s cubic-bezier(.22,1,.36,1); box-shadow:0 -18px 50px -20px rgba(0,0,0,.4); max-height:94dvh; overflow-y:auto; padding-bottom:calc(env(safe-area-inset-bottom) + 6px);}
.pc-sheet.show{transform:translateX(-50%) translateY(0);}
.pc-grab{width:40px;height:5px;border-radius:3px;background:#D9D2C6;margin:9px auto 4px;}
.pc-sheet-h{padding:4px 20px 10px; display:flex; align-items:center; justify-content:space-between;}
.pc-sheet-h .t{font-weight:700; font-size:17px;}
.pc-sheet-h .x{font-size:20px; color:var(--ink3); cursor:pointer; line-height:1; padding:4px; background:none; border:none;}
.pc-sheet-sub{padding:0 20px 12px; font-size:12.5px; color:var(--ink2); line-height:1.5;}
.pc-sheet-sub b{color:var(--rose); font-weight:600;}
.pc-map{position:relative; height:260px; margin:0 16px; border-radius:16px; overflow:hidden; touch-action:none; background:linear-gradient(135deg,#EDEAE2,#E4E9E2); border:1px solid var(--line); cursor:grab;}
.pc-map:active{cursor:grabbing;}
.pc-mgrid{position:absolute; inset:0; background-image:linear-gradient(rgba(120,120,110,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(120,120,110,.09) 1px,transparent 1px); background-size:26px 26px;}
.pc-mroad{position:absolute; background:#F7F5EF; box-shadow:0 0 0 1px rgba(120,120,110,.1);}
.pc-mroad.ra{top:100px;left:-10px;right:-10px;height:15px;transform:rotate(-4deg);}
.pc-mroad.rb{top:0;bottom:0;left:64%;width:13px;transform:rotate(6deg);}
.pc-link{position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:3;}
.pc-link line{stroke:var(--rose); stroke-width:2; stroke-dasharray:5 5; opacity:.6;}
.pc-kmtag{position:absolute; z-index:4; transform:translate(-50%,-50%); background:var(--ink); color:#fff; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; padding:3px 8px; border-radius:20px; white-space:nowrap; pointer-events:none;}
.pc-station{position:absolute; z-index:4; transform:translate(-50%,-100%); pointer-events:none; text-align:center;}
.pc-station .dot{width:16px;height:16px;border-radius:50%;background:var(--indigo);border:3px solid #fff;box-shadow:0 3px 7px rgba(0,0,0,.3);margin:0 auto;}
.pc-station .lbl{margin-top:3px; font-size:9.5px; font-weight:600; color:var(--indigo); background:rgba(255,255,255,.85); padding:1px 6px; border-radius:6px; white-space:nowrap;}
.pc-mappin{position:absolute; z-index:6; transform:translate(-50%,-100%); cursor:grab; will-change:left,top;}
.pc-mappin.drag{cursor:grabbing;}
.pc-mappin .pulse{position:absolute; left:50%; top:100%; width:26px; height:12px; transform:translate(-50%,-2px); background:radial-gradient(ellipse,rgba(194,9,90,.28),rgba(194,9,90,0) 70%);}
.pc-mappin svg{display:block; filter:drop-shadow(0 5px 6px rgba(0,0,0,.32));}
.pc-hint{position:absolute; z-index:7; left:50%; bottom:12px; transform:translateX(-50%); background:rgba(20,14,6,.82); color:#fff; font-size:11px; font-weight:500; padding:6px 12px; border-radius:20px; white-space:nowrap; transition:.3s;}
.pc-hint.hide{opacity:0;}
.pc-readout{margin:13px 16px 0; display:flex; gap:10px;}
.pc-rd-addr{flex:1; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 12px;}
.pc-rd-addr .rk,.pc-rd-price .rk{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink3);}
.pc-rd-addr .rv{font-size:12.5px; font-weight:600; margin-top:3px; line-height:1.3;}
.pc-rd-price{width:130px; flex:none; border-radius:12px; padding:10px 12px; text-align:right; border:1px solid var(--gold-border); background:linear-gradient(160deg,var(--gold1),var(--gold2)); transition:box-shadow .25s;}
.pc-rd-price .rk{color:var(--gold-ink);}
.pc-rd-price .rv{font-size:20px; font-weight:700; margin-top:2px; letter-spacing:-.02em;}
.pc-rd-price .rd{font-size:11px; font-weight:600; margin-top:1px; height:14px;}
.pc-rd-price .rd.down{color:var(--green-deep);} .pc-rd-price .rd.up{color:#B4431C;}
.pc-rd-price.flash{box-shadow:0 0 0 3px rgba(253,203,88,.6);}
.pc-noteblk{margin:12px 16px 0;}
.pc-noteblk .lab{font-size:12.5px; font-weight:600; margin-bottom:7px;}
.pc-noteblk .lab span{color:var(--ink3); font-weight:400;}
.pc-chips{display:flex; gap:7px; flex-wrap:wrap;}
.pc-chip{font-size:12px; font-weight:500; padding:7px 11px; border-radius:20px; background:var(--card); border:1px solid var(--line); cursor:pointer; transition:.15s;}
.pc-chip.on{background:var(--indigo); color:#fff; border-color:var(--indigo);}
.pc-notefield{margin-top:9px; width:100%; border:1px solid var(--line); border-radius:11px; padding:10px 12px; font-family:inherit; font-size:13px; color:var(--ink); background:var(--card); resize:none;}
.pc-confirm{margin:14px 16px 8px; display:flex; gap:10px;}
.pc-confirm .cancel{flex:none; width:104px; text-align:center; padding:14px; border-radius:13px; border:1px solid var(--line); background:var(--card); font-weight:600; font-size:14px; color:var(--ink2); cursor:pointer; font-family:inherit;}
.pc-confirm .ok{flex:1; text-align:center; padding:14px; border-radius:13px; background:var(--rose); color:#fff; font-weight:700; font-size:14.5px; cursor:pointer; box-shadow:0 8px 20px -10px rgba(194,9,90,.8); border:none; font-family:inherit;}

/* ── toast + confetti ── */
.pc-toast{position:fixed; z-index:90; left:50%; transform:translateX(-50%) translateY(180%); bottom:calc(env(safe-area-inset-bottom) + 18px); width:min(410px,calc(100% - 32px));
  background:var(--ink); color:#fff; border-radius:14px; padding:13px 15px; display:flex; align-items:center; gap:11px; opacity:0; transition:.42s cubic-bezier(.2,1,.4,1);}
.pc-toast.show{transform:translateX(-50%) translateY(0); opacity:1;}
.pc-toast .tk{width:28px;height:28px;border-radius:8px;background:var(--green);display:flex;align-items:center;justify-content:center;flex:none;}
.pc-toast .m1{font-size:13px;font-weight:600;} .pc-toast .m2{font-size:11.5px;color:rgba(255,255,255,.7);margin-top:1px;}
.pc-toast .code{font-family:'JetBrains Mono',monospace;color:#CCFF00;font-weight:600;letter-spacing:.06em;}
.pc-confetti{position:fixed; inset:0; z-index:95; pointer-events:none; overflow:hidden;}
.pc-petal{position:absolute; top:-14px; width:9px; height:13px; border-radius:2px;}

/* ── directions dialog (simplified real map placeholder) ── */
.pc-dialog{border:none; padding:0; border-radius:20px; width:min(100%,420px); max-width:calc(100% - 24px); box-shadow:0 30px 80px -30px rgba(0,0,0,.6);}
.pc-dialog::backdrop{background:rgba(20,14,6,.55);}
.pc-dialog .dh{display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--line);}
.pc-dialog .dh h2{font-weight:700; font-size:16px;} .pc-dialog .dh p{font-size:12.5px; color:var(--ink3); margin-top:2px;}
.pc-dialog .dx{width:36px;height:36px;border-radius:50%;background:#F1EEE8;border:none;font-size:18px;cursor:pointer;color:var(--ink2);}
.pc-dialog .dmap{height:300px; margin:14px; border-radius:16px; background:linear-gradient(135deg,#EDEAE2,#E4E9E2); border:1px solid var(--line); position:relative; overflow:hidden;}
.pc-dialog .dnav{display:block; margin:0 14px 16px; text-align:center; background:var(--indigo); color:#fff; font-weight:700; padding:15px; border-radius:14px; text-decoration:none;}

/* preview-only state jumper */

/* directions dialog body + real map, and pin-drop refine map */
.pc-dialog-body{padding:14px;}
.pc-dstatus{margin-bottom:12px; border-radius:12px; padding:10px 14px; font-size:13px; font-weight:600; background:#EAF1FB; color:#1E3A5F;}
.pc-dmap{height:260px; border-radius:16px; overflow:hidden; background:#EDEAE2; border:1px solid var(--line);}
.pc-dnav{display:block; margin-top:12px; text-align:center; background:var(--indigo); color:#fff; font-weight:700; padding:14px; border-radius:14px; text-decoration:none;}
.pc-pinmap{height:260px; margin:0 16px; border-radius:16px; overflow:hidden; background:#EDEAE2; border:1px solid var(--line);}
.pc-pindialog .pc-confirm{margin-top:14px;}

/* ui-switcher toggles the `hidden` class between panes (matches Tailwind's utility;
   declared here so the flow also works standalone in this extraction repo). */
.pc-app .hidden{display:none;}
/* M-Pesa STK notification slot (turbo_stream target) */
.pc-notify{position:fixed;top:calc(env(safe-area-inset-top) + 12px);right:12px;left:12px;z-index:100;max-width:400px;margin-inline:auto;pointer-events:none;}
.pc-mpesa-notification{
  --notify-accent:var(--indigo);--notify-bg:#F5F7FB;--notify-border:#D9E0EF;--notify-ink:var(--indigo);
  --notify-soft:#E8EDF6;--notify-muted:#53657D;--notify-divider:#DCE3EE;
  position:relative;overflow:hidden;pointer-events:auto;border:1px solid var(--notify-border);border-radius:16px;
  background:var(--notify-bg);color:var(--notify-ink);padding:12px;
  box-shadow:0 18px 42px -24px rgba(30,24,14,.55),0 8px 20px -18px rgba(0,0,0,.35);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  animation:pcNotificationIn .34s cubic-bezier(.22,1,.36,1);
  transition:opacity .28s ease,transform .28s ease;
}
.pc-mpesa-notification::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--notify-accent);}
.pc-mpesa-notification--pending,.pc-mpesa-notification--success{--notify-accent:#1A9A50;--notify-bg:#F0FAF4;--notify-border:#BFE5CC;--notify-ink:#195C36;--notify-soft:#DDF3E5;--notify-muted:#47715A;--notify-divider:#D4EBDD;}
.pc-mpesa-notification--error{--notify-accent:#C83A45;--notify-bg:#FFF3F3;--notify-border:#F0C3C7;--notify-ink:#842B33;--notify-soft:#F9DFE1;--notify-muted:#92525A;--notify-divider:#F0D7D9;}
.pc-mpesa-notification--warning{--notify-accent:var(--amber);--notify-bg:#FFF8E9;--notify-border:#EDD49E;--notify-ink:#86560E;--notify-soft:#F8EBCB;--notify-muted:#8E6A2E;--notify-divider:#EFE1BD;}
.pc-mpesa-notification--info,.pc-mpesa-notification--notice{--notify-accent:var(--indigo);--notify-bg:#F2F5FB;--notify-border:#CDD8EB;--notify-ink:var(--indigo);--notify-soft:#E2E8F3;--notify-muted:#586A82;--notify-divider:#DAE1ED;}
.pc-mpesa-notification__content{display:flex;align-items:flex-start;gap:10px;min-width:0;}
.pc-mpesa-notification__icon{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--notify-soft);color:var(--notify-accent);}
.pc-mpesa-notification__icon svg{width:20px;height:20px;}
.pc-mpesa-notification__body{min-width:0;flex:1;padding-top:1px;}
.pc-mpesa-notification__eyebrow{display:flex;align-items:center;gap:7px;min-width:0;font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--notify-muted);}
.pc-mpesa-notification__badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--notify-accent);color:#fff;padding:3px 6px;line-height:1;}
.pc-mpesa-notification__title{margin-top:5px!important;font-size:13.5px;font-weight:800;line-height:1.25;letter-spacing:-.01em;color:var(--notify-ink);}
.pc-mpesa-notification__message{margin-top:3px!important;font-size:11.5px;font-weight:500;line-height:1.45;color:var(--notify-muted);}
.pc-mpesa-notification__activity{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--notify-divider);font-size:10.5px;font-weight:600;color:var(--notify-muted);}
.pc-mpesa-notification__dots{display:flex;align-items:center;gap:3px;flex:none;}
.pc-mpesa-notification__dots i{width:4px;height:4px;border-radius:50%;background:var(--notify-accent);animation:pcMpesaDot 1.15s ease-in-out infinite;}
.pc-mpesa-notification__dots i:nth-child(2){animation-delay:.16s}.pc-mpesa-notification__dots i:nth-child(3){animation-delay:.32s}
.pc-mpesa-notification__dismiss{width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:var(--notify-ink);opacity:.55;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;transition:background .18s,opacity .18s;}
.pc-mpesa-notification__dismiss:hover{background:var(--notify-soft);opacity:1;}
.pc-mpesa-notification__dismiss:focus-visible{outline:2px solid var(--notify-accent);outline-offset:2px;opacity:1;}
.pc-mpesa-notification__dismiss svg{width:17px;height:17px;}
.pc-mpesa-notification.is-dismissing{opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;}
@keyframes pcNotificationIn{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pcMpesaDot{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}

/* ── responsive density corrections ── */
.pac-container{z-index:9999!important; font-family:'Sora',system-ui,-apple-system,sans-serif;}
@media (max-width:359px){
  .pc-app{padding-left:10px;padding-right:10px;}
  .pc-step{display:none;}
  .pc-tier{gap:2px;padding-inline:2px;}
  .pc-tier .tt{font-size:12px;}
  .pc-tier .tm{font-size:9.5px;}
  .pc-pindrop .gtxt{font-size:11.5px;}
  .pc-pindrop .gtxt b{font-size:13px;}
}

@media (prefers-reduced-motion:reduce){ .pc-app *{animation:none!important; transition:none!important;} }

/* Location reveal: two metrics after removing the fare estimate. */
.pc-frow--two .pc-fs{min-width:0;padding-inline:10px;text-align:center;}
.pc-frow--two .pc-fs .fv{font-size:15px;line-height:1.2;}
.pc-frow--two .pc-fs .fl{max-width:130px;line-height:1.3;}

.pc-recap{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:11px 14px;
  margin:14px 0 2px;
}
.pc-recap .rh{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:7px;
}
.pc-recap .row{
  display:flex;
  gap:12px;
  padding:3px 0;
}
.pc-recap .rk{
  width:56px;
  flex:none;
  color:var(--ink3);
  font-size:12.5px;
  font-weight:600;
  padding-top:1px;
}
.pc-recap .rv{
  color:var(--ink);
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}
.pc-recap .rv b{
  display:block;
  font-weight:700;
  font-size:14px;
}
.pc-recap .rv .sub{
  display:block;
  font-weight:500;
  color:var(--ink3);
  font-size:12px;
  margin-top:1px;
}

/* Live-tracking header block (label / code / origin) — replaces the old
   pc-live-head + pc-live-eyebrow + pc-live-count progress badge on the
   live panel, per the new mockup */
.pc-trackcode{
  text-align:center;
  margin:2px 0 12px;
}
.pc-trackcode .lab{
  font-size:12.5px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.01em;
}
.pc-trackcode .code{
  font-family:'JetBrains Mono',monospace;
  font-size:20px;
  font-weight:600;
  letter-spacing:.14em;
  color:var(--ink);
  margin-top:2px;
}
.pc-trackcode .origin{
  font-size:11.5px;
  color:var(--ink3);
  margin-top:4px;
}
.pc-runner.searching{
  background:linear-gradient(135deg,#F6F7FB,var(--indigo-soft));
  border-color:var(--indigo-border);
}
.pc-runner .av.searching{
  background:var(--indigo);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pc-runner .av.searching .pulse-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  animation:pcSearchPulse 1.8s ease-out infinite;
}
@keyframes pcSearchPulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}
  70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.pc-runner .rs.muted{color:var(--ink2);}

/* Runner live-location strip (only renders once you wire real data) */
.pc-live{
  display:flex;
  align-items:center;
  gap:11px;
  background:var(--indigo-soft);
  border:1px solid var(--indigo-border);
  border-radius:13px;
  padding:10px 13px;
  margin-bottom:12px;
}
.pc-live .pin{
  font-size:18px;
  flex:none;
}
.pc-live .l1{
  font-weight:700;
  font-size:13.5px;
  color:var(--indigo);
}
.pc-live .l2{
  font-size:11.5px;
  color:var(--ink2);
  margin-top:1px;
}

/* ── Delivery-payment contract ───────────────────────────────────────────────
   Set on the vhost business-sender modal, surfaced here. See
   DeliveryModesHelper and app/views/public/parcels/_payment_brief.html.erb. */

/* Screen-reader-only text (this page does not load a utility framework). */
.pc-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* pay_on_delivery — the code exists but must not be readable until the runner
   is paid, so it is blurred rather than removed: the receiver can see they
   have one, which is what stops the "where is my code?" support call. */
.pc-codecard.locked .val.blurred{
  filter:blur(9px);
  user-select:none;
  pointer-events:none;
}
.pc-codecard.locked .hint{color:var(--gold,#fdcb58);font-weight:600;}

/* covered — say who paid rather than showing nothing. */
.pc-covered{
  margin:2px 0 10px;
  text-align:center;
  font-size:13px;
  font-weight:600;
  color:var(--ok,#7aaf2a);
}

/* What the receiver must have ready on arrival. */
.pc-owed{
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px 14px;
  margin:0 0 12px;
  background:var(--card);
}
.pc-owed .oh{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:9px;
}
.pc-owed .orow{display:flex;flex-direction:column;gap:2px;}
.pc-owed .orow + .orow{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.pc-owed .ok{font-size:13px;font-weight:700;color:var(--ink);}
.pc-owed .ov{font-size:13px;line-height:1.45;color:var(--ink2);}
.pc-owed .onote{display:block;margin-top:3px;font-size:12px;color:var(--ink3);}

.pc-mpesa .num{background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.34); border-radius:9px; padding:10px 12px; font-size:14px; color:rgba(255,255,255,.85); margin-bottom:8px;}
.pc-paybtn:disabled{opacity:.55;cursor:not-allowed;}
.pc-actions{margin-bottom:4px;}
.pc-actions .pc-mpesa{margin:0;}
.pc-actions .pc-release{margin:0;}
.actblk + .actblk{margin-top:10px;}

.paiddone{background:var(--green-bg);border:1px solid rgba(47,162,79,.3);border-radius:11px;padding:10px;text-align:center;font-size:13px;color:var(--green-deep);font-weight:700;}
.pc-arrival{display:flex; gap:8px; align-items:flex-start; background:var(--amber-bg); border:1px solid var(--amber-border); border-radius:11px; padding:9px 11px; margin:9px 0;}
.pc-arrival .ai{font-size:14px; flex:none;} .pc-arrival .at{font-size:11.5px; color:#8a5a12; font-weight:600; line-height:1.4;}
.pc-goodsnote{background:var(--rose-light); border:1px solid var(--rose-border); border-radius:11px; padding:9px 11px; margin:9px 0; font-size:11.5px; color:var(--rose); font-weight:600; line-height:1.45;}
.pc-goodsnote b{color:var(--rose-dark);}
.pc-release{margin:0 0 4px;}
.pc-release .rbtn{width:100%; min-height:46px; text-align:center; background:var(--indigo); color:#fff; font-weight:700; font-size:14px; padding:12px; border-radius:11px; border:none; font-family:inherit; cursor:pointer;}
.pc-release .rbtn:hover{filter:brightness(1.08);}
.pc-release .rbtn:active{transform:scale(.99);}
.pc-release .rbtn:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;}
.pc-release .rbtn:disabled{opacity:.55;cursor:not-allowed;}
.pc-release .rnote{font-size:11px;color:var(--ink3);text-align:center;margin-top:6px;line-height:1.4;}
.pc-release .pending{background:var(--indigo-soft); border:1px solid var(--indigo-border); border-radius:11px; padding:11px; text-align:center; font-size:12.5px; color:var(--indigo); font-weight:600;}
.pc-release .released{background:var(--green-bg); border:1px solid rgba(47,162,79,.3); border-radius:11px; padding:10px; text-align:center; font-size:13px; color:var(--green-deep); font-weight:700;}
.pc-mpesa .num input {
  width: calc(100% - 28px);
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  margin: 0;
}

.pc-mpesa .num input::placeholder {
  color: rgba(255, 255, 255, .65);
}

.pc-mpesa .num input:focus {
  outline: none;
}
/* Reference design: Pinned · Receiver journey — fee × goods */
body.pc-public-choice-page{
  --paper:#F6F3EE; --card:#FFFFFF; --ink:#1D1D1A; --ink2:#5A5A52; --ink3:#8F8B81;
  --rose:#C2095A; --rose-dark:#A80B50; --rose-light:#FCEEF4; --rose-border:#EFB6D2;
  --gold1:#FEF3CE; --gold2:#FDE8AE; --gold-ink:#8A6A12; --gold-border:#EAD79A;
  --green:#2FA24F; --green-deep:#1F8A3E; --green-dark:#238C43; --green-bg:#EAF6EE;
  --indigo:#213A5E; --indigo-soft:#ECEFF9; --indigo-border:#D3DAF0;
  --amber:#DF7E12; --amber-bg:#FCF1E0; --amber-border:#F1CE97; --line:#E7E1D7;
  color:var(--ink); background:var(--paper);
}
body.pc-public-choice-page .pc-app{font-family:'Sora',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);}
.pc-k{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px;}
.pc-t{font-weight:700;font-size:17px;letter-spacing:-.02em;line-height:1.18}.pc-s{font-size:12.5px;color:var(--ink2);margin-top:3px}
.pc-dash{border:none;border-top:1.5px dashed #DAD5C9;margin:8px 0}
.pc-card{background:var(--card);border-radius:17px;padding:11px;box-shadow:0 12px 30px -20px rgba(30,24,14,.4);border:1px solid #F0ECE3;margin-top:6px}
.pc-choose{text-align:center;font-weight:600;font-size:14px;margin:9px 0 6px}
.pc-cta{position:relative;width:100%;text-align:center;border:none;font-family:inherit;background:linear-gradient(180deg,#D01462 0%,var(--rose) 55%,var(--rose-dark) 100%);color:#fff;font-weight:700;font-size:15px;padding:11px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;min-height:0;box-shadow:none}
.pc-alt{width:100%;text-align:center;font-family:inherit;margin-top:6px;background:var(--card);color:var(--ink);font-weight:700;font-size:14px;padding:10px;border-radius:13px;border:1px solid #E6E1D7;min-height:0;display:flex;align-items:center;justify-content:center}
.pc-note{text-align:center;font-size:11.5px;color:var(--ink3);margin-top:6px;line-height:1.4}
.pc-due{display:flex;gap:9px;align-items:flex-start;border-radius:11px;padding:8px 10px;margin:5px 0}
.pc-due .di{font-size:15px;flex:none;line-height:1.2}.pc-due .dk{font-weight:700;font-size:12px}.pc-due .dv{font-size:11px;color:var(--ink2);line-height:1.4;margin-top:1px}
.pc-due.trip{background:var(--gold1);border:1px solid var(--gold-border)}.pc-due.trip .dk{color:var(--gold-ink)}
.pc-due.goods{background:var(--rose-light);border:1px solid var(--rose-border)}.pc-due.goods .dk{color:var(--rose)}
.pc-unlocknote{text-align:center;font-size:11px;color:var(--ink3);margin:7px 0 2px}
.pc-hero{background:var(--indigo);border-radius:15px;padding:11px;color:#fff;text-align:center;margin-bottom:6px}.pc-hero h2{font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px}.pc-hero p{color:#AEC1DC;font-size:11.5px;margin-top:3px;line-height:1.4}
.pc-badge{display:flex;justify-content:center;margin:6px 0}.pc-badge span{background:var(--green-bg);color:var(--green-deep);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.pc-facts{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:4px 12px;margin-bottom:6px}.pc-fact{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:6px 0}.pc-fact+.pc-fact{border-top:1px solid #F1EDE4}.pc-fact .fk{color:var(--ink3);font-weight:600;font-size:11.5px}.pc-fact .fvv{color:var(--ink);font-weight:600;font-size:12.5px;line-height:1.3}
.pc-duo{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:6px}.pc-btn{font-family:inherit;font-weight:700;font-size:13px;padding:10px;border-radius:12px;text-align:center}.pc-btn.solid{background:var(--indigo);color:#fff}.pc-btn.ghost{background:var(--card);color:var(--ink);border:1px solid #E6E1D7}
.pc-convert{width:100%;background:var(--rose-light);border:1.5px solid var(--rose-border);border-radius:12px;padding:11px;text-align:center;font-family:inherit;cursor:pointer}.pc-convert b{color:var(--rose);font-weight:700;font-size:13px}
.pc-pod{border-radius:14px;padding:10px;background:linear-gradient(158deg,var(--gold1),var(--gold2));border:1px solid var(--gold-border)}.pc-pod .podh{display:flex;align-items:center;justify-content:space-between}.pc-pod .podh .ttl{font-weight:700;font-size:14px}.pc-pod .podp{font-size:11.5px;color:var(--ink2);line-height:1.5;margin:6px 0 10px}.pc-pod .podbtn{background:var(--rose);color:#fff;font-weight:700;font-size:14px;text-align:center;border-radius:10px;padding:10px;width:100%;border:0;font-family:inherit}
.pc-coveredbox{border-radius:14px;padding:11px;background:var(--green-bg);border:1px solid rgba(47,162,79,.28)}.pc-coveredbox .cvh{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--green-deep)}.pc-coveredbox .cvh .tick{width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}.pc-coveredbox .cvp{font-size:11.5px;color:var(--ink2);line-height:1.5;margin:7px 0 11px}.pc-coveredbox .cvbtn{background:var(--rose);color:#fff;font-weight:700;font-size:14px;text-align:center;border-radius:10px;padding:10px;width:100%;border:0;font-family:inherit}
.pc-codecard{border-radius:15px;padding:11px;text-align:center;margin:2px 0 7px;box-shadow:none}.pc-codecard.navy{background:var(--indigo);color:#fff}.pc-codecard .lab{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}.pc-codecard .val{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:600;letter-spacing:.2em;margin:5px 0 7px;padding-left:.2em;color:#CCFF00}.pc-codecard.locked .val.blurred{filter:blur(9px);user-select:none}.pc-codecard .hint{font-size:11px;opacity:.82;line-height:1.4}.pc-codecard.locked .hint{color:var(--gold);font-weight:600;opacity:1}
.pc-owed{border:1px solid var(--line);border-radius:13px;padding:10px 12px;margin:0 0 8px;background:var(--card)}.pc-owed .oh{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}.pc-owed .orow{display:flex;flex-direction:column;gap:2px}.pc-owed .orow+.orow{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.pc-owed .ok{font-size:12.5px;font-weight:700}.pc-owed .ov{font-size:12.5px;line-height:1.45;color:var(--ink2)}.pc-owed .onote{display:block;margin-top:3px;font-size:11.5px;color:var(--ink3)}
.pc-payhead{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:2px 0 6px}.pc-pay{border-radius:13px;padding:10px;margin-bottom:6px}.pc-pay.trip{background:var(--gold1);border:1px solid var(--gold-border)}.pc-pay.goods{background:var(--rose-light);border:1px solid var(--rose-border)}.pc-pay .ph{display:flex;align-items:center;gap:7px}.pc-pay .pi{font-size:15px}.pc-pay .pt{font-weight:700;font-size:13.5px}.pc-pay .pa{margin-left:auto;font-weight:700;font-size:15px}.pc-pay .pp{font-size:11px;color:var(--ink2);line-height:1.4;margin:4px 0 7px}.pc-pay .num{background:#fff;border:1px solid var(--gold-border);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--ink2);margin-bottom:8px}.pc-pay .go{width:100%;border:none;font-family:inherit;cursor:pointer;font-weight:700;font-size:13.5px;padding:11px;border-radius:9px;text-align:center;color:#fff}.pc-pay.trip .go{background:var(--green-deep)}.pc-pay.goods .go{background:var(--rose)}.pc-pay .paid{text-align:center;font-weight:700;font-size:12.5px;color:var(--green-deep);background:var(--green-bg);border-radius:9px;padding:9px}.pc-pay .pending2{text-align:center;font-weight:600;font-size:11.5px;color:var(--indigo);background:var(--indigo-soft);border-radius:9px;padding:9px}.pc-pay .pend{margin-left:8px;font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B4431C;background:#FBE7DE;border:1px solid #F1C2A9;padding:2px 7px;border-radius:20px}
.pc-trackcode{text-align:center;margin:2px 0 8px}.pc-trackcode .lab{font-size:12px;font-weight:700}.pc-trackcode .code{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:600;letter-spacing:.14em;margin-top:2px}.pc-trackcode .origin{font-size:11px;color:var(--ink3);margin-top:3px}
.pc-runner{display:flex;align-items:center;gap:10px;background:var(--rose-light);border:1px solid var(--rose-border);border-radius:12px;padding:8px 11px;margin-bottom:6px}.pc-runner .av{width:38px;height:38px;border-radius:50%;background:var(--indigo);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-size:13px}.pc-runner .rn{font-weight:700;font-size:13px}.pc-runner .rs{color:var(--rose);font-size:11.5px;font-weight:600;margin-top:1px}.pc-live{display:flex;align-items:center;gap:10px;background:var(--indigo-soft);border:1px solid var(--indigo-border);border-radius:12px;padding:8px 11px;margin-bottom:8px}.pc-live .pin{font-size:17px}.pc-live .l1{font-weight:700;font-size:13px;color:var(--indigo)}.pc-live .l2{font-size:11px;color:var(--ink2)}
.pc-timeline-card{border:1px solid var(--line);border-radius:15px;padding:4px 12px;margin-bottom:6px;background:var(--card);box-shadow:none}.pc-timeline{position:relative;padding-left:28px;margin:2px 0 7px}.pc-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:10px;width:2px;background:#EAE5DB}.pc-tstep{position:relative;padding-bottom:8px}.pc-tstep:last-child{padding-bottom:0}.pc-tstep .node{position:absolute;left:-28px;top:0;width:21px;height:21px;border-radius:50%;display:flex;align-items:center;justify-content:center}.pc-tstep.done .node{background:var(--green-deep);color:#fff}.pc-tstep.now .node{background:#fff;border:3px solid var(--rose)}.pc-tstep.now .node i{width:5px;height:5px;border-radius:50%;background:var(--rose);display:block}.pc-tstep.todo .node{background:#fff;border:2px solid #D8D2C6}.pc-tstep .tl{font-weight:700;font-size:13px}.pc-tstep.todo .tl{color:var(--ink3)}.pc-tstep .tsub{font-size:10.5px;color:var(--ink3);margin-top:1px;font-family:'JetBrains Mono',monospace}
.pc-reassure{background:#FFF9E6;border:1px solid #FFE699;border-radius:12px;padding:10px 13px}.pc-reassure p{font-size:12px;color:var(--ink2);font-weight:500;line-height:1.45}.pc-doorstep-foot{font-size:11.5px;color:var(--ink3);line-height:1.4;text-align:center}

/* Initial public-choice shell: paint immediately while the parcel frame loads. */
.pc-shell{min-height:100dvh;}
.pc-shell-skeleton{margin-top:10px;}
.pc-skeleton-card{background:var(--card);border-radius:16px;padding:13px;border:1px solid #F0ECE3;box-shadow:0 12px 30px -20px rgba(30,24,14,.4);}
.pc-skeleton-line,.pc-skeleton-action,.pc-skeleton-button{background:linear-gradient(90deg,#ece8df 20%,#f5f2ed 35%,#ece8df 50%);background-size:200% 100%;animation:pcSkeletonShimmer 1.2s linear infinite;border-radius:8px;}
.pc-skeleton-k{width:92px;height:9px;}
.pc-skeleton-title{width:62%;height:18px;margin-top:10px;}
.pc-skeleton-sub{width:48%;height:11px;margin-top:7px;}
.pc-skeleton-divider{height:1px;background:var(--line);margin:14px 0;}
.pc-skeleton-action{width:100%;height:56px;border-radius:12px;}
.pc-skeleton-choice{width:45%;height:14px;margin:15px auto 10px;}
.pc-skeleton-button{width:100%;height:50px;margin-top:7px;border-radius:13px;}
.pc-skeleton-button--muted{opacity:.72;}
.pc-frame-loading{text-align:center;color:var(--ink3);font-size:11px;padding:10px 0 0;}
.pc-app--loaded{min-height:0;}
@keyframes pcSkeletonShimmer{to{background-position:-200% 0;}}
@media (prefers-reduced-motion:reduce){.pc-skeleton-line,.pc-skeleton-action,.pc-skeleton-button{animation:none;}}

/* Public-choice performance shell. The dedicated layout intentionally avoids
   loading the authenticated Tailwind/application styles before first paint. */
.pc-alt.mt-2{margin-top:8px;}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
