
@font-face{font-family:'LBS Serif';src:url(fonts/cormorant.woff) format('woff');font-weight:300 700;font-display:swap}
@font-face{font-family:'LBS Sans';src:url(fonts/inter.woff) format('woff');font-weight:100 900;font-display:swap}
:root{
  --c-bg:#fbf7f2; --c-surface:#fffdfa; --c-surface-2:#f5ede6;
  --c-blush:#ecc3b8; --c-blush-strong:#dfa696; --c-blush-soft:#f9e9e3; --c-blush-ink:#7d3a33; --c-on-blush:#33201f;
  --c-rose:#9c5a52;            
  --c-ink:#33242b; --c-ink-2:#5e4f55; --c-ink-3:#857479;
  --c-gold:#b08d57; --c-gold-soft:#f3e8d6; --c-gold-text:#7f5f2c;
  --c-line:#e8ddd3; --c-line-strong:#a99387; 
  --c-ok:#2f6340; --c-ok-soft:#e3efe5; --c-warn:#7a5110; --c-warn-soft:#fbf0d9; --c-bad:#9a3b31; --c-bad-soft:#f9e3df;
  --c-focus:#8a4a3e;
  --f-serif:'LBS Serif','Cormorant Garamond',Cormorant,Georgia,'Times New Roman',serif;
  --f-sans:'LBS Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --r-sm:12px; --r-md:18px; --r-lg:26px;
  --sh-1:0 1px 2px rgba(70,40,40,.04),0 6px 20px rgba(110,70,60,.07);
  --sh-2:0 2px 8px rgba(70,40,40,.06),0 18px 44px rgba(110,70,60,.12);
  --tap:48px;
}
html,body{background:var(--c-bg);color:var(--c-ink);font-family:var(--f-sans);font-feature-settings:'kern'}
body{background-image:radial-gradient(1200px 500px at 50% -200px,#f6e2da 0,rgba(246,226,218,0) 70%);background-repeat:no-repeat}
h1,h2,h3{font-family:var(--f-serif);font-weight:500;letter-spacing:0;color:var(--c-ink)}
.skip{position:absolute;left:8px;top:-60px;z-index:2000;background:var(--c-ink);color:#fff;padding:10px 14px;border-radius:10px}
.skip:focus{top:8px}

:focus-visible{outline:3px solid var(--c-focus)!important;outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--c-focus)!important;outline-offset:1px;border-color:var(--c-focus)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:#fff}
.client input:not([type=checkbox]):not([type=radio]):not([type=file]),.client select{min-height:52px;padding:14px 16px}
.aui-step input{min-width:0;padding:8px 6px}
.aui-step{min-width:0}.aui-fields>*{min-width:0}
input:focus,select:focus,textarea:focus{border-color:var(--c-focus);box-shadow:0 0 0 4px rgba(156,90,82,.15)}
label{color:var(--c-ink-2);font-weight:500;font-size:.88rem}
::placeholder{color:#7a6c70}

.btn{font-weight:600;letter-spacing:.01em;min-height:var(--tap)}
.btn-primary{background:var(--c-ink);color:#fff;box-shadow:0 6px 18px rgba(51,36,43,.18)}
.btn-primary:hover{background:#4a3540}
.btn-primary[disabled]{background:#cbbfc1;color:#4d4045;box-shadow:none;opacity:1}
.btn-lg{min-height:56px;font-size:1.05rem}
.btn-ghost{border-color:var(--c-line-strong)}
.btn-ghost:hover{border-color:var(--c-rose);background:#fff}
.btn-text{color:var(--c-rose);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.btn-sm{min-height:44px}
.icon-btn{width:44px;height:44px;border-color:var(--c-line)}
.chip{min-height:44px}
.card{border:1px solid var(--c-line);box-shadow:var(--sh-1);border-radius:var(--r-lg)}
.eyebrow{color:var(--c-gold-text)}
.badge{font-weight:600}
.b-ok{color:var(--c-ok)} .b-warn{color:var(--c-warn)}
.callout{border-radius:var(--r-md);border:1px solid rgba(156,90,82,.14)}
.callout.ok{color:var(--c-ok)} .callout.warn{color:var(--c-warn)}
.callout.gold{border-color:rgba(176,141,87,.25)}


.client{padding:var(--s-4) 20px calc(var(--s-7) + env(safe-area-inset-bottom));min-height:100vh;min-height:100dvh}
.topbar{min-height:60px}
.topbar h1{font-size:clamp(1.45rem,6vw,1.8rem);font-weight:500}
.title-rule{background:linear-gradient(90deg,transparent,var(--c-gold),transparent);width:72px}
.client-nav{gap:4px;margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--c-line)}
.client-nav a,.client-nav button{min-height:44px}


.lockup{display:flex;flex-direction:column;align-items:center;color:var(--c-ink);text-align:center}
.lockup-mark{width:120px;height:auto;color:var(--c-ink)}
.lockup-name{font-family:var(--f-serif);font-weight:500;font-size:2.9rem;line-height:1;margin-top:10px;letter-spacing:.005em;white-space:nowrap}
.lockup-name em{font-style:italic;font-weight:400;color:var(--c-rose);font-size:.78em;padding:0 .04em}
.lockup-tag{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--c-gold-text);margin-top:10px;font-weight:600;padding-left:.34em}
.lockup-sm .lockup-mark{width:64px}.lockup-sm .lockup-name{font-size:1.75rem;margin-top:4px}.lockup-sm .lockup-tag{font-size:.62rem;margin-top:6px}
@media (max-width:359px){.lockup-lg .lockup-name{font-size:2.4rem}}


.welcome{min-height:auto;justify-content:flex-start;gap:var(--s-5);padding:var(--s-2) 0 0}
.hero{position:relative;border-radius:32px;padding:56px 16px 40px;overflow:hidden;background:
  linear-gradient(160deg,#f7e3db 0%,#fbf1ea 45%,#f3e6d4 100%);border:1px solid #efdcd2}
.hero-art{position:absolute;inset:0;opacity:.55;background:
  radial-gradient(circle at 85% 12%,rgba(255,255,255,.9) 0,rgba(255,255,255,0) 38%),
  radial-gradient(circle at 10% 95%,rgba(236,195,184,.7) 0,rgba(236,195,184,0) 45%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M8 30c8 8 16 11 24 11s16-3 24-11' fill='none' stroke='%23b08d57' stroke-opacity='.22' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E")}
.hero .lockup{position:relative}
.welcome .lead{font-family:var(--f-serif);font-size:1.5rem;font-style:italic;color:var(--c-ink-2);max-width:300px;line-height:1.25}
.welcome-cta{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:340px;width:100%;margin:0 auto}
.trust{list-style:none;margin:0 auto;padding:0;display:grid;gap:10px;max-width:340px;width:100%;text-align:left}
.trust li{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);font-size:.93rem;color:var(--c-ink)}
.trust .icon{color:var(--c-rose)}
.est{letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;font-weight:600;color:var(--c-gold-text)}


.svc{min-height:80px;padding:16px;border-radius:var(--r-md);border:1px solid var(--c-line);box-shadow:0 1px 2px rgba(70,40,40,.03);transition:border-color .15s,box-shadow .15s,background .15s;position:relative}
.svc:hover{border-color:var(--c-line-strong)}
.svc[aria-pressed=true]{background:#fff;border-color:var(--c-rose);box-shadow:0 0 0 1px var(--c-rose),var(--sh-1)}
.svc .svc-ic{width:48px;height:48px;background:var(--c-blush-soft);color:var(--c-rose);position:relative}
.svc[aria-pressed=true] .svc-ic{background:var(--c-blush)}
.svc .svc-icon{width:26px;height:26px}
.svc-wk{position:absolute;right:-4px;bottom:-4px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:999px;font-size:.62rem;font-weight:700;color:var(--c-ink-2);padding:1px 5px}
.svc .name{font-weight:600;font-size:1rem}
.svc .price{font-family:var(--f-serif);font-size:1.5rem;font-weight:600;color:var(--c-ink)}
.svc-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--c-line-strong);color:transparent;flex:none}
.svc-check .icon{width:14px;height:14px;stroke-width:2.4}
.svc[aria-pressed=true] .svc-check{background:var(--c-rose);border-color:var(--c-rose);color:#fff}


.cal-ic{background:var(--c-blush-soft);color:var(--c-rose)}
.cal-month{font-size:1.5rem;font-weight:600}
.cal-grid{gap:2px 0}
.cal-grid .dow{font-weight:600;color:var(--c-ink-2)}
.day{width:44px;height:44px;font-weight:500}
.day.has{background:var(--c-surface-2)}
.day:disabled{color:#a3969a;background:none}
.day.has:hover{background:var(--c-blush-soft)}
.day.has::after{bottom:5px;background:var(--c-rose)}
.day[aria-pressed=true]{background:var(--c-ink);color:#fff}
.day[aria-pressed=true]::after{background:#fff}
@media (max-width:359px){.day{width:40px;height:40px}}
.slots{gap:10px}
.slot{min-height:48px;border-radius:999px;border:1px solid var(--c-line-strong);background:#fff;font-weight:500;font-variant-numeric:tabular-nums;transition:background .12s,border-color .12s}
.slot:hover{border-color:var(--c-rose);background:var(--c-blush-soft)}
.slot[aria-pressed=true]{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.secure{color:var(--c-gold-text)}


.check-circle{border-color:var(--c-rose);color:var(--c-rose);background:var(--c-blush-soft)}
.lash-badge{background:var(--c-blush-soft);color:var(--c-ink)}
.bk{border-radius:var(--r-md);box-shadow:var(--sh-1);background:var(--c-surface)}
.bk-date{border-right-color:var(--c-line)}
.bk-date .d{font-weight:600;color:var(--c-ink)}
.bk-date .m{color:var(--c-rose);font-weight:700}


.modal-bg{background:rgba(51,36,43,.42);backdrop-filter:blur(2px)}
.modal{background:var(--c-bg);border-radius:28px 28px 0 0;padding:28px 20px calc(24px + env(safe-area-inset-bottom));max-height:92vh;max-height:92dvh}
.modal::before{content:'';display:block;width:40px;height:4px;border-radius:4px;background:var(--c-line-strong);margin:-14px auto 16px;opacity:.6}
@media (min-width:700px){.modal{border-radius:28px;padding:32px}.modal::before{display:none}}


.sidebar .logo .s{margin-top:12px;color:var(--c-ink-2)}
.sidebar nav a[aria-current=page]{background:var(--c-blush-soft);color:var(--c-blush-ink);font-weight:600}
.tabbar a{font-size:.75rem;min-height:52px}
.tabbar a[aria-current=page]{color:var(--c-rose);font-weight:600}
.search{min-width:0}
.page-head h1{font-weight:500}
.admin-main{overflow-x:clip}
.cust .svc-name{white-space:normal}
.cust .nm{font-weight:600}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
[tabindex="-1"]:focus{outline:none!important}
.hero-art{opacity:.4}
.aui-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:520px){.aui-fields{grid-template-columns:minmax(0,1fr)}}
.aui-sheet{max-height:88vh;max-height:88dvh}
.aui-quick{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.aui-quick .aui-chip{min-height:44px}
.client-nav .btn-text{text-decoration:none;color:var(--c-ink-2);font-weight:500}
.client-nav .btn-text:hover{color:var(--c-rose)}
.bk .btn-text{text-decoration:none;font-weight:600}
.skip{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:359px){.day{width:100%;max-width:44px;height:44px}.client{padding-left:12px;padding-right:12px}.client .card-tight{padding:12px 8px}}
.day[aria-pressed=true],.day[aria-pressed=true]:disabled{background:var(--c-ink);color:#fff;font-weight:600}


.policy-card h3{font-size:1.25rem;margin-bottom:8px}
.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pc-list li{display:flex;gap:10px;font-size:.88rem;color:var(--c-ink-2);line-height:1.4}
.pc-list .icon{width:18px;height:18px;color:var(--c-rose);margin-top:1px}
.sum-card .price{font-family:var(--f-serif);font-size:1.6rem;font-weight:600}
.sum-name{font-size:1.05rem}
.book-aside{margin-top:var(--s-4)}
.foot-note{font-size:.9rem}

.done-hero{position:relative;padding-top:28px!important}
.done-title{font-size:clamp(2.4rem,10vw,3rem);font-weight:500;line-height:1.05}
.done-hero .check-circle{width:76px;height:76px;border:none;background:radial-gradient(circle at 30% 30%,#fff 0,var(--c-blush-soft) 60%,var(--c-blush) 100%);box-shadow:0 0 0 8px rgba(236,195,184,.25),0 10px 30px rgba(156,90,82,.18);color:var(--c-rose);position:relative;z-index:1}
.done-hero .check-circle .icon{width:34px;height:34px;stroke-width:1.8}
.done-burst{position:absolute;left:50%;top:66px;width:0;height:0;z-index:0}
.done-burst i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--c-gold);opacity:.75;transform:rotate(calc(var(--i)*45deg)) translateY(-62px)}
.done-burst i:nth-child(even){background:var(--c-blush-strong);width:5px;height:5px}
.done-burst i:nth-child(1){--i:0}.done-burst i:nth-child(2){--i:1}.done-burst i:nth-child(3){--i:2}.done-burst i:nth-child(4){--i:3}.done-burst i:nth-child(5){--i:4}.done-burst i:nth-child(6){--i:5}.done-burst i:nth-child(7){--i:6}.done-burst i:nth-child(8){--i:7}
@media (prefers-reduced-motion:no-preference){.done-burst i{animation:lbs-pop .9s cubic-bezier(.2,.7,.2,1) both}@keyframes lbs-pop{from{opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-20px) scale(.4)}to{opacity:.75}}}
.client-done .card{background:linear-gradient(180deg,#fff 0,var(--c-surface) 100%)}

.bk{padding:18px;border:1px solid var(--c-line)}
.bk .row.wrap .btn-ghost{min-height:44px}
.list>li.bk{border-top:1px solid var(--c-line)}
.empty{background:var(--c-surface);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg)}

#app:empty{min-height:100vh;background:radial-gradient(circle at 50% 40%,var(--c-blush-soft),transparent 40%)}


@media (min-width:760px){
  .client{max-width:560px;padding-left:32px;padding-right:32px}
  .client.client-wide{max-width:720px}}
@media (min-width:960px){
  .client.client-wide{max-width:1040px}
  .client-welcome{max-width:520px}
  .book-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:28px;align-items:start}
  .book-aside{margin-top:0;position:sticky;top:56px}
  .details-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1.5fr)}
  .details-layout .book-aside{order:0}
  .cal-2col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
  .cal-2col>.card+.card{margin-top:0!important}
  .next-wrap{max-width:360px;margin-left:auto}
  .client-wide .topbar{max-width:none}
  .client-done{max-width:560px}}
@media (min-width:1400px){.client.client-wide{max-width:1120px}}


.done-mark svg{width:46px;height:46px}
.done-mark .dm-check{stroke-dasharray:44;stroke-dashoffset:0}
.done-mark .dm-lash,.done-mark .dm-lashes{opacity:.85}
@media (prefers-reduced-motion:no-preference){
  .done-mark{animation:dm-in .6s cubic-bezier(.2,.8,.2,1) both}
  .done-mark .dm-check{stroke-dashoffset:44;animation:dm-draw .55s .35s ease-out forwards}
  .done-mark .dm-lash{stroke-dasharray:50;stroke-dashoffset:50;animation:dm-draw .5s .8s ease-out forwards}
  .done-mark .dm-lashes path{opacity:0;animation:dm-fade .3s ease-out forwards}
  .done-mark .dm-lashes path:nth-child(1){animation-delay:1.1s}.done-mark .dm-lashes path:nth-child(2){animation-delay:1.16s}.done-mark .dm-lashes path:nth-child(3){animation-delay:1.22s}.done-mark .dm-lashes path:nth-child(4){animation-delay:1.28s}.done-mark .dm-lashes path:nth-child(5){animation-delay:1.34s}
  @keyframes dm-in{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
  @keyframes dm-draw{to{stroke-dashoffset:0}}
  @keyframes dm-fade{to{opacity:1}}}
.done-hero .check-circle.done-mark{width:88px;height:88px}
.done-email .icon{width:16px;height:16px;vertical-align:-3px;color:var(--c-rose)}
.cal-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cal-btns .btn{min-height:48px;padding-left:10px;padding-right:10px;font-size:.92rem}
@media (max-width:340px){.cal-btns{grid-template-columns:1fr}}
.aui-ack{color:var(--c-ok);font-weight:600}.aui-ack .icon{width:16px;height:16px;vertical-align:-3px}
.modal.modal-wide{max-width:760px;width:calc(100% - 24px)}
.em-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.em-tabs .chip,.em-tools .chip{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-ink);font:inherit;font-size:.88rem;cursor:pointer}
.em-tabs .chip[aria-selected=true],.em-tools .chip[aria-pressed=true]{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.em-meta{display:grid;gap:2px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;padding:10px 12px;margin-bottom:10px;overflow-wrap:anywhere}
.em-meta .muted{display:inline-block;min-width:72px}
.em-tools{gap:8px;margin-bottom:10px}.em-tools .seg{display:flex;gap:6px}
.em-frame-wrap{border:1px solid var(--c-line);border-radius:14px;background:#efe7e1;padding:10px;display:flex;justify-content:center}
.em-frame{border:0;background:#fbf7f2;border-radius:10px;height:min(62vh,640px);width:100%}
.em-phone .em-frame{max-width:375px}
.em-text{white-space:pre-wrap;font:13px/1.55 ui-monospace,Menlo,monospace;background:#fff;border-radius:10px;padding:14px;margin:0;width:100%;max-height:62vh;overflow:auto;overflow-wrap:anywhere}
.client .row.wrap .btn-text.btn-sm{min-height:44px}


.tabbar a{min-width:0;flex:1 1 0;padding:0 2px}
.admin,.admin-main{min-width:0}
.badge.nowrap,.badge{white-space:nowrap}

.cal-grid .day{min-width:44px;min-height:44px}

@media (max-width:359px){.client{padding-left:6px;padding-right:6px}.client .card-tight:has(> .cal-grid){padding-left:0;padding-right:0}.client .card-tight:has(> .cal-grid) .cal-head{padding:0 10px}.cal-grid{gap:2px 0}.cal-grid .day{width:44px;max-width:none;min-width:44px;height:44px;margin:0 auto}}
.icon-btn,.page-head .icon-btn,.back{flex:none;min-width:44px}
label.check{min-height:44px;align-items:center;cursor:pointer}
label.check input[type=checkbox]{width:24px;height:24px;flex:none}
.contact-line{margin-top:6px}.contact-line a{display:inline-block;padding:13px 0;margin:-13px 0}
@media (max-width:899px){.aui-today{grid-template-columns:minmax(0,1fr)}}.aui-today>*{min-width:0}

.contact-phone{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.contact-btn{min-height:56px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;padding:8px 12px}
.contact-btn span{display:flex;flex-direction:column;line-height:1.2}.contact-btn small{font-weight:400;font-size:.8rem;opacity:.9;white-space:nowrap}
.contact-btn .icon{width:20px;height:20px;flex:none}
.contact-mail{margin-top:10px;min-height:48px}
@media (max-width:340px){.contact-phone{grid-template-columns:1fr}}

.auth-page{max-width:480px}
.auth-card form .field{display:flex;flex-direction:column}
.pw-wrap{position:relative;display:flex}
.pw-wrap input{flex:1;padding-right:76px}
.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:44px;min-width:64px;border:0;background:none;color:var(--c-ink-2);font-weight:600;border-radius:10px;cursor:pointer}
.pw-toggle:focus-visible{outline:2px solid var(--c-rose);outline-offset:-2px}
.pw-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}
.pw-meter span{height:5px;border-radius:3px;background:var(--c-line)}
.pw-meter[data-score="1"] span:nth-child(1){background:#c9837c}
.pw-meter[data-score="2"] span:nth-child(-n+2){background:#c9a15a}
.pw-meter[data-score="3"] span{background:#5c8a6a}
.pw-level{min-height:1.2em;margin-top:2px}
.field-err{color:var(--c-bad);font-size:.88rem;margin-top:6px}
.field-err::before{content:"! ";font-weight:700}
input[aria-invalid=true]{border-color:var(--c-bad)}
.or{display:flex;align-items:center;gap:10px;color:var(--c-ink-2);font-size:.85rem}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--c-line)}
.h-sm{font-size:1.15rem}
.acct-btns{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.acct-btns .btn{min-height:48px;justify-content:flex-start}
@media (min-width:900px){.acct-btns{grid-template-columns:1fr 1fr}}
.acct-danger{color:var(--c-bad)}


.aui-strip{grid-template-columns:repeat(7,minmax(44px,1fr))}
@media (max-width:359px){.aui-strip{gap:0;overflow-x:auto;scrollbar-width:none;margin-inline:-8px}}

.svc-group{display:flex;flex-direction:column;gap:8px}
.svc-gh{font-size:1rem;margin:8px 0 0}

.ig-line{margin:10px 0 0;text-align:center}.ig-link{display:inline-flex;gap:6px;align-items:center;min-height:44px}
.site-foot{text-align:center;margin:18px 0 4px;line-height:1.5}.site-foot p{margin:0}


.boot-shell { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px; text-align: center; }
.boot-shell .boot-brand { font-size: 2rem; margin: 0; }
.boot-shell .boot-status { color: var(--c-ink-2, #6b5d57); }

@media (max-width: 420px) {
  .page-head { flex-wrap: wrap; }
  .page-head .cust-tools { flex: 1 1 100% !important; max-width: none !important; order: 9; }
  .cust-tools .search { flex: 1 1 auto; min-width: 0; }
  .cust-tools select { flex: 0 0 auto; min-width: 7.5rem; }}
.filters { flex-wrap: nowrap; overflow-x: auto; }
.filters .chip { white-space: nowrap; flex: 0 0 auto; }

@media (max-width: 420px) {
  .st-svc-head { flex-wrap: wrap; }
  .st-svc-head > .field.grow { flex: 1 1 100%; min-width: 0; }}

main p a:not(.btn), main li a:not(.btn):not(.cust), .small a:not(.btn), .muted a:not(.btn) { display: inline-block; min-height: 44px; line-height: 44px; padding-inline: 2px; }

body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.toast, .sheet, .bottom-nav, .tabbar { padding-bottom: max(var(--s-3, 12px), env(safe-area-inset-bottom)); }
html { scroll-padding-top: 72px; scroll-padding-bottom: 88px; }