/* DM Sans and DM Mono, served from our own origin instead of
 * fonts.googleapis.com.
 *
 * The Google Fonts <link> was render-blocking on a third party: first paint
 * waited on their DNS, TLS and response before a single word appeared. These
 * are the same files Google serves (variable, weight 100–1000, v17), fetched
 * once and committed, so the only request left is the woff2 itself — and a
 * font file does not block paint when font-display is swap.
 *
 * It also keeps visitors' IP addresses off Google's servers, which is one
 * less thing to explain in the DPA 2019 consent work.
 *
 * unicode-range is what keeps this cheap: latin-ext and the italics are only
 * fetched if a glyph on the page actually needs them. English and Kiswahili
 * copy pulls the latin file alone.
 *
 * DM Mono is the theme's --font-mono, used by every tracking code, PIN and
 * one-time code in the app, so it ships at the two weights the design calls
 * for (400, 500) rather than as a variable face.
 *
 * Licence: SIL Open Font License 1.1 (DM Sans and DM Mono, Colophon Foundry
 * / Google). To update: re-request the css2 URL with a modern browser UA,
 * download the woff2 it points at, and replace these files.
 */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/assets/dm-sans-latin-74bd40d02f4e2778c476040db87e273484d81fe5a2c21800e93bbee415fcac5c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/assets/dm-sans-latin-ext-1c5c76b2ecc8e22b83d6505d397f16b0d6c7f5571226dcf38fdf334dc2102911.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/assets/dm-sans-latin-italic-ba6fdef1c6a8dd22f0ca1177fdf0573b55d49d1a6f59e554807ef910a9b53c4c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/assets/dm-sans-latin-ext-italic-175ed2e0fb795e03822eddb89b28cd9bea025073c1e1a09b059041b2fc063444.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/dm-mono-400-latin-d153cfef08992bbb518f7fa6e53242ecd105602bfa747137a021703e0ff22065.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/dm-mono-400-latin-ext-91057d7ef9e6109f3924eb1df7e5bb22e446803003de0fc1c3b6f32292fa2776.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/dm-mono-500-latin-b476aebe165dcd6c6aa5266afbd09a77ea3f2f1839b8d4e07656d683889169a9.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/dm-mono-500-latin-ext-d4cf0d57436dea487525b92163b4a5498ff98f39b8b0a49fa9a411b64b86b61b.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
a,
button,
[role="button"],
summary,
label[for],
label,
input[type="submit"],
input[type="button"],
input[type="checkbox"],
input[type="radio"],
select {
  cursor: pointer !important;
}

.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-modal form[data-controller~="tel"] .tel-input.iti--separate-dial-code:has(input.h-11) {
  border-radius: 0.5rem;
}


button.rounded-xl.bg-magenta,
a.rounded-xl.bg-magenta,
a.rounded-xl.bg-navy,
button.rounded-xl.bg-navy,
button[type="submit"].rounded-xl {
  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;}
.pc-preset-note{margin:-4px 0 10px; font-size:13px; line-height:1.4; color:var(--ink2);}

/* ── 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;}

/* Sender's message to the receiver. Distinct from the system's own copy —
   this is the one block on the page written by a person. */
.pc-note-from-sender{
  border:1px solid var(--rose-border,#EFB6D2);
  background:var(--rose-light,#FCEEF4);
  border-radius:13px;
  padding:11px 13px;
  margin:11px 0;
}
.pc-note-from-sender .nfs-k{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rose,#C2095A); margin-bottom:5px;
}
.pc-note-from-sender .nfs-v{
  font-size:13px; line-height:1.5; color:var(--ink,#1D1D1A);
  overflow-wrap:anywhere;
}


/* ── Consent, for the receiver's page ─────────────────────────────────────
   The only place a receiver is ever asked: they arrive from an SMS and never
   see the landing. Same three answers as the main site, same cookie, written
   here because this page carries no Tailwind.

   .hidden is defined under .pc-app further up and this card sits outside it,
   so it needs its own rule — the controller toggles that exact class. */
.pc-consent-root.hidden{display:none;}
.pc-consent{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:flex; justify-content:center; padding:12px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
}
@media (min-width:560px){ .pc-consent{ justify-content:flex-start; left:16px; right:auto; bottom:16px; padding:0; } }
/* Translucent on purpose. The page behind it is the thing worth looking at —
   a receiver is part-way through arranging a delivery — so the card asks over
   the top of it rather than replacing it, and answering hands the screen
   straight back. The blur is what keeps 12px text readable over whatever
   happens to be underneath. */
.pc-consent__card{
  max-width:360px;
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--r-md); padding:14px 16px;
  box-shadow:0 12px 32px rgba(29,29,26,.14);
  animation:pc-consent-in .32s ease-out both;
}
/* Without backdrop-filter there is no blur to lean on, so it goes back to
   being a solid card rather than a hard-to-read translucent one. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .pc-consent__card{ background:var(--card); border-color:var(--line); }
}
@keyframes pc-consent-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .pc-consent__card{ animation:none; } }
/* One step darker than the rest of the page's secondary text, which is what
   the transparency costs. */
.pc-consent__text{ font-size:12px; line-height:1.55; color:var(--ink); }
.pc-consent__link{ color:var(--rose); font-weight:600; text-decoration:none; }
.pc-consent__link:hover{ text-decoration:underline; }
.pc-consent__actions{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:12px; }
.pc-consent__btn{
  height:32px; padding:0 12px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(29,29,26,.18); background:transparent; color:var(--ink);
  font-family:inherit; font-size:12px; font-weight:600;
}
.pc-consent__btn:hover{ background:rgba(255,255,255,.55); }
/* Refusing is the same size and weight as agreeing. */
.pc-consent__btn--solid{ background:var(--rose); border-color:var(--rose); color:#fff; font-weight:700; padding:0 16px; }
.pc-consent__btn--solid:hover{ background:var(--rose-dark); }

/* ── The way back to the product ──────────────────────────────────────────
   A footer on the receiver's page, under the parcel rather than beside it.
   Quiet on purpose: somebody here is arranging a delivery, and an invitation
   that competes with that costs the delivery to win the lead. */
.pc-invite{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin:22px 0 6px; padding:14px 16px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--card); text-decoration:none; color:inherit;
}
.pc-invite:hover{ border-color:var(--rose-border); background:var(--rose-light); }
.pc-invite__text{ flex:1 1 220px; font-size:12.5px; line-height:1.55; color:var(--ink2); }
.pc-invite__lead{ display:block; font-weight:700; color:var(--ink); }
.pc-invite__cta{
  flex:0 0 auto; font-size:12.5px; font-weight:700; color:var(--rose);
  white-space:nowrap;
}
.pc-invite:hover .pc-invite__cta{ color:var(--rose-dark); }
/*
 * 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.
 *


 */
