.public{background:var(--sand)}
.pub-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--deep);color:var(--sand);padding:.7rem 1rem}
.pub-head .brand small{display:block}
.pub-call,.pub-call:link,.pub-call:visited,.pub-call:hover,.pub-call:focus,.pub-call:active{color:#fff!important;-webkit-text-fill-color:#fff;font-weight:700;text-decoration:none;border:1.5px solid var(--accent-bright);border-radius:999px;padding:.35rem .85rem;white-space:nowrap;background:rgba(255,255,255,.08);line-height:1.15;text-align:center;flex-shrink:0}
.pub-call:hover,.pub-call:focus-visible{background:var(--deep-soft)}
.pub-call .pc-label{font-weight:600}
@media (max-width:560px){.pub-call{padding:.3rem .75rem;font-size:.9rem}.pub-call .pc-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;opacity:.95}.pub-head .brand{min-width:0;white-space:normal;font-size:.95rem}}
.pub-main{max-width:720px;margin:0 auto;padding:1rem .8rem 2rem}
.embed .pub-main{padding-top:.5rem}
.pub-foot{text-align:center;color:var(--mute);padding:1rem}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.svc-list{display:grid;gap:.5rem}
.svc{display:flex;gap:.6rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:.7rem;cursor:pointer;background:#fff;font-weight:400}
.svc.on{border-color:var(--accent);box-shadow:0 0 0 2px rgba(194,99,44,.18);background:#fffaf4}
.svc input{margin-top:.2rem;flex-shrink:0}
.svc-body{display:flex;flex-direction:column;gap:.15rem;flex:1}
.svc-top{display:flex;justify-content:space-between;gap:.5rem}
.svc .price{color:var(--accent);white-space:nowrap}.svc .price small{font-weight:400;color:var(--mute)}
.credit{display:inline-block;background:#E8F3EA;color:#2F7D4F;border-radius:8px;padding:.15rem .5rem;font-size:.82rem;font-weight:600;margin-top:.15rem}
.travel{background:var(--sand);border:1px dashed var(--line);border-radius:10px;padding:.55rem .7rem;min-height:2.6rem}
.btn-big{width:100%;justify-content:center;font-size:1.05rem;min-height:52px}
.done{text-align:center}.done .kv{text-align:left;max-width:380px;margin:1rem auto}
.done .check{width:56px;height:56px;border-radius:50%;background:var(--ok);color:#fff;font-size:2rem;display:grid;place-items:center;margin:0 auto .5rem}
/* inbox */
.thread{display:flex;flex-direction:column;gap:.45rem;padding:.5rem 0}
.bubble{max-width:82%;padding:.55rem .75rem;border-radius:16px;white-space:pre-wrap;word-wrap:break-word;font-size:.95rem;line-height:1.35}
.bubble.in{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.bubble.out{align-self:flex-end;background:var(--deep);color:var(--sand);border-bottom-right-radius:4px}
.bubble.out.queued,.bubble.out.failed,.bubble.out.blocked{background:#FCEBD7;color:#5a3410;border:1px dashed var(--accent)}
.bubble .meta{display:block;font-size:.7rem;opacity:.75;margin-top:.25rem}
.conv-row{display:flex;gap:.7rem;align-items:center;padding:.7rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.conv-row .avatar{width:40px;height:40px;border-radius:50%;background:var(--sand-warm);display:grid;place-items:center;font-weight:700;color:var(--deep);flex-shrink:0}
.conv-row .mid{flex:1;min-width:0}.conv-row .snip{color:var(--mute);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-row.unread .name{font-weight:800}
.tpls{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem}.tpls .btn{white-space:nowrap}
.composer{position:sticky;bottom:0;background:var(--sand);padding:.5rem 0}
/* routes */
.stop{display:grid;grid-template-columns:2.2rem 1fr auto;gap:.6rem;align-items:start}
.stop .num{width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.leg{margin:.2rem 0 .2rem 1rem;padding-left:1.4rem;border-left:3px dotted var(--line);color:var(--mute);font-size:.85rem;min-height:1.6rem;display:flex;align-items:center}
.leg.late{color:var(--bad);font-weight:600}
.arrows{display:flex;flex-direction:column;gap:.25rem}
@media (max-width:900px){.pub-head .brand small{display:none}}

.nextstep{margin:1rem 0;padding:.8rem;border:2px solid var(--accent);border-radius:14px;background:#fff8f1;display:flex;flex-direction:column;gap:.45rem;text-align:center}
.nextstep .btn-big{text-decoration:none}
/* client portal (one link: forms + invoice) */
.portal-forms li{padding:.55rem 0;border-bottom:1px solid var(--line)}
.invtable{width:100%}.invtable td{padding:.35rem 0;border-bottom:1px solid var(--line)}.invtable .num{text-align:right;white-space:nowrap}
.invtable tr.tot td{border-bottom:2px solid var(--line)}
.paynote{background:#fff6e8;border:1px solid #f0cf9c;border-radius:10px;padding:.7rem .8rem;margin-top:.7rem}
.btn-big{min-height:3rem;font-size:1.05rem}
.pill.inv-paid{background:#dff0e5;color:#245c3b;font-weight:700}.pill.inv-unpaid{background:#fbe1dc;color:#9b2c1f;font-weight:700}

.zelle-chip{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;background:var(--accent);color:#fff;border-radius:999px;padding:.45rem .5rem .45rem 1rem;box-shadow:0 2px 6px rgba(64,41,27,.18)}
.zelle-chip .zc-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;opacity:.9}
.zelle-chip .zc-tag{font-size:1.45rem;font-weight:800;letter-spacing:.01em;flex:1;min-width:0;user-select:all;-webkit-user-select:all}
.zelle-chip .zc-copy{border:0;border-radius:999px;background:#fff;color:var(--accent);font-weight:700;font-size:.95rem;padding:.45rem 1rem;cursor:pointer;min-height:40px}
.zelle-chip .zc-copy.copied{background:var(--ok);color:#fff}
.payopts{margin-top:.7rem}
.payopt{border:1px solid #e3d6c8;border-radius:10px;padding:.7rem .8rem;margin-top:.55rem;background:#fff}
.payopt-zelle{background:#fff6e8;border-color:#f0cf9c}
.payopt .payamt{font-size:1.25rem}
/* "Can't find a time that fits?" */
#id_slot:disabled{opacity:.45;background:#f1ece6;cursor:not-allowed}
.flexpick{display:flex;gap:.6rem;align-items:flex-start;margin:.7rem 0 0;padding:.65rem .7rem;border:1.5px dashed var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;line-height:1.35}
.flexpick input{width:1.3rem;height:1.3rem;flex-shrink:0;margin-top:.1rem;accent-color:#c4622d}
.flexpick.on{border-style:solid;border-color:#c4622d;background:#fff7f1}
.preftime{margin-top:.6rem}.preftime label{font-weight:700}.preftime input{width:100%}
.preftime.has-err input{border-color:#b3261e}


/* Client "I sent … by Zelle" tick (staff confirms) */
.zsent{margin:.45rem 0 0;padding:.4rem .55rem;border:1.5px solid #9fd3cf;border-radius:10px;background:#F1FAF9}
.zsent-l{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem;color:#0f5f5a;cursor:pointer;margin:0}
.zsent-l input{width:22px;height:22px;accent-color:var(--accent,#0f8f86);margin:0}
.zsent.on{border-color:var(--accent,#0f8f86);background:#E3F5F3}.zsent-ok{margin:.25rem 0 0 1.9rem;font-size:.82rem;color:#0f5f5a}
