/* =====================================================================
   PHARAOHS · app — the brand of the website (matte black, polished gold, warm ivory; Cormorant + Montserrat),
   built as an app: big readable text, clean cards, one bottom nav per role, quiet motion.
   ===================================================================== */
:root{
  --black:#0a0a0a;--deep:#050505;--card:#131110;--card2:#1a1712;--line:rgba(201,162,75,.16);--line2:rgba(201,162,75,.4);
  --gold:#c9a24b;--gold2:#e8c983;--gold3:#8a6d34;--ivory:#f2ead9;--muted:#b8ab98;--muted2:#7a7064;
  --ok:#5ec27a;--warn:#e0b04a;--bad:#e35b5b;--info:#6fa8e8;
  --d:"Cormorant Garamond",Georgia,serif;--b:Montserrat,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--r:16px;--pad:18px;--nav:calc(64px + env(safe-area-inset-bottom));
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;height:100%;background:var(--deep);color-scheme:dark;overflow-x:clip}
body{margin:0;min-height:100%;background:var(--deep);color:var(--ivory);font:400 16px/1.5 var(--b);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip;overscroll-behavior-y:none}
img,svg{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--gold);color:var(--black)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- splash ---------- */
.splash{position:fixed;inset:0;z-index:1000;background:var(--deep);display:grid;place-items:center;transition:opacity .5s ease}
.splash.out{opacity:0;pointer-events:none}
.splash__c{display:flex;flex-direction:column;align-items:center;gap:18px}
.splash__coin{width:min(50vw,200px);aspect-ratio:1;opacity:0;transform:scale(.8);filter:drop-shadow(0 20px 40px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(201,162,75,.25));animation:spIn 1.1s var(--ease) .15s forwards}
.splash__t{font:600 clamp(1.5rem,7vw,2.2rem)/1 var(--d);letter-spacing:.38em;padding-left:.38em;color:var(--ivory);opacity:0;animation:spT .8s var(--ease) .8s forwards}
.splash__s{font:700 .66rem/1 var(--b);letter-spacing:.38em;padding-left:.38em;text-transform:uppercase;color:var(--gold);opacity:0;animation:spT .7s var(--ease) 1.05s forwards}
.splash__line{width:min(60vw,240px);height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);transform:scaleX(0);animation:spLine 1.2s var(--ease) .3s forwards}
@keyframes spIn{to{opacity:1;transform:none}}@keyframes spT{to{opacity:1}}@keyframes spLine{to{transform:none}}
@media(prefers-reduced-motion:reduce){.splash__coin,.splash__t,.splash__s,.splash__line{animation-duration:.01s;animation-delay:0s}}

/* ---------- shell ---------- */
.app{min-height:100svh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:calc(8px + env(safe-area-inset-top)) var(--pad) 8px;background:rgba(5,5,5,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.top__brand{display:flex;align-items:center;gap:10px;min-height:44px}
.top__brand img{width:36px;height:36px;filter:drop-shadow(0 3px 10px rgba(201,162,75,.4))}
.top__brand b{font:600 1.1rem/1 var(--d);letter-spacing:.16em;color:var(--ivory)}
.top__t{font:600 1.35rem/1.1 var(--d);letter-spacing:.04em;color:var(--ivory);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top__back{width:44px;height:44px;display:grid;place-items:center;color:var(--gold2);margin-left:-10px}
.top__back svg{width:22px;height:22px}
.top__acts{display:flex;align-items:center;gap:4px}
.icobtn{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--ivory);transition:background-color .2s}
.icobtn svg{width:22px;height:22px}
.icobtn .dot{position:absolute;top:9px;right:9px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--gold);color:var(--black);font:800 .6rem/16px var(--b);text-align:center}
@media(hover:hover){.icobtn:hover{background:rgba(201,162,75,.12)}}
.view{flex:1;padding:16px var(--pad) calc(var(--nav) + 24px);max-width:720px;width:100%;margin:0 auto;animation:vIn .35s var(--ease)}
@keyframes vIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.view{animation:none}}
.view--wide{max-width:1100px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(5,5,5,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line2)}
.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;padding:0 2px;font:700 .54rem/1 var(--b);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:color .2s;text-align:center;overflow:hidden}
.nav a svg{width:22px;height:22px}
.nav a.on{color:var(--gold2)}
.nav a.main span{display:grid;place-items:center;width:58px;height:58px;margin-top:-24px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black);box-shadow:0 12px 30px -10px rgba(201,162,75,.8),0 0 0 6px var(--deep)}
.nav a.main span svg{width:24px;height:24px}
@media(min-width:900px){.app>.top{order:0}.app>.nav{order:1}.app>.view{order:2}.nav{left:auto;right:auto;bottom:auto;top:0;width:100%;grid-auto-flow:column;position:sticky;border-top:0;border-bottom:1px solid var(--line);padding:0 var(--pad);justify-content:center;grid-auto-columns:max-content;gap:32px}.nav a{flex-direction:row;gap:8px;min-height:56px;font-size:.66rem;padding:0 6px}.nav a.main span{width:auto;height:40px;margin:0;padding:0 16px;border-radius:999px;box-shadow:none}:root{--nav:0px}}

/* ---------- type ---------- */
.h1{font:600 clamp(1.9rem,7vw,2.6rem)/1.05 var(--d);letter-spacing:.02em;color:var(--ivory);text-wrap:balance}
.h2{font:600 clamp(1.4rem,5vw,1.8rem)/1.1 var(--d);letter-spacing:.02em;color:var(--ivory)}
.eyebrow{font:800 .62rem/1.4 var(--b);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.lead{font-size:1.02rem;color:var(--muted);line-height:1.6}
.muted{color:var(--muted)}.small{font-size:.84rem}.tiny{font-size:.72rem;letter-spacing:.06em}
.gold{color:var(--gold2)}.ok{color:var(--ok)}.bad{color:var(--bad)}
.num{font:600 2rem/1 var(--d);color:var(--ivory);font-variant-numeric:tabular-nums}
.num--gold{color:var(--gold2)}
.sec{margin-top:24px}
.sec__h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.sec__h .h2{font-size:1.3rem}
.sec__h a,.sec__h button{font:700 .66rem/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);min-height:36px;display:inline-flex;align-items:center}

/* ---------- cards ---------- */
.card{position:relative;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:16px}
.card--gold{border-color:var(--line2);box-shadow:0 20px 50px -30px rgba(201,162,75,.5)}
.card--flat{background:var(--card)}
.card+.card{margin-top:10px}
.corner{position:absolute;width:14px;height:14px;border:1px solid var(--gold2);opacity:.8;pointer-events:none}
.c1{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:var(--r)}.c2{top:-1px;right:-1px;border-left:0;border-bottom:0;border-top-right-radius:var(--r)}.c3{bottom:-1px;left:-1px;border-right:0;border-top:0;border-bottom-left-radius:var(--r)}.c4{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:var(--r)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:380px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{padding:14px 14px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.stat b{display:block;font:600 1.6rem/1.1 var(--d);color:var(--ivory);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat b.gold{color:var(--gold2)}
.stat span{display:block;margin-top:4px;font:700 .58rem/1.3 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.row{display:flex;align-items:center;gap:12px}
.row--between{justify-content:space-between}
.row--wrap{flex-wrap:wrap}
.stack{display:grid;gap:10px}
.divider{height:1px;background:var(--line);margin:14px 0}
.list>*+*{border-top:1px solid var(--line)}
.item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;min-height:56px;text-align:left;width:100%;max-width:100%}
.item>*{min-width:0}
.item__time{font:600 1.05rem/1.1 var(--d);color:var(--gold2);min-width:66px;font-variant-numeric:tabular-nums}
.item__t{display:block;font-weight:600;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item__s{display:block;font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item__r{text-align:right;font-variant-numeric:tabular-nums}
.chev{width:18px;height:18px;color:var(--muted2)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font:800 .58rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;background:rgba(201,162,75,.12);color:var(--gold2);border:1px solid var(--line2);white-space:nowrap}
.pill--booked{background:rgba(201,162,75,.14);color:var(--gold2);border-color:var(--gold2)}
.pill--confirmed{background:rgba(201,162,75,.14);color:var(--gold2);border-color:var(--gold2)}
.pill--arrived{background:rgba(224,176,74,.14);color:var(--warn);border-color:rgba(224,176,74,.45)}
.pill--in_chair{background:rgba(232,201,131,.18);color:var(--gold2);border-color:var(--gold2)}
.pill--completed{background:rgba(94,194,122,.12);color:var(--ok);border-color:rgba(94,194,122,.45)}
.pill--cancelled,.pill--no_show,.pill--voided{background:rgba(227,91,91,.12);color:var(--bad);border-color:rgba(227,91,91,.45)}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold3),var(--gold));color:var(--black);font:600 1.1rem/1 var(--d);overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar--lg{width:84px;height:84px;font-size:2rem}
.avatar--xl{width:112px;height:112px;font-size:2.6rem;box-shadow:0 0 0 3px var(--deep),0 0 0 4px var(--gold2)}

/* ---------- buttons & forms ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:12px;font:700 .78rem/1.2 var(--b);letter-spacing:.14em;text-transform:uppercase;text-align:center;transition:transform .2s var(--ease),box-shadow .3s,background-color .3s,border-color .3s,opacity .2s;position:relative;overflow:hidden;isolation:isolate}
.btn--gold{background:linear-gradient(135deg,var(--gold2),var(--gold) 50%,var(--gold3));color:var(--black);box-shadow:0 12px 28px -12px rgba(201,162,75,.7)}
.btn--line{color:var(--gold2);border:1px solid var(--line2);background:rgba(201,162,75,.06)}
.btn--ghost{color:var(--ivory);border:1px solid rgba(242,234,217,.25)}
.btn--danger{color:var(--bad);border:1px solid rgba(227,91,91,.45);background:rgba(227,91,91,.06)}
.btn--ok{background:var(--ok);color:#06120a}
.btn--sm{min-height:40px;padding:0 14px;font-size:.66rem}
.btn--xl{min-height:58px;font-size:.86rem}
.btn--w{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn svg{width:18px;height:18px;flex:none}
.btn:active{transform:scale(.98)}
.btns{display:grid;gap:10px;margin-top:16px}
.btns--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:grid;gap:6px;margin-top:12px}
.field label{font:700 .62rem/1.3 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.input,select.input,textarea.input{width:100%;min-height:52px;padding:12px 14px;border-radius:12px;background:rgba(242,234,217,.05);border:1px solid rgba(242,234,217,.16);color:var(--ivory);font-size:1rem;transition:border-color .2s,background-color .2s}
.input:focus{border-color:var(--gold2);background:rgba(242,234,217,.08);outline:0}
textarea.input{min-height:96px;resize:vertical}
select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c983' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.input--money{font:600 1.6rem/1 var(--d);text-align:center;min-height:64px}
.help{font-size:.78rem;color:var(--muted2)}
.err{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(227,91,91,.1);border:1px solid rgba(227,91,91,.4);color:#f3b1b1;font-size:.9rem}
.notice{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(201,162,75,.08);border:1px solid var(--line2);color:var(--ivory);font-size:.9rem}
.notice b{color:var(--gold2)}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 0}
.toggle input{appearance:none;width:52px;height:30px;border-radius:999px;background:rgba(242,234,217,.15);position:relative;transition:background-color .2s;flex:none;cursor:pointer}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.toggle input:checked{background:var(--gold)}.toggle input:checked::after{transform:translateX(22px)}
.seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(242,234,217,.06);border:1px solid var(--line)}
.seg button{flex:1;min-height:40px;border-radius:9px;font:700 .64rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:background-color .2s,color .2s}
.seg button.on{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);color:var(--ivory);font:600 .88rem/1 var(--b);display:inline-flex;align-items:center;gap:6px;transition:background-color .2s,color .2s,border-color .2s}
.chip.on{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black);border-color:transparent}
.chip[disabled]{opacity:.35}
.search{position:relative}
.search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--muted)}
.search .input{padding-left:42px}

/* ---------- auth ---------- */
.auth{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) var(--pad) calc(24px + env(safe-area-inset-bottom));max-width:440px;margin:0 auto;width:100%}
.auth__logo{width:min(40vw,150px);margin:0 auto 10px;filter:drop-shadow(0 16px 30px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(201,162,75,.2))}
.auth__t{text-align:center;font:600 2rem/1 var(--d);letter-spacing:.3em;padding-left:.3em}
.auth__s{text-align:center;margin-top:6px}
.auth form{margin-top:12px}
.auth .btns{margin-top:22px}
.auth__link{display:block;text-align:center;margin-top:18px;min-height:44px;line-height:44px;color:var(--gold2);font-weight:600}

/* ---------- qr ---------- */
.qr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px 16px}
.qr__box{position:relative;padding:18px;background:#fff;border-radius:22px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9),0 0 0 1px var(--gold2),0 0 60px -20px rgba(201,162,75,.6)}
.qr__box canvas{width:min(68vw,280px);height:min(68vw,280px);image-rendering:pixelated}
.qr__box .qr__coin{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;padding:3px}
.qr__n{font:600 1.7rem/1.1 var(--d);color:var(--ivory)}
.qr__hint{color:var(--muted);max-width:26ch}
.qr__code{font:600 .95rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--gold,#c9a24b);word-break:break-all;max-width:min(80vw,320px);user-select:all;-webkit-user-select:all}
.scan{position:relative;aspect-ratio:1;max-width:420px;margin:0 auto;border-radius:22px;overflow:hidden;background:#000;border:1px solid var(--line2)}
.scan video{width:100%;height:100%;object-fit:cover}
.scan__frame{position:absolute;inset:14%;border:2px solid rgba(232,201,131,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.45);pointer-events:none}
.scan__line{position:absolute;left:14%;right:14%;top:14%;height:2px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);animation:scanLine 2.2s ease-in-out infinite;pointer-events:none}
@keyframes scanLine{50%{transform:translateY(calc(72vw - 20px))}}
@media(min-width:460px){@keyframes scanLine{50%{transform:translateY(300px)}}}
@media(prefers-reduced-motion:reduce){.scan__line{animation:none}}
.result{text-align:center}
.result .h1{margin-top:8px}

/* ---------- calendar ---------- */
.cal{margin-top:12px}
.cal__h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cal__h b{font:600 1.3rem/1 var(--d);letter-spacing:.03em}
.cal__nav{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--gold2);border:1px solid var(--line)}
.cal__nav svg{width:18px;height:18px}
.cal__wd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font:700 .58rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-bottom:6px}
.cal__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.day{aspect-ratio:1;min-height:40px;display:grid;place-items:center;border-radius:12px;font:600 .95rem/1 var(--b);color:var(--ivory);position:relative;transition:background-color .2s,color .2s}
.day--past,.day--full{color:var(--muted2)}
.day--full::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--muted2)}
.day--open::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--gold2)}
.day--today{box-shadow:inset 0 0 0 1px var(--line2)}
.day.on{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black)}
.day.on::after{background:var(--black)}
.day[disabled]{pointer-events:none}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
@media(min-width:460px){.slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
.slot{min-height:46px;border-radius:10px;border:1px solid var(--line2);color:var(--ivory);font:600 .9rem/1 var(--b);font-variant-numeric:tabular-nums;transition:background-color .2s,color .2s}
.slot.on{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black);border-color:transparent}
.steps{display:flex;gap:6px;margin:10px 0 4px}
.steps i{flex:1;height:3px;border-radius:2px;background:rgba(242,234,217,.12)}
.steps i.on{background:var(--gold2)}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.week button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-radius:12px;font:700 .58rem/1 var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.week button b{font:600 1.1rem/1 var(--d);color:var(--ivory)}
.week button.on{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black)}.week button.on b{color:var(--black)}
.tl{position:relative;margin-top:14px}
.tl__row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;min-height:54px;border-top:1px solid var(--line);padding:6px 0}
.tl__t{font:600 .78rem/1 var(--b);color:var(--muted2);padding-top:6px;font-variant-numeric:tabular-nums}
.tl__free{font-size:.78rem;color:var(--muted2);padding-top:8px}
.ap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(201,162,75,.08);border:1px solid var(--line2);border-left:4px solid var(--gold2);text-align:left;width:100%;max-width:100%}
.ap>*{min-width:0}.ap b,.ap span{overflow:hidden;text-overflow:ellipsis}
.ap--arrived{border-left-color:var(--warn)}.ap--in_chair{border-left-color:var(--gold2);background:rgba(232,201,131,.14)}.ap--completed{border-left-color:var(--ok);opacity:.8}.ap--cancelled,.ap--no_show{border-left-color:var(--bad);opacity:.6}.ap--block{border-left-color:var(--muted2);background:repeating-linear-gradient(135deg,rgba(242,234,217,.05) 0 6px,transparent 6px 12px)}
.ap b{display:block;font-weight:600;color:var(--ivory)}.ap span{display:block;font-size:.8rem;color:var(--muted)}
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.month button{min-height:58px;padding:6px 4px;border-radius:10px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:3px;font:600 .85rem/1 var(--b);color:var(--ivory)}
.month button small{font:700 .58rem/1 var(--b);color:var(--gold2)}
.month button.on{border-color:var(--gold2);background:rgba(201,162,75,.12)}

/* ---------- charts ---------- */
.chart{width:100%;height:auto;display:block;margin-top:10px}
.bars{display:grid;gap:8px;margin-top:8px}
.bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.9rem}
.bar i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--gold3),var(--gold2));width:var(--w,0%);margin-top:5px;min-width:3px}
.bar b{font-variant-numeric:tabular-nums;color:var(--ivory)}

/* ---------- sheets, toasts ---------- */
.sheet{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.sheet__bg{position:absolute;inset:0;background:rgba(5,5,5,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sheet__c{position:relative;width:100%;max-width:520px;max-height:92svh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px var(--pad) calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--card2);border:1px solid var(--line2);border-bottom:0;transform:translateY(24px);opacity:0;transition:transform .35s var(--ease),opacity .25s}
.sheet.in .sheet__c{transform:none;opacity:1}
.sheet__grab{width:40px;height:4px;border-radius:2px;background:rgba(242,234,217,.2);margin:0 auto 12px}
.sheet__t{font:600 1.5rem/1.1 var(--d);color:var(--ivory)}
@media(min-width:720px){.sheet{align-items:center}.sheet__c{border-radius:22px;border-bottom:1px solid var(--line2);max-height:86vh}}
.toast{position:fixed;left:50%;bottom:calc(var(--nav) + 16px);z-index:400;transform:translateX(-50%) translateY(20px);opacity:0;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:var(--ivory);color:var(--black);font-weight:600;font-size:.92rem;box-shadow:0 20px 40px -14px rgba(0,0,0,.8);transition:transform .3s var(--ease),opacity .3s;pointer-events:none}
.toast.in{transform:translateX(-50%);opacity:1}
.toast--bad{background:var(--bad);color:#fff}
.empty{text-align:center;padding:36px 16px;color:var(--muted)}
.empty img{width:64px;margin:0 auto 12px;opacity:.5}
.empty b{display:block;font:600 1.3rem/1.2 var(--d);color:var(--ivory);margin-bottom:4px}
.skel{height:80px;border-radius:var(--r);background:linear-gradient(90deg,var(--card) 25%,var(--card2) 50%,var(--card) 75%);background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.offline{position:fixed;top:calc(60px + env(safe-area-inset-top));left:0;right:0;z-index:70;text-align:center;padding:8px;background:var(--bad);color:#fff;font:700 .7rem/1 var(--b);letter-spacing:.14em;text-transform:uppercase}
.pre{white-space:pre-wrap;overflow-wrap:anywhere;font:500 .9rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;padding:14px;border-radius:12px;background:rgba(242,234,217,.05);border:1px solid var(--line);color:var(--ivory)}
.menuhint{font-size:.78rem;color:var(--muted2);margin-top:6px}
.hours{display:grid;gap:8px}
.hours__d{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.hours__d:last-child{border-bottom:0}
.hours__d b{font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory)}
.hours__d .toggle{gap:10px}
.hours__d .hours__w{grid-column:1/-1}
.hours__d .input{min-height:44px;padding:8px 10px}
.hours__w{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}
.hours__w span{color:var(--muted2);font-size:.8rem;text-align:center}
.notif{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 0}
.notif i{width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--gold2)}
.notif.read i{background:rgba(242,234,217,.15)}
.notif b{display:block;color:var(--ivory)}.notif span{display:block;font-size:.86rem;color:var(--muted)}.notif small{display:block;font-size:.7rem;color:var(--muted2);margin-top:3px}
.barbercard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;max-width:100%;gap:14px;align-items:center;width:100%;text-align:left;padding:14px;border-radius:var(--r);background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);transition:border-color .2s}
.barbercard.on{border-color:var(--gold2);box-shadow:0 0 0 1px var(--gold2)}
.barbercard b{display:block;font:600 1.25rem/1.1 var(--d);color:var(--ivory)}.barbercard span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}
.svc{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:100%;gap:10px;align-items:center;width:100%;text-align:left;padding:14px;border-radius:var(--r);background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);transition:border-color .2s}
.svc.on{border-color:var(--gold2);box-shadow:0 0 0 1px var(--gold2)}
.svc b{display:block;font:600 1.2rem/1.1 var(--d);color:var(--ivory)}.svc span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}.svc em{font:600 1.2rem/1 var(--d);color:var(--gold2);font-style:normal}
/* omar-2026-10-17-r1d-a · selected custom item: the card deselects, Edit sits beside it (two sibling buttons) */
.svcx{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;min-width:0}
.svcx>.svc{min-width:0}
.svcx__edit{min-width:64px;min-height:44px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line2);background:linear-gradient(160deg,var(--card2),var(--card));color:var(--gold2);font:800 .66rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}
.svcx__edit:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.bksum{margin-top:10px;overflow-wrap:anywhere}
.bksum__hint{margin-top:6px;color:var(--gold2)}
/* omar-2026-10-17-r1d-b · family / group booking: the people stepper, one card per person, the result, the details card, the charge sheet */
.bkppl{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px 10px 14px;border:1px solid var(--line2);border-radius:var(--r);background:linear-gradient(160deg,var(--card2),var(--card))}
.bkppl__t{margin:0}
.bkppl__step{display:flex;align-items:center;gap:6px;flex:none}
.bkppl__b{width:44px;height:44px;border-radius:50%;border:1px solid var(--gold2);background:transparent;color:var(--gold2);font:700 1.4rem/1 var(--d);cursor:pointer;-webkit-tap-highlight-color:transparent}
.bkppl__b:disabled{opacity:.3;cursor:default}
.bkppl__b:focus-visible,.bkp__h:focus-visible,.grpc__r:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.bkppl__n{min-width:2ch;text-align:center;font:700 1.6rem/1 var(--d);color:var(--ivory)}
.bkgfor{margin-top:12px}
.bkgfor__hint[hidden]{display:none}   /* omar-2026-10-17-r1d-c */
.bkps{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.bkp{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,var(--card2),var(--card));min-width:0}
.bkp--open{border-color:var(--gold2)}
.bkp__h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.bkp__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold2);color:var(--gold2);font:700 .95rem/1 var(--d)}
.bkp--ok .bkp__n{background:var(--gold2);color:#0a0a0a}
.bkp__w{min-width:0}.bkp__w b{display:block;font:600 1.05rem/1.2 var(--d);color:var(--ivory);overflow-wrap:anywhere}.bkp__w small{display:block;margin-top:2px;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}
.bkp__c{font:700 1.3rem/1 var(--d);color:var(--gold2)}
.bkp__b{padding:0 12px 14px}
.bkp__b .stack{margin-top:10px!important}
.bkp__lk,.bkp__same{margin-top:4px}
.bkp__link{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 0}
.bkgrp{margin-top:12px;font-size:.95rem}
.grpres{padding:6px 14px}
.grpres--rev{padding:6px 0 0;margin-top:8px;border-top:1px solid var(--line)}
.grpres__r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.grpres__i,.grpc__i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--gold2);color:var(--gold2);font:700 .85rem/1 var(--d)}
.grpres__w{min-width:0}.grpres__w b{display:block;color:var(--ivory);overflow-wrap:anywhere}.grpres__w small{display:block;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}
.grpres__r em{font:600 1.1rem/1 var(--d);color:var(--gold2);font-style:normal}
.grpres__t{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 0 6px}.grpres__t span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.grpres__t b{font:700 1.25rem/1.1 var(--d);color:var(--gold2)}
.grpres__span{font-size:clamp(1.5rem,7vw,2.4rem)!important;white-space:normal}
.grpc{margin-top:10px}
.grpc__t{margin:0 0 8px;color:var(--gold2)}
.grpc__l{display:flex;flex-direction:column;gap:6px}
.grpc__r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:transparent;color:inherit;font:inherit;text-align:left}
button.grpc__r{cursor:pointer}
.grpc__r--me{border-color:var(--gold2);background:rgba(232,201,131,.06)}
.grpc__w{min-width:0}.grpc__w b{display:block;color:var(--ivory);overflow-wrap:anywhere}.grpc__w small{display:block;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.tl2__grp{display:inline-block;margin-right:5px;padding:1px 6px;border-radius:999px;border:1px solid currentColor;font:800 .62rem/1.3 var(--b);font-style:normal;letter-spacing:.04em;vertical-align:1px}
.paygrp{margin:14px 0 6px}
.paygrp__l{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.paygrp__l[hidden]{display:none}
.paygrp__r{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;align-items:center}
.paygrp__c{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;cursor:pointer}
.paygrp__c input{width:20px;height:20px;flex:none;accent-color:var(--gold2)}
.paygrp__c span{min-width:0}.paygrp__c b{display:block;overflow-wrap:anywhere}.paygrp__c small{display:block;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}

.summary{display:grid;gap:8px}
.summary div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.summary div span{color:var(--muted)}.summary div b{color:var(--ivory);text-align:right}
.summary div.total b{font:600 1.5rem/1 var(--d);color:var(--gold2)}

/* ---- Bookings: green = paid · red = cancelled/no-show · gold = booked · amber = checked in ---- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--ivory);font:700 .8rem/1 var(--b)}
.chip b{font-weight:800;opacity:.7}.chip i{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.chip--booked i{background:var(--gold2)}.chip--here i{background:var(--warn)}.chip--paid i{background:var(--ok)}.chip--cancelled i{background:var(--bad)}.chip--all i{background:linear-gradient(90deg,var(--ok) 50%,var(--bad) 50%)}
.chip.on{background:rgba(201,162,75,.18);border-color:var(--gold2);color:var(--ivory)}
.chips .chip.on{color:var(--ivory)}
.chip:focus-visible,.bk:focus-visible,.pop:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.bkl{margin-top:14px;gap:8px}
.bk__day{margin:12px 2px 2px;font:800 .66rem/1.2 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 14px;border-radius:14px;text-align:left;border:1px solid var(--line2);border-left-width:5px;background:rgba(255,255,255,.02);color:var(--ivory)}
.bk__t{font:700 .85rem/1.2 var(--b);color:var(--muted);min-width:58px}
.bk__main{min-width:0;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.bk__main b{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk__main>span{font-size:.8rem;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk__m{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.bk__m b{font-weight:800}.bk__m em{font-style:normal;font-weight:800;font-size:.78rem;color:var(--ok)}.bk__m small{font-size:.7rem;color:var(--muted)}
.bk--booked{border-left-color:var(--gold2);background:rgba(201,162,75,.07)}
.bk--here{border-left-color:var(--warn);background:rgba(224,176,74,.09)}
.bk--paid{border-color:rgba(94,194,122,.35);border-left-color:var(--ok);background:rgba(94,194,122,.12)}
.bk--paid .bk__m b{color:var(--ok)}
.bk--cancelled{border-color:rgba(227,91,91,.35);border-left-color:var(--bad);background:rgba(227,91,91,.12)}
.bk--cancelled .bk__main b{text-decoration:line-through;text-decoration-color:rgba(227,91,91,.7)}
.ok{color:var(--ok)}
.lg{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 6px 0 10px;vertical-align:-1px}.lg:first-child{margin-left:0}
.lg--booked{background:var(--gold2)}.lg--here{background:var(--warn)}.lg--paid{background:var(--ok)}.lg--cancelled{background:var(--bad)}
.ap--completed{border-left-color:var(--ok);background:rgba(94,194,122,.12);opacity:1}
.ap--cancelled,.ap--no_show{border-left-color:var(--bad);background:rgba(227,91,91,.1);opacity:1}
/* Payments feed */
.pay{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.pay__amt{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pay__amt b{font-weight:800;color:var(--ok)}.pay__amt em{font-style:normal;font-weight:800;font-size:.78rem;color:var(--gold2)}.pay__amt small{font-size:.7rem;color:var(--muted)}
/* Live pop-ups */
.pops{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 10px);transform:translateX(-50%);z-index:450;display:flex;flex-direction:column;gap:8px;width:min(calc(100% - 24px),440px);pointer-events:none}
.pop{pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(18,16,12,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line2);border-left:5px solid var(--gold2);box-shadow:0 18px 40px -16px rgba(0,0,0,.8);color:var(--ivory);text-decoration:none;opacity:0;transform:translateY(-14px) scale(.97);transition:opacity .22s cubic-bezier(.23,1,.32,1),transform .22s cubic-bezier(.23,1,.32,1)}
.pop.in{opacity:1;transform:none}
.pop i{width:12px;height:12px;border-radius:50%;background:var(--gold2);box-shadow:0 0 12px var(--gold2)}
.pop b{display:block;font-weight:800;font-size:.92rem}.pop small{display:block;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop--pay{border-left-color:var(--ok)}.pop--pay i{background:var(--ok);box-shadow:0 0 12px var(--ok)}
.pop--cancel{border-left-color:var(--bad)}.pop--cancel i{background:var(--bad);box-shadow:0 0 12px var(--bad)}
.pop--arrive{border-left-color:var(--warn)}.pop--arrive i{background:var(--warn);box-shadow:0 0 12px var(--warn)}
@media (prefers-reduced-motion:reduce){.pop{transition:opacity .2s ease;transform:none}}

/* ---- Lock-screen alerts card ---- */
.alerts{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid var(--gold2);background:linear-gradient(135deg,rgba(201,162,75,.16),rgba(201,162,75,.04))}
.alerts--on{border-color:rgba(94,194,122,.45);background:rgba(94,194,122,.08)}
.alerts__i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(201,162,75,.2);color:var(--gold2)}.alerts__i svg{width:18px;height:18px}
.alerts--on .alerts__i{background:rgba(94,194,122,.18);color:var(--ok)}
.alerts b{display:block;font-weight:800}.alerts span{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}
.alerts__b{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.alerts__x{position:absolute;top:6px;right:6px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--muted);background:transparent}.alerts__x svg{width:16px;height:16px}
.alerts>div:not(.alerts__b){padding-right:30px}.alerts--on>div:not(.alerts__b){padding-right:0}
.ico-in{width:15px;height:15px;vertical-align:-2px;display:inline-block}
/* ---- Loyalty ---- */
.loy{width:100%;max-width:360px;margin-top:10px;padding:16px;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.02);text-align:center}
.loy__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 8px}
.loy__dots i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--gold2);opacity:.55}
.loy__dots i.on{background:radial-gradient(circle at 35% 30%,var(--gold2),var(--gold3));opacity:1;box-shadow:0 0 10px rgba(201,162,75,.45)}
.loy__ready{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(94,194,122,.14);border:1px solid rgba(94,194,122,.45);color:var(--ok);font-weight:800}
.loy__ready svg,.loybadge svg,.loymini svg,.loyuse svg{width:18px;height:18px;flex:none}
.loymini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line2);color:var(--ivory);text-decoration:none;background:rgba(201,162,75,.06)}.loymini svg:first-child{color:var(--gold2)}
.loybadge{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--gold2);color:var(--gold2);font-weight:700;font-size:.85rem}
.loybadge--ready{border-color:rgba(94,194,122,.6);background:rgba(94,194,122,.14);color:var(--ok)}
.loyuse{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(94,194,122,.5);background:rgba(94,194,122,.1);cursor:pointer}
.loyuse input{width:22px;height:22px;accent-color:var(--ok);flex:none}.loyuse span{display:flex;flex-direction:column;gap:2px}.loyuse b{display:flex;align-items:center;gap:6px;color:var(--ok)}.loyuse small{color:var(--muted)}
.toggle small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}

/* ---- Client page: contact bar + status ---- */
.cacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin-top:14px}
.cact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:10px 6px;border-radius:14px;border:1px solid var(--line2);background:rgba(201,162,75,.06);color:var(--ivory);font:700 .78rem/1 var(--b);text-decoration:none}
.cact svg{width:22px;height:22px;color:var(--gold2)}
.cact:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.cstat{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px;padding:12px 14px;border-radius:14px}
.cstat svg{width:20px;height:20px}.cstat b{display:block;font-weight:800}.cstat span{display:block;font-size:.82rem;color:var(--muted)}
.cstat--term{background:rgba(227,91,91,.12);border:1px solid rgba(227,91,91,.5);color:var(--bad)}.cstat--term b{color:var(--bad)}
.cstat--block{background:rgba(224,176,74,.1);border:1px solid rgba(224,176,74,.45);color:var(--warn)}.cstat--block b{color:var(--warn)}
.btn--danger{background:rgba(227,91,91,.12)}

/* ---- Prepay ---- */
.pill--prepaid{background:rgba(94,194,122,.14);color:var(--ok);border-color:rgba(94,194,122,.5)}
.pill--unpaid{background:rgba(224,176,74,.14);color:var(--warn);border-color:rgba(224,176,74,.5)}
.bk__pills{display:flex;flex-wrap:wrap;gap:6px}
.cstat--pp{background:rgba(201,162,75,.1);border:1px solid var(--gold2);color:var(--gold2)}.cstat--pp b{color:var(--gold2)}
.warn{color:var(--warn)}

/* ---- How did you hear about us / first-timers ---- */
.srcpick .chip{flex:1 1 42%;min-height:48px;justify-content:center;font-size:.9rem}
.srctag{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line2);color:var(--gold2);font:700 .74rem/1.2 var(--b);letter-spacing:.06em;text-transform:uppercase}
.ftile{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:12px;align-items:center;margin-top:10px;padding:14px 16px;border-radius:16px;border:1px solid var(--gold2);background:linear-gradient(135deg,rgba(201,162,75,.14),rgba(201,162,75,.03));color:var(--ivory);text-decoration:none}
.ftile__i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(201,162,75,.2);color:var(--gold2)}.ftile__i svg{width:18px;height:18px}
.ftile__n b{display:block;font:600 1.5rem/1 var(--d);color:var(--gold2)}.ftile__n small{display:block;margin-top:4px;font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.srcbar{display:grid;grid-template-columns:86px minmax(0,1fr) 32px;gap:10px;align-items:center;padding:8px 0}
.srcbar span{font-size:.9rem}.srcbar i{display:block;height:10px;border-radius:999px;background:rgba(242,234,217,.08);overflow:hidden}.srcbar i b{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold3));border-radius:999px}.srcbar strong{text-align:right;font-weight:800}

/* ---- Money: barber check-mark chips ---- */
.bsel .chip{gap:8px;padding-left:10px}
.bsel .chip .chk{width:16px;height:16px;border-radius:50%;padding:2px;border:1.5px solid var(--line2);color:transparent;flex:none}
.bsel .chip.on .chk{background:var(--gold2);border-color:var(--gold2);color:var(--black)}
.bsel .chip.on{border-color:var(--gold2);background:rgba(201,162,75,.16)}

/* ---- Payroll ---- */
.pr{border-left:5px solid var(--line2)}.pr--met{border-left-color:var(--ok)}.pr--miss{border-left-color:var(--bad)}
.pr__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:12px}
.pr__grid>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.pr__grid span{font-size:.8rem;color:var(--muted)}.pr__grid b{font-weight:700;text-align:right}.pr__grid small{font-size:.72rem;font-weight:600}
.pr__net{grid-column:1/-1;border-bottom:0!important;padding-top:10px!important}.pr__net span{font-size:.9rem;color:var(--ivory);font-weight:700}.pr__net b{font-size:1.25rem;font-weight:800}
a.pill{text-decoration:none}

/* ---- Two apps ---- */
.top__bt{display:flex;flex-direction:column;line-height:1}.top__ent{font:800 .5rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin-top:3px}
/* ---- Customer photo ---- */
.cphoto{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cphoto label{cursor:pointer}.cphoto svg{width:16px;height:16px}
.cphoto--c{justify-content:center;margin-top:10px}
.item--wrap .item__s{white-space:normal;overflow:visible;text-overflow:clip}
/* Logos stay perfectly round: the <img> width/height attributes were stretching them when CSS set only the width */
.auth__logo,.splash__coin,.result>img,.top__brand img{height:auto!important;aspect-ratio:1/1;object-fit:contain}
.top__brand img{height:36px!important}

.pill--pending{background:rgba(224,176,74,.14);color:var(--warn);border-color:rgba(224,176,74,.5)}
.pill--approved{background:rgba(94,194,122,.14);color:var(--ok);border-color:rgba(94,194,122,.5)}
.pill--declined{background:rgba(227,91,91,.12);color:var(--bad);border-color:rgba(227,91,91,.45)}
.rq{border-left:4px solid var(--warn)}

/* ---- Clock-in station (shop tablet) ---- */
.station{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 50% 30%,rgba(201,162,75,.12),transparent 60%),var(--black)}
.station__c{text-align:center;max-width:420px;width:100%}.station__c>img{display:block;margin:0 auto 10px;width:96px;height:96px}
.station .qr__box{width:min(78vw,360px)}.station .qr__box canvas{width:100%;height:auto;aspect-ratio:1}
.station__t{margin-top:14px;font:600 1.3rem/1.2 var(--d);color:var(--gold2)}
.station__bar{height:4px;border-radius:999px;background:rgba(242,234,217,.1);overflow:hidden;margin:12px auto 0;max-width:360px}.station__bar i{display:block;height:100%;width:100%;background:var(--gold2)}

/* walk-in turns strip (home) */
.turns{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.turn{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border:1px solid var(--line,rgba(255,255,255,.14));border-radius:999px;font-size:.85rem;color:var(--muted,#a09a90)}
.turn b{width:22px;height:22px;border-radius:50%;background:var(--line,rgba(255,255,255,.14));display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--ink,#fff)}
.turn--next{border-color:var(--gold2,#e2c46a);color:var(--ink,#fff)}.turn--next b{background:var(--gold2,#e2c46a);color:#000}
.turn--busy{opacity:.55}

/* Squire-style day timeline */
.tl2{position:relative;margin:12px 0 18px}
.tl2__h{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--line)}
.tl2__h span{position:absolute;left:0;top:-7px;font:600 .66rem/1 var(--b);letter-spacing:.06em;color:var(--muted);background:var(--black,#0b0a08);padding:0 6px 0 0}
.tl2__lane{position:absolute;left:46px;right:0;top:0;bottom:0;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.tl2__ev{position:absolute;display:block;margin:0;padding:6px 8px;border-radius:10px;overflow:hidden;text-align:left;box-shadow:0 8px 20px -14px #000;z-index:2}
.tl2__ev b{display:block;font-size:.84rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl2__ev span{display:block;font-size:.72rem;line-height:1.15;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl2__ev--s{padding:4px 8px}.tl2__ev--s b{font-size:.74rem}.tl2__ev--s span{display:none}
.tl2__now{position:absolute;left:46px;right:0;height:0;border-top:2px solid var(--bad);z-index:3;pointer-events:none}
.tl2__now i{position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.cal__title{background:none;border:0;padding:0;color:inherit;display:inline-flex;align-items:center;gap:6px}
.cal__title .chev{width:16px;height:16px;transform:rotate(90deg);opacity:.7}

/* kiosk: camera + keypad on the station page */
.station__scan{position:relative;width:min(62vw,280px);aspect-ratio:4/3;margin:14px auto 0;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line)}
.station__scan video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.station__scan .scan__frame{position:absolute;inset:14%;border:2px solid rgba(232,201,131,.7);border-radius:12px;pointer-events:none}
.station__cam{position:absolute;left:0;right:0;bottom:0;margin:0;padding:6px 8px;font-size:.72rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.station__ov{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 50% 30%,rgba(201,162,75,.14),transparent 60%),var(--black)}
.kpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:16px auto 0}
.kpad button{min-height:62px;font:600 1.5rem/1 var(--d);border-radius:14px;background:rgba(242,234,217,.08);border:1px solid var(--line);color:var(--ivory)}
.kpad button:disabled{opacity:.35}
.kpad .kpad__go{background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black)}
.kpad__v{margin-top:10px;font:600 1.6rem/1.2 var(--d);color:var(--gold2);letter-spacing:.04em}

/* station: the QR is covered while the code cannot be refreshed (a stale code must never be scanned) */
.station__cover{position:absolute;inset:0;display:grid;place-items:center;padding:24px;border-radius:22px;background:rgba(11,10,8,.94);color:var(--gold2);font:600 1.1rem/1.4 var(--d);text-align:center}

/* live strip: who is in which chair */
.live{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(201,162,75,.07);border:1px solid var(--line)}
.live__hd{display:inline-flex;align-items:center;gap:7px;font:700 .64rem/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.live__dot{width:8px;height:8px;border-radius:50%;background:rgba(184,171,152,.5);flex:none}
.live__dot.on{background:var(--ok);animation:livepulse 1.6s ease-out infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(94,194,122,.6)}100%{box-shadow:0 0 0 10px rgba(94,194,122,0)}}
.live__i{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px 4px 9px;border-radius:999px;background:rgba(94,194,122,.12);border:1px solid rgba(94,194,122,.35);color:var(--ivory);font-size:.84rem;text-align:left}
.live__i svg{width:14px;height:14px;color:var(--ok)}
.live__i b{font-weight:700}
.live__i span{color:var(--muted);font-size:.74rem;margin-left:2px}
.live__none{font-size:.84rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.live__dot.on{animation:none}}

/* waiting card: green when you are next; the complaint button is bold */
.linecard--next{border-color:var(--ok);background:rgba(94,194,122,.14);box-shadow:0 0 0 1px rgba(94,194,122,.35),0 18px 40px -24px rgba(94,194,122,.6)}
.linecard--next .eyebrow{color:var(--ok)}
.btn--bold{font-weight:800;border-color:var(--bad);color:var(--bad)}

/* ---- the register: blue = to charge, gold = in the chair, green = paid; owner day view = one column per barber ---- */
.tl2__ev.ap--booked,.tl2__ev.ap--confirmed{background:rgba(111,168,232,.2);border-color:rgba(111,168,232,.45);border-left-color:var(--info)}
.tl2__ev.ap--arrived{background:rgba(111,168,232,.3);border-color:rgba(111,168,232,.55);border-left-color:var(--warn)}
.tl2__ev.ap--in_chair{background:rgba(232,201,131,.22);border-left-color:var(--gold2)}
.tl2__ev.ap--completed{background:rgba(94,194,122,.26);border-color:rgba(94,194,122,.5);border-left-color:var(--ok);opacity:1}
.tl2__ev.ap--cancelled,.tl2__ev.ap--no_show{background:rgba(227,91,91,.08);opacity:.5}
.tl2__tag{position:absolute;right:6px;top:5px;font:800 .7rem/1 var(--b);font-style:normal;color:var(--info)}.tl2__tag--paid{color:var(--ok)}
.tl2__ev--s .tl2__tag{top:4px}
.lg--due{background:var(--info)}.lg--chair{background:var(--gold2)}
.tl2__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px;scrollbar-width:thin}
.tl2__grid{position:relative}
.tl2__heads{display:flex;padding:6px 0;border-bottom:1px solid var(--line)}
.tl2__gut{flex:0 0 46px}
.tl2__bh{flex:1 1 0;min-width:var(--cw,140px);display:flex;align-items:center;gap:8px;padding:0 6px}
.tl2__bh>div{min-width:0}.tl2__bh b{display:block;font-size:.84rem;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl2__bh span{display:block;font-size:.66rem;color:var(--muted);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl2--multi{margin-top:0}
.tl2__cols{display:flex;touch-action:pan-x pan-y}
.tl2__col{position:relative;flex:1 1 0;min-width:var(--cw,140px);border-left:1px dashed var(--line)}
.tl2__ev--due b,.tl2__ev--paid b{padding-right:12px}
/* omar-2026-10-12: press-and-hold time picker */
.tl2__pick{position:absolute;left:46px;right:0;height:0;z-index:6;pointer-events:none}
.tl2__pick i{display:block;height:2px;background:var(--gold2);box-shadow:0 0 0 1px rgba(232,201,131,.35)}
.tl2__pick b{position:absolute;right:8px;top:-32px;padding:6px 11px;border-radius:999px;background:var(--gold2);color:#0b0a08;font:800 .8rem/1 var(--b);letter-spacing:.04em;box-shadow:0 10px 22px -10px #000}

/* omar-2026-10-13b · show/hide on password boxes */
.pw{position:relative;display:block}.pw .input{padding-right:76px}.pw__eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:38px;min-width:58px;padding:0 12px;border:0;border-radius:10px;background:rgba(201,162,75,.12);color:var(--gold2,#e2c27a);font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer}.pw__eye:focus-visible{outline:2px solid var(--gold2,#e2c27a);outline-offset:2px}

/* omar-2026-10-13c · dragging a booking on the schedule */
.tl2__ev[data-move]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tl2__ev--drag{z-index:8;opacity:.96;box-shadow:0 22px 44px -14px #000,0 0 0 2px var(--gold2);transition:none;cursor:grabbing}

/* omar-2026-10-13i · front desk code screen */
.lock{justify-content:flex-start;padding-top:max(40px,8vh)}.pin__dots{display:flex;gap:14px;justify-content:center;margin:18px 0 6px}.pin__dots i{width:16px;height:16px;border-radius:50%;border:2px solid rgba(232,201,131,.5);display:block}.pin__dots i.on{background:var(--gold2);border-color:var(--gold2)}.pin__dots i.opt{opacity:.35}.pin__dots i.opt.on{opacity:1}.pin__err{min-height:1.4em;text-align:center}.pin__pad{display:grid;grid-template-columns:repeat(3,minmax(78px,96px));gap:12px;justify-content:center;margin-top:8px}.pin__k{min-height:78px;border-radius:50%;border:1px solid rgba(232,201,131,.35);background:rgba(255,255,255,.04);color:#f3ead6;font:600 1.7rem/1 var(--b);cursor:pointer;display:grid;place-items:center}.pin__k:active{background:rgba(232,201,131,.22)}.pin__k--go{background:var(--gold2);color:#0b0a08;border-color:var(--gold2)}.pin__k--del{font-size:1.1rem}.pin__k svg{width:26px;height:26px}

/* omar-2026-10-13j · schedule actions at the top */
/* omar-2026-10-14b: slim pill row */.sched__acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sched__acts .btn{flex:1 1 auto;min-width:0;min-height:34px;padding:0 12px;border-radius:999px;font:700 .72rem/1 var(--b);letter-spacing:.02em;text-transform:none;white-space:nowrap;gap:5px;box-shadow:none}.sched__acts .btn svg{width:14px;height:14px}

/* omar-2026-10-13p · all-gold keypad */
.pin__dots i{border-color:var(--gold2)}.pin__dots i.opt{opacity:1}.pin__k{background:linear-gradient(180deg,rgba(232,201,131,.22),rgba(201,162,75,.12));border:1px solid var(--gold2);color:var(--gold2);text-shadow:0 1px 0 rgba(0,0,0,.4)}.pin__k:active{background:var(--gold2);color:#0b0a08}.pin__k--go{background:linear-gradient(180deg,#f1dca3,#c9a24b);color:#0b0a08;border-color:#f1dca3;box-shadow:0 10px 24px -12px rgba(232,201,131,.9)}.pin__k--del{color:var(--gold2)}.lock .auth__t{background:linear-gradient(90deg,#f1dca3,#c9a24b,#f1dca3);-webkit-background-clip:text;background-clip:text;color:transparent}

/* omar-2026-10-13q · keypad polish */
.pin__err{background:none;border:0;padding:0;margin:6px 0 2px;color:#f07a5e;font-weight:600}.pin__err:empty{display:block;min-height:1.4em}.pin__pad{grid-template-columns:repeat(3,88px);gap:14px}.pin__k{width:88px;height:88px;min-height:0;aspect-ratio:1}

/* omar-2026-10-14d */.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.svcitem{cursor:pointer;font:inherit;color:inherit}.svcitem b .pill{font-size:.6rem;vertical-align:middle;margin-left:4px}
/* omar-2026-10-14c · smaller schedule pills · charge-sheet items · services price grid · Egyptian motif (band under titles, faint glyph texture, gold tiles) */
.sched__acts .btn{min-height:30px;padding:0 10px;font-size:.66rem;gap:4px}.sched__acts .btn svg{width:12px;height:12px}
.exrow{padding:6px 10px;border:1px solid var(--line);border-radius:10px}
.input--sm{min-height:40px;padding:0 8px;font-size:.92rem}
.pgrid{display:grid;gap:6px 8px;margin-top:14px;align-items:center}.pgrid__h,.pgrid__r{display:contents}.pgrid__h>span{font:800 .62rem/1.4 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.pgrid__h input{font-weight:700;font-size:.78rem;color:var(--gold2);text-align:center;padding:0 2px}.pgrid__r>b{font:600 .92rem/1.2 var(--b);color:var(--ivory);min-width:0;padding:6px 0;border-bottom:1px solid var(--line)}.pgrid__r>input{text-align:right;padding:0 6px}
.linkrow{padding:8px 0;border-bottom:1px solid var(--line)}.linkrow:last-child{border-bottom:0}
.tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:linear-gradient(160deg,rgba(201,162,75,.24),rgba(201,162,75,.06));border:1px solid rgba(201,162,75,.38);color:var(--gold2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px -10px rgba(0,0,0,.8)}.tile svg{width:22px;height:22px}
@media (prefers-reduced-motion:no-preference){.tile-row{animation:tileIn .42s var(--ease) both;animation-delay:calc(var(--i,0)*35ms)}@keyframes tileIn{from{opacity:0;transform:translateY(8px)}}}
.h1::after{content:'';display:block;height:12px;width:min(100%,240px);margin-top:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='12' viewBox='0 0 140 12' fill='none' stroke='%23C9A24B' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='3.5' r='2.2'/%3E%3Cpath d='M6 5.7V11M3.2 8h5.6'/%3E%3Cpath d='M22 6q6-5 12 0q-6 5-12 0z'/%3E%3Ccircle cx='28' cy='6' r='1.2'/%3E%3Cpath d='M48 8l3-2.5 3 2.5 3-2.5 3 2.5 3-2.5 3 2.5'/%3E%3Cpath d='M80 1.5q4 4.5 0 9q-4-4.5 0-9zM80 1.5v9'/%3E%3Ccircle cx='100' cy='6' r='3.2'/%3E%3Ccircle cx='100' cy='6' r='.8'/%3E%3Cpath d='M118 10l5-8 5 8z'/%3E%3C/svg%3E") left center/140px 12px repeat-x;opacity:.7}
p.eyebrow::before{content:'';display:inline-block;width:.95em;height:.95em;margin-right:.5em;vertical-align:-.12em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A24B' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M12 11v11M6 15h12'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.85}
body{position:relative;isolation:isolate}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(5,5,5,.75),rgba(5,5,5,.75)),url(img/bg-hiero.webp) center top/cover no-repeat var(--deep)}

/* omar-2026-10-14f · Squire look, Pharaohs gold: round icons, status banner, round actions, status cards, A–Z rail */
.sico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(201,162,75,.12);color:var(--gold2)}.sico svg{width:20px;height:20px}.sico--red{background:rgba(227,91,91,.14);color:var(--bad)}
.srows{display:grid;gap:2px}.srow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-height:60px;padding:8px 6px;border-radius:12px;text-decoration:none;color:inherit;background:none;border:0;font:inherit;text-align:left;width:100%;cursor:pointer}.srow b{display:block;font:600 1.08rem/1.15 var(--b);color:var(--ivory)}.srow span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}.srow:active{background:rgba(201,162,75,.08)}.srow--out b{color:var(--bad)}
.sprof{text-align:center;display:grid;justify-items:center;padding:6px 0 0}.sprof .h1::after{margin-left:auto;margin-right:auto}
.stat2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);text-decoration:none;color:inherit}.stat2 b{display:block;font:600 1.05rem/1.15 var(--b);color:var(--ivory)}.stat2 span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}.stat2__s{display:inline-flex!important;align-items:center;gap:8px;font:700 .82rem/1 var(--b)!important;color:var(--ivory)!important;margin:0!important}.stat2__s i{width:9px;height:9px;border-radius:50%;background:var(--muted2)}.stat2__s.on i{background:var(--ok)}
.sfoot{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.ad__card{border-radius:16px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);overflow:clip;margin-top:10px}
.ad__banner{text-align:center;font:800 .68rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;padding:9px 10px;background:linear-gradient(135deg,var(--gold2),var(--gold) 50%,var(--gold3));color:var(--black)}.ad__banner--arrived,.ad__banner--in_chair{background:#4f7fd9;color:#fff}.ad__banner--completed{background:var(--ok);color:#06120a}.ad__banner--cancelled,.ad__banner--no_show{background:var(--bad);color:#fff}
.ad__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px}.ad__who b{display:block;font:600 1.15rem/1.15 var(--b);color:var(--ivory)}.ad__who span{display:block;font-size:.85rem;color:var(--muted);margin-top:2px}.ad__ago{text-align:center;min-width:54px}.ad__ago b{display:block;font:600 1.7rem/1 var(--d);color:var(--gold2)}.ad__ago small{display:block;font-size:.68rem;color:var(--muted);margin-top:2px}
.ad__acts{display:grid;gap:8px;margin-top:14px}.ad__acts--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ad__acts--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ad__acts--1{grid-template-columns:minmax(0,1fr)}
.rbtn{display:grid;justify-items:center;gap:6px;background:none;border:0;padding:4px 0;color:var(--ivory);font:600 .78rem/1 var(--b);cursor:pointer;-webkit-tap-highlight-color:transparent}.rbtn i{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);background:rgba(201,162,75,.06);color:var(--gold2);transition:transform .15s var(--ease)}.rbtn i svg{width:22px;height:22px}.rbtn--gold i{background:linear-gradient(135deg,var(--gold2),var(--gold) 50%,var(--gold3));color:var(--black);border-color:transparent;box-shadow:0 10px 24px -12px rgba(201,162,75,.7)}.rbtn--red{color:var(--bad)}.rbtn--red i{border-color:rgba(227,91,91,.5);color:var(--bad);background:rgba(227,91,91,.06)}.rbtn:active i{transform:scale(.94)}
.ad__rows{padding:4px 14px}.ad__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0}.ad__row+.ad__row{border-top:1px solid var(--line)}.ad__row b{display:block;font:600 1rem/1.2 var(--b);color:var(--ivory)}.ad__row span{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}
.ad__pay{padding:6px 14px}.ad__pay>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem}.ad__pay>div:last-child{border-bottom:0}.ad__pay>div span{color:var(--muted)}.ad__pay>div b{color:var(--ivory)}.ad__pay .total span,.ad__pay .total b{font-weight:800;color:var(--ivory);font-size:1.05rem}
.cust__head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.az{position:relative}.az__list{padding-right:22px}.az__sec{scroll-margin-top:74px}.az__h{font:800 .78rem/1 var(--b);letter-spacing:.22em;color:var(--gold);margin:18px 2px 8px}.az__rail{position:fixed;right:3px;top:50%;transform:translateY(-50%);display:grid;text-align:center;font:700 .6rem/1.55 var(--b);z-index:5;padding:4px 0;border-radius:999px;background:rgba(10,10,10,.65)}.az__rail a{color:var(--gold2);text-decoration:none;padding:0 5px;min-height:0}.az__rail span{color:var(--muted2);padding:0 5px}

/* ===== omar-2026-10-14g · QUALITY LAYER — same app, same format, same flows. Finer finish everywhere. Black · gold · Pharaohs. ===== */
:root{--glow:0 0 0 1px rgba(232,201,131,.18),0 18px 44px -24px rgba(201,162,75,.55);--hair:linear-gradient(90deg,transparent,rgba(232,201,131,.6),transparent);--lift:inset 0 1px 0 rgba(255,255,255,.045),0 14px 34px -28px rgba(0,0,0,.95)}
body{background:radial-gradient(120% 50% at 50% -8%,rgba(201,162,75,.11),transparent 60%),var(--deep)}
/* type */
.h1{letter-spacing:.015em;line-height:1.03}.eyebrow{letter-spacing:.32em}.lead{line-height:1.62}.num{letter-spacing:-.01em}
/* top bar: deeper glass + gold hairline */
.top{background:rgba(5,5,5,.76);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border-bottom-color:rgba(201,162,75,.22);box-shadow:0 10px 30px -24px rgba(0,0,0,.9)}
.top::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--hair);opacity:.55;pointer-events:none}
.top__t{letter-spacing:.05em}
/* tab bar: glass, gold hairline, active indicator, icon glow */
.nav{background:rgba(5,5,5,.84);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border-top-color:rgba(201,162,75,.3);box-shadow:0 -14px 40px -30px rgba(0,0,0,.9)}
.nav a{position:relative;transition:color .25s}
.nav a svg{transition:transform .25s var(--ease),filter .25s}
.nav a.on svg{transform:translateY(-1px);filter:drop-shadow(0 0 8px rgba(232,201,131,.55))}
.nav a:not(.main)::before{content:'';position:absolute;top:2px;left:50%;width:18px;height:2px;border-radius:2px;background:var(--gold2);transform:translateX(-50%) scaleX(0);transition:transform .3s var(--ease);box-shadow:0 0 10px rgba(232,201,131,.8)}
.nav a.on:not(.main)::before{transform:translateX(-50%) scaleX(1)}
.nav a:active svg{transform:scale(.9)}
.nav a.main span{box-shadow:0 14px 34px -10px rgba(201,162,75,.85),0 0 0 6px var(--deep),inset 0 1px 0 rgba(255,255,255,.35)}
@media(min-width:900px){.nav a:not(.main)::before{top:auto;bottom:0;width:60%}.nav a{border-radius:10px;transition:color .2s,background-color .2s}.nav a:hover{color:var(--ivory);background:rgba(201,162,75,.08)}.view{max-width:760px;padding-top:24px}.view--wide{max-width:1120px}}
/* surfaces */
.card,.barbercard,.svc,.stat,.stat2,.ad__card,.loymini,.ftile,.alerts,.live,.loy{box-shadow:var(--lift)}
.card{border-color:rgba(201,162,75,.2)}
.card--gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),var(--glow)}
.stat{background:linear-gradient(160deg,var(--card2),var(--card));border-radius:16px;position:relative;overflow:clip}
.stat::after{content:'';position:absolute;right:-24px;top:-24px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.2),transparent 70%);pointer-events:none}
/* buttons: the same gold, now with a light sweep, a glow and a press */
.btn{border-radius:14px;letter-spacing:.16em;transition:transform .18s var(--ease),box-shadow .3s,background-color .3s,border-color .3s,opacity .2s,color .2s}
.btn::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.32) 50%,transparent 70%);transform:translateX(-130%);transition:transform .75s var(--ease);pointer-events:none}
.btn--gold{box-shadow:0 12px 28px -12px rgba(201,162,75,.75),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.25)}
.btn--ghost{border-color:rgba(242,234,217,.2)}
.btn--xl{border-radius:16px}
.btn:active{transform:scale(.965)}.btn:active::after{transform:translateX(130%);transition-duration:.35s}
@media(hover:hover){.btn:hover::after{transform:translateX(130%)}.btn--gold:hover{box-shadow:0 16px 36px -12px rgba(201,162,75,.9),0 0 0 1px rgba(232,201,131,.5),inset 0 1px 0 rgba(255,255,255,.45)}.btn--line:hover,.btn--ghost:hover{border-color:var(--gold2);background:rgba(201,162,75,.12)}.btn--danger:hover{background:rgba(227,91,91,.18)}}
.rbtn i{transition:transform .15s var(--ease),box-shadow .25s,background-color .2s}@media(hover:hover){.rbtn:hover i{box-shadow:0 10px 24px -12px rgba(201,162,75,.8);border-color:var(--gold2)}.rbtn--red:hover i{border-color:var(--bad)}}
/* chips, segments, pills, toggles */
.chip{transition:background-color .2s,color .2s,border-color .2s,transform .15s var(--ease),box-shadow .25s}.chip:active{transform:scale(.96)}.chip.on{box-shadow:0 8px 20px -12px rgba(201,162,75,.8)}
.seg{background:rgba(242,234,217,.05);border-color:rgba(201,162,75,.2)}.seg button{transition:background-color .2s,color .2s,box-shadow .25s}.seg button.on{box-shadow:0 6px 16px -8px rgba(201,162,75,.8)}
.pill{letter-spacing:.14em;padding:4px 10px}
.toggle input{background:rgba(242,234,217,.12);box-shadow:inset 0 1px 2px rgba(0,0,0,.5);transition:background-color .25s,box-shadow .25s}.toggle input:checked{background:linear-gradient(135deg,var(--gold2),var(--gold3));box-shadow:0 0 12px rgba(201,162,75,.45)}.toggle input::after{box-shadow:0 2px 6px rgba(0,0,0,.5)}
/* inputs */
.input,select.input,textarea.input{border-radius:14px;background:rgba(242,234,217,.045);border-color:rgba(242,234,217,.14);transition:border-color .2s,background-color .2s,box-shadow .25s}
.input:focus{box-shadow:0 0 0 3px rgba(201,162,75,.22);background:rgba(242,234,217,.07)}
.input::placeholder{color:rgba(184,171,152,.55)}
.field label{color:var(--muted2)}
.input--money:focus{box-shadow:0 0 0 3px rgba(201,162,75,.22),0 0 30px -10px rgba(201,162,75,.6)}
/* rows & lists: hover lift (desktop), press (touch), chevron slide */
.item,.barbercard,.srow,.bk,.svc,.stat2,.day,.slot,.tl2__ev,.pop,.cact,.turn{transition:background-color .2s,border-color .2s,transform .18s var(--ease),box-shadow .25s,color .2s,opacity .2s}
.item:active,.barbercard:active,.srow:active,.bk:active,.svc:active,.stat2:active,.cact:active{transform:scale(.985)}
.chev{transition:transform .2s var(--ease),color .2s}
@media(hover:hover){.barbercard:hover,.svc:hover,.stat2:hover,.bk:hover,.cact:hover{border-color:rgba(232,201,131,.45);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 36px -24px rgba(201,162,75,.5)}.item:hover,.srow:hover{background:rgba(201,162,75,.06)}.item:hover .chev,.barbercard:hover .chev,.srow:hover .chev{transform:translateX(3px);color:var(--gold2)}.tl2__ev:hover{box-shadow:0 14px 30px -14px #000,0 0 0 1px rgba(232,201,131,.45)}}
.avatar{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px -8px rgba(0,0,0,.8)}
.day:active{transform:scale(.92)}.day.on{box-shadow:0 8px 20px -10px rgba(201,162,75,.9)}.slot:active{transform:scale(.95)}.slot.on{box-shadow:0 8px 20px -10px rgba(201,162,75,.9)}
.tl2__ev{box-shadow:0 10px 24px -16px #000,inset 0 1px 0 rgba(255,255,255,.06)}
.bk{border-radius:16px}
/* summary tables */
.summary div{padding:10px 0}.summary div.total{padding-top:12px;border-top:1px solid var(--line2);border-bottom:0}
/* sheets: deeper glass, soft spring in */
.sheet__bg{background:rgba(3,3,3,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sheet__c{border-radius:26px 26px 0 0;background:linear-gradient(180deg,#1b1813,#131110);border-color:rgba(232,201,131,.35);box-shadow:0 -20px 60px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);transform:translateY(40px);transition:transform .45s cubic-bezier(.2,.9,.25,1),opacity .3s}
.sheet__grab{background:rgba(232,201,131,.35)}
@media(min-width:720px){.sheet__c{border-radius:26px}}
/* toasts, pops, skeleton, empty */
.toast{border-radius:14px;box-shadow:0 24px 50px -16px rgba(0,0,0,.9),0 0 0 1px rgba(201,162,75,.35)}
.pop{box-shadow:0 18px 40px -16px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06)}
.skel{background:linear-gradient(90deg,var(--card) 25%,rgba(201,162,75,.14) 50%,var(--card) 75%);background-size:200% 100%}
.empty b{font-weight:500}
/* keypad + lock */
.pin__k{transition:background-color .15s,color .15s,transform .12s var(--ease),box-shadow .2s}.pin__k:active{transform:scale(.94)}
/* focus: ring + glow */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;box-shadow:0 0 0 6px rgba(201,162,75,.16)}
/* desktop scrollbars */
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(201,162,75,.25);border-radius:999px;border:3px solid var(--deep)}::-webkit-scrollbar-thumb:hover{background:rgba(201,162,75,.45)}
/* reduced motion: keep the look, drop the movement */
@media(prefers-reduced-motion:reduce){.btn::after{display:none}.btn,.item,.barbercard,.srow,.bk,.svc,.stat2,.chip,.day,.slot,.nav a svg,.chev,.rbtn i,.pin__k,.tl2__ev{transition:none}.sheet__c{transition:opacity .2s;transform:none}}

/* omar-2026-10-14i · sweep fixes: nothing wider than the phone, no clipped letters */
.stack,.srows{grid-template-columns:minmax(0,1fr)}
.linkrow>span:first-child{flex:1 1 auto;min-width:0}
.stat span{letter-spacing:.06em;font-size:.52rem}
.pgrid__r>b{overflow-wrap:anywhere}.pgrid__h>span{overflow-wrap:anywhere;letter-spacing:.1em}
@media(max-width:360px){.pgrid__r>input,.pgrid__h input{min-width:0;padding:0 4px;font-size:.78rem}}
.hours__w{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.hours__w .input,.hours__d .input{min-width:0;width:100%;padding-left:6px;padding-right:6px}
.notif span,.notif b{overflow-wrap:anywhere;word-break:break-word}
.sheet [data-act="ex-add"]{flex:none}
.pr__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pr__grid>div{min-width:0;flex-wrap:wrap}.pr__grid b{overflow-wrap:anywhere}
.card,.barbercard,.item,.ad__card{min-width:0;max-width:100%}
.cact{min-width:0}
/* omar-2026-10-14i (b) · last two from the re-sweep */
.ad__who b{overflow-wrap:anywhere}
@media(max-width:360px){.btns--2 .btn{font-size:.68rem;letter-spacing:.08em;padding:0 10px}}

/* omar-2026-10-14k · split payments */
.split{margin-top:10px}.split .input--money{min-height:52px;font-size:1.25rem}

/* omar-2026-10-14m · customer levels: gold crown = Elite, blue MID = Mid-level */
.tier{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;font-style:normal}.tier--elite{color:var(--gold2)}.tier--elite svg{width:16px;height:16px;filter:drop-shadow(0 0 6px rgba(232,201,131,.55))}.tier--mid{font:800 .56rem/1 var(--b);letter-spacing:.12em;padding:3px 6px;border-radius:999px;background:rgba(111,168,232,.18);color:var(--info);border:1px solid rgba(111,168,232,.5)}.tier--sm{margin-left:4px}.tier--sm svg{width:12px;height:12px}.tier--sm.tier--mid{font-size:.5rem;padding:2px 4px}.chip svg{width:16px;height:16px}

/* omar-2026-10-14n · hieroglyph wall behind the whole app: surfaces that used to be translucent get a near-opaque base so text stays sharp */
.bk{background-color:#0f0e0c;background-image:linear-gradient(rgba(255,255,255,.02),rgba(255,255,255,.02))}.bk--booked{background-image:linear-gradient(rgba(201,162,75,.09),rgba(201,162,75,.09))}.bk--here{background-image:linear-gradient(rgba(224,176,74,.11),rgba(224,176,74,.11))}.bk--paid{background-image:linear-gradient(rgba(94,194,122,.14),rgba(94,194,122,.14))}.bk--cancelled{background-image:linear-gradient(rgba(227,91,91,.14),rgba(227,91,91,.14))}
.ap,.tl2__ev{background-color:#0f0e0c}.tl2__ev.ap--booked,.tl2__ev.ap--confirmed{background-image:linear-gradient(rgba(111,168,232,.22),rgba(111,168,232,.22))}.tl2__ev.ap--arrived{background-image:linear-gradient(rgba(111,168,232,.32),rgba(111,168,232,.32))}.tl2__ev.ap--in_chair{background-image:linear-gradient(rgba(232,201,131,.24),rgba(232,201,131,.24))}.tl2__ev.ap--completed{background-image:linear-gradient(rgba(94,194,122,.28),rgba(94,194,122,.28))}.tl2__ev.ap--cancelled,.tl2__ev.ap--no_show{background-image:linear-gradient(rgba(227,91,91,.1),rgba(227,91,91,.1))}.ap--block{background-color:#0f0e0c}
.input,select.input,textarea.input{background-color:#111010;background-image:linear-gradient(rgba(242,234,217,.045),rgba(242,234,217,.045))}.input:focus{background-color:#141311}
.live,.loy,.loymini,.alerts,.ftile,.cact,.cstat,.linecard,.exrow,.kpad button,.pin__k,.seg,.srow:active,.item:active{background-color:#0f0e0c}
.tl2__h span{background:#0a0a0a}.az__rail{background:rgba(10,10,10,.85)}.pin__k{background-image:linear-gradient(180deg,rgba(232,201,131,.22),rgba(201,162,75,.12))}
.h1::after{opacity:.5}
/* omar-2026-10-14h · emblem system */
/* Every circle in the app is a struck coin built from the same five layers as the logo and lit by one lamp at 10:30:
   rim (conic, specular at 315°) · bezel (reeded tick band, masked to the outer 4–6px so it never touches a glyph or the face of a photo) ·
   field (domed gold with a lathe finish, or a card2→deep dome with the old gold tint kept as a glaze) · relief (engraved glyph or initials,
   the pharaoh pressed under the initials of the 84/112 medallions) · setting (deep gap, gold2 hairline, bloom).
   Same selectors, same boxes, same flows. CSS only. Entrances are opacity/transform, first 8 rows only, off under reduced motion. */
:root{--em-spec:rgba(255,250,214,.85);--em-ink:rgba(10,10,10,.8);--em-delay:0ms;
--em-rim:conic-gradient(from 0deg,var(--gold2) 0deg,var(--gold) 55deg,var(--gold2) 78deg,var(--gold) 112deg,var(--gold3) 150deg,var(--gold3) 195deg,var(--gold) 265deg,var(--gold2) 300deg,var(--em-spec) 315deg,var(--gold2) 332deg,var(--gold2) 360deg);
--em-rim-dim:conic-gradient(from 0deg,rgba(232,201,131,.6) 0deg,rgba(201,162,75,.45) 55deg,rgba(232,201,131,.55) 78deg,rgba(201,162,75,.4) 112deg,rgba(138,109,52,.5) 150deg,rgba(138,109,52,.5) 195deg,rgba(201,162,75,.45) 265deg,rgba(232,201,131,.6) 300deg,var(--em-spec) 315deg,rgba(232,201,131,.65) 332deg,rgba(232,201,131,.6) 360deg);
--em-rim-red:conic-gradient(from 0deg,rgba(227,91,91,.7) 0deg,rgba(227,91,91,.4) 55deg,rgba(227,91,91,.6) 78deg,rgba(227,91,91,.35) 150deg,rgba(227,91,91,.3) 195deg,rgba(227,91,91,.45) 265deg,rgba(227,91,91,.7) 300deg,rgba(227,91,91,.95) 315deg,rgba(227,91,91,.75) 332deg,rgba(227,91,91,.7) 360deg);
--em-floor-k:conic-gradient(from 0deg,#151310 0deg,#0f0e0c 120deg,#070707 165deg,#070707 190deg,#0f0e0c 260deg,#1f1b14 315deg,#151310 360deg);
--em-floor-red:conic-gradient(from 0deg,#1b1010 0deg,#130c0c 120deg,#080606 165deg,#080606 190deg,#130c0c 260deg,#261313 315deg,#1b1010 360deg);
--em-t24:repeating-conic-gradient(from -4.15deg,var(--em-ink) 0deg 8.2deg,transparent 8.4deg 14.8deg,var(--em-ink) 15deg);
--em-t24-k:repeating-conic-gradient(from -4.15deg,rgba(232,201,131,.55) 0deg 8.2deg,transparent 8.4deg 14.8deg,rgba(232,201,131,.55) 15deg);
--em-t24-red:repeating-conic-gradient(from -4.15deg,rgba(227,91,91,.6) 0deg 8.2deg,transparent 8.4deg 14.8deg,rgba(227,91,91,.6) 15deg);
--em-t36:repeating-conic-gradient(from -2.75deg,var(--em-ink) 0deg 5.5deg,transparent 5.7deg 9.8deg,var(--em-ink) 10deg);
--em-t36-k:repeating-conic-gradient(from -2.75deg,rgba(232,201,131,.42) 0deg 5.5deg,transparent 5.7deg 9.8deg,rgba(232,201,131,.42) 10deg);
--em-t48:repeating-conic-gradient(from -2.05deg,var(--em-ink) 0deg 4.1deg,transparent 4.3deg 7.3deg,var(--em-ink) 7.5deg);
--em-t60:repeating-conic-gradient(from -1.65deg,var(--em-ink) 0deg 3.3deg,transparent 3.5deg 5.8deg,var(--em-ink) 6deg);
--em-dome:radial-gradient(circle farthest-corner at 38% 30%,var(--gold2) 0%,var(--gold) 48%,var(--gold) 70%,var(--gold3) 100%);
--em-glaze:radial-gradient(circle at 30% 24%,rgba(255,250,214,.36),rgba(255,250,214,0) 34%);
--em-lathe:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.055) 0 1px,rgba(255,255,255,0) 1px 3px);
--em-lathe-k:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.04) 0 1px,rgba(255,255,255,0) 1px 3px);
--em-dark:radial-gradient(circle at 40% 30%,var(--card2),var(--deep));
--em-tint:radial-gradient(circle at 36% 28%,rgba(201,162,75,.24),rgba(201,162,75,.09) 58%,rgba(201,162,75,.05) 100%);
--em-red:radial-gradient(circle at 36% 28%,rgba(227,91,91,.24),rgba(227,91,91,.09) 58%,rgba(227,91,91,.05) 100%);
--em-m4:radial-gradient(circle closest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));
--em-m5:radial-gradient(circle closest-side,transparent calc(100% - 5px),#000 calc(100% - 4.5px));
--em-m6:radial-gradient(circle closest-side,transparent calc(100% - 6px),#000 calc(100% - 5.5px));
--em-lit:-.7px -.7px 0 1px rgba(232,201,131,.7),0 0 0 1px rgba(138,109,52,.75),0 4px 10px -6px rgba(0,0,0,.8);
--em-lit-dim:-.7px -.7px 0 1px rgba(232,201,131,.5),0 0 0 1px rgba(138,109,52,.55),0 4px 10px -6px rgba(0,0,0,.8);
--em-glow:drop-shadow(0 0 6px rgba(201,162,75,.35));
--em-stamp:drop-shadow(0 -1px 0 rgba(0,0,0,.28)) drop-shadow(0 1px 0 rgba(255,250,214,.45))}
/* 0 · three cascade leaks fixed in place: `.barbercard span`, `.tl2__bh span` and `.alerts span` were landing on the avatar, the services tile and the alerts disc (block display, small muted text). Same boxes; the initials and icons just sit in the centre again. */
.barbercard .avatar,.tl2__bh .avatar{display:grid;font-size:1.1rem;color:var(--black)}
.barbercard .tile,.alerts .alerts__i{display:grid;color:var(--gold2)}
.alerts--on .alerts__i{color:var(--ok)}
/* 1 · tier 1 (36–44px, the 300-row lists): lit crescent rim + hairline drawn outside the box with 0-blur shadows (frames photos too), domed field, engraved initials, glowing glyph. No pseudo-elements, no masks. */
.avatar{letter-spacing:.04em;text-shadow:0 -1px 0 rgba(0,0,0,.3),0 1px 0 rgba(255,250,214,.4);background:var(--em-glaze),var(--em-dome);box-shadow:var(--em-lit)}
.ad__head .avatar,[data-s="barber"]>.avatar{box-shadow:var(--em-lit),0 10px 26px -12px rgba(201,162,75,.55)}
.sico,.alerts__i,.ftile__i{background:var(--em-tint),var(--em-dark);box-shadow:var(--em-lit-dim)}
.sico svg,.alerts__i svg,.ftile__i svg,.cal__nav svg,.icobtn svg,.tile svg,.cact svg{filter:var(--em-glow)}
.sico--red{background:var(--em-red),var(--em-dark);box-shadow:-.7px -.7px 0 1px rgba(227,91,91,.55),0 0 0 1px rgba(227,91,91,.28),0 4px 10px -6px rgba(0,0,0,.8)}
.sico--red svg,.icobtn.bad svg{filter:drop-shadow(0 0 6px rgba(227,91,91,.4))}
.alerts--on .alerts__i{background:radial-gradient(circle at 36% 28%,rgba(94,194,122,.3),rgba(94,194,122,.1) 58%,rgba(94,194,122,.06) 100%),var(--em-dark);box-shadow:-.7px -.7px 0 1px rgba(94,194,122,.6),0 0 0 1px rgba(94,194,122,.3),0 4px 10px -6px rgba(0,0,0,.8)}
.alerts--on .alerts__i svg{filter:drop-shadow(0 0 6px rgba(94,194,122,.45))}
.cal__nav{border-color:rgba(201,162,75,.32);background:var(--em-tint),var(--em-dark);box-shadow:inset 0 1px 0 rgba(255,250,214,.14),0 4px 10px -6px rgba(0,0,0,.8)}
.icobtn{background:radial-gradient(circle at 40% 30%,rgba(201,162,75,.12),rgba(201,162,75,.03) 70%);box-shadow:inset 0 0 0 1px rgba(201,162,75,.26),inset 0 1px 0 rgba(255,250,214,.14)}
.icobtn.bad{box-shadow:inset 0 0 0 1px rgba(227,91,91,.42),inset 0 1px 0 rgba(255,250,214,.1)}
.icobtn .dot{z-index:2;box-shadow:0 0 0 1.5px var(--deep),inset 0 1px 0 rgba(255,250,214,.45)}
.tile{background:radial-gradient(circle at 30% 24%,rgba(255,250,214,.16),rgba(255,250,214,0) 42%),linear-gradient(160deg,rgba(201,162,75,.28),rgba(201,162,75,.07));border-color:rgba(232,201,131,.42);outline:1px solid rgba(232,201,131,.14);outline-offset:-4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 14px -10px rgba(0,0,0,.8)}
.sico svg:has(use[href="#i-tel"]),.sico svg:has(use[href="#i-chat"]){width:18px;height:18px}
.icobtn svg:has(use[href="#i-tel"]),.icobtn svg:has(use[href="#i-pin"]){width:20px;height:20px}
.cact svg{border-radius:50%;box-shadow:0 0 0 6px rgba(201,162,75,.08),0 0 0 7px rgba(232,201,131,.26)}
/* 2 · tier 2–4 bezels (56 round actions, 58 nav coin, 64 empty coin, 88 keys, 84/112 medallions): one overlay pseudo-element per coin, rim on its 1px border-image, reeded tick band on its padding box, radial mask opens the centre so photos and glyphs stay untouched. Engines without masks keep the tier-1 rims and no band. */
@supports ((-webkit-mask:radial-gradient(#000,#0000)) or (mask:radial-gradient(#000,#0000))){
.rbtn i,.nav a.main span,.pin__k,.empty{position:relative}
.rbtn i,.pin__k{border-color:transparent}
.rbtn i::after,.nav a.main span::after,.pin__k::after,.avatar--lg::after,.avatar--xl::after,.empty::before,.empty::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid transparent;border-image:var(--em-rim) 1;pointer-events:none;z-index:1;-webkit-mask:var(--em-m4);mask:var(--em-m4)}
.rbtn i::after,.pin__k::after{inset:-1px}
.rbtn i::after{border-image-source:var(--em-rim-dim);background:var(--em-t24-k) padding-box,var(--em-floor-k) padding-box}
.rbtn--gold i::after,.nav a.main span::after,.pin__k--go::after{border-image-source:var(--em-rim);background:var(--em-t24) padding-box,var(--em-rim) padding-box}
.rbtn--red i::after{border-image-source:var(--em-rim-red);background:var(--em-t24-red) padding-box,var(--em-floor-red) padding-box}
.pin__k::after{border-image-source:var(--em-rim-dim);background:var(--em-t36-k) padding-box}
.pin__k--go::after{border-image-source:var(--em-rim);background:var(--em-t36) padding-box,var(--em-rim) padding-box}
.avatar--lg::after{background:var(--em-t48) padding-box,var(--em-rim) padding-box;-webkit-mask:var(--em-m5);mask:var(--em-m5)}
.avatar--xl::after{background:var(--em-t60) padding-box,var(--em-rim) padding-box;-webkit-mask:var(--em-m6);mask:var(--em-m6)}
.empty::before,.empty::after{inset:auto;left:50%;top:31px;width:74px;height:74px;margin-left:-37px}
.empty::before{border-image-source:var(--em-rim-dim);background:var(--em-t24-k) padding-box,var(--em-floor-k) padding-box}
.empty::after{border:0;border-image:none;background:conic-gradient(from 0deg,transparent 0deg 296deg,rgba(255,250,214,.6) 326deg,transparent 356deg);opacity:0}
}
/* 3 · medallions (84 Settings/profile/customer/barber, 112 check-in result): lathe-finished dome, pharaoh pressed under the initials (soft-light, under a photo it is simply covered), gold2 hairline inside the band, deep gap + gold2 ring + bloom outside. */
.avatar--lg,.avatar--xl{position:relative;isolation:isolate;background:var(--em-glaze),var(--em-lathe),var(--em-dome)}
.avatar--lg{box-shadow:inset 0 0 0 6px var(--gold2),0 0 0 3px var(--deep),0 0 0 4px rgba(232,201,131,.6),0 10px 30px -12px rgba(201,162,75,.5)}
.avatar--xl{box-shadow:inset 0 0 0 7px var(--gold2),inset 0 0 0 8px rgba(10,10,10,.35),0 0 0 3px var(--deep),0 0 0 4px var(--gold2),0 0 44px -8px rgba(201,162,75,.45)}
.avatar--lg::before,.avatar--xl::before{content:'';position:absolute;inset:18%;z-index:-1;border-radius:50%;background:url(img/logo/logo-160.webp) center/contain no-repeat;opacity:.6;mix-blend-mode:soft-light;pointer-events:none}
/* 4 · round actions, the raised Register coin, the keypad (hosts: field + inner hairline + bloom; the band itself is the overlay above). The keys keep the opaque #0f0e0c base the 14n layer gave them, so the hieroglyph wall never shows through a key. */
.rbtn i{isolation:isolate;background:var(--em-tint),var(--em-dark);box-shadow:inset 0 0 0 4px rgba(232,201,131,.45),0 6px 16px -8px rgba(0,0,0,.85)}
.rbtn i svg{filter:var(--em-glow)}
.rbtn--gold i{background:var(--em-glaze),var(--em-dome);box-shadow:inset 0 0 0 4px var(--gold2),0 10px 24px -12px rgba(201,162,75,.75),0 0 0 1px rgba(232,201,131,.3)}
.rbtn--gold i svg{filter:var(--em-stamp)}
.rbtn--red i{background:var(--em-red),var(--em-dark);box-shadow:inset 0 0 0 4px rgba(227,91,91,.5),0 6px 16px -8px rgba(0,0,0,.85)}
.rbtn--red i svg{filter:drop-shadow(0 0 6px rgba(227,91,91,.4))}
.nav a.main span{isolation:isolate;background:var(--em-glaze),var(--em-lathe),var(--em-dome);box-shadow:inset 0 0 0 5px var(--gold2),0 14px 34px -10px rgba(201,162,75,.85),0 0 0 6px var(--deep),0 0 0 7px rgba(232,201,131,.35)}
.nav a.main span svg{filter:var(--em-stamp)}
@media(min-width:900px){.nav a.main span{background:linear-gradient(135deg,var(--gold2),var(--gold3));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px -12px rgba(201,162,75,.6)}.nav a.main span::after{display:none}}
.pin__k{isolation:isolate;background:radial-gradient(circle at 34% 26%,rgba(255,250,214,.14),rgba(255,250,214,0) 42%),var(--em-lathe-k),linear-gradient(180deg,rgba(232,201,131,.2),rgba(201,162,75,.1)) #0f0e0c;box-shadow:inset 0 0 0 4px rgba(232,201,131,.18),inset 0 1px 0 rgba(255,250,214,.18),0 8px 18px -10px rgba(0,0,0,.9)}
.pin__k--go{background:var(--em-glaze),var(--em-lathe),var(--em-dome);box-shadow:inset 0 0 0 4px var(--gold2),0 10px 24px -12px rgba(232,201,131,.9),0 0 0 1px rgba(232,201,131,.3)}
.pin__k--go svg{filter:var(--em-stamp)}
/* 5 · selected day (today keeps its ivory ring, which the quality layer had lost), open-day dots glow, the switch knob is a domed ivory sphere */
.day.on{background:var(--em-glaze),var(--em-dome);box-shadow:inset 0 0 0 1px rgba(255,250,214,.28),inset 0 1px 0 rgba(255,255,255,.4),0 8px 20px -10px rgba(201,162,75,.9)}
.day--today.on{box-shadow:inset 0 0 0 1px var(--ivory),inset 0 0 0 2px rgba(10,10,10,.3),0 8px 20px -10px rgba(201,162,75,.9)}
.day--open::after{box-shadow:0 0 6px rgba(232,201,131,.75)}.day.on::after{box-shadow:none}
.toggle input::after{background:radial-gradient(circle at 35% 30%,#fff,var(--ivory) 72%);box-shadow:0 2px 6px rgba(0,0,0,.5),inset 0 0 0 1px rgba(0,0,0,.06),inset 0 -1px 0 rgba(0,0,0,.08)}
/* 6 · beads (8–22px): 1px darker inset ring + 1px top specular; on-states glow and never pulse (the lobby live dot keeps its pulse, now with the ring); the bell counter and the now-marker get a 1.5px deep ring so they separate from the strokes behind them; punches and pin dots are thin double rings when empty, gold spheres when filled. */
.stat2__s i,.chip i,.notif i,.live__dot,.pop i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.stat2__s.on i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 8px rgba(94,194,122,.5)}
.notif:not(.read) i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 8px rgba(232,201,131,.55)}
.tl2__now i{box-shadow:0 0 0 1.5px var(--deep),inset 0 1px 0 rgba(255,255,255,.3),0 0 8px rgba(227,91,91,.6)}
.pop i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 12px var(--gold2)}
.pop--pay i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 12px var(--ok)}.pop--cancel i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 12px var(--bad)}.pop--arrive i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4),0 0 12px var(--warn)}
@keyframes livepulse{0%{box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35),0 0 0 0 rgba(94,194,122,.6)}100%{box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35),0 0 0 10px rgba(94,194,122,0)}}
.pin__dots i{border-width:1px;box-shadow:inset 0 0 0 2px var(--deep),inset 0 0 0 3px rgba(232,201,131,.4)}
.pin__dots i.on{border-color:rgba(255,250,214,.6);background:var(--em-glaze),var(--em-dome);box-shadow:inset 0 1px 0 rgba(255,250,214,.5),0 0 10px rgba(232,201,131,.55)}
.bsel .chip.on .chk{background:radial-gradient(circle at 35% 30%,var(--gold2),var(--gold) 80%);box-shadow:inset 0 1px 0 rgba(255,250,214,.5)}
.loy__dots i{border-width:1px;box-shadow:inset 0 0 0 2px rgba(5,5,5,.7),inset 0 0 0 3px rgba(232,201,131,.35)}
.loy__dots i.on{border-color:rgba(255,250,214,.6);background:var(--em-glaze),radial-gradient(circle at 35% 30%,var(--gold2),var(--gold3));box-shadow:inset 0 0 0 1px rgba(10,10,10,.25),0 0 10px rgba(201,162,75,.5)}
/* 7 · the real coin (every <img> of the logo): the artwork is a 3D coin with a thick left edge and its own shadow, so no CSS ring is drawn around its box (it would sit eccentric to the face). Instead a 0-blur drop-shadow follows the true profile: a hairline of light at 10:30, a hairline of dark at 4:30, and a dimmer bloom than before so the edge stays crisp. */
.top__brand img{filter:drop-shadow(-.5px -.5px 0 rgba(255,250,214,.55)) drop-shadow(.5px .7px 0 rgba(0,0,0,.6)) drop-shadow(0 3px 8px rgba(201,162,75,.28))}
.auth__logo{filter:drop-shadow(-.7px -.7px 0 rgba(255,250,214,.5)) drop-shadow(0 16px 30px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(201,162,75,.22))}
.splash__coin{filter:drop-shadow(-.8px -.8px 0 rgba(255,250,214,.5)) drop-shadow(0 20px 40px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(201,162,75,.25))}
.result>img,.station__c>img{filter:drop-shadow(-.6px -.6px 0 rgba(255,250,214,.5)) drop-shadow(0 10px 18px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(201,162,75,.3))}
.empty{position:relative}.empty img{opacity:.8;filter:drop-shadow(-.5px -.5px 0 rgba(255,250,214,.4)) drop-shadow(0 8px 16px rgba(0,0,0,.5))}
/* 8 · hover (desktop): the quality layer's hover shadow is restated so the inner hairline survives; its gold2 border shows through the dim rim, so the orbit brightens */
@media(hover:hover){.rbtn:hover i{box-shadow:inset 0 0 0 4px var(--gold2),0 10px 24px -12px rgba(201,162,75,.8)}.rbtn--gold:hover i{box-shadow:inset 0 0 0 4px var(--gold2),0 12px 28px -12px rgba(201,162,75,.95),0 0 0 1px rgba(232,201,131,.55)}.rbtn--red:hover i{box-shadow:inset 0 0 0 4px rgba(227,91,91,.65),0 10px 24px -12px rgba(227,91,91,.5)}.cal__nav:hover{border-color:var(--gold2)}}
/* 9 · orchestration: the dome lands, the bezel locks in 120ms later (a 6° turn), the glyph rises, the pharaoh develops last; rows follow their --i at 35ms; sheets start 300ms late; beads blink in last; the empty coin gets the one glint. Never animated: 44px list avatars, the header and nav coins, the calendar arrows, the lock screen (redraws per key), the keystroke-driven lists, rows after the 8th. */
@media (prefers-reduced-motion:no-preference){
.sheet{--em-delay:300ms}
.avatar--lg,.avatar--xl,.ad__head .avatar,.result>img,.station__c>img,.empty img,.auth__logo{animation:emDome .32s var(--ease) var(--em-delay) both}
.avatar--lg::after,.avatar--xl::after,.empty::before{animation:emRing .36s var(--ease) calc(var(--em-delay) + 120ms) both}
.avatar--lg::before,.avatar--xl::before{animation:emMark .5s ease-out calc(var(--em-delay) + 420ms) both}
.empty::after{animation:emGlint .9s ease-in-out calc(var(--em-delay) + 600ms) 1 both}
.sico svg,.tile svg,.alerts__i svg,.ftile__i svg,.cact svg{animation:emGlyph .32s var(--ease) calc(var(--em-delay) + 180ms + var(--i,0)*35ms) both}
.rbtn i::after{animation:emRing .36s var(--ease) calc(var(--em-delay) + 120ms + var(--i,0)*35ms) both}
.rbtn i svg{animation:emGlyph .32s var(--ease) calc(var(--em-delay) + 240ms + var(--i,0)*35ms) both}
.stat2__s i,.loy__dots i,.live__dot{animation:emBead .2s ease-out calc(var(--em-delay) + 500ms + var(--i,0)*30ms) both}
.ad__acts .rbtn:nth-child(2),.ad__row:nth-child(2),.cacts .cact:nth-child(2),.loy__dots i:nth-child(2),.stat2:nth-child(2){--i:1}.ad__acts .rbtn:nth-child(3),.ad__row:nth-child(3),.cacts .cact:nth-child(3),.loy__dots i:nth-child(3),.stat2:nth-child(3){--i:2}.ad__acts .rbtn:nth-child(4),.ad__row:nth-child(4),.cacts .cact:nth-child(4),.loy__dots i:nth-child(4),.stat2:nth-child(4){--i:3}.ad__row:nth-child(5),.loy__dots i:nth-child(5){--i:4}.ad__row:nth-child(6),.loy__dots i:nth-child(6){--i:5}.loy__dots i:nth-child(7){--i:6}.loy__dots i:nth-child(8){--i:7}
.tile-row:nth-child(n+9) .sico svg,.tile-row:nth-child(n+9) .tile svg,.loy__dots i:nth-child(n+9),.lock .auth__logo,#pickList .empty img,#pickList .empty::before,#pickList .empty::after,#custList .empty img,#custList .empty::before,#custList .empty::after,#slots .empty img,#slots .empty::before,#slots .empty::after{animation:none}
}
@keyframes emDome{from{opacity:0;transform:scale(.92)}}@keyframes emRing{from{opacity:0;transform:rotate(-6deg)}}@keyframes emGlyph{from{opacity:0;transform:translateY(6px)}}@keyframes emBead{from{opacity:0}}@keyframes emMark{from{opacity:0}}@keyframes emGlint{0%{opacity:0;transform:rotate(0deg)}25%{opacity:1}75%{opacity:1}100%{opacity:0;transform:rotate(360deg)}}
/* 10 · more contrast: no watermark, solid rims */
@media (prefers-contrast:more){.avatar--lg::before,.avatar--xl::before{display:none}.avatar{box-shadow:-.7px -.7px 0 1px var(--gold2),0 0 0 1px var(--gold3),0 4px 10px -6px rgba(0,0,0,.8)}}
/* 11 · two deliberate fixes of pre-existing defects, kept apart so they can be deleted in one cut: the 112px check-in medallion is display:grid, so .result's text-align never centred it (it sat flush left under centred text); and .nav a{overflow:hidden} was cutting the top 22px off the raised Register coin. Neither changes a box. */
.result>.avatar--xl{margin-left:auto;margin-right:auto}
.nav a.main{overflow:visible}
/* omar-2026-10-14o · bigger level marks · booking requests · each menu's services · lifetime card · full photo */
.tier--mid{font:900 .76rem/1 var(--b);letter-spacing:.1em;padding:5px 9px;background:rgba(111,168,232,.28);border-color:rgba(111,168,232,.8);text-shadow:0 1px 0 rgba(0,0,0,.45)}
.tier--elite svg{width:20px;height:20px}
.h1 .tier--mid{font-size:.92rem;padding:6px 11px}.h1 .tier--elite svg{width:26px;height:26px}
.sheet__t .tier--mid{font-size:.8rem}
.tier--sm.tier--mid{font-size:.58rem;padding:2px 5px;letter-spacing:.08em}.tier--sm svg{width:13px;height:13px}

.pill--request{background:rgba(232,201,131,.1);color:var(--gold2);border:1px dashed rgba(232,201,131,.7)}
.ap.ap--request{border-style:dashed;border-color:rgba(232,201,131,.6);border-left:4px dashed var(--gold2)}
.tl2__ev.ap--request{background-color:#141209;background-image:linear-gradient(rgba(232,201,131,.09),rgba(232,201,131,.09));border:1px dashed rgba(232,201,131,.75);border-left:4px dashed var(--gold2)}
.ad__banner--request{background:#1a1610;color:var(--gold2);border:1px dashed rgba(232,201,131,.7)}
.rq__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed rgba(232,201,131,.55);border-radius:14px;background:#0f0e0c}
.rq__main{flex:1 1 auto;min-width:0;display:grid;gap:3px;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}.rq__main b{font-weight:700;overflow-wrap:anywhere;line-height:1.25}.rq__main span{font-size:.8rem;color:var(--muted)}.rq__row .btn{flex:none}
.pgrid__off{text-align:center;color:var(--muted);font-weight:700;padding:6px 0;border-bottom:1px solid var(--line)}
.pill--off{border-style:dashed}
.chip input.sr{position:absolute}
.life{margin-top:14px;padding:14px;border-radius:16px;border:1px solid rgba(232,201,131,.35);background:linear-gradient(135deg,rgba(201,162,75,.16),rgba(10,10,10,.65));box-shadow:var(--glow)}
.life__top{display:grid;gap:4px}.life__total{font:800 2.1rem/1.1 var(--d);color:var(--gold2)}
.life__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.life__row>div{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:rgba(10,10,10,.55);border:1px solid var(--line);min-width:0}.life__row b{font-weight:700;overflow-wrap:anywhere}.life__row span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}
.avatar img{object-position:50% 35%}
.avatar[data-act]{cursor:zoom-in}
.pv{margin-top:10px;border-radius:16px;overflow:hidden;background:#0a0a0a;border:1px solid var(--line)}.pv img{display:block;width:100%;max-height:70vh;object-fit:contain}
.warn{color:var(--warn)}
.mrow{display:flex;align-items:center;justify-content:space-between;gap:10px}.mrow>b{min-width:0;overflow-wrap:anywhere}
/* omar-2026-10-14o-b · iPad: a fast double tap on the keypad must never zoom; the photo viewer */
html,body,button,a,label,.kpad button,.pin__k,.station,.station__c,.lock,.sheet__c{touch-action:manipulation}
.kpad button,.pin__k{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.pv{display:grid;place-items:center;padding:6px}.pv img{width:auto;max-width:100%;max-height:60vh}
/* omar-2026-10-14o-e · sweep at 320: stat labels wrap instead of spilling */
@media(max-width:360px){.stat span{letter-spacing:.02em;overflow-wrap:anywhere;white-space:normal}}
/* omar-2026-10-14p · one ticket, several barbers */
.chip--add{border-style:dashed}
.crewpick__l{display:grid;gap:8px;margin-top:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}
.crewpick__b{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-radius:14px;border:1px solid var(--line2);background:#0f0e0c;color:inherit;font:inherit;text-align:left;cursor:pointer}.crewpick__b b{min-width:0;overflow-wrap:anywhere;font-weight:700}
.tkt__h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px dashed rgba(201,162,75,.3)}.tkt__h:first-child{border-top:0;padding-top:0}.tkt__h>b{min-width:0;overflow-wrap:anywhere;color:var(--gold2)}
.crew{padding:10px 12px;border-radius:14px;border:1px dashed rgba(232,201,131,.45);background:#0f0e0c}.crew .chips{gap:6px}.crew>.row>b{min-width:0;overflow-wrap:anywhere}
.tkt__done{display:grid;gap:8px;margin:14px auto 0;max-width:440px;text-align:left}
/* omar-2026-10-14p2 */
.crew__items{display:grid;gap:6px;margin-top:8px}.crew__items b{overflow-wrap:anywhere}
/* omar-2026-10-14q · booking link · assign a barber */
.linkcard__u{margin-top:8px;font:600 .9rem/1.35 var(--b);color:var(--gold2);overflow-wrap:anywhere}
.ad__assign{padding:12px 14px}.ad__assign .chips{gap:6px}
/* omar-2026-10-14q3 */
.az__sec{scroll-margin-top:calc(74px + env(safe-area-inset-top))}
/* omar-2026-10-14r2 · iPhone: a long press on the schedule never starts text selection or the callout (they cancel the hold) */
.tl2,.tl2 *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* omar-2026-10-14t2 · front desk: the round Register button (Squire-style) + two round actions side by side */
.fab{position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(var(--nav) + 18px);z-index:70;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold3));color:var(--black);box-shadow:0 14px 34px -10px rgba(201,162,75,.85),0 0 0 5px var(--deep);transition:transform .14s var(--ease)}
.fab svg{width:28px;height:28px}.fab:active{transform:scale(.94)}.fab:focus-visible{outline:2px solid var(--gold2);outline-offset:5px}.fab__sp{height:84px}
@media(min-width:900px){.fab{bottom:calc(26px + env(safe-area-inset-bottom));width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.fab{transition:none}}
.ad__acts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* omar-2026-10-14t3 */
.ctime__jump{margin-top:12px}.ctime__jump svg{width:16px;height:16px}
/* omar-2026-10-14v · request #002: sheet X + working drag handle */
.sheet__xrow{position:sticky;top:6px;z-index:3;height:0;display:flex;justify-content:flex-end;pointer-events:none}
.sheet__x{pointer-events:auto;width:44px;height:44px;margin:-2px -8px 0 0;border-radius:50%;display:grid;place-items:center;color:var(--gold2);background:rgba(12,11,9,.88);border:1px solid rgba(232,201,131,.45);box-shadow:0 6px 18px -8px rgba(0,0,0,.8);cursor:pointer;transition:transform .14s var(--ease),background-color .2s}
.sheet__x svg{width:18px;height:18px}.sheet__x:active{transform:scale(.94)}.sheet__x:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
@media(hover:hover){.sheet__x:hover{background:rgba(201,162,75,.18)}}
.sheet__grab{position:relative;touch-action:none;cursor:grab}.sheet__grab::before{content:'';position:absolute;left:-70px;right:-70px;top:-14px;bottom:-14px}
.sheet__c.is-drag{transition:none}
@media(prefers-reduced-motion:reduce){.sheet__x{transition:none}}
/* omar-2026-10-14w · request #004: selected-barber panel */
.pickbox{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid rgba(232,201,131,.5);border-radius:14px;background:rgba(201,162,75,.06)}
.pickbox__i{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--gold2);border:1px solid rgba(232,201,131,.5);background:rgba(201,162,75,.08)}.pickbox__i svg{width:17px;height:17px}
.pickbox b{display:block;color:var(--ivory);font-weight:700;line-height:1.3;overflow-wrap:anywhere}.pickbox b span{color:var(--gold2)}.pickbox div>span{display:block;margin-top:2px;color:var(--muted);font-size:.86rem;line-height:1.35}
.pickbox__help{margin-top:8px;line-height:1.45}
/* omar-2026-10-15c */
.cedit{margin-top:8px;min-height:36px}
/* omar-2026-10-15d · request #006: Appointment History */
.ahist{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:22px;padding:16px 14px;min-height:72px;border-radius:16px;border:1px solid var(--line2);background:linear-gradient(160deg,var(--card2),var(--card));box-shadow:var(--lift),inset 0 1px 0 rgba(232,201,131,.12);color:var(--ivory);text-decoration:none;transition:transform .18s var(--ease),border-color .25s,box-shadow .25s}
.ahist:active{transform:scale(.985)}
@media(hover:hover){.ahist:hover{border-color:var(--gold2);box-shadow:var(--lift),0 0 0 1px rgba(232,201,131,.25)}.ahist:hover .ahist__go svg{transform:translateX(3px)}}
.ahist__i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(201,162,75,.12);border:1px solid rgba(232,201,131,.35);color:var(--gold2)}.ahist__i svg{width:20px;height:20px}
.ahist__t{min-width:0}.ahist__t b{display:block;font:800 .8rem/1.25 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.ahist__t small{display:block;margin-top:5px;font-size:.86rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ahist__go{display:grid;place-items:center;color:var(--gold2)}.ahist__go svg{width:20px;height:20px;transition:transform .2s var(--ease)}
.hhead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.hhead>div{min-width:0}.hhead>div>b{display:block;font:600 1.3rem/1.2 var(--d);color:var(--ivory);overflow-wrap:anywhere}.hhead>div>span{display:block;margin-top:2px;font-size:.85rem;color:var(--muted)}
.hsum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.hsum>div{min-width:0;padding:10px 6px;border-radius:12px;border:1px solid var(--line);background:var(--card);text-align:center}.hsum b{display:block;font:600 1.1rem/1.1 var(--b);color:var(--gold2);overflow-wrap:anywhere}.hsum span{display:block;margin-top:4px;font:700 .54rem/1.25 var(--b);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hgrp{margin:22px 2px 8px;font:800 .66rem/1 var(--b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hlist{padding:0 14px}
.hrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;min-height:64px;color:var(--ivory);text-decoration:none;transition:background-color .2s,transform .18s var(--ease)}
.hrow+.hrow{border-top:1px solid var(--line)}.hrow:active{transform:scale(.99)}
.hrow__d{width:40px;text-align:center}.hrow__d b{display:block;font:600 1.4rem/1 var(--d);color:var(--gold2)}.hrow__d small{display:block;margin-top:3px;font:700 .55rem/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hrow__main{min-width:0}.hrow__t{display:block;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.hrow__s,.hrow__m{display:block;margin-top:3px;font-size:.84rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.hrow__tag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:6px;border:1px solid var(--line2);font:700 .55rem/1.2 var(--b);letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);vertical-align:2px}
.hrow__r{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right;max-width:9.5rem}
.hrow__amt{font:700 1rem/1 var(--b);color:var(--ivory)}.hrow--paid .hrow__amt{color:var(--gold2)}.hrow__amt s{color:var(--muted)}
.hrow__q{font-size:.84rem;color:var(--muted)}.hrow__pm{font-size:.74rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}   /* omar-2026-10-15e: 4.5:1 or better */
.pill--open,.pill--done{background:rgba(184,171,152,.1);color:var(--muted);border-color:rgba(184,171,152,.35)}
.ad__banner--open,.ad__banner--done{background:#3a352c;color:var(--ivory)}.ad__banner--voided{background:var(--bad);color:#fff}
.hnote{margin-top:16px}
.view--pop,.view--pop *{animation:none!important}
@media(prefers-reduced-motion:reduce){.ahist,.ahist__go svg,.hrow{transition:none}}
/* omar-2026-10-15e · 320-359 px: the status and amount move under the text, so service names keep the full width */
@media (max-width:359.98px){
  .hrow{grid-template-columns:auto minmax(0,1fr);row-gap:6px}
  .hrow__d{grid-row:1 / span 2}
  .hrow__main{grid-column:2;grid-row:1}
  .hrow__r{grid-column:2;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 10px;max-width:none;text-align:left}
  .ahist__t small{white-space:normal}
  .top__t{font-size:1.2rem;letter-spacing:.02em}
}
/* omar-2026-10-15f · request #008: NEW CUSTOMER + CUSTOMER PROFILE LINK, side by side, same size */
.cust__acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.cust__acts .btn{min-height:54px;padding:6px 10px;font-size:.7rem;letter-spacing:.12em;line-height:1.25;white-space:normal;text-wrap:balance}
.cust__link{background:linear-gradient(160deg,#16130f,#0a0908);border:1.5px solid var(--gold);color:var(--gold2);box-shadow:inset 0 1px 0 rgba(232,201,131,.14),0 12px 26px -16px rgba(0,0,0,.9)}
.cust__link svg{color:var(--gold2)}
@media(hover:hover){.cust__link:hover{border-color:var(--gold2);background:linear-gradient(160deg,#1d1913,#0d0b09)}}
.clink{margin-top:14px;font-size:.95rem;color:var(--gold2)}
textarea.clink{min-height:10.5em;resize:none;white-space:pre-wrap;line-height:1.45;color:var(--ivory)}   /* omar-2026-10-16a */
@media(max-width:360px){.cust__acts{gap:8px}.cust__acts .btn{padding:6px 8px;font-size:.62rem;letter-spacing:.08em;gap:6px}}
/* omar-2026-10-16-updates · version card (owner Settings, barber Profile) + App management (owner, barber page) + signed-out note */
.appv{margin-top:16px}.appv__rows{margin-top:10px;border-top:1px solid var(--line)}
.appv__r{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.86rem}
.appv__r>span{color:var(--muted);flex:none}
.appv__r>b{font-weight:700;color:var(--ivory);text-align:right;min-width:0;overflow-wrap:anywhere}
.appv__r>b.ok{color:var(--ok)}.appv__r>b.warn{color:var(--warn)}.appv__r>b.bad{color:var(--bad);box-shadow:none}
.appv__id{margin-top:8px;color:var(--muted2);overflow-wrap:anywhere}
.appv .help .bad{color:var(--bad);box-shadow:none}
.notice--out{margin:18px auto 0;max-width:360px;text-align:center;border-color:rgba(201,162,75,.5)}

/* omar-2026-10-15g · Barber Active / Inactive: status line, the switch's help, the OFF/ON sheets, the reassign list and banner */
.bact{display:flex;align-items:center;gap:8px;margin-top:8px;font:800 .62rem/1.3 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
.bact i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--gold)}
.bact--off{color:#f3b1b1}
.bact--off i{background:var(--bad);box-shadow:0 0 0 3px rgba(227,91,91,.18)}
.bact--wait i{background:var(--warn);box-shadow:0 0 0 3px rgba(224,176,74,.18)}
.bact__help{margin:2px 0 8px;line-height:1.5}
.bact__help b{color:var(--gold2);font-weight:700}
.bact__legacy{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.bact__list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:9px;color:var(--ivory);font-size:.9rem;line-height:1.45}
.bact__list li{position:relative;padding-left:18px}
.bact__list li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.14)}
.barbercard .pill{display:inline-flex;width:auto;margin:0 0 0 8px;vertical-align:middle}
.barbercard .pill--cancelled{color:var(--bad)}
.reasgl .item__time{display:flex;flex-direction:column;gap:2px;font-size:.8rem;min-width:5.6em}
.reasgl .item__time small{color:var(--muted);font-weight:600;font-size:.72rem}
.reasg{padding:14px 14px 4px;border-color:rgba(227,91,91,.5);background:linear-gradient(160deg,rgba(227,91,91,.12),var(--card) 72%)}
.reasg__t{display:flex;align-items:center;gap:10px;color:#f6c2c2;font-size:.98rem}
.reasg__t i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;background:rgba(227,91,91,.16);color:var(--bad)}
.reasg__t svg{width:16px;height:16px}
.reasg__s{margin-top:6px;font-size:.86rem;color:var(--muted);line-height:1.45}
.reasg__chips{margin-top:8px}
/* omar-2026-10-15h · inactive barbers in the Money chips, "Needs a new barber" on Home */
.chip__off{margin-left:6px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bad);opacity:.9}
.bsel .chip:has(.chip__off){border-style:dashed}
.rq__need{color:#f6c2c2;border-color:rgba(227,91,91,.55)}
.rq__main .rq__off{color:var(--bad);font-weight:700}
.rq__need svg{color:var(--bad)}
/* omar-2026-10-16b · Barber login credentials card (owner) + a barber's read-only login phone */
.bcred__state{margin-top:6px;line-height:1.5;overflow-wrap:anywhere}
.bcred__state b{color:var(--ivory);font-weight:700}
.bcred__ok{margin:10px 0 2px;overflow-wrap:anywhere}
.bcred .help{overflow-wrap:anywhere}
#pPhone[readonly]{opacity:.72;cursor:not-allowed}
/* omar-2026-10-17-r4a1 · customer app status (owner): green ACTIVE / red NOT ACTIVATED pill on the profile, the strip + filter on Customers */
.actdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(10,10,10,.9),0 0 10px currentColor;flex:none}
.actpill{display:inline-flex;align-items:center;gap:7px;margin:0 0 0 10px;padding:6px 11px 6px 10px;border-radius:999px;border:1px solid;background:#0a0a0a;font:800 .62rem/1.1 var(--b);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;position:relative;top:-.15em}
.actpill--on{color:var(--ok);border-color:rgba(94,194,122,.6);background:linear-gradient(180deg,rgba(94,194,122,.16),rgba(10,10,10,.96))}
.actpill--off{color:#f07a7a;border-color:rgba(227,91,91,.6);background:linear-gradient(180deg,rgba(227,91,91,.16),rgba(10,10,10,.96))}
.actstrip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;margin-top:12px;padding:6px;border:1px solid var(--line2);border-radius:999px;background:linear-gradient(180deg,#16130d,#0a0a0a);box-shadow:inset 0 1px 0 rgba(232,201,131,.08)}
.actstrip[hidden]{display:none}
.actstrip__b{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--ivory);font:800 .64rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}
.actstrip__n{font:700 1.3rem/1 var(--d);letter-spacing:0}
.actstrip__b--on .actdot,.actstrip__b--on .actstrip__n{color:var(--ok)}
.actstrip__b--off .actdot,.actstrip__b--off .actstrip__n{color:#f07a7a}
.actstrip__b--on[aria-pressed="true"]{border-color:rgba(94,194,122,.6);background:rgba(94,194,122,.13)}
.actstrip__b--off[aria-pressed="true"]{border-color:rgba(227,91,91,.6);background:rgba(227,91,91,.13)}
.actstrip__b:focus-visible,.actnote__x:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.actstrip__sep{color:var(--gold);font-weight:800}
.actnote{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:2px 2px 10px;font:800 .66rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase}
.actnote--on{color:var(--ok)}.actnote--off{color:#f07a7a}
.actnote__n{color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:none;font-size:.8rem}
.actnote__x{margin-left:auto;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--gold2);font:800 .6rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
@media(max-width:700px){.actstrip{margin-right:22px}}   /* clear of the fixed A-Z rail, in line with the list cards (.az__list padding) */
@media(max-width:440px){.actstrip{gap:2px;padding:4px}.actstrip__b{padding:0 7px;gap:5px;letter-spacing:.05em;font-size:.56rem}.actstrip__n{font-size:1.05rem}.actstrip__sep{font-size:.7rem}.actpill{margin-left:6px;padding:5px 9px}}   /* every phone width: 3-digit counts on one row (375 wrapped before) */
@media(max-width:345px){.actstrip{gap:0}.actstrip__b{padding:0 5px;gap:4px;letter-spacing:.02em}.actstrip__n{font-size:.98rem}}   /* 4-digit counts still one row at 320 px */
/* omar-2026-10-17-r1b · transaction & tip correction: one quiet tag, the sheet, the history, the owner's lines */
.txfix__tag{display:inline-block;vertical-align:middle;margin-left:4px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:transparent;line-height:1.4;white-space:nowrap}
.txfix__orig{display:grid;gap:6px;padding:12px 14px}.txfix__orig>div{display:flex;justify-content:space-between;gap:10px;min-width:0}.txfix__orig>div span{color:var(--muted)}.txfix__orig .total{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}.txfix__orig .total b{color:var(--gold)}
.txfix__in{gap:8px}.txfix__in .field{margin:0;min-width:0}.txfix__in .input{min-width:0;width:100%}.txfix__na{margin:0;padding:12px 0;color:var(--muted);font-size:.85rem}
.txfix__lock{margin:8px 0 0;font-size:.85rem;color:var(--muted)}.txfix__lock.txfix__off{color:var(--bad);font-weight:600}
.txfix__cat{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.txfix__cat summary,.txfix__ev summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.txfix__ev{margin:8px 0 12px;border:1px dashed var(--line);border-radius:12px;padding:8px 12px}
.txfix__prev{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(201,162,75,.45);display:grid;gap:4px;font-size:.88rem}.txfix__prev[hidden]{display:none}.txfix__prev span{color:var(--muted)}
.txfix__opts{display:grid;gap:6px}.txfix__opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;font-size:.9rem;cursor:pointer}.txfix__opt input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--gold)}
.txfix__warn{margin:8px 0 0;padding:8px 10px;border-left:3px solid var(--gold);background:rgba(201,162,75,.08);border-radius:6px;font-size:.85rem}.txfix__legal{border-left-color:var(--bad);background:rgba(255,107,107,.07)}
.txfix__conf{margin-top:12px;padding:12px;border:1px solid var(--gold);border-radius:12px}.txfix__conf[hidden]{display:none}.txfix__conf .lead{margin:0}
.txfix__hist{display:grid;gap:0;padding:4px 14px}.txfix__row{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem;text-align:left;min-width:0;overflow-wrap:anywhere}.txfix__row:last-child{border-bottom:0}.txfix__row span{color:var(--muted)}.txfix__row .bad{color:var(--bad)}
.txfix__rowbtn{background:none;border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit;width:100%;cursor:pointer}
.txfix__line{display:grid;gap:4px;width:100%;margin-top:10px;text-align:left;cursor:pointer;color:inherit;font:inherit}.txfix__line span{color:var(--muted);font-size:.86rem}
.txfix__pr p{margin:4px 0;font-size:.88rem;overflow-wrap:anywhere}
.txfix__rowbtn:focus-visible,.txfix__line:focus-visible,.txfix__opt:focus-within{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:360px){.txfix__in{grid-template-columns:1fr 1fr}.txfix__in .field:first-child{grid-column:1/-1}}
/* omar-2026-10-18-r7 · payroll: NET PAY (green) / SHOP PAY (gold), the owner's gold NET PAY, deductions, week status, statement */
.pr7__pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:0;flex:0 1 auto}
.pr7__strow{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pr7st--prog{color:var(--muted);border-color:var(--line2);background:rgba(242,234,217,.05)}
.pr7st--ready{color:var(--warn);border-color:rgba(224,176,74,.5);background:rgba(224,176,74,.1)}
.pr7st--fin{color:var(--gold2);border-color:var(--gold2);background:rgba(201,162,75,.12)}
.pr7st--sent{color:var(--ok);border-color:rgba(94,194,122,.5);background:rgba(94,194,122,.12)}
.pr7__rule{margin-top:8px;overflow-wrap:anywhere}
.pr7__note{margin-top:8px;font-size:.84rem;color:var(--muted);border-left:3px solid var(--gold);padding:4px 0 4px 10px;overflow-wrap:anywhere}
.pr7__ded{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.pr7__drow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);min-width:0}
.pr7__drow>span{flex:1;min-width:0;display:grid;gap:2px}.pr7__drow>span b{font-weight:700;overflow-wrap:anywhere}.pr7__drow small{color:var(--muted);font-size:.74rem}
.pr7__drow>b,.pr7__dtot{color:var(--bad);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.pr7__drow .btn--sm{min-height:44px;min-width:56px}
.pr7__add{margin-top:10px;width:100%;min-height:44px}
.pr7__flag{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(227,91,91,.5);background:rgba(227,91,91,.09);color:#f3b1b1;font-size:.86rem;overflow-wrap:anywhere}
.pr7__tot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.pr7__tot>div{display:grid;gap:4px;align-content:start;padding:12px;border-radius:14px;border:1px solid var(--line2);background:rgba(242,234,217,.03);min-width:0}
.pr7__tot span{font:800 .62rem/1.2 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pr7__tot b{font:800 clamp(1.15rem,6vw,1.65rem)/1.1 var(--b);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pr7__tot .pr7__net{border-color:rgba(94,194,122,.55)}.pr7__tot .pr7__net b{color:var(--ok)}
.pr7__tot .pr7__shop{border-color:var(--gold2)}.pr7__tot .pr7__shop b{color:var(--gold2)}
.pr7__tot--one{grid-template-columns:minmax(0,1fr)}.pr7__tot .pr7__own{border-color:var(--gold2);box-shadow:0 14px 34px -24px rgba(201,162,75,.7)}.pr7__tot .pr7__own b{color:var(--gold2);font-size:clamp(1.5rem,8vw,2rem)}.pr7__own small{color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
.pr7__sent{margin-top:8px;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.pr7__amt{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.pr7__amt--1{color:var(--gold2)}.pr7__amt--n{color:var(--ok)}
.pr7q{font-weight:800;letter-spacing:.06em;font-size:.72rem}
.pr7__prev{margin:2px 0 0;font:800 1.5rem/1.2 var(--b);color:var(--bad);font-variant-numeric:tabular-nums}
.stmt{margin-top:12px;padding:16px;border-radius:16px;background:#0b0a08;border:1px solid var(--gold2);box-shadow:0 0 0 4px #0b0a08,0 0 0 5px rgba(201,162,75,.45);min-width:0}
.stmt__brand{text-align:center;display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(201,162,75,.45)}
.stmt__brand b{font:600 1.9rem/1 var(--d);letter-spacing:.24em;padding-left:.24em;color:var(--gold2)}
.stmt__brand span{font:800 .58rem/1.3 var(--b);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.stmt__rev{justify-self:center;font:800 .6rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:#0a0908;background:var(--gold2);padding:5px 10px;border-radius:999px}
.stmt__who{display:grid;gap:2px;margin:12px 0 6px}.stmt__who b{font-size:1.1rem;overflow-wrap:anywhere}.stmt__who span{color:var(--muted);font-size:.84rem}
.stmt__row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(242,234,217,.08);font-size:.92rem;min-width:0}.stmt__row span{min-width:0;overflow-wrap:anywhere}.stmt__row b{font-variant-numeric:tabular-nums;white-space:nowrap}
.stmt__sub span,.stmt__sub b{font-weight:800}.stmt__ded b{color:var(--bad)}
.stmt__h{margin-top:10px;font:800 .6rem/1.2 var(--b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.stmt__note{margin-top:8px;font-size:.82rem;color:#f3b1b1}
.stmt__net{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--gold2)}.stmt__net span{font:800 .7rem/1.2 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}.stmt__net b{font:800 1.6rem/1 var(--b);color:var(--ok);font-variant-numeric:tabular-nums}
.stmt__foot{margin-top:10px;font-size:.72rem;color:var(--muted);text-align:center}
/* omar-2026-10-18-r8: the live time line is blue (was --bad red); blocks are tappable buttons */
.tl2__now{border-top-color:#3d8bfd}.tl2__now i{background:#3d8bfd;box-shadow:0 0 0 1.5px var(--deep),inset 0 1px 0 rgba(255,255,255,.3),0 0 8px rgba(61,139,253,.6)}
button.ap--block{cursor:pointer;text-align:left;font:inherit;color:inherit}button.ap--block:focus-visible{outline:2px solid var(--gold2);outline-offset:1px}
.bkinfo{min-height:44px;display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:10px}
/* omar-2026-10-18-r10: QR check-in screens, pending verification (Lobby, Customers) */
.ci10__head .h1{font-size:clamp(1.7rem,7.4vw,2.4rem);letter-spacing:.04em}.ci10__crown{display:inline-block;font-size:.8em;transform:translateY(-.06em)}
.ci10__lead{margin-top:10px;font-size:1.05rem}.ci10__pos{color:var(--gold2);font:700 1.25em/1 var(--d);letter-spacing:.02em;white-space:nowrap}
.ci10__card{margin-top:16px}.ci10__big{font-size:1.25rem;letter-spacing:.04em;min-height:56px}.ci10__code{font-size:1.5rem;letter-spacing:.3em;text-align:center}
.ci10__btns{margin-top:22px}.ci10__btns .btn--ghost{min-height:46px}.ci10__note{text-align:center;margin-top:4px}.ci10__help{text-align:center;margin-top:14px}
.ci10__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.ci10__row .field{min-width:0}
.ci10__yn .chip{min-width:84px;justify-content:center}.ci10 .srcpick{flex-wrap:wrap}.ci10__invite{margin-top:18px;text-align:left}
.ci10__ok{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--ok);font-weight:600;text-align:center}.ci10__ok svg{width:18px;height:18px;flex:none}
@media (max-width:340px){.ci10__row{grid-template-columns:minmax(0,1fr);gap:0}}
.pvpill{display:inline-flex;align-items:center;margin-top:4px;padding:4px 9px;border-radius:999px;border:1px solid rgba(224,176,74,.6);background:linear-gradient(180deg,rgba(224,176,74,.16),rgba(10,10,10,.96));color:var(--warn);font:800 .6rem/1.1 var(--b);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;width:max-content}
.pvpill--btn{margin:0 0 0 6px;vertical-align:middle;position:relative;top:-.15em;min-height:30px;cursor:pointer}.pvpill--btn:focus-visible,.pvname:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.pvname{display:grid;justify-items:start;gap:2px;min-width:0;min-height:44px;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:8px}.pvname .item__t,.pvname .item__s{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pvstrip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pvstrip__b{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border-radius:999px;border:1px solid rgba(224,176,74,.55);background:rgba(224,176,74,.08);color:var(--warn);font:800 .64rem/1.1 var(--b);letter-spacing:.12em;text-transform:uppercase}
.pvstrip__b b{font-size:.8rem;color:var(--ivory)}.pvstrip__b--dup{border-color:var(--line2);background:rgba(201,162,75,.06);color:var(--gold2)}.pvdot{width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px rgba(224,176,74,.7)}
.pvrow{width:100%;text-align:left;font:inherit;color:inherit}.pvdup__h{padding:12px 14px 4px;color:var(--gold2);font:700 .8rem/1 var(--b);letter-spacing:.12em}
.pvstat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-size:.9rem}.pvstat span{color:var(--muted)}.pvstat b{color:var(--ivory);font-weight:600}
.pvnote{margin-top:12px}.pvname .pvpill{max-width:100%;overflow:hidden;text-overflow:ellipsis;letter-spacing:.08em;padding:4px 7px}
/* omar-2026-10-18-r10b: Lobby rows: #, avatar, name never overlap; the buttons get their own full row */
.item.lobrow{grid-template-columns:30px 44px minmax(0,1fr);grid-template-areas:"pos av who" "acts acts acts";column-gap:12px;row-gap:10px;align-items:center}
.item.lobrow>.item__time{grid-area:pos;min-width:0!important;white-space:nowrap}
.item.lobrow>.lobrow__av{grid-area:av;width:44px;height:44px}
.item.lobrow>:nth-child(3){grid-area:who;min-width:0;max-width:100%;display:grid;justify-items:start;gap:3px;overflow:hidden}
.item.lobrow .item__t,.item.lobrow .item__s{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item.lobrow .item__t{justify-self:stretch}.item.lobrow .pvname{width:100%}.item.lobrow .pvpill{margin-top:1px}
.item.lobrow>.bk__pills{grid-area:acts;display:flex;flex-wrap:nowrap;gap:8px;min-width:0}
.item.lobrow>.bk__pills>.btn{flex:1 1 0;min-width:0;min-height:44px;padding:0 10px}
.item.lobrow>.bk__pills>[data-act="wait-rm"]{flex:0 0 44px;width:44px;padding:0}
.item.lobrow .pvname:focus-visible{outline-offset:-2px}.item.lobrow .pvname{grid-template-columns:minmax(0,1fr)}
@media (max-width:359px){.item.lobrow .pvpill{letter-spacing:.04em;padding:4px 6px}}
/* omar-2026-10-18-r9: SERVICE vs PRODUCT */
.r9pill{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;vertical-align:middle;line-height:1.4}
.r9pill--prod{background:rgba(61,139,253,.16);color:#9cc3ff;border:1px solid rgba(61,139,253,.4)}.r9pill--svc{background:rgba(201,162,75,.16);color:var(--gold2,#e2c27a);border:1px solid rgba(201,162,75,.45)}
.r9svc{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 2px;cursor:pointer}.r9svc input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:#c9a24b}.r9svc span{display:grid;gap:2px;min-width:0}.r9svc small{color:var(--muted,#a99f8c);font-size:.8rem;line-height:1.35}
.r9svc,.field label.r9svc{font:400 .88rem/1.35 var(--b);letter-spacing:normal;text-transform:none;color:var(--muted)}.r9svc b{font-size:.95rem;font-weight:700;color:#f2ead9}
.r9svc--sm{min-height:40px;padding:4px 2px}.r9svc input:focus-visible{outline:2px solid var(--gold2,#e2c27a);outline-offset:2px}
.r9tiles{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:620px){.r9tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.r9note{margin-top:8px}
/* omar-2026-10-18-r12: EDIT PAYROLL, hints, override badge, loan group */
.r12edit{margin-top:10px;width:100%;min-height:44px}
.r12hint{margin-top:8px;padding:9px 12px;border-radius:12px;font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}
.r12hint--warn{border:1px solid rgba(224,176,74,.6);background:rgba(224,176,74,.1);color:#f0d394}
.r12hint--info{border:1px solid var(--line2);color:var(--muted)}
.r12ov{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(111,168,232,.55);background:rgba(111,168,232,.08);min-width:0}
.r12ov__pill{color:var(--info);border-color:rgba(111,168,232,.6);background:rgba(111,168,232,.12)}
.r12ov p{margin-top:6px;font-size:.86rem;overflow-wrap:anywhere}.r12ov s{color:var(--muted)}.r12ovtxt{color:var(--info)}
.r12grp{margin-top:10px;font:800 .62rem/1.2 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.r12mode{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:.86rem;line-height:1.4;border-left:4px solid var(--gold2);background:rgba(201,162,75,.08);overflow-wrap:anywhere}
.r12mode--week{border-left-color:var(--info);background:rgba(111,168,232,.08)}
.r12seg button{font-size:.6rem}
.r12sum>div{min-width:0}.r12sum span{overflow-wrap:anywhere}
.r12auto{margin-top:6px;overflow-wrap:anywhere}
.linkbtn{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer;text-align:left;min-height:44px}.linkbtn:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r12prev{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}
.r12prev>div{padding:10px;border-radius:12px;border:1px solid var(--line2);display:grid;gap:4px;min-width:0}
.r12prev span{font:800 .56rem/1.2 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.r12prev b{font:800 1.05rem/1.1 var(--b);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.r12prev .r12p--net{border-color:rgba(94,194,122,.55)}.r12prev .r12p--net b{color:var(--ok)}.r12prev .r12p--shop{border-color:var(--gold2)}.r12prev .r12p--shop b{color:var(--gold2)}
.r12p__err{grid-column:1/-1;font-size:.84rem}
.r12hist>div{padding:10px 0;border-bottom:1px solid var(--line);font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.r12hist>div:last-child{border-bottom:0}.r12hist small,.r12hist span{color:var(--muted)}
/* omar-2026-10-18-r11: the charge sheet's itemized lines (service, each add-on with an X, custom item, service total) */
.r11l{margin-top:10px;display:grid;gap:4px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#0f0e0c}
.r11l__r{display:flex;align-items:center;gap:10px;min-height:36px}.r11l__r span{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}.r11l__r b{flex:none;font-variant-numeric:tabular-nums}
.r11l__x{flex:none;width:44px;height:44px;margin:-4px -10px -4px 0;display:inline-grid;place-items:center;border-radius:999px;color:var(--ivory);background:transparent;border:0;cursor:pointer}.r11l__x svg{width:16px;height:16px}.r11l__x:focus-visible{outline:2px solid var(--gold2);outline-offset:-4px}
.r11l__t{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(201,162,75,.25);padding-top:8px;margin-top:2px}.r11l__t b{color:var(--gold2);font-variant-numeric:tabular-nums}
#payAdd{margin-top:8px}

/* omar-2026-10-19-r15 · weekly schedule card */
.pill--r15none{background:rgba(184,171,152,.1);color:var(--muted);border-color:rgba(184,171,152,.35)}
.r15days{display:grid;grid-template-columns:1fr;gap:4px;margin-top:10px}
.r15d{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 10px;border-radius:10px;background:rgba(201,162,75,.08);min-width:0}
.r15d span{font-weight:700}.r15d b{text-align:right;white-space:nowrap}
.r15d--off{background:transparent;border:1px dashed rgba(184,171,152,.35)}.r15d--off b{color:var(--muted);font-weight:600}
.r15title{color:var(--gold2);font-weight:700}
.r15row .bk__pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
/* omar-2026-10-19-r14: Settings > Menus & links caption row; 5 price columns fit a 390 px phone */
.pgrid__h.r14sub>small{display:block;margin-top:-4px;font:800 .54rem/1.25 var(--b);letter-spacing:.04em;text-transform:uppercase;color:var(--gold2);text-align:center;opacity:.85;overflow-wrap:anywhere;min-width:0}
form.menus .pgrid{gap:6px 5px}form.menus .pgrid input{min-width:0;padding:0 3px}
/* omar-2026-10-19-r16: the links page, the four-menu table, the link's confirmation, pending approval */
.r16brand{pointer-events:none}
.r16card{margin-top:14px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:12px 14px}
.r16card b{letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;color:var(--gold2)}
.r16link{padding:14px}
.r16link__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.r16link__n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);color:var(--gold2);font:700 .78rem/1 var(--b)}
.r16link__t{font:700 .9rem/1.2 var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory);min-width:0;overflow-wrap:anywhere}
.r16link__d{margin-top:8px}
.r16link__u{margin-top:8px;font:500 .8rem/1.35 var(--b);color:var(--gold2);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.r16copy{min-width:96px}.r16copy svg{width:16px;height:16px}.r16copy.is-done{background:var(--ok);border-color:var(--ok);color:#06140a}
.r16grid{gap:6px 4px}
.r16grid .pgrid__h>span:first-child{letter-spacing:.04em;overflow-wrap:normal}
.r16msvc .mrow{flex-wrap:wrap;row-gap:8px}.r16msvc .mrow>b{flex:1 0 112px;overflow-wrap:normal}
.r16grid .pgrid__h>span.r16grid__c{font:800 .56rem/1.2 var(--b);letter-spacing:.04em;color:var(--gold2);text-align:center;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;min-width:0}
.r16grid .pgrid__r>b{font-size:.84rem}
.r16grid input{min-width:0;width:100%;padding:0 2px;text-align:center}
.r16off{font:700 .56rem/1.15 var(--b);letter-spacing:.03em;text-transform:uppercase;color:var(--muted2)}
.r16msvc .mrow b{letter-spacing:.04em}
.r16done .summary{margin-top:2px}.r16arrive .eyebrow{color:var(--gold2)}
.r16pend .btns{margin-top:10px}.r16pvnote{margin-top:10px}
@media(max-width:360px){.r16grid{grid-template-columns:minmax(54px,1fr) repeat(4,minmax(0,46px))!important;gap:6px 3px}.r16grid .pgrid__r>b{font-size:.76rem}.r16grid .pgrid__h>span{font-size:.5rem!important;letter-spacing:.02em!important}.r16grid input{font-size:.74rem;padding:0 1px}.r16off{font-size:.5rem}}
/* omar-2026-10-19-r17: Step 4 payment method, the Pay screen, statuses, payment privilege, account links */
.r17pm{margin-top:18px}
.r17opts{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:8px}
.r17opt{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:64px;padding:14px;text-align:left;border-radius:var(--r);background:var(--card);border:1px solid var(--line2);color:var(--ivory);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}
.r17opt__t{min-width:0}
.r17opt b{display:block;font:800 .82rem/1.2 var(--b);letter-spacing:.12em;color:var(--gold2)}
.r17opt small{display:block;margin-top:4px;font:500 .78rem/1.35 var(--b);color:var(--muted);letter-spacing:0;text-transform:none}
.r17opt__dot{position:relative;display:block;width:20px;height:20px;border-radius:50%;border:2px solid var(--line2)}
.r17opt.on{border-color:var(--gold2);background:linear-gradient(180deg,rgba(201,162,75,.18),rgba(201,162,75,.06));box-shadow:inset 0 0 0 1px var(--gold2)}
.r17opt.on .r17opt__dot{border-color:var(--gold2)}
.r17opt.on .r17opt__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold2)}
.r17opt:focus-visible,.r17ft:focus-visible,.r17apbtn:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.r17ns{margin:8px 0 0;line-height:1.45}
.r17first{margin-top:14px}
.r17first .chips .chip{min-width:88px;justify-content:center}
.r17pay .summary{margin:0}
.r17holdp b{color:var(--gold2)}
.r17paybox{margin-top:14px}
.r17paybox.is-busy{opacity:.6;pointer-events:none}
.r17card{min-height:96px;margin-bottom:12px}
.r17apbtn{display:block;width:100%;height:52px;border:0;border-radius:12px;cursor:pointer;-webkit-appearance:-apple-pay-button;-apple-pay-button-type:pay;-apple-pay-button-style:white}
.r17apbtn[disabled]{opacity:.5}
@supports not (-webkit-appearance:-apple-pay-button){.r17apbtn{background:#fff;color:#000;font:700 1rem/52px var(--b)}.r17apbtn::after{content:"Pay with Apple Pay"}}
.r17sec{display:flex;gap:8px;align-items:flex-start;margin-top:12px}.r17sec svg{flex:none;width:16px;height:16px;color:var(--ok);margin-top:1px}
.r17fail{margin-top:12px}
.r17st .r17grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}
.r17st .r17grid>div{min-width:0;padding:8px 10px;border-radius:12px;background:rgba(201,162,75,.06);border:1px solid var(--line2)}
.r17st .r17grid span,.r17via span,.r17row span,.r17num span{display:block;font:700 .56rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.r17st .r17grid b{display:block;margin-top:3px;font:700 .82rem/1.25 var(--b);color:var(--ivory);overflow-wrap:anywhere}
.r17st b.ok,.r17prof b.ok,.r17acct b.ok{color:var(--ok)}.r17st b.warn,.r17prof b.warn,.r17acct b.warn{color:var(--warn)}
.r17ref{margin-top:8px;overflow-wrap:anywhere}
.r17via{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line2)}
.r17via b{font:800 .76rem/1.2 var(--b);letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);text-align:right;min-width:0;overflow-wrap:anywhere}
.r17row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(201,162,75,.16)}
.r17row:last-child{border-bottom:0}
.r17row b{font:700 .8rem/1.3 var(--b);letter-spacing:.06em;color:var(--ivory);text-align:right;min-width:0;overflow-wrap:anywhere}
.r17pill{display:inline-flex;padding:6px 12px;border-radius:999px;font:800 .66rem/1.2 var(--b);letter-spacing:.12em;border:1px solid}
.r17pill--prepay{color:var(--warn);border-color:rgba(224,176,74,.6);background:rgba(224,176,74,.12)}
.r17pill--shop{color:var(--ok);border-color:rgba(94,194,122,.55);background:rgba(94,194,122,.12)}
.r17log{display:grid;gap:8px;margin-top:8px}
.r17logrow{padding:9px 11px;border-radius:12px;border:1px solid var(--line2);background:rgba(201,162,75,.05)}
.r17logrow b{display:block;font:700 .76rem/1.3 var(--b);color:var(--ivory)}.r17logrow span{display:block;margin-top:3px;font:500 .74rem/1.35 var(--b);color:var(--muted);overflow-wrap:anywhere}
.cact--r17 svg,.cact--r17 span{color:var(--gold2)}
.r17acct__s{margin-top:4px}.r17acct .btn{margin-top:8px}
.r17num{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--card)}
.r17num a{font:800 1.15rem/1.2 var(--b);color:var(--gold2);text-decoration:none}
.r17msg{margin:12px 0 0;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(0,0,0,.35);color:var(--ivory);font:500 .84rem/1.5 var(--b);white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto}
.r17steps{margin:12px 0 0 18px;line-height:1.55}
.r17auth__t{font-size:1.5rem;line-height:1.15}
.r17auth form{width:100%;max-width:420px;margin:0 auto}
#r17go{width:100%}
.r17ftc .chip{flex:1 1 100%;justify-content:center;white-space:normal;text-align:center}
.r17tips{margin-top:8px}.r17tips .chip{min-width:64px;justify-content:center}
.r17tipc{margin-top:10px}.r17tipbox.is-busy{opacity:.6;pointer-events:none}
.r17or{text-align:center;margin:10px 0}
.r17ps{font-weight:800;letter-spacing:.08em}
.r17ps--paid{color:var(--ok)!important}.r17ps--due{color:var(--gold2)!important}.r17ps--pending{color:var(--muted)!important}.r17ps--failed{color:var(--bad)!important}.r17ps--refund{color:#b49cf0!important}
span.r17ps{display:inline-flex;padding:3px 8px;border-radius:999px;border:1px solid currentColor;font:800 .56rem/1.2 var(--b);white-space:nowrap}
.r17paid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.r17paid>div{padding:8px 10px;border-radius:12px;border:1px solid rgba(94,194,122,.45);background:rgba(94,194,122,.08);min-width:0}
.r17paid span{display:block;font:700 .56rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.r17paid b{display:block;margin-top:3px;font:800 .9rem/1.2 var(--b);color:var(--ivory)}.r17paid__t b{color:var(--ok)}
.r17ph{display:grid;gap:8px;margin-top:8px}
.r17phrow{padding:9px 11px;border-radius:12px;border:1px solid var(--line2);background:rgba(201,162,75,.05);min-width:0}
.r17phrow__h{display:flex;justify-content:space-between;gap:8px;align-items:center}.r17phrow__h b{font:700 .8rem/1.3 var(--b);color:var(--ivory);min-width:0;overflow-wrap:anywhere}
.r17phrow>span{display:block;margin-top:4px;font:500 .74rem/1.4 var(--b);color:var(--muted);overflow-wrap:anywhere}
.notif--r17 span{white-space:pre-line}
.notif--paid{box-shadow:inset 4px 0 0 var(--ok)}.notif--paid b{color:var(--ok)}
.notif--due{box-shadow:inset 4px 0 0 var(--gold2)}.notif--due b{color:var(--gold2)}
/* omar-2026-10-20-r18a: Schedule Requests redesign (compact rows, THIS WEEK | FUTURE WEEKS, business-hours detail, compact history) */
.r18{padding-bottom:12px}
.r18h1{font-size:clamp(1.45rem,6.6vw,2.3rem);letter-spacing:.07em;text-transform:uppercase;line-height:1.08}
.r18h1::after{margin-top:8px}
.r18lede{margin-top:6px;font-size:.88rem;line-height:1.45;color:var(--muted)}
.r18tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:16px;padding:4px;border:1px solid rgba(201,162,75,.3);border-radius:14px;background:rgba(8,7,6,.72)}
.r18tab{min-height:44px;padding:0 8px;border:0;border-radius:10px;background:none;color:var(--muted);font:800 .64rem/1.2 var(--b);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}
.r18tab[aria-selected="true"]{color:var(--black);background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold3))}
.r18tab:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r18wkh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:20px 2px 8px;font:800 .66rem/1.4 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18wkh__d{color:var(--ivory)}
.r18sec{margin-top:24px}
.r18h2{margin:0 2px 8px;font:800 .66rem/1.4 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18h2--top{margin-top:4px}
.r18h3{margin:18px 0 0;font:800 .62rem/1.4 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18list{padding:2px 14px;container-type:inline-size;box-shadow:none}
.r18list>.r18row+.r18row{border-top:1px solid rgba(201,162,75,.16)}
.r18row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"av who act";align-items:center;column-gap:12px;row-gap:8px;padding:11px 0;min-height:62px;min-width:0}
.r18av{grid-area:av;width:40px;height:40px;font-size:1rem}
.r18who{grid-area:who;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.r18name{display:block;max-width:100%;font:600 .98rem/1.25 var(--b);color:var(--ivory);white-space:normal;overflow-wrap:break-word}
.r18line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;max-width:100%}
.r18sub{display:block;max-width:100%;font-size:.8rem;line-height:1.35;color:var(--muted)}
.r18act{grid-area:act;min-height:44px;min-width:92px;padding:0 14px;white-space:nowrap}
.r18chg{font:700 .6rem/1.3 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}
@container (max-width:315px){
  .r18row{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"av who" ". act"}
  .r18act{justify-self:start;min-width:120px}
}
.r18row--h{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who end";min-height:58px}
.r18end{grid-area:end;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.r18v{min-height:44px;min-width:76px;padding:0 12px;white-space:nowrap}
.r18st{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 9px;border:1px solid;border-radius:999px;font:800 .58rem/1.3 var(--b);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.r18st::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.r18st--ok{color:#80d29b;background:rgba(94,194,122,.1);border-color:rgba(94,194,122,.42)}
.r18st--gold{color:var(--gold2);background:rgba(201,162,75,.12);border-color:rgba(201,162,75,.5)}
.r18st--none{color:#a89f92;background:rgba(184,171,152,.07);border-color:rgba(184,171,152,.3)}
.r18st--bad{color:#dd968d;background:rgba(196,88,78,.1);border-color:rgba(196,88,78,.42)}
.r18all{width:100%;margin-top:10px}
.r18empty{padding:14px 2px;font-size:.9rem;color:var(--muted)}
.r18none{margin-top:14px;padding:16px;border:1px solid rgba(201,162,75,.16);border-radius:var(--r);text-align:center}
.r18foot{margin:22px 2px 0;font-size:.72rem;letter-spacing:.06em;color:var(--muted2)}
.r18aff{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin-top:12px;padding:10px 14px;border:1px solid rgba(224,176,74,.4);border-radius:12px;background:rgba(224,176,74,.06);color:var(--ivory);font:500 .84rem/1.35 var(--b);text-align:left;cursor:pointer}
.r18aff b{color:var(--warn)}
.r18aff__v{flex:none;font:800 .62rem/1 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.r18fws{margin-top:16px}
.r18fw{display:block;padding:14px 16px;color:inherit;text-decoration:none;box-shadow:none}
.r18fw+.r18fw{margin-top:10px}
.r18fw__h{display:flex;align-items:center;justify-content:space-between;gap:10px;font:800 .66rem/1.3 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18fw__o{flex:none;color:var(--gold2);letter-spacing:.14em}
.r18fw__l{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(201,162,75,.16)}
.r18fw__r{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;min-width:0}
.r18fw__n{min-width:0;font-weight:600;color:var(--ivory);overflow-wrap:break-word}
.r18dh{margin-top:2px}
.r18dh__n{font:600 clamp(1.45rem,6.2vw,2.1rem)/1.1 var(--d);letter-spacing:.06em;text-transform:uppercase;color:var(--ivory);overflow-wrap:break-word}
.r18dh__w{margin-top:6px;font:800 .64rem/1.4 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18dh__s{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:.84rem;color:var(--muted)}
.r18ro{margin-top:8px;font:700 .58rem/1.3 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--muted2)}
.r18card{margin-top:16px;padding:14px 16px 16px;box-shadow:none}
.r18meta-line{font-size:.8rem;line-height:1.5;color:var(--muted)}
.r18meta-line+.r18hrs{margin-top:12px}
.r18note{font-size:.88rem;line-height:1.5;color:var(--muted)}
.r18note+.r18note{margin-top:8px}
.r18warn{margin-top:12px;padding:10px 12px;border:1px solid rgba(224,176,74,.4);border-radius:10px;background:rgba(224,176,74,.06);font-size:.82rem;line-height:1.45;color:var(--ivory)}
.r18hrs{margin-top:10px;border-top:1px solid rgba(201,162,75,.45);container-type:inline-size}
.r18hrs__h{display:flex;justify-content:space-between;gap:10px;padding:10px 2px 8px;border-bottom:1px solid rgba(201,162,75,.45);font:800 .58rem/1.2 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.r18hrs__r{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:8px 2px;border-bottom:1px solid rgba(201,162,75,.2)}
.r18hrs__r>span{min-width:0;font:600 .95rem/1.25 var(--b);color:var(--ivory)}
.r18hrs__r>b{display:grid;justify-items:end;gap:2px;font:600 .92rem/1.25 var(--b);color:var(--gold2);font-variant-numeric:tabular-nums;text-align:right}
.r18t{white-space:nowrap}
.r18hrs__r--off>b{font:800 .62rem/1.2 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
@container (max-width:290px){
  .r18hrs__r{gap:8px}
  .r18hrs__r>span{font-size:.86rem}
  .r18hrs__r>b{font-size:.84rem}
}
.r18acts{margin-top:16px}
.r18kvs{display:grid;margin:0}
.r18kv{display:grid;grid-template-columns:minmax(0,7.5rem) minmax(0,1fr);gap:4px 12px;padding:9px 0;border-bottom:1px solid rgba(201,162,75,.14)}
.r18kv dt{font:800 .58rem/1.5 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.r18kv dd{margin:0;min-width:0;font-size:.88rem;line-height:1.4;color:var(--ivory);overflow-wrap:break-word}
.r18f{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:10px;margin-top:10px}
.r18f .field{margin-top:0;min-width:0}
.r18f .input{min-height:46px}
.r18count{margin:14px 2px 8px;font-size:.78rem;color:var(--muted)}
.r18pg{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.r18pg .btn{min-height:44px}
.r18pg__n{font-size:.76rem;color:var(--muted);text-align:center}
.r18off{opacity:.38;pointer-events:none}
@media (prefers-reduced-motion:reduce){.r18tab{transition:none}}
/* omar-2026-10-20-r18b: choose your barber, statuses, the unassigned queue + assign sheet, SHOW ON ONLINE BOOKING, customer app management */
/* choose your barber */
.r8bch{display:grid;gap:12px;margin-top:16px}
.r8bch__h{margin-top:10px}
.r8bc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;min-height:76px;text-align:left;padding:14px 14px 14px 16px;border-radius:var(--r);background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);color:var(--ivory);cursor:pointer;transition:border-color .2s,transform .18s var(--ease),box-shadow .25s}
.r8bc:active{transform:scale(.985)}
.r8bc:hover{border-color:rgba(232,201,131,.45);box-shadow:0 16px 36px -24px rgba(201,162,75,.5)}
.r8bc:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r8bc.on{border-color:var(--gold2);box-shadow:0 0 0 1px var(--gold2)}
.r8bc--own{background:radial-gradient(120% 140% at 0% 0%,rgba(232,201,131,.16),transparent 55%),linear-gradient(160deg,#211b10,var(--card));border-color:var(--line2)}
.r8bc__i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);background:#0d0b08;color:var(--gold2);flex:none}
.r8bc__i svg{width:24px;height:24px}
.r8bc__i--own{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.14)}
.r8bc__i--own img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.r8bc__i--sm{width:42px;height:42px}.r8bc__i--sm img{width:34px;height:34px}
.r8bc__t{min-width:0;display:block}
.r8bc__t b{display:block;font:700 .98rem/1.2 var(--b);letter-spacing:.09em;text-transform:uppercase;color:var(--ivory);overflow-wrap:anywhere}
.r8bc--own .r8bc__t b{color:var(--gold2)}
.r8bc--emp .r8bc__t b{font:600 1.22rem/1.1 var(--d);letter-spacing:0;text-transform:none}
.r8bc__t>span{display:block;margin-top:4px;font-size:.8rem;line-height:1.35;color:var(--muted)}
.r8bc__n{display:block;margin-top:2px;font-style:normal;color:var(--gold2);font-size:.76rem}
.r8bnote{margin-top:10px;font-size:.8rem;line-height:1.45;color:var(--muted)}.r8bnote b{color:var(--gold2);font-weight:700;letter-spacing:.02em}
.r8bc .chev{width:18px;height:18px;color:var(--gold)}
.r8bwith{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:8px;font-size:.84rem;color:var(--muted)}
.r8bwith b{color:var(--gold2);font-weight:700;letter-spacing:.04em}
.r8bwith__b{min-height:44px;padding:0 4px;background:none;border:0;color:var(--gold2);font:700 .8rem/1 var(--b);letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.r8bwith__b:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;border-radius:6px}
/* statuses the customer reads */
.r8bst{margin-top:10px;padding:10px 12px;border-radius:12px;font:800 .74rem/1.35 var(--b);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line2);background:rgba(201,162,75,.08);color:var(--gold2)}
.r8bst--confirmed{border-color:rgba(94,194,122,.45);background:rgba(94,194,122,.08);color:var(--ok)}
.r8bst--bad{border-color:rgba(227,91,91,.45);background:rgba(227,91,91,.08);color:var(--bad)}
.r8bst--done{margin:14px auto 0;max-width:30em;text-align:center}
.r8bdone{margin-top:6px;text-align:center}
.r8boffer{margin-top:10px;padding:12px;border-radius:12px;border:1px dashed var(--line2)}
.r8bqn b{color:var(--gold2)}
/* owner: queue */
.r8bban{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ivory);font:700 .8rem/1.2 var(--b);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.r8bban span{display:flex;align-items:center;gap:8px;min-width:0}
.r8bban svg{width:18px;height:18px;color:var(--gold);flex:none}
.r8bban b{flex:none;color:var(--muted);font-weight:700}
.r8bban.has{border-color:var(--gold2);box-shadow:0 0 0 1px rgba(232,201,131,.3)}.r8bban.has b{color:var(--gold2)}
.r8bban:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r8bqs{margin-top:16px;gap:12px}
.r8bq{padding:14px}
.r8bq--bad{border-color:rgba(227,91,91,.5)}
.r8bq__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.r8bq__when{display:flex;align-items:baseline;gap:8px;font-size:.86rem;color:var(--muted)}
.r8bq__when b{font:700 .86rem/1.2 var(--b);letter-spacing:.06em;text-transform:uppercase;color:var(--gold2)}
.r8bq__st{font:800 .64rem/1.3 var(--b);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--gold2)}
.r8bq__st.bad{border-color:rgba(227,91,91,.55);color:var(--bad)}.r8bq__st.off{color:var(--info);border-color:rgba(111,168,232,.5)}
.r8bq__n{margin-top:10px;font:600 1.35rem/1.15 var(--d);color:var(--ivory);overflow-wrap:anywhere}
.r8bq__ph{display:inline-flex;align-items:center;min-height:32px;margin-top:2px;font-size:.88rem;color:var(--gold2);text-decoration:none}
.r8bkv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.r8bkv__c{min-width:0}
.r8bkv__c span{display:block;font:700 .6rem/1.3 var(--b);letter-spacing:.09em;text-transform:uppercase;color:var(--muted2)}
.r8bkv__c b{display:block;margin-top:2px;font-size:.84rem;font-weight:600;color:var(--ivory);overflow-wrap:anywhere}
.r8bkv__c b.ok{color:var(--ok)}.r8bkv__c b.warn{color:var(--warn)}
.r8bq__acts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:12px}
.r8bq__acts .btn--gold{grid-column:1/-1}
.r8bset{margin-top:18px}
.r8bdash{margin-top:12px}
/* owner: assign sheet */
.r8bas__l{display:grid;gap:8px;margin-top:8px}
.r8bas__b{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:60px;padding:10px 12px;text-align:left;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ivory);cursor:pointer}
.r8bas__b.on{border-color:var(--gold2);box-shadow:0 0 0 1px var(--gold2);background:linear-gradient(160deg,#211b10,var(--card))}
.r8bas__b.no{opacity:.5;cursor:not-allowed}
.r8bas__b:focus-visible,.r8bpx__o:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r8bas__t{min-width:0}.r8bas__t b{display:block;font-weight:700;overflow-wrap:anywhere}.r8bas__t span{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.r8bpx{margin-top:14px;display:grid;gap:8px}
.r8bpx__o{min-height:48px;padding:10px 12px;text-align:left;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ivory);font-size:.86rem;cursor:pointer}
.r8bpx__o.on{border-color:var(--gold2);box-shadow:0 0 0 1px var(--gold2)}
.r8bad .btns{margin-top:10px}
/* owner: the switch (SHOW ON ONLINE BOOKING, PHARAOH takes Any Barber) */
.r8bvis{margin-top:14px}
.r8bvis__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.r8bvis__s{margin-top:4px;font-size:.86rem;color:var(--ivory)}
.r8bsw{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;background:none;border:0;color:var(--muted);cursor:pointer;font:800 .74rem/1 var(--b);letter-spacing:.1em}
.r8bsw::before{content:"";width:52px;height:30px;border-radius:999px;background:rgba(242,234,217,.15);transition:background-color .2s}
.r8bsw__k{position:absolute;left:7px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.r8bsw.on::before{background:var(--gold)}.r8bsw.on .r8bsw__k{transform:translateX(22px)}.r8bsw.on{color:var(--gold2)}
.r8bsw:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;border-radius:999px}
.r8bsw:disabled{opacity:.6}
.r8bcam .btns{grid-template-columns:minmax(0,1fr)}
@media(min-width:420px){.r8bcam .btns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:359px){.r8bc{grid-template-columns:auto minmax(0,1fr);padding:12px}.r8bc .chev{display:none}.r8bc__i{width:44px;height:44px}.r8bc__i--own img{width:38px;height:38px}.r8bkv{grid-template-columns:minmax(0,1fr)}.r8bq__acts{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.r8bc,.r8bsw::before,.r8bsw__k{transition:none}}

/* omar-2026-10-21-r20 · green $ = paid in full (blue card = open, green card = closed out AND paid); amber = done, money still owed */
.tl2__tag.r20d{right:4px;top:4px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ok);color:#0b1a10;font-size:.72rem;box-shadow:0 0 0 2px rgba(11,26,16,.55)}
.tl2__ev--s .tl2__tag.r20d{top:3px;width:16px;height:16px;font-size:.66rem}
.tl2__ev--pif b{padding-right:20px}
.tl2__ev.ap--owe{background-image:linear-gradient(rgba(232,170,80,.24),rgba(232,170,80,.24));border-left-color:var(--warn)}
.tl2__tag--owe{color:var(--warn);font-size:.62rem;letter-spacing:.04em}
.tl2__ev--owe b{padding-right:30px}
.r20s__g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.r20s__g span{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.r20s__g b{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:.92rem}
.r20s__d{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ok);color:#0b1a10;font:800 .72rem/1 var(--b);font-style:normal}
.r20s__n{margin-top:10px;font-size:.84rem;color:var(--ok);font-weight:700}
.r20s__n--w{color:var(--warn)}
.r20rev{margin:8px 0}

/* omar-2026-10-22-r21 · PROFILE LINK: top-right of the profile header row */
.r21pl{margin-left:auto;order:9;align-self:flex-start;white-space:nowrap;letter-spacing:.04em}
.r21top{justify-content:flex-end;margin:-2px 0 12px}
.r21pl svg{width:16px;height:16px}
.r21off .lead{max-width:30rem;margin-inline:auto}

/* omar-2026-10-23-r22 · PENDING APPROVAL / DECLINED: a request never looks like a confirmed appointment */
.pill--pending.pill--request{background:rgba(224,176,74,.12);color:var(--warn);border:1px dashed rgba(224,176,74,.8)}
.tl2__ev.ap--pending{background-color:#141209;background-image:repeating-linear-gradient(135deg,rgba(224,176,74,.11) 0 6px,rgba(224,176,74,.03) 6px 12px);border:1px dashed rgba(224,176,74,.85);border-left:4px dashed var(--warn)}
.tl2__ev.ap--pending b{padding-right:96px}
.tl2__ev.ap--declined{background-image:linear-gradient(rgba(227,91,91,.08),rgba(227,91,91,.08));opacity:.45}
.tl2__ev.ap--declined b{text-decoration:line-through}
.tl2__tag--pend{top:5px;right:6px;font:800 .52rem/1 var(--b);letter-spacing:.06em;padding:3px 5px;border-radius:6px;background:var(--warn);color:#1a1206;font-style:normal}
.tl2__ev--s .tl2__tag--pend{top:3px;font-size:.48rem}
.ad__banner--pending{background:#1a1610;color:var(--warn);border:1px dashed rgba(224,176,74,.8)}
.ad__banner--declined{background:var(--bad);color:#fff}
.bk--pending{border:1px dashed rgba(224,176,74,.7);border-left:4px dashed var(--warn);background:rgba(224,176,74,.06)}
.lg--pending{background:var(--warn)}
.r22pay{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--gold2);background:linear-gradient(180deg,rgba(201,162,75,.16),rgba(201,162,75,.06))}
.r22pay .r17opt__dot{flex:none;border-color:var(--gold2)}
.r22pay .r17opt__dot.on::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--gold2)}
.r22pay .r17opt__t b{display:block;font:800 .86rem/1.2 var(--b);letter-spacing:.12em;color:var(--gold2)}
.r22pay .r17opt__t small{display:block;margin-top:4px;font:500 .8rem/1.35 var(--b);color:var(--muted);letter-spacing:0;text-transform:none}
.r22done__h{letter-spacing:.04em;overflow-wrap:anywhere}
.r22done__lead{max-width:34rem;margin-inline:auto}
.r22done__st{color:var(--warn);font-weight:800}
.r22st .r22grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
@media (max-width:360px){.r22st .r22grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.r22st .r22grid>div{min-width:0;padding:8px 10px;border-radius:12px;background:rgba(201,162,75,.06);border:1px solid var(--line2)}
.r22st .r22grid span{display:block;font:700 .56rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.r22st .r22grid b{display:block;margin-top:3px;font:700 .82rem/1.25 var(--b);color:var(--ivory);overflow-wrap:anywhere}
.r22st .r22grid b.warn{color:var(--warn)}.r22st .r22grid b.bad{color:var(--bad)}.r22st .r22grid b.ok{color:var(--ok)}
.r22q__st{color:var(--warn);border-color:rgba(224,176,74,.6)}
.r22ban{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ivory);font:700 .8rem/1.2 var(--b);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.r22ban span{display:flex;align-items:center;gap:8px;min-width:0}
.r22ban svg{width:18px;height:18px;color:var(--gold);flex:none}
.r22ban b{flex:none;color:var(--muted);font-weight:700}
.r22ban.has{border-color:rgba(224,176,74,.6)}.r22ban.has b{color:var(--warn)}
.r22l{margin-top:10px}.r22l__s{margin-top:6px}
.r22conf{margin-top:10px}

/* omar-2026-10-24-r23 · ADD PRODUCT to a completed transaction (black and gold) */
.r23{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.r23__eb{margin-bottom:8px}
.r23c{padding:14px 14px 10px}
.r23c__h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.r23c__h b{font:800 .78rem/1.3 var(--b);letter-spacing:.1em;color:var(--ivory);overflow-wrap:anywhere;min-width:0}
.r23c__st{flex:none;color:var(--ok);border-color:rgba(94,194,122,.5);background:rgba(94,194,122,.1)}
.r23c__g{margin:14px 0 4px;font:800 .6rem/1.2 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.r23c__rows>div,.r23c__tot>div{min-width:0}
.r23c__rows span,.r23c__tot span{overflow-wrap:anywhere}
.r23c__none span{color:var(--muted2)}
.r23c__tot{margin-top:2px}
.r23c__rows+.r23c__tot>div:first-child{border-top:0}
.r23ln small{color:var(--muted);font-weight:500}
.r23ln--rev span,.r23ln--rev b{color:var(--muted2)}
.r23tag{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:6px;font:800 .5rem/1.2 var(--b);letter-spacing:.1em;background:rgba(227,91,91,.14);color:var(--bad);vertical-align:middle}
.r23tag--p{background:rgba(201,162,75,.14);color:var(--gold2)}
.r23meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 8px;border-bottom:1px dashed var(--line)}
.r23meta small{color:var(--muted);font:500 .72rem/1.35 var(--b);min-width:0;overflow-wrap:anywhere}
.r23meta .r23rev{flex:none;min-height:36px;padding:0 12px}
.r23add{width:100%;margin-top:12px;min-height:52px;color:var(--gold2);background:rgba(201,162,75,.05);border:1.5px solid var(--gold);letter-spacing:.18em}
.r23add:focus-visible,.r23mb:focus-visible,.r23prod:focus-visible,.r23qb:focus-visible,.r23rm:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r23no{margin-top:10px}
.r23pick{padding:2px 0}
.r23list{display:grid;gap:6px;max-height:260px;overflow:auto;margin:6px 0 10px;-webkit-overflow-scrolling:touch}
.r23prod{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:8px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);color:var(--ivory);text-align:left;font:inherit;cursor:pointer}
.r23prod span{display:flex;flex-direction:column;min-width:0}
.r23prod b{font:700 .9rem/1.25 var(--b);overflow-wrap:anywhere}
.r23prod small{color:var(--muted);font:500 .74rem/1.3 var(--b)}
.r23prod i{flex:none;color:var(--gold2)}.r23prod svg{width:18px;height:18px}
.r23cbtn{width:100%}
.r23custom{margin-top:10px;padding:12px;border-radius:12px;border:1px dashed var(--line2)}
.r23cart{display:grid;gap:8px}
.r23cl{position:relative;padding:12px;border-radius:12px;border:1px solid var(--line2);background:var(--card2)}
.r23cl__n{display:flex;flex-direction:column;padding-right:40px;min-width:0}
.r23cl__n b{font:700 .92rem/1.25 var(--b);color:var(--ivory);overflow-wrap:anywhere}
.r23cl__n small{color:var(--muted);font:500 .72rem/1.3 var(--b)}
.r23rm{position:absolute;top:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.r23rm svg{width:16px;height:16px}
.r23cl__f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px}
.r23cl__l{display:flex;flex-direction:column;gap:4px;font:700 .6rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:0}
.r23cl__l .input{min-width:0;width:100%}
.r23q{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:4px;align-items:center}
.r23qb{height:44px;border-radius:10px;border:1px solid var(--line2);background:rgba(201,162,75,.08);color:var(--gold2);font:700 1.1rem/1 var(--b);cursor:pointer}
.r23qty{text-align:center;padding-left:4px;padding-right:4px}
.r23cl__t{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.r23cl__t span{font:700 .6rem/1.2 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.r23cl__t b{color:var(--gold2)}
.r23sum{margin-top:8px}
.r23pay{margin-top:6px;padding:12px;border-radius:14px;border:1px solid var(--gold3);background:linear-gradient(180deg,rgba(201,162,75,.10),rgba(201,162,75,.03))}
.r23lbl{margin:12px 0 6px;font:700 .72rem/1.2 var(--b);letter-spacing:.06em;color:var(--ivory)}
.r23lbl small{color:var(--muted);font-weight:500;letter-spacing:0}
.r23m{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
@media (max-width:360px){.r23m{grid-template-columns:repeat(2,minmax(0,1fr))}}
.r23mb{min-height:46px;padding:0 6px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);color:var(--ivory);font:700 .74rem/1.15 var(--b);letter-spacing:.04em;cursor:pointer;overflow-wrap:anywhere}
.r23mb.on{border-color:var(--gold2);background:rgba(201,162,75,.2);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--gold2)}
.r23amt{margin-top:8px}
.r23revbox{padding:12px;border-radius:14px;border:1px solid rgba(227,91,91,.45);background:rgba(227,91,91,.05)}
.r23h small{font-weight:500}
.r23pr{padding:12px}
.r23log{padding:6px 12px}
.r23log__r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.r23log__r:last-child{border-bottom:0}
.r23log__r span{overflow-wrap:anywhere;color:var(--ivory);font:600 .8rem/1.3 var(--b)}
.r23log__r b{color:var(--gold2);font:700 .8rem/1.3 var(--b)}
.r23log__r small{grid-column:1/-1;color:var(--muted);font:500 .72rem/1.3 var(--b)}

/* omar-2026-10-24-r24 · the simple Edit transaction + one combined transaction (black and gold) */
.r23.r24top{margin-top:10px;padding-top:0;border-top:0}
.r24sub{margin-top:4px;color:var(--muted);font:500 .8rem/1.35 var(--b);overflow-wrap:anywhere}
.r24acts{display:grid;gap:10px;margin-top:12px}
/* the two buttons stay on screen however long the summary is (iPhone first screen = 664 px): a sticky bar at the bottom of the sheet */
.r24top .r24acts{position:sticky;bottom:0;z-index:3;margin:12px calc(-1 * var(--pad)) 0;padding:10px var(--pad) calc(12px + env(safe-area-inset-bottom));background:var(--card2);border-top:1px solid var(--line2);box-shadow:0 -16px 18px -8px var(--card2)}
.r24top .r23c .summary div{padding:6px 0}
.r24top .r23c__g{margin:10px 0 2px}
.r24top .r23meta small{font-size:.68rem}
.r24add{width:100%;min-height:54px;letter-spacing:.16em;font-weight:800}
.r24fix{width:100%;min-height:50px;letter-spacing:.14em}
.r24add:focus-visible,.r24fix:focus-visible,.r24back:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r24panel{margin-top:6px}
.r24back{min-height:40px}
.r24nofix{margin-top:10px}
.r24pays{margin-top:8px;border-top:1px dashed var(--line);padding-top:4px}
.r24pays>summary,.r24orig>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:6px;font:800 .6rem/1.2 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);list-style:none}
.r24pays>summary::-webkit-details-marker,.r24orig>summary::-webkit-details-marker{display:none}
.r24pays>summary::after,.r24orig>summary::after{content:'+';margin-left:auto;color:var(--gold2);font-size:.9rem}
.r24pays[open]>summary::after,.r24orig[open]>summary::after{content:'−'}
.r24pays>summary:focus-visible,.r24orig>summary:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r24orig{margin-top:12px}
.r24hdt{margin:6px 0 0;font:600 .8rem/1.3 var(--b);color:var(--muted)}.r24hdt b{color:var(--gold2);font-weight:800}.r24hdt small{color:var(--ok);font-weight:700;letter-spacing:.06em}
.r24paid{margin:8px 2px 0;font:700 .86rem/1.3 var(--b);color:var(--gold2);overflow-wrap:anywhere}
.life__row--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:360px){.life__row--4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* omar-2026-10-24-r25 · DELETE CHECK-IN: a red outlined action on the black-and-gold sheet + its confirmation */
.r25del{width:100%;color:var(--bad);border:1.5px solid var(--bad);background:transparent}
.r25del:hover{background:rgba(227,91,91,.08)}
.r25del svg,.r25ov__ic svg{color:var(--bad)}
.r25del[disabled]{opacity:.55}
.r25del:focus-visible,.r25go:focus-visible,#r25No:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.r25ov{position:fixed;inset:0;z-index:350;display:flex;align-items:center;justify-content:center;padding:16px}
.r25ov__bg{position:absolute;inset:0;background:rgba(3,3,3,.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.r25ov__c{position:relative;width:100%;max-width:400px;max-height:calc(100svh - 32px);overflow-y:auto;padding:22px 20px 20px;border-radius:22px;background:linear-gradient(180deg,#1b1813,#131110);border:1px solid rgba(232,201,131,.35);box-shadow:0 30px 80px -30px rgba(0,0,0,.95);text-align:center;opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .22s cubic-bezier(.23,1,.32,1)}
.r25ov.in .r25ov__c{opacity:1;transform:none}
.r25ov__ic{display:inline-grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;border:1.5px solid var(--bad);background:rgba(227,91,91,.06)}
.r25ov__ic svg{width:24px;height:24px}
.r25ov__b{margin-top:8px;font-size:.95rem;overflow-wrap:anywhere}
.r25ov__btns{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
.r25ov__btns .btn{padding:0 10px;font-size:.74rem;letter-spacing:.08em;white-space:normal}
.r25go{color:#fff;background:#b83a3a;border:1.5px solid #b83a3a}   /* a deeper red: white text at 5.6:1 */
.r25go:hover{background:#a83232}
@media (max-width:359px){.r25ov__btns{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.r25ov__c{transition:opacity .15s;transform:none}}
.sheet__t[data-r25list]~.card.list:empty{display:none}
/* omar-2026-10-25-r26 · Glitch #60: CHOOSE YOUR LANGUAGE / SELECCIONA TU IDIOMA (the first /ci screen) */
.r26lang{margin-top:clamp(4px,3vh,28px)}
.r26lang__h{display:flex;flex-direction:column;align-items:center;gap:.22em;font-size:clamp(1.6rem,7vw,2.3rem)}
.r26lang__h span+span{color:var(--gold2)}
.r26lang__btns{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;max-width:440px;margin:clamp(22px,5vh,40px) auto 0}
.r26lang__b{min-height:66px;width:100%;font-size:1.12rem;letter-spacing:.18em;color:var(--gold2);border:1.5px solid var(--gold2);background:rgba(201,162,75,.07)}
.r26lang__b:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
/* omar-2026-10-25-r26 · Glitch #61: ⭐ ASK FOR A GOOGLE REVIEW, full width under Message / Call / Activate Account */
.r26rev{width:100%;min-height:52px;margin-top:8px;gap:8px;color:var(--gold2);border:1.5px solid var(--gold2);background:rgba(201,162,75,.07);letter-spacing:.08em;white-space:normal;text-align:center}
.r26rev__s{font-size:1.05em;line-height:1}
.r26rev:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
/* omar-2026-10-25-r27 · Glitch #58: MY WEEKLY SCHEDULE = compact tappable week rows + the week detail sheet (barber profile) */
.r27wks{padding:2px 0;overflow:hidden}
.r27wk{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:62px;margin:0;padding:11px 14px;background:none;border:0;border-top:1px solid var(--line);border-radius:0;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.r27wk:first-child{border-top:0}
.r27wk:active{background:rgba(201,162,75,.07)}
.r27wk:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px}
.r27wk__l{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}
.r27wk__n{font-weight:700;font-size:.98rem;line-height:1.2;color:var(--ivory)}
.r27wk__d{font-size:.84rem;line-height:1.25;color:var(--muted)}
.r27wk__c{flex:none;width:16px;height:16px;color:var(--gold);opacity:.8}
.r27st{display:inline-flex;flex:none;align-items:center;gap:5px;padding:4px 9px;border:1px solid;border-radius:999px;font:800 .64rem/1.2 var(--b);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.r27st::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.r27st--ok{color:#80d29b;background:rgba(94,194,122,.1);border-color:rgba(94,194,122,.42)}
.r27st--gold{color:var(--gold2);background:rgba(201,162,75,.12);border-color:rgba(201,162,75,.5)}
.r27st--none{color:#b3aa9c;background:rgba(184,171,152,.07);border-color:rgba(184,171,152,.32)}
.r27st--bad{color:#e09a91;background:rgba(196,88,78,.1);border-color:rgba(196,88,78,.45)}
.r27ck{font-style:normal;font-size:1.05em;line-height:1}
.r27det__t{margin-top:4px;text-transform:uppercase;letter-spacing:.02em;font-size:1.35rem;overflow-wrap:anywhere}
.r27sub{margin-top:14px;font:800 .62rem/1.4 var(--b);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.r27hrs{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.r27hrs__r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:44px;padding:9px 14px;border-top:1px solid var(--line)}
.r27hrs__r:first-child{border-top:0}
.r27hrs__r>span{color:var(--ivory);font-weight:600}
.r27hrs__r>b{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gold2);text-align:right;white-space:nowrap}
.r27hrs__r--off>b{color:var(--muted);font-weight:500}
.r27stat{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.r27stat>span{font:800 .62rem/1.4 var(--b);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.r27note{margin-top:10px;font-size:.9rem;line-height:1.45;color:var(--muted)}
/* the MY REQUESTS rows under it (same card, #rqList exists only on the barber's profile): title wraps, status + Cancel stacked on the right, nothing past the card */
#rqList .card.list .item{grid-template-columns:minmax(0,1fr);gap:8px}
#rqList .card.list .item .item__t{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#rqList .card.list .item .item__s{white-space:normal;overflow:visible;text-overflow:clip}
#rqList .card.list .bk__pills{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;min-width:0}
#rqList .card.list .bk__pills .pill{white-space:nowrap}
@media (max-width:359px){.r27wk{padding:10px 10px 10px 12px;gap:7px}.r27wk__n,.r27wk__d{white-space:nowrap}.r27wk__n{font-size:.94rem}.r27wk__d{font-size:.8rem}.r27st{gap:4px;padding:3px 7px;font-size:.56rem;letter-spacing:.06em}.r27st::before{display:none}.r27wk__c{width:14px;height:14px}.r27hrs__r{padding:8px 11px}}
