:root{--bg:#070809;--bg2:#0d0e0f;--card:#151617;--card2:#1c1d1e;--line:#34312d;--text:#f5f3ef;--muted:#a8a7a3;--gold:#d3974f;--gold2:#b87332;--green:#88a779;--danger:#d26f6f;--radius:22px;--shadow:0 18px 50px rgba(0,0,0,.35)}*{box-sizing:border-box}html{background:#050606;color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 85% 0,#2b1d0d 0,transparent 22%),linear-gradient(180deg,#050606 0,#0b0c0c 48%,#070808 100%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.serif{font-family:Georgia,"Times New Roman",serif}.gold{color:var(--gold)}.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.78rem}.app-shell{max-width:720px;margin:0 auto;min-height:100vh;padding:20px 22px 112px;position:relative}.desktop-gate{display:none;min-height:100vh;align-items:center;justify-content:center;padding:40px;background:radial-gradient(circle at 70% 20%,#3a2512 0,transparent 30%),#070809}.desktop-gate .gate-card{max-width:680px;text-align:center;padding:54px;border:1px solid #39342d;border-radius:32px;background:linear-gradient(145deg,#171819,#0f1010);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:14px;margin:4px 0 24px}.brand-mark{font-family:Georgia,serif;font-size:2.35rem;letter-spacing:-.12em;color:var(--gold);line-height:1}.brand-divider{height:46px;width:1px;background:#d9d5ce}.brand-copy b{display:block;font:700 1.55rem Georgia,serif;letter-spacing:.01em}.brand-copy span{font-size:.67rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.avatar-btn,.icon-btn{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#151617;color:var(--gold);position:relative}.avatar-btn .dot{position:absolute;width:10px;height:10px;background:#f04b4b;border-radius:50%;right:5px;top:5px;border:2px solid #151617}.welcome{margin:12px 0 22px}.welcome p{margin:0;color:#bbb;font-size:1.05rem}.welcome h1{font-size:2.6rem;margin:4px 0 0;line-height:1}.welcome .sub{margin-top:10px;color:#a8a8a8}.panel{border:1px solid var(--line);background:linear-gradient(135deg,rgba(31,31,31,.96),rgba(13,14,14,.98));border-radius:var(--radius);box-shadow:var(--shadow)}.appointment-card{display:grid;grid-template-columns:82px 1fr auto;gap:18px;align-items:center;padding:24px;margin:24px 0}.appointment-icon{width:82px;height:82px;border-radius:22px;background:linear-gradient(145deg,#282726,#171818);border:1px solid #41362b;display:grid;place-items:center;font-size:2rem;color:var(--gold)}.eyebrow{color:var(--gold);letter-spacing:.07em;text-transform:uppercase;font-size:.82rem}.appointment-card h3{font-size:1.45rem;margin:6px 0}.meta-row{display:flex;gap:12px;flex-wrap:wrap;color:#d2d2d2;font-size:.93rem}.status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:9px;border:1px solid #5f472a;color:#e3ad64;background:#241c13;font-size:.8rem}.status.ok{color:#9fbe94;border-color:#344a32;background:#172017}.status.danger{color:#eba1a1;border-color:#5b3131;background:#241515}.btn{appearance:none;border:0;cursor:pointer;border-radius:17px;padding:15px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;transition:.2s transform,.2s filter;background:#232424;color:#fff}.btn:active{transform:scale(.98)}.btn-gold{background:linear-gradient(100deg,#be7d3a,#dc9f58,#b97738);color:white;box-shadow:0 8px 30px rgba(199,133,63,.18)}.btn-outline{border:1px solid #9e6b31;background:transparent;color:#e3a85f}.btn-danger{background:#391d1d;border:1px solid #653434;color:#ffb2b2}.btn-block{width:100%}.cta-big{width:100%;font-size:1.2rem;padding:20px;margin:12px 0 26px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{min-height:132px;border:1px solid var(--line);background:linear-gradient(145deg,#1a1b1c,#111212);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:12px;text-align:center}.quick-card .qicon{font-size:2rem;color:var(--gold)}.quick-card span{font-size:.9rem}.banner{position:relative;min-height:185px;overflow:hidden;margin:24px 0;background:#171717}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.72) brightness(.65)}.banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0b 0,rgba(10,10,10,.82) 44%,rgba(10,10,10,.15) 100%)}.banner-content{position:relative;z-index:2;padding:26px;max-width:62%}.banner h2{font:700 2rem Georgia,serif;margin:7px 0 8px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 14px}.section-head h2{font:700 1.85rem Georgia,serif;margin:3px 0}.section-head a{color:var(--gold);font-size:.9rem}.service-scroll,.product-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:44%;overflow-x:auto;gap:13px;padding-bottom:8px;scrollbar-width:none}.service-card,.product-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:linear-gradient(180deg,#171819,#101111)}.service-card .photo{height:118px;background:linear-gradient(135deg,#2c2118,#0a0a0a);position:relative}.service-card .photo:after{content:attr(data-icon);position:absolute;inset:0;display:grid;place-items:center;font-size:3.4rem;color:var(--gold);opacity:.75}.service-card .content,.product-card .content{padding:14px}.service-card h3,.product-card h3{margin:0 0 5px;font-size:1rem}.service-card p,.product-card p{margin:0;color:#9c9c9c;font-size:.78rem;line-height:1.45}.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.price{color:#e4a55c;font-weight:700;margin-top:9px}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(720px,100%);background:rgba(17,18,18,.96);backdrop-filter:blur(12px);border-top:1px solid #28292a;display:grid;grid-template-columns:repeat(5,1fr);padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:50}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;color:#aaa;font-size:.68rem;position:relative}.bottom-nav a.active{color:var(--gold)}.bottom-nav a.active:before{content:"";position:absolute;top:-11px;width:42px;height:2px;background:var(--gold)}.nav-icon{font-size:1.35rem}.page-title{text-align:center;margin:8px 0 18px}.page-title h1{font:700 2.15rem Georgia,serif;margin:0 0 5px}.page-title p{margin:0;color:#a2a2a2}.back-link{width:46px;height:46px;border-radius:14px;border:1px solid #3a342e;display:grid;place-items:center;background:#151617;color:var(--gold);font-size:1.4rem}.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.flow-step{text-align:center;color:#8c8c8c;font-size:.72rem}.flow-step i{display:grid;place-items:center;margin:0 auto 6px;width:34px;height:34px;border:1px solid #555;border-radius:50%;font-style:normal}.flow-step.active{color:var(--gold)}.flow-step.active i{background:var(--gold);color:#0d0d0d;border-color:var(--gold)}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option-card{border:1px solid var(--line);border-radius:17px;padding:18px;background:#161718;cursor:pointer;position:relative}.option-card input{position:absolute;opacity:0}.option-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px rgba(211,151,79,.3) inset}.option-card .big-icon{font-size:2rem;color:var(--gold);margin-bottom:8px}.professional-card{display:flex;align-items:center;gap:14px;padding:16px}.pro-photo{width:70px;height:70px;border-radius:15px;background:linear-gradient(135deg,#3a2819,#151515);display:grid;place-items:center;color:var(--gold);font:700 1.4rem Georgia,serif;overflow:hidden}.pro-photo img{width:100%;height:100%;object-fit:cover}.calendar-wrap{padding:18px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.calendar-grid .dow{font-size:.65rem;color:#929292}.day{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:#c9c9c9;font-size:.84rem;border:0;background:transparent}.day.available{background:#1e1e1e;cursor:pointer}.day.selected{background:var(--gold);color:#111}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-chip{border:1px solid #343434;background:#171818;border-radius:13px;padding:13px;text-align:center;cursor:pointer}.time-chip input{display:none}.time-chip:has(input:checked){border-color:var(--gold);color:var(--gold)}.summary{padding:18px;margin-top:18px}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #2f2f2f}.summary-row:last-child{border-bottom:0}.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #654723;border-radius:15px;overflow:hidden;margin-bottom:22px}.tabs a{padding:14px;text-align:center}.tabs a.active{background:linear-gradient(90deg,#b87635,#d49a55)}.list-stack{display:grid;gap:12px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#191a1a,#111212)}.list-item .left{display:flex;gap:12px;align-items:center}.list-item .mini-icon{width:48px;height:48px;border-radius:13px;background:#232424;display:grid;place-items:center;color:var(--gold);font-size:1.4rem}.profile-hero{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;margin:14px 0 20px}.profile-photo{width:120px;height:120px;border-radius:24px;background:linear-gradient(135deg,#3b2819,#171717);display:grid;place-items:center;font:700 2rem Georgia,serif;color:var(--gold);overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-hero h1{font-size:1.8rem;margin:0 0 6px}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.form-card{padding:22px}.field{margin-bottom:16px}.field label{display:block;margin-bottom:8px;color:#e4e1db;font-size:.9rem}.input,.select,.textarea{width:100%;border:1px solid #363636;background:#171818;color:#f4f4f4;border-radius:14px;padding:14px 15px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#916634;box-shadow:0 0 0 3px rgba(211,151,79,.08)}.textarea{min-height:110px;resize:vertical}.auth-shell{min-height:100vh;max-width:720px;margin:0 auto;padding:26px 24px 56px;position:relative}.auth-hero{min-height:310px;border-radius:0 0 36px 36px;margin:-26px -24px 18px;position:relative;overflow:hidden;padding:32px 28px;display:flex;align-items:end}.auth-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.auth-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060707 0,rgba(6,7,7,.82) 44%,rgba(6,7,7,.25)),linear-gradient(0deg,#070808 0,transparent 40%)}.auth-copy{position:relative;z-index:1}.auth-copy h1{font:700 2.7rem Georgia,serif;line-height:1.05;margin:10px 0}.auth-card{padding:24px}.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:#c4c4c4}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#343434;flex:1}.empty-state{text-align:center;padding:34px 20px;border:1px dashed #3a3937;border-radius:20px;background:rgba(20,20,20,.6)}.empty-state .empty-icon{font-size:2.5rem;color:var(--gold);margin-bottom:10px}.toast-stack{position:fixed;right:16px;top:16px;z-index:100;display:grid;gap:8px;max-width:360px}.toast{padding:13px 15px;border-radius:13px;border:1px solid #413a31;background:#171817;box-shadow:var(--shadow);animation:toastIn .3s ease}.toast.success{border-color:#315337}.toast.error{border-color:#653434}.toast.info{border-color:#5d4a30}@keyframes toastIn{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}.preloader{position:fixed;inset:0;background:#070808;display:grid;place-items:center;z-index:200;transition:.35s opacity}.preloader.hide{opacity:0;pointer-events:none}.loader-ring{width:52px;height:52px;border:3px solid #33291f;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#171717 25%,#242424 37%,#171717 63%);background-size:400% 100%;animation:shimmer 1.2s ease infinite}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}.help-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;margin-top:18px}.whatsapp{color:#f0b469}.product-detail{display:grid;gap:18px}.product-detail img{width:100%;border-radius:22px;border:1px solid var(--line);background:#111}.qty-row{display:flex;align-items:center;gap:10px}.qty-row button{width:38px;height:38px;border-radius:10px;border:1px solid #3b3b3b;background:#171818;color:#fff}.cart-row{display:grid;grid-template-columns:72px 1fr auto;gap:13px;align-items:center;padding:14px}.cart-row img{width:72px;height:72px;object-fit:cover;border-radius:13px}.message-bubble{max-width:82%;padding:11px 13px;border-radius:15px;margin:7px 0;background:#202122}.message-bubble.mine{margin-left:auto;background:#2a2016;border:1px solid #5e4427}.badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#b93e3e;align-items:center;justify-content:center;font-size:.7rem;color:#fff}.admin-body{background:#0a0b0b}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#101111;border-right:1px solid #292929;overflow-y:auto}.admin-sidebar .brand{margin-bottom:28px}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{padding:11px 12px;border-radius:11px;color:#b6b6b6}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#211b15;color:#e1a55d}.admin-main{padding:28px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{margin:0;font:700 2rem Georgia,serif}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat{padding:18px;border:1px solid var(--line);border-radius:17px;background:#151616}.admin-stat strong{display:block;font-size:1.8rem;margin-top:6px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:#141515}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid #2a2a2a;text-align:left;font-size:.88rem}th{color:#d6a15f;font-weight:600;background:#181919}tr:last-child td{border-bottom:0}.admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:18px}.admin-form{padding:19px;position:sticky;top:20px}.admin-form h2{margin-top:0;font:700 1.4rem Georgia,serif}.checks{display:flex;flex-wrap:wrap;gap:8px}.check{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #343434;border-radius:10px;background:#161717}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar .input{max-width:280px}.technical-badge{padding:4px 7px;border:1px solid #6d4a23;color:#e2a55a;border-radius:7px;font-size:.7rem}.code-box{white-space:pre-wrap;word-break:break-word;background:#090a0a;border:1px solid #303030;border-radius:13px;padding:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;color:#cfcfcf;max-height:380px;overflow:auto}.pagination{display:flex;gap:8px;margin-top:12px}.hide-mobile-only{display:block}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid #292929}.admin-sidebar nav{grid-template-columns:repeat(3,1fr)}.admin-main{padding:20px}.admin-cards{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-form{position:relative;top:auto}.admin-sidebar .brand{margin-bottom:18px}}
@media(max-width:560px){.app-shell{padding:16px 15px 105px}.brand-mark{font-size:1.9rem}.brand-copy b{font-size:1.15rem}.brand-copy span{font-size:.5rem}.welcome h1{font-size:2.15rem}.appointment-card{grid-template-columns:60px 1fr;padding:16px;gap:13px}.appointment-icon{width:60px;height:60px;border-radius:16px}.appointment-card .status{grid-column:2}.quick-grid{gap:8px}.quick-card{min-height:105px;padding:8px}.quick-card span{font-size:.72rem}.quick-card .qicon{font-size:1.55rem}.banner-content{max-width:78%;padding:20px}.banner h2{font-size:1.65rem}.service-scroll,.product-scroll{grid-auto-columns:55%}.profile-hero{grid-template-columns:92px 1fr}.profile-photo{width:92px;height:92px}.page-title h1{font-size:1.8rem}.option-grid{grid-template-columns:1fr 1fr}.time-grid{grid-template-columns:repeat(3,1fr)}.auth-hero{min-height:260px}.auth-copy h1{font-size:2.2rem}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-cards{grid-template-columns:1fr}.admin-main{padding:14px}.admin-header{align-items:flex-start;gap:10px}.profile-actions{grid-template-columns:1fr}}
@media(min-width:768px){body.client-area .app-shell,body.client-area .auth-shell,body.client-area .bottom-nav{display:none!important}body.client-area .desktop-gate{display:flex}}

.brand-logo-img{display:block;max-width:340px;max-height:82px;width:auto;height:auto;object-fit:contain}
@media(max-width:560px){.brand-logo-img{max-width:250px;max-height:64px}}

/* Fluxos públicos/guest — login opcional */
.btn-ghost{background:transparent;color:var(--muted);border:1px solid #2b2b2b}.public-welcome{padding:8px 0 2px}.public-welcome h1{font:700 2.45rem Georgia,serif;line-height:1.08;margin:8px 0}.guest-intro,.no-login-note{display:flex;align-items:center;gap:15px;padding:18px;margin:18px 0}.guest-intro .appointment-icon{flex:0 0 auto}.guest-intro h3{margin:4px 0 6px}.no-login-note .mini-icon{width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#24211d;border:1px solid #4b3b2a;color:var(--gold);display:grid;place-items:center;font-size:1.25rem}.no-login-note>div:nth-child(2){flex:1}.contact-step{position:relative;margin-top:22px;border-color:#5a432b}.contact-step .step-number{position:absolute;right:18px;top:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#111;font-weight:800}.booking-success{text-align:center;padding:28px;margin-bottom:16px}.booking-success .summary-row{text-align:left}.success-check{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d7a05c,#a96c32);color:#111;font-size:2rem;font-weight:900;box-shadow:0 10px 30px rgba(211,151,79,.22)}.guest-code{display:inline-flex;align-items:center;justify-content:center;margin:16px auto 22px;padding:12px 18px;border:1px dashed #a87942;border-radius:14px;background:#1d1711;color:#f0b66d;font:700 1.3rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.guest-code.small-code{font-size:.78rem;margin:0;padding:7px 9px}.optional-account{margin-top:18px;border-color:#4b3b2a}.optional-account .flow-steps.compact{grid-template-columns:repeat(3,1fr);margin:18px 0 22px}.optional-account .flow-steps.compact .flow-step{font-size:.68rem}.optional-account .flow-steps.compact .flow-step i{width:30px;height:30px}.check a{text-decoration:underline;text-underline-offset:2px}.panel .guest-mode-label{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid #4d4032;color:#d8a35f;font-size:.72rem}
@media(max-width:560px){.public-welcome h1{font-size:2.05rem}.guest-intro{align-items:flex-start}.guest-intro .appointment-icon{width:54px;height:54px}.no-login-note{align-items:flex-start;flex-wrap:wrap}.no-login-note>a{margin-left:61px}.booking-success{padding:22px 16px}.guest-code{font-size:1.08rem}.contact-step{padding-top:24px}}

/* =========================================================
   WILL MORAES — UX/UI REFINEMENT V3
   Mobile-first, premium, guided booking flow
   ========================================================= */
:root{
  --wm-bg:#060708;
  --wm-bg-soft:#0c0d0f;
  --wm-card:#111315;
  --wm-card-2:#17191b;
  --wm-line:rgba(225,171,96,.19);
  --wm-line-soft:rgba(255,255,255,.075);
  --wm-text:#f5f2ed;
  --wm-muted:#9b9b9a;
  --wm-gold:#dda45f;
  --wm-gold-2:#b97435;
  --wm-gold-soft:#f0bf7f;
  --wm-danger:#d56f6f;
  --wm-success:#90ae83;
  --wm-radius:22px;
  --wm-shadow:0 24px 60px rgba(0,0,0,.42);
}
html,body{overscroll-behavior:none}
body.client-area{background:
  radial-gradient(circle at 82% -10%,rgba(152,91,35,.17),transparent 29%),
  radial-gradient(circle at -15% 35%,rgba(112,68,28,.09),transparent 26%),
  linear-gradient(180deg,#050607 0%,#090a0b 50%,#060708 100%);
  color:var(--wm-text);-webkit-tap-highlight-color:transparent}
.client-area input,.client-area textarea,.client-area select{font-size:16px}
.client-area img{display:block;max-width:100%}
.wm-icon{display:block;flex:none}

/* Loading */
.preloader{position:fixed;inset:0;z-index:9999;background:#050607;display:grid;place-items:center;align-content:center;gap:18px;transition:opacity .35s ease,visibility .35s ease}
.preloader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{font-family:Georgia,serif;font-size:3rem;letter-spacing:-.12em;color:var(--wm-gold)}
.loader-line{width:88px;height:2px;background:rgba(255,255,255,.07);overflow:hidden;position:relative;border-radius:10px}
.loader-line:after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,var(--wm-gold),transparent);animation:wmLoad 1s infinite ease-in-out}
@keyframes wmLoad{from{transform:translateX(-120%)}to{transform:translateX(280%)}}
.button-loader{width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;display:inline-block;animation:spin .7s linear infinite;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}

/* Brand */
.brand{gap:11px;margin:0;min-width:0}
.brand-mark{font-size:2.1rem;color:var(--wm-gold);filter:drop-shadow(0 4px 14px rgba(213,146,74,.15))}
.brand-divider{height:38px;background:rgba(255,255,255,.65)}
.brand-copy b{font-size:1.32rem;white-space:nowrap}
.brand-copy span{font-size:.57rem;white-space:nowrap;letter-spacing:.18em}
.brand-logo-img{max-height:54px;max-width:240px;object-fit:contain}

/* Core shell */
.app-shell{max-width:720px;padding:18px 18px 112px}
.topbar{align-items:flex-start}.topbar>.brand{max-width:78%}
.avatar-btn,.icon-btn{border-color:var(--wm-line-soft);background:linear-gradient(145deg,#1a1c1e,#0d0f10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 26px rgba(0,0,0,.28)}
.avatar-btn{color:var(--wm-gold)}
.avatar-btn>svg{width:23px;height:23px}
.panel{border-color:var(--wm-line-soft);background:linear-gradient(145deg,rgba(24,26,28,.96),rgba(11,12,13,.98));box-shadow:0 18px 45px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.025)}
.btn{min-height:50px;border-radius:16px;font-weight:650;letter-spacing:-.01em}
.btn-gold{background:linear-gradient(100deg,#b87335 0%,#dea45f 48%,#b66f32 100%);box-shadow:0 12px 30px rgba(188,117,52,.18),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-outline{border-color:rgba(218,153,76,.62);color:#e4ac68;background:rgba(255,255,255,.01)}
.eyebrow{color:var(--wm-gold);font-weight:650;letter-spacing:.09em}
.welcome{margin-top:24px}.welcome h1{font-size:clamp(2.05rem,9vw,2.75rem);letter-spacing:-.04em}.welcome .sub{line-height:1.55}
.public-welcome{padding:4px 2px 2px}.public-welcome h1{max-width:520px;line-height:1.08}.public-welcome .sub{max-width:600px}

/* Home */
.guest-intro{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:17px;margin:18px 0 14px;align-items:center}
.guest-intro .appointment-icon{width:58px;height:58px;border-radius:17px;font-size:0}
.guest-intro .appointment-icon:before{content:"";width:25px;height:25px;border:1.8px solid var(--wm-gold);border-radius:7px;box-shadow:inset 0 7px 0 rgba(218,155,81,.08)}
.guest-intro h3{margin:3px 0 6px;font-size:1.05rem}.guest-intro p{margin:0;line-height:1.45}
.cta-big{min-height:70px;border-radius:20px;font-size:1.15rem;margin:11px 0 15px;box-shadow:0 18px 42px rgba(182,111,50,.18)}
.quick-grid{gap:10px}.quick-card{min-height:116px;border-color:var(--wm-line-soft);background:linear-gradient(155deg,#17191b,#0f1112);border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease}
.quick-card:active{transform:scale(.975)}.quick-card .qicon{width:42px;height:42px;border:1px solid rgba(216,151,76,.28);border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1d1a17,#121313)}.quick-card .qicon svg{width:23px;height:23px}.quick-card span{font-size:.82rem}
.banner{min-height:190px;border-color:rgba(219,157,80,.27);border-radius:22px}.banner img{opacity:.58;filter:saturate(.85) brightness(.62);object-position:center}.banner:after{background:linear-gradient(90deg,#080909 4%,rgba(8,9,9,.9) 36%,rgba(8,9,9,.2) 78%,rgba(8,9,9,.05) 100%)}.banner-content{padding:24px;max-width:68%}.banner h2{font-size:1.9rem}
.section-head{margin:25px 0 13px}.section-head h2{font-size:1.7rem}
.service-scroll{grid-auto-columns:52%;gap:12px;scroll-snap-type:x mandatory;padding-right:12px}.service-card{scroll-snap-align:start;border-color:var(--wm-line-soft);border-radius:20px}.service-card .photo{height:132px;background:#121314;overflow:hidden}.service-card .photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}.service-card .photo:after{display:none}.service-card .service-photo-badge{position:absolute;left:12px;bottom:12px;width:39px;height:39px;border-radius:12px;background:rgba(8,9,9,.9);border:1px solid rgba(220,156,78,.55);display:grid;place-items:center;color:var(--wm-gold);backdrop-filter:blur(10px)}
.service-card .content{padding:14px 15px 16px}.service-card h3{font-size:.98rem}.service-card p{font-size:.76rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Bottom navigation */
.bottom-nav{width:min(720px,100%);padding:9px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(11,12,13,.94);border-top:1px solid rgba(255,255,255,.07);box-shadow:0 -12px 35px rgba(0,0,0,.28)}
.bottom-nav a{font-size:.64rem;gap:4px;min-height:48px;justify-content:center}.bottom-nav .nav-icon{width:29px;height:25px;display:grid;place-items:center}.bottom-nav a.active{color:var(--wm-gold)}.bottom-nav a.active:before{top:-10px;width:34px;height:2px;border-radius:4px;box-shadow:0 0 12px rgba(220,159,82,.5)}

/* Page headers */
.page-header{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:9px}.page-brand{display:flex;justify-content:center;min-width:0}.page-brand .brand-copy span{display:none}.page-brand .brand-copy b{font-size:1.15rem}.page-brand .brand-mark{font-size:1.8rem}.page-brand .brand-divider{height:31px}.back-link{width:44px;height:44px;border-radius:14px;border-color:var(--wm-line-soft);background:linear-gradient(145deg,#17191b,#0d0f10)}.page-title{margin:7px 0 22px}.page-title h1{font-size:2rem;letter-spacing:-.025em}.page-title p{font-size:.9rem;line-height:1.45}

/* Services / products */
.tabs{border-color:rgba(218,153,76,.38);background:#0d0f10}.tabs a{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px}.tabs a.active{background:linear-gradient(100deg,#a96730,#d59a56)}
.list-stack{gap:10px}.list-item{border-color:var(--wm-line-soft);border-radius:18px;background:linear-gradient(145deg,#17191b,#0e0f10)}.list-item .mini-icon{border:1px solid rgba(213,150,76,.25);background:#141516;color:var(--wm-gold)}
.service-list-visual{width:70px;height:70px;border-radius:16px;overflow:hidden;position:relative;flex:none}.service-list-visual img{width:100%;height:100%;object-fit:cover}.service-list-visual span{position:absolute;right:6px;bottom:6px;width:28px;height:28px;border-radius:9px;background:rgba(6,7,8,.88);display:grid;place-items:center;color:var(--wm-gold);border:1px solid rgba(218,153,76,.45)}
.product-card{border-color:var(--wm-line-soft);border-radius:20px}.product-card img{background:#0e0f10}.price{color:var(--wm-gold-soft)}
.help-bar{border-color:var(--wm-line-soft)}

/* Inputs */
.field label,.booking-field>span{color:#e2ddd7;font-weight:550}.input,.select,.textarea,.booking-field input{border:1px solid rgba(255,255,255,.09)!important;background:linear-gradient(145deg,#17191b,#111314)!important;color:#fff!important;border-radius:15px!important;outline:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.015);transition:border-color .18s ease,box-shadow .18s ease}.input:focus,.select:focus,.textarea:focus,.booking-field input:focus{border-color:rgba(218,153,76,.7)!important;box-shadow:0 0 0 3px rgba(218,153,76,.08)!important}.input::placeholder,.textarea::placeholder,.booking-field input::placeholder{color:#666}

/* =========================================================
   BOOKING WIZARD — FULL VIEWPORT / NO PAGE SCROLL
   ========================================================= */
body.booking-page{height:100dvh;overflow:hidden;background:#060708}
body.booking-page .desktop-gate{display:none}
body.booking-page .app-shell{height:100dvh;min-height:0;padding:0;max-width:720px;overflow:hidden}
.booking-shell{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;position:relative;padding:max(12px,env(safe-area-inset-top)) 16px max(10px,env(safe-area-inset-bottom));background:
  radial-gradient(circle at 88% -8%,rgba(166,101,39,.18),transparent 27%),
  linear-gradient(180deg,#070809,#090a0b 45%,#060708)}
.booking-header{height:50px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.booking-back-close{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#141617;border:1px solid var(--wm-line-soft);color:var(--wm-gold)}.booking-brand{display:flex;align-items:center;justify-content:center;gap:9px;font-family:Georgia,serif;font-size:1.03rem}.booking-brand-mark{font-size:1.5rem;color:var(--wm-gold);letter-spacing:-.12em}.booking-step-counter{text-align:right;color:#707171;font-size:.78rem}.booking-step-counter b{color:var(--wm-gold);font-size:1rem}
.booking-progress{height:22px;display:flex;align-items:center;justify-content:center;gap:6px}.booking-progress span{width:18px;height:3px;border-radius:9px;background:#282a2b;transition:.25s ease}.booking-progress span.active{width:34px;background:var(--wm-gold);box-shadow:0 0 13px rgba(218,153,76,.3)}.booking-progress span.done{background:#6b4a28}
#booking-form{position:relative;min-height:0;overflow:hidden}
.booking-stage{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0;opacity:0;visibility:hidden;transform:translateX(18px) scale(.992);transition:opacity .23s ease,transform .23s ease,visibility .23s}.booking-stage.active{opacity:1;visibility:visible;transform:none;z-index:2}
.booking-stage-head{padding:14px 2px 13px;flex:none;text-align:left}.booking-stage-head.compact{padding-top:8px}.booking-kicker{font-size:.66rem;color:var(--wm-gold);font-weight:700;letter-spacing:.12em;margin-bottom:5px}.booking-stage-head h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,7vw,2.15rem);line-height:1.08;margin:0 0 6px;letter-spacing:-.025em}.booking-stage-head p{margin:0;color:#8f9090;font-size:.83rem;line-height:1.4}
.booking-choice-grid{min-height:0;flex:1;display:grid;grid-template-rows:repeat(2,minmax(120px,1fr));grid-auto-flow:column;grid-auto-columns:minmax(148px,46%);gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:2px 3px 8px;scrollbar-width:none}.booking-choice-grid::-webkit-scrollbar{display:none}
.booking-service-card{position:relative;border:1px solid var(--wm-line-soft);border-radius:21px;background:linear-gradient(150deg,#17191b,#0f1112);color:#fff;text-align:left;overflow:hidden;padding:0;scroll-snap-align:start;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:transform .15s,border-color .15s,box-shadow .15s}.booking-service-card:active{transform:scale(.98)}.booking-service-card.selected{border-color:rgba(218,153,76,.85);box-shadow:0 0 0 1px rgba(218,153,76,.16),0 12px 30px rgba(0,0,0,.22)}
.service-thumb{position:absolute;inset:0 0 48px 0;overflow:hidden}.service-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.03),rgba(5,6,7,.62))}.service-thumb img{width:100%;height:100%;object-fit:cover}.service-thumb-icon{position:absolute;z-index:2;left:10px;bottom:8px;width:39px;height:39px;border-radius:12px;background:rgba(7,8,9,.88);border:1px solid rgba(218,153,76,.55);display:grid;place-items:center;color:var(--wm-gold);backdrop-filter:blur(8px)}
.service-choice-copy{position:absolute;left:12px;right:34px;bottom:9px;display:flex;flex-direction:column;gap:2px}.service-choice-copy strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-choice-copy small{font-size:.64rem;color:#858687}.choice-arrow{position:absolute;right:10px;bottom:15px;color:var(--wm-gold)}

.booking-professionals{min-height:0;flex:1;display:flex;align-items:stretch;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:4px 3px 12px;scrollbar-width:none}.booking-professionals::-webkit-scrollbar{display:none}.booking-professional-card{min-width:min(88%,360px);scroll-snap-align:center;border:1px solid var(--wm-line-soft);border-radius:24px;background:linear-gradient(145deg,#17191b,#0e1011);color:#fff;padding:16px;display:grid;grid-template-columns:86px 1fr 26px;gap:14px;align-items:center;text-align:left;box-shadow:0 16px 38px rgba(0,0,0,.22)}.booking-professional-card[hidden]{display:none}.booking-professional-card.selected{border-color:rgba(218,153,76,.72)}.booking-pro-photo{width:86px;height:108px;border-radius:18px;overflow:hidden;background:#151617;display:grid;place-items:center;color:var(--wm-gold);font-family:Georgia,serif}.booking-pro-photo img{width:100%;height:100%;object-fit:cover}.booking-pro-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.booking-pro-copy strong{font-size:1.12rem}.booking-pro-copy small{color:var(--wm-gold);font-size:.78rem}.booking-pro-copy em{font-style:normal;color:#8e9090;font-size:.68rem;display:flex;align-items:center;gap:5px;margin-top:6px}.booking-professional-card>.choice-arrow{position:static;align-self:center}

.booking-calendar{flex:1;min-height:0;padding:14px 14px 10px;border-radius:22px;display:flex;flex-direction:column}.booking-calendar-head{height:38px;display:grid;grid-template-columns:38px 1fr 38px;align-items:center}.booking-calendar-head strong{text-align:center;color:var(--wm-gold);font-size:.93rem}.calendar-nav{width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.07);background:#101213;color:var(--wm-gold);display:grid;place-items:center}.booking-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin:8px 0 5px}.booking-weekdays span{font-size:.58rem;color:#6f7070;font-weight:650}.booking-calendar-grid{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,minmax(30px,1fr));gap:4px;align-content:stretch}.booking-day{border:0;background:transparent;color:#4f5051;border-radius:12px;display:grid;place-items:center;position:relative;font-size:.82rem}.booking-day.available{color:#dedad5;background:#151719;border:1px solid rgba(255,255,255,.045)}.booking-day.available i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--wm-gold);bottom:5px}.booking-day.selected{background:linear-gradient(145deg,#dca15d,#b66f32);color:#08090a;border-color:transparent;font-weight:800;box-shadow:0 8px 20px rgba(184,112,50,.2)}.booking-day.disabled{opacity:.46}.calendar-blank{display:block}.booking-loading,.booking-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;color:#858687;text-align:center;font-size:.82rem;padding:16px}.calendar-no-slots{position:absolute;left:8px;right:8px;bottom:4px;padding:7px 9px;border-radius:10px;background:rgba(9,10,11,.92);border:1px solid rgba(255,255,255,.06);font-size:.67rem;color:#8c8d8e;text-align:center}

.booking-times{min-height:0;flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(72px,1fr);gap:10px;align-content:center;overflow:hidden;padding:3px 2px 10px}.booking-time{border:1px solid var(--wm-line-soft);background:linear-gradient(145deg,#17191b,#101213);border-radius:18px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .14s,border-color .14s,background .14s}.booking-time span{font-size:1.1rem}.booking-time small{font-size:.6rem;color:#6f7272}.booking-time:active{transform:scale(.97)}.booking-time.selected{border-color:var(--wm-gold);background:linear-gradient(145deg,#2a2017,#151719);color:var(--wm-gold-soft)}

.booking-contact-card{padding:14px 15px 12px;border-radius:21px;display:grid;gap:9px;flex:none}.booking-field{display:grid;gap:5px}.booking-field>span{font-size:.68rem;color:#a9a6a1}.booking-field>span em{font-style:normal;color:#707171;font-weight:400}.booking-field input{height:45px;padding:0 13px}.booking-privacy{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:#7c7e7e;font-size:.65rem;line-height:1.4;margin-top:2px}.booking-privacy input{accent-color:#c8843e;margin-top:2px}.booking-primary{margin-top:11px;width:100%;min-height:55px;flex:none}.booking-identity{padding:22px;display:flex;gap:15px;align-items:center}.booking-identity-icon{width:54px;height:54px;border-radius:17px;border:1px solid rgba(218,153,76,.35);display:grid;place-items:center;color:var(--wm-gold);background:#151617}.booking-identity div{display:grid;gap:3px}.booking-identity small,.booking-identity span{color:#898b8b}.booking-identity strong{font-size:1.12rem}
.booking-review{padding:13px 15px;border-radius:21px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-review>div{min-height:76px;border:1px solid rgba(255,255,255,.055);border-radius:15px;background:#111315;padding:10px 11px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center}.booking-review>div>span{grid-row:1/3;color:var(--wm-gold)}.booking-review small{font-size:.61rem;color:#747676}.booking-review strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirm-booking{margin-top:12px}.booking-secure{display:flex;align-items:center;justify-content:center;gap:6px;color:#666869;font-size:.63rem;margin-top:8px}
.booking-bottom-actions{height:46px;border-top:1px solid rgba(255,255,255,.055);display:flex;align-items:end;justify-content:space-between;padding:7px 2px 0}.booking-back-step{border:0;background:transparent;color:#9b9c9c;display:flex;align-items:center;gap:5px;padding:8px 8px 3px}.booking-back-step:disabled{opacity:.25}.booking-login-link{color:var(--wm-gold);font-size:.72rem;padding:8px 5px 3px}

/* Toasts */
.toast-stack{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);width:min(92%,520px);z-index:10000;display:grid;gap:8px;pointer-events:none}.toast{padding:13px 15px;border-radius:14px;background:rgba(22,24,25,.98);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px rgba(0,0,0,.38);font-size:.82rem;transition:.3s}.toast.success{border-color:rgba(112,155,96,.4)}.toast.error{border-color:rgba(206,96,96,.4)}.toast-out{opacity:0;transform:translateY(-8px)}

/* =========================================================
   ADMIN REFINEMENT
   ========================================================= */
.admin-body{background:#090a0b;color:var(--wm-text)}
.admin-shell{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(169,100,40,.1),transparent 25%),#090a0b}
.admin-sidebar{background:linear-gradient(180deg,#101214,#0b0c0d);border-right:1px solid rgba(255,255,255,.065)}
.admin-sidebar .brand{padding:6px 8px 18px}.admin-sidebar nav{display:grid;gap:3px}.admin-sidebar nav>a{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 11px;color:#9c9e9e}.admin-sidebar nav>a.active{background:linear-gradient(90deg,rgba(187,114,49,.18),rgba(187,114,49,.04));color:var(--wm-gold);box-shadow:inset 2px 0 0 var(--wm-gold)}.admin-nav-label{margin:16px 10px 5px;font-size:.62rem;color:#626465;letter-spacing:.13em}.admin-header{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:16px;margin-bottom:20px}.admin-header h1{font-family:Georgia,serif;letter-spacing:-.02em}.admin-user{display:flex;align-items:center;gap:7px}.admin-cards{gap:12px}.admin-stat{background:linear-gradient(145deg,#151719,#0f1112);border:1px solid rgba(255,255,255,.06);border-radius:17px;box-shadow:0 12px 30px rgba(0,0,0,.15)}.admin-stat strong{color:#f1ede8}.admin-form{border-radius:20px;border-color:rgba(255,255,255,.07)}.admin-form h2{font-family:Georgia,serif}.table-wrap{border:1px solid rgba(255,255,255,.065);border-radius:17px;background:#101213;overflow:auto}.table-wrap table{min-width:720px}.table-wrap th{background:#151719;color:#8e9090;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.table-wrap td{border-top:1px solid rgba(255,255,255,.055)}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-row-actions form{display:inline-flex}.admin-row-actions .btn{min-height:34px;padding:7px 10px;border-radius:10px;font-size:.72rem}

/* Responsive client */
@media(max-width:560px){
  .app-shell{padding-left:15px;padding-right:15px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-card{min-height:98px}.quick-card .qicon{width:38px;height:38px}.service-scroll{grid-auto-columns:66%}.banner-content{max-width:78%;padding:20px}.banner h2{font-size:1.65rem}.appointment-card{grid-template-columns:62px 1fr;padding:17px}.appointment-card>.status{grid-column:2}.appointment-icon{width:62px;height:62px}.profile-hero{grid-template-columns:92px 1fr}.profile-photo{width:92px;height:92px}.page-title h1{font-size:1.8rem}
  .booking-service-card{border-radius:18px}.booking-choice-grid{grid-auto-columns:minmax(142px,46.5%)}
}
@media(max-height:720px) and (max-width:720px){
  .booking-shell{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom))}.booking-header{height:44px}.booking-progress{height:18px}.booking-stage-head{padding:7px 2px 8px}.booking-stage-head h1{font-size:1.5rem}.booking-stage-head p{font-size:.74rem}.booking-choice-grid{grid-template-rows:repeat(2,minmax(102px,1fr));gap:8px}.service-thumb{bottom:42px}.service-choice-copy{bottom:6px}.booking-professional-card{padding:12px;grid-template-columns:74px 1fr 24px}.booking-pro-photo{width:74px;height:92px}.booking-calendar{padding:8px 10px}.booking-calendar-head{height:32px}.booking-weekdays{margin:4px 0 2px}.booking-calendar-grid{gap:2px}.booking-contact-card{padding:9px 12px;gap:6px}.booking-field input{height:39px}.booking-primary{min-height:48px;margin-top:7px}.booking-review>div{min-height:62px}.booking-bottom-actions{height:40px}
}
@media(min-width:721px){body.client-area>.desktop-gate{display:flex}body.client-area>.app-shell,body.client-area>.auth-shell{display:none}body.booking-page>.desktop-gate{display:flex!important}}
.message-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.icon-delete{width:34px;height:34px;border-radius:10px;border:1px solid rgba(213,111,111,.3);background:#251516;color:#e58d8d;display:grid;place-items:center;cursor:pointer}.message-admin-row form{margin:0}
.label-icon{display:flex!important;align-items:center;gap:7px}.password-toggle{position:absolute;right:10px;top:8px;width:38px;height:38px;border:0;background:transparent;color:#9b9c9d;display:grid;place-items:center}.auth-card{border-radius:24px}.auth-hero img{filter:saturate(.88) brightness(.62)}
.meta-icon,.eyebrow-icon{display:inline-flex;align-items:center;gap:6px}.eyebrow-icon{font-size:.78rem}.meta-icon svg{color:#8f9191}
@media(max-height:720px) and (max-width:720px){.booking-times{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(54px,1fr);gap:7px}.booking-time span{font-size:.96rem}.booking-time small{font-size:.54rem}}

/* =========================================================
   WILL MORAES — CORREÇÕES V4 / RESPONSIVIDADE + CACHE SAFE
   ========================================================= */
html{width:100%;max-width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden}
.client-area{touch-action:manipulation}
.client-area .app-shell,.client-area .auth-shell{width:100%;max-width:430px;margin-inline:auto}
.client-area .brand{min-width:0;max-width:100%}
.client-area .brand-logo-img{width:auto;max-width:min(220px,calc(100vw - 92px));max-height:54px;object-fit:contain;object-position:left center}
.client-area .topbar>.brand{max-width:calc(100% - 58px)}
.client-area .topbar{width:100%;min-width:0}
.client-area .welcome,.client-area .panel,.client-area .banner,.client-area .section-head{max-width:100%}
.client-area .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.client-area .quick-card{min-width:0;min-height:94px;padding:11px 8px;gap:9px}
.client-area .quick-card span{font-size:.76rem;line-height:1.2}
.client-area .quick-card .qicon{width:38px;height:38px}
.client-area .service-scroll,.client-area .product-scroll{grid-auto-columns:min(74%,280px);max-width:100%;overscroll-behavior-x:contain;padding-right:18px}
.client-area .service-card,.client-area .product-card{min-width:0}
.client-area .section-head{gap:14px;align-items:flex-end}
.client-area .section-head>div{min-width:0}.client-area .section-head h2{line-height:1.02}
.client-area .section-head>a{flex:none;white-space:nowrap}
.client-area .banner-content{max-width:72%}
.client-area .bottom-nav{width:min(430px,100%);left:50%;right:auto}
.client-area .form-card{padding:18px}
.client-area .input,.client-area .select,.client-area .textarea{width:100%;min-width:0}
.client-area .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-area .list-item{min-width:0}.client-area .list-item .left{min-width:0}.client-area .list-item .left>div:last-child{min-width:0}

/* Login e autenticação: conteúdo sempre dentro da largura útil */
.auth-shell{width:100%;max-width:430px;margin:0 auto;padding:0 16px 38px;overflow-x:hidden}
.auth-hero{min-height:280px;margin:0 -16px 18px;border-radius:0 0 28px 28px;padding:24px 22px;display:flex;align-items:flex-end}
.auth-hero .brand{margin-bottom:14px}.auth-hero .brand-logo-img{max-width:min(235px,78vw);max-height:58px}
.auth-copy{width:100%;min-width:0}.auth-copy h1{font-size:clamp(2rem,9vw,2.55rem);max-width:330px}
.auth-card{padding:20px;border-radius:22px}.auth-card .field{min-width:0}

/* Booking — viewport inteiro, sem rolagem vertical da página */
body.booking-page{height:var(--wm-app-height,100dvh);min-height:var(--wm-app-height,100dvh);overflow:hidden!important}
body.booking-page .app-shell{width:100%;max-width:430px;height:var(--wm-app-height,100dvh);min-height:0;padding:0!important;margin:0 auto;overflow:hidden!important}
.booking-shell{width:100%;max-width:430px;height:var(--wm-app-height,100dvh);min-height:0;margin:0 auto;overflow:hidden;display:grid;grid-template-rows:50px 24px minmax(0,1fr) 48px;padding:max(8px,env(safe-area-inset-top)) 14px max(7px,env(safe-area-inset-bottom));gap:0}
.booking-header{height:50px;min-width:0;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px}
.booking-back-close{width:40px;height:40px;border-radius:13px}
.booking-brand{min-width:0;gap:8px;font-size:.96rem;white-space:nowrap;overflow:hidden;justify-content:center}
.booking-brand-mark{font-size:1.38rem}.booking-step-counter{white-space:nowrap;font-size:.7rem}.booking-step-counter b{font-size:.92rem}
.booking-progress{height:24px;gap:5px}.booking-progress span{width:15px}.booking-progress span.active{width:28px}
#booking-form{height:100%;min-height:0;overflow:hidden;position:relative}
.booking-stage{inset:0;min-width:0;min-height:0;overflow:hidden;padding:0 1px}
.booking-stage-head{padding:10px 2px 10px;min-height:88px;max-height:112px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.booking-stage-head.compact{padding:7px 2px 8px;min-height:78px}
.booking-kicker{font-size:.61rem;margin-bottom:4px}.booking-stage-head h1{font-size:clamp(1.48rem,7.2vw,1.95rem);line-height:1.06;margin-bottom:5px}.booking-stage-head p{font-size:.76rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere}

/* Serviços: quatro opções visíveis por página e navegação horizontal */
.booking-choice-grid{flex:1;min-height:0;height:auto;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-auto-columns:calc((100% - 10px)/2);gap:10px;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 8px;align-content:stretch}
.booking-service-card{min-width:0;min-height:0;width:100%;height:100%;border-radius:18px;scroll-snap-align:start}
.service-thumb{inset:0 0 46px 0}.service-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.service-thumb-icon{width:34px;height:34px;border-radius:11px;left:8px;bottom:8px}.service-thumb-icon svg{width:21px;height:21px}
.service-choice-copy{left:10px;right:28px;bottom:7px;gap:0}.service-choice-copy strong{font-size:.78rem}.service-choice-copy small{font-size:.58rem}.booking-service-card>.choice-arrow{right:7px;bottom:12px}

/* Profissional: card único por tela, sem cortes */
.booking-professionals{flex:1;min-height:0;display:flex;align-items:center;overflow-x:auto!important;overflow-y:hidden!important;padding:4px 2px 10px;scroll-padding-inline:0}
.booking-professional-card{min-width:100%;width:100%;max-width:100%;min-height:180px;height:auto;scroll-snap-align:center;grid-template-columns:92px minmax(0,1fr) 22px;gap:13px;padding:15px;border-radius:22px}
.booking-pro-photo{width:92px;height:122px;border-radius:18px}.booking-pro-copy{min-width:0}.booking-pro-copy strong{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-pro-copy small{font-size:.75rem}.booking-pro-copy em{font-size:.64rem;line-height:1.25}

/* Calendário sempre contido na etapa */
.booking-calendar{flex:1;min-height:0;height:auto;padding:10px 10px 8px;border-radius:19px;overflow:hidden}
.booking-calendar-head{height:34px}.calendar-nav{width:32px;height:32px;border-radius:10px}.booking-calendar-head strong{font-size:.86rem}
.booking-weekdays{margin:5px 0 3px}.booking-weekdays span{font-size:.53rem}
.booking-calendar-grid{min-height:0;grid-template-rows:repeat(6,minmax(26px,1fr));gap:3px;overflow:hidden}
.booking-day{min-width:0;min-height:0;border-radius:10px;font-size:.76rem}.booking-day.available i{bottom:3px}.calendar-no-slots{font-size:.61rem;padding:5px 7px}

/* Horários: paginação horizontal; nunca corta opções excedentes */
.booking-times{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,minmax(56px,1fr));grid-auto-flow:column;grid-auto-columns:calc((100% - 14px)/3);gap:7px;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;padding:3px 2px 9px;align-content:stretch}
.booking-time{width:100%;height:100%;min-height:0;border-radius:15px;scroll-snap-align:start}.booking-time span{font-size:1rem}.booking-time small{font-size:.55rem}
.booking-times>.booking-loading,.booking-times>.booking-empty{grid-row:1/-1;grid-column:1/4;min-width:100%}

/* Dados do visitante: somente o essencial fica aberto */
.booking-contact-card{padding:12px 13px 10px;gap:8px;border-radius:19px;flex:none;max-height:calc(100% - 145px);overflow:auto;overscroll-behavior:contain}
.booking-field{min-width:0}.booking-field input{height:43px;min-height:43px;width:100%;padding:0 12px;border-radius:13px!important}
.booking-optional-field{border:1px solid rgba(255,255,255,.065);border-radius:13px;background:#101213;padding:0 10px}.booking-optional-field summary{list-style:none;min-height:40px;display:flex;align-items:center;gap:7px;color:#d7a15e;font-size:.7rem;cursor:pointer}.booking-optional-field summary::-webkit-details-marker{display:none}.booking-optional-field summary span{color:#737575;margin-left:auto}.booking-optional-field[open]{padding-bottom:9px}.booking-optional-field[open] summary{border-bottom:1px solid rgba(255,255,255,.055);margin-bottom:8px}
.booking-privacy{font-size:.61rem;line-height:1.32}.booking-primary{min-height:50px;margin-top:8px;border-radius:15px}
.booking-identity{padding:18px;border-radius:19px}

/* Revisão compacta e legível */
.booking-review{padding:10px;border-radius:19px;gap:7px}.booking-review>div{min-width:0;min-height:66px;padding:9px;border-radius:13px;grid-template-columns:22px minmax(0,1fr)}.booking-review strong{font-size:.76rem}.booking-review small{font-size:.57rem}.booking-secure{font-size:.58rem}
.booking-bottom-actions{height:48px;min-height:48px;padding-top:5px;align-items:center}.booking-back-step,.booking-login-link{min-height:38px;display:flex;align-items:center}.booking-login-link{font-size:.68rem}

/* =========================================================
   ADMIN — layout fluido e navegação responsiva
   ========================================================= */
.admin-body{overflow-x:hidden!important;background:#08090a}
.admin-shell{width:100%;max-width:100%;min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);overflow-x:hidden}
.admin-sidebar{width:248px;min-width:0;height:100vh;position:sticky;top:0;padding:18px 14px;overflow-y:auto;overflow-x:hidden;z-index:120}
.admin-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.admin-sidebar-head>.brand{min-width:0;max-width:100%;padding:4px 4px 15px;margin:0}.admin-sidebar .brand-logo-img{max-width:190px;max-height:58px;width:auto;object-fit:contain;object-position:left center}.admin-sidebar .brand-copy{min-width:0}.admin-sidebar .brand-copy b{font-size:1.12rem}.admin-sidebar .brand-copy span{font-size:.48rem;white-space:normal;line-height:1.25}.admin-sidebar .brand-mark{font-size:1.75rem}.admin-sidebar .brand-divider{height:34px}
.admin-sidebar nav{display:grid!important;grid-template-columns:1fr!important;gap:3px!important}.admin-sidebar nav>a{min-width:0;display:flex!important;align-items:center;gap:9px;padding:9px 10px!important;border-radius:11px;white-space:nowrap;overflow:hidden}.admin-sidebar nav>a>span:last-child{overflow:hidden;text-overflow:ellipsis}.admin-nav-label{margin:14px 9px 5px}.technical-badge{flex:none;font-size:.56rem;padding:3px 5px}
.admin-main{min-width:0;width:100%;max-width:100%;padding:24px clamp(18px,2.2vw,34px) 44px;overflow-x:hidden}
.admin-header{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:15px}.admin-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.admin-title-wrap>div{min-width:0}.admin-header h1{font-size:clamp(1.65rem,2.2vw,2.15rem);line-height:1.05;white-space:normal;overflow-wrap:anywhere}.admin-user{flex:none;white-space:nowrap}
.admin-menu-toggle,.admin-sidebar-close{display:none;appearance:none;border:1px solid rgba(255,255,255,.08);background:#151719;color:#dda45f;border-radius:11px;width:40px;height:40px;place-items:center;cursor:pointer}.admin-sidebar-close{font-size:1.55rem;line-height:1}
.admin-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);z-index:110}
.admin-main .panel,.admin-main .form-card,.admin-main .admin-form{max-width:100%;min-width:0}.admin-main .form-card{padding:20px}
.admin-grid{width:100%;max-width:100%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;align-items:start}.admin-grid>*{min-width:0}
.admin-form{min-width:0;position:sticky;top:18px}.admin-main .option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-main .field{min-width:0}.admin-main .input,.admin-main .select,.admin-main .textarea{width:100%;max-width:100%;min-width:0}.admin-main textarea{resize:vertical}.admin-main input[type=file]{padding:9px;min-height:48px;overflow:hidden}
.admin-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat{min-width:0}.admin-stat strong{overflow-wrap:anywhere}
.table-wrap{width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain}.table-wrap table{min-width:680px;width:100%}.admin-row-actions{min-width:150px}.toolbar{max-width:100%}.toolbar>*{min-width:0}

@media(max-width:1180px){
  .admin-grid{grid-template-columns:1fr}.admin-form{position:relative;top:auto}.admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
  .admin-shell{display:block}.admin-main{padding:18px 18px 36px}.admin-menu-toggle{display:grid}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;width:min(84vw,290px);transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(0,0,0,.38)}.admin-sidebar-close{display:grid}.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-menu-open .admin-overlay{display:block}.admin-menu-open{overflow:hidden!important}.admin-sidebar .brand-logo-img{max-width:200px}.admin-user .muted{display:none}
}
@media(max-width:640px){
  .client-area .app-shell{padding-left:14px;padding-right:14px}.client-area .banner{min-height:170px}.client-area .banner-content{max-width:78%;padding:18px}.client-area .banner h2{font-size:1.5rem}.client-area .service-scroll,.client-area .product-scroll{grid-auto-columns:min(78%,260px)}
  .admin-main{padding:12px 12px 28px}.admin-header{gap:10px;margin-bottom:15px;padding-bottom:12px}.admin-header .eyebrow{font-size:.62rem}.admin-header h1{font-size:1.55rem}.admin-user{gap:5px}.admin-user>a{font-size:.72rem}.admin-main .form-card,.admin-main .admin-form{padding:14px;border-radius:16px}.admin-main .option-grid{grid-template-columns:1fr}.admin-cards{grid-template-columns:1fr}.table-wrap{border-radius:13px}.table-wrap table{min-width:620px}th,td{padding:10px 11px;font-size:.78rem}.toolbar{gap:7px}.toolbar .btn{width:100%}.admin-row-actions .btn{min-height:32px}.admin-sidebar{width:min(88vw,300px)}
}
@media(max-width:370px){
  .booking-shell{padding-left:10px;padding-right:10px}.booking-stage-head{min-height:82px;padding:7px 1px}.booking-stage-head.compact{min-height:72px}.booking-stage-head h1{font-size:1.43rem}.booking-stage-head p{font-size:.71rem}.booking-choice-grid{gap:7px;grid-auto-columns:calc((100% - 7px)/2)}.booking-service-card{border-radius:16px}.service-thumb{bottom:43px}.service-choice-copy strong{font-size:.72rem}.booking-professional-card{grid-template-columns:80px minmax(0,1fr) 18px;gap:10px;padding:12px}.booking-pro-photo{width:80px;height:108px}.booking-calendar{padding:8px}.booking-times{grid-auto-columns:calc((100% - 12px)/3);gap:6px}.booking-contact-card{padding:10px}.booking-review>div{min-height:61px;padding:7px}.booking-review strong{font-size:.7rem}
}
@media(max-height:700px) and (max-width:720px){
  .booking-shell{grid-template-rows:44px 18px minmax(0,1fr) 42px;padding-top:max(5px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.booking-header{height:44px}.booking-back-close{width:36px;height:36px}.booking-progress{height:18px}.booking-stage-head{min-height:70px;max-height:82px;padding:5px 1px}.booking-stage-head.compact{min-height:65px}.booking-stage-head h1{font-size:1.35rem}.booking-stage-head p{font-size:.67rem}.booking-kicker{font-size:.55rem}.service-thumb{bottom:39px}.service-choice-copy{bottom:5px}.booking-professional-card{min-height:145px;grid-template-columns:72px minmax(0,1fr) 18px;padding:10px}.booking-pro-photo{width:72px;height:92px}.booking-calendar{padding:6px 8px}.booking-calendar-head{height:29px}.booking-weekdays{margin:2px 0}.booking-calendar-grid{gap:2px;grid-template-rows:repeat(6,minmax(22px,1fr))}.booking-times{grid-template-rows:repeat(2,minmax(48px,1fr));grid-auto-columns:calc((100% - 12px)/3);gap:6px}.booking-contact-card{padding:8px 10px;gap:5px;max-height:calc(100% - 110px)}.booking-field input{height:37px;min-height:37px}.booking-optional-field summary{min-height:34px}.booking-primary{min-height:43px;margin-top:5px}.booking-review>div{min-height:54px}.booking-bottom-actions{height:42px;min-height:42px}
}
.booking-brand img{width:31px;height:31px;object-fit:contain;flex:none}.booking-brand>span{overflow:hidden;text-overflow:ellipsis}

/* =========================================================
   V5 — Operação guiada, profissional, loja e integrações
   ========================================================= */
[hidden]{display:none!important}

/* Checkout mobile nativo */
.checkout-native{display:grid;gap:12px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.checkout-step-card{background:linear-gradient(145deg,#161819,#0f1112);border:1px solid rgba(255,255,255,.075);border-radius:20px;padding:14px;box-shadow:0 14px 32px rgba(0,0,0,.16)}
.checkout-step-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.checkout-step-title>i{width:30px;height:30px;flex:none;border-radius:10px;background:rgba(211,151,79,.12);border:1px solid rgba(211,151,79,.35);display:grid;place-items:center;color:var(--wm-gold);font-style:normal;font-weight:800;font-size:.76rem}.checkout-step-title>div{min-width:0;display:grid;gap:2px}.checkout-step-title strong{font-size:.93rem}.checkout-step-title span{font-size:.7rem;color:#878989}
.fulfillment-options{display:grid;gap:9px}.fulfillment-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 26px;align-items:center;gap:11px;min-height:82px;padding:11px 12px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:#101213;cursor:pointer;transition:.16s}.fulfillment-card input{position:absolute;opacity:0;pointer-events:none}.fulfillment-card.selected{border-color:rgba(218,153,76,.8);background:linear-gradient(135deg,rgba(217,151,74,.12),#111314);box-shadow:0 0 0 1px rgba(218,153,76,.12)}.fulfillment-icon{width:44px;height:44px;border-radius:14px;background:#191b1c;display:grid;place-items:center;color:var(--wm-gold)}.fulfillment-card>span:nth-of-type(2){display:grid;gap:4px;min-width:0}.fulfillment-card strong{font-size:.86rem}.fulfillment-card small{font-size:.65rem;line-height:1.32;color:#848686}.fulfillment-card>i{opacity:.18;color:var(--wm-gold);transition:.16s}.fulfillment-card.selected>i{opacity:1}
.checkout-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.checkout-address-grid .wide{grid-column:1/-1}.checkout-address-grid .field{margin:0}.checkout-item{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:.77rem}.checkout-item span{color:#aaacad}.checkout-total{display:flex;justify-content:space-between;align-items:end;padding-top:14px}.checkout-total span{font-size:.78rem;color:#a1a3a4}.checkout-total strong{font-size:1.2rem;color:var(--wm-gold)}.checkout-payment-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:16px;border:1px solid rgba(211,151,79,.2);background:rgba(211,151,79,.06);color:var(--wm-gold)}.checkout-payment-note>div{display:grid;gap:3px}.checkout-payment-note strong{font-size:.78rem;color:#e8c28e}.checkout-payment-note span{font-size:.66rem;line-height:1.35;color:#8e9090}.checkout-confirm{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:7;min-height:54px;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.order-detail-native{padding:16px}.order-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.order-detail-head h2{margin:3px 0 0;font-size:1.2rem}.order-progress-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 18px}.order-progress-mini>div{min-width:0;display:grid;place-items:center;gap:5px;text-align:center;color:#55585a;font-size:.58rem}.order-progress-mini>div:before{content:"";width:100%;height:2px;background:#282a2b;grid-row:1;grid-column:1;align-self:center}.order-progress-mini svg{position:relative;z-index:1;background:#141617;box-sizing:content-box;padding:6px;border-radius:50%}.order-progress-mini .active{color:var(--wm-gold)}.order-progress-mini .active:before{background:rgba(218,153,76,.62)}.order-location-box{display:flex;gap:10px;margin:14px 0;padding:12px;border-radius:14px;background:#101213;border:1px solid rgba(255,255,255,.06);color:var(--wm-gold)}.order-location-box>div{display:grid;gap:3px}.order-location-box strong{color:#f2f2f2;font-size:.77rem}.order-location-box span{color:#8f9192;font-size:.68rem;line-height:1.35}.payment-code-box{margin-top:14px}.payment-code-box strong{font-size:.8rem}.payment-code-box textarea{margin-top:6px;min-height:90px;font-size:.68rem}
.fulfillment-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(211,151,79,.09);border:1px solid rgba(211,151,79,.2);color:#d9a15e;font-size:.7rem;white-space:nowrap}

/* Área profissional — mobile first */
.professional-body{margin:0;background:#060708;color:#f3f3f3;min-height:100dvh;overflow-x:hidden}.professional-body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% -10%,rgba(194,128,56,.13),transparent 38%);pointer-events:none}.professional-shell{position:relative;width:min(100%,520px);min-height:var(--wm-app-height,100dvh);margin:0 auto;padding:0 14px calc(88px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(12,13,14,.98),#070809 65%);box-shadow:0 0 60px rgba(0,0,0,.35)}
.professional-header{height:74px;padding-top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.055)}.professional-header .brand{transform:scale(.72);transform-origin:left center;margin-right:-70px}.professional-header .brand-logo-img{max-height:42px;max-width:205px}.professional-avatar{width:42px;height:42px;border-radius:14px;border:1px solid rgba(211,151,79,.28);background:#17191a;display:grid;place-items:center;color:var(--wm-gold);overflow:hidden}.professional-avatar img{width:100%;height:100%;object-fit:cover}.professional-page-title{padding:16px 1px 13px}.professional-page-title h1{font-family:Georgia,"Times New Roman",serif;margin:4px 0 0;font-size:1.7rem;line-height:1.05}.professional-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.professional-summary{padding:13px;border-radius:17px;border:1px solid rgba(255,255,255,.07);background:#111314;display:grid;gap:2px}.professional-summary>span{font-size:.64rem;color:#929495}.professional-summary strong{font-size:1.65rem;color:#e0a45a;line-height:1}.professional-summary small{font-size:.58rem;color:#696b6c}.professional-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:20px 1px 10px}.professional-section-head h2{margin:3px 0 0;font-size:1.05rem}.professional-section-head a{font-size:.68rem;color:var(--wm-gold)}
.professional-appointment-list{display:grid;gap:8px}.professional-appointment-card{display:grid;grid-template-columns:62px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:88px;padding:10px;border-radius:17px;background:linear-gradient(145deg,#151718,#0e1011);border:1px solid rgba(255,255,255,.07);color:inherit;text-decoration:none}.professional-time{height:64px;border-radius:14px;background:#1a1c1d;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid rgba(211,151,79,.14)}.professional-time strong{font-size:1rem;color:#dda55f}.professional-time span{font-size:.55rem;color:#727475}.professional-appt-copy{min-width:0;display:grid;gap:3px}.professional-appt-copy>strong{font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-appt-copy>span{font-size:.66rem;color:#8c8e8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-appt-copy .status{justify-self:start;margin-top:2px;font-size:.56rem;padding:4px 7px}.professional-card-arrow{color:#b57b3e}.professional-empty{min-height:180px;border:1px dashed rgba(255,255,255,.1);border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center;gap:7px;padding:18px;color:#d69b54}.professional-empty strong{color:#ddd;font-size:.86rem}.professional-empty span{color:#747677;font-size:.66rem;max-width:250px}.professional-next-card{margin-top:12px;border-radius:17px;padding:14px;background:#111314;border:1px solid rgba(255,255,255,.07);display:grid;gap:5px}.professional-next-card>strong{font-size:.9rem}.professional-next-card>span:not(.eyebrow){font-size:.67rem;color:#858788}.professional-next-card>a{margin-top:5px;color:var(--wm-gold);font-size:.7rem}
.professional-bottom-nav{position:fixed;z-index:80;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:calc(70px + env(safe-area-inset-bottom));padding:7px 18px env(safe-area-inset-bottom);background:rgba(10,11,12,.95);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:repeat(3,1fr)}.professional-bottom-nav a{display:grid;place-items:center;align-content:center;gap:3px;color:#77797a;text-decoration:none;font-size:.6rem}.professional-bottom-nav a.active{color:#dda45d}.professional-date-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}.professional-date-nav>a{height:44px;border-radius:13px;background:#141617;border:1px solid rgba(255,255,255,.07);display:grid;place-items:center;color:#dda45d}.professional-date-nav label{height:58px;border-radius:15px;background:#111314;border:1px solid rgba(255,255,255,.07);display:grid;place-items:center;align-content:center;gap:0;position:relative}.professional-date-nav label>span{font-size:.59rem;text-transform:uppercase;color:#737576}.professional-date-nav input{background:transparent;border:0;color:#eee;font:700 .88rem/1.2 inherit;text-align:center;max-width:150px;color-scheme:dark}.professional-day-caption{text-align:center;color:#77797a;font-size:.63rem;margin:9px 0 12px}
.professional-back-link{display:inline-flex;align-items:center;gap:5px;color:#c89250;font-size:.68rem;margin:0 0 10px;text-decoration:none}.professional-detail-card{border-radius:20px;padding:15px;background:linear-gradient(145deg,#17191a,#0f1112);border:1px solid rgba(255,255,255,.075)}.professional-detail-top{display:flex;justify-content:space-between;gap:12px}.professional-detail-top h2{margin:4px 0 2px;font-size:1.2rem}.professional-detail-top p{margin:0;color:#898b8c;font-size:.7rem}.professional-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.professional-detail-grid>div{display:flex;align-items:center;gap:8px;padding:9px;border-radius:13px;background:#101213;color:#d29a57}.professional-detail-grid>div span{display:grid;gap:2px;color:#6f7172;font-size:.56rem;min-width:0}.professional-detail-grid>div strong{color:#ddd;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-guided-actions{margin:12px 0;display:grid;gap:7px}.professional-guided-actions .btn{min-height:52px}.professional-state-done{display:flex;align-items:center;gap:9px;padding:13px;border-radius:15px;background:rgba(117,159,103,.08);border:1px solid rgba(117,159,103,.18);color:#8fb481;font-size:.72rem}
.professional-flow-details{border:1px solid rgba(255,255,255,.075);border-radius:17px;background:#101213;margin:9px 0;overflow:hidden}.professional-flow-details>summary{list-style:none;min-height:66px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:10px 12px;cursor:pointer}.professional-flow-details>summary::-webkit-details-marker{display:none}.professional-flow-details>summary>span{width:38px;height:38px;border-radius:12px;background:rgba(211,151,79,.1);display:grid;place-items:center;color:#d69e59}.professional-flow-details>summary>div{display:grid;gap:3px}.professional-flow-details>summary strong{font-size:.78rem}.professional-flow-details>summary small{font-size:.58rem;color:#767879}.professional-flow-details>summary>svg{color:#986936;transition:.18s}.professional-flow-details[open]>summary>svg{transform:rotate(90deg)}.professional-flow-details>form,.professional-flow-details>.professional-secondary-actions{padding:0 12px 13px;border-top:1px solid rgba(255,255,255,.055)}.professional-flow-step{display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px;padding-top:10px}.professional-flow-step>i{width:27px;height:27px;border-radius:9px;background:#1a1c1d;color:#d69d58;display:grid;place-items:center;font-style:normal;font-size:.64rem}.professional-flow-step .field{margin:0}.professional-slot-picker{display:flex;gap:6px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.professional-slot-picker::-webkit-scrollbar{display:none}.professional-slot{min-width:70px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#17191a;color:#ddd;font-weight:700}.professional-slot.selected{border-color:#d89b53;color:#e4ac68;background:rgba(216,155,83,.1)}.professional-loading{display:flex;align-items:center;gap:8px;font-size:.65rem;color:#777}.professional-secondary-actions form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:11px}.professional-account-card{padding:14px}.professional-account-head{display:flex;align-items:center;gap:12px}.professional-account-head>img,.professional-account-head>div:first-child{width:68px;height:68px;border-radius:17px;object-fit:cover;background:#17191a;display:grid;place-items:center;color:#d99f59}.professional-account-head>div:last-child{display:grid;gap:3px}.professional-account-head strong{font-size:.95rem}.professional-account-head span{font-size:.68rem;color:#9b9d9e}.professional-account-head small{font-size:.6rem;color:#d39851}.professional-logout-btn{margin-top:14px;min-height:48px;border:1px solid rgba(255,255,255,.07);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:#aaa;text-decoration:none;font-size:.72rem}.professional-login-body{background:#070809}.professional-login-body .auth-shell{max-width:480px;padding:18px 14px;display:grid;place-items:center;min-height:100dvh}.professional-login-card{width:100%;padding:22px;border-radius:22px}.professional-login-brand{margin-bottom:25px}.professional-login-card h1{font-size:2rem;margin:7px 0 8px}.professional-login-card>p{font-size:.76rem;line-height:1.5;margin-bottom:22px}.professional-login-card form{display:grid;gap:10px}.professional-login-card .field{margin:0}.professional-login-back{display:block;text-align:center;color:#777;font-size:.67rem;margin-top:14px}

/* Admin mais guiado e menos poluído */
.master-config-intro{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;margin-bottom:14px;border:1px solid rgba(211,151,79,.16);border-radius:18px;background:linear-gradient(135deg,rgba(211,151,79,.07),#111314)}.master-config-icon{width:54px;height:54px;border-radius:16px;background:#191b1c;border:1px solid rgba(211,151,79,.22);display:grid;place-items:center;color:#dda45f}.master-config-intro h2{margin:2px 0 4px;font-size:1.15rem}.master-config-intro p{margin:0;color:#858788;font-size:.72rem;line-height:1.42;max-width:720px}.admin-flow-form{display:grid;gap:9px}.admin-step-panel{border:1px solid rgba(255,255,255,.075);border-radius:17px;background:#111314;overflow:hidden}.admin-step-panel>summary{list-style:none;min-height:68px;padding:10px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:10px;cursor:pointer}.admin-step-panel>summary::-webkit-details-marker{display:none}.admin-step-panel>summary>i{width:34px;height:34px;border-radius:11px;background:rgba(211,151,79,.09);border:1px solid rgba(211,151,79,.18);display:grid;place-items:center;color:#d79d58;font-style:normal;font-size:.7rem}.admin-step-panel>summary>div{display:grid;gap:2px}.admin-step-panel>summary strong{font-size:.82rem}.admin-step-panel>summary small{font-size:.63rem;color:#77797a}.admin-step-panel>summary>svg{color:#8f6537;transition:.18s}.admin-step-panel[open]>summary>svg{transform:rotate(90deg)}.admin-step-content{padding:14px;border-top:1px solid rgba(255,255,255,.055)}form.admin-step-content{display:block}.admin-step-content>.btn{margin-top:5px}.admin-inline-more{margin:8px 0;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:#0e1011}.admin-inline-more>summary{cursor:pointer;padding:11px 12px;color:#c9914f;font-size:.69rem}.admin-inline-more[open]{padding-bottom:10px}.admin-inline-more[open]>summary{border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:10px}.admin-inline-more[open]>.field,.admin-inline-more[open]>.option-grid,.admin-inline-more[open]>.guided-choice-grid{margin-left:10px;margin-right:10px}.endpoint-display{display:grid;gap:5px;margin-bottom:12px;padding:11px;border-radius:13px;background:#0b0d0e;border:1px solid rgba(255,255,255,.055)}.endpoint-display span{font-size:.62rem;color:#777}.endpoint-display code{font-size:.68rem;color:#d9a15e;overflow-wrap:anywhere}.admin-save-bar{position:sticky;bottom:8px;z-index:15;margin-top:5px;padding:10px 12px;border-radius:16px;background:rgba(15,17,18,.94);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.075);display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 16px 38px rgba(0,0,0,.28)}.switch-line{display:flex;align-items:center;gap:9px;font-size:.7rem}.switch-line input{position:absolute;opacity:0}.switch-line>span{width:38px;height:22px;border-radius:999px;background:#292b2c;position:relative;transition:.16s}.switch-line>span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#8b8d8e;transition:.16s}.switch-line input:checked+span{background:rgba(211,151,79,.25)}.switch-line input:checked+span:after{left:19px;background:#dda45f}.integration-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.integration-event{position:relative;min-height:62px;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:10px;display:flex;align-items:center;gap:9px;background:#0e1011}.integration-event input{position:absolute;top:8px;right:8px}.integration-event>span{color:#d89f59}.integration-event b{font-size:.69rem}.guided-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guided-choice-grid>label{position:relative;display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.065);background:#0f1112}.guided-choice-grid>label>input{margin-top:2px;accent-color:#d49a55}.guided-choice-grid>label>span{display:grid;gap:3px}.guided-choice-grid strong{font-size:.7rem}.guided-choice-grid small{color:#77797a;font-size:.59rem;line-height:1.32}.guided-choice-grid.compact{margin:9px 0}.admin-info-strip{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:12px;border:1px solid rgba(211,151,79,.13);border-radius:15px;background:rgba(211,151,79,.045);color:#d49b57}.admin-info-strip>div{display:grid;gap:2px}.admin-info-strip strong{font-size:.75rem;color:#ddd}.admin-info-strip span{font-size:.63rem;line-height:1.4;color:#848687}.admin-info-strip code{color:#d69d58}.store-config-panel{margin-bottom:12px}
.row-actions-menu{position:relative;display:inline-block;min-width:94px}.row-actions-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid rgba(211,151,79,.22);border-radius:10px;color:#d49a55;background:#121415;font-size:.68rem;font-weight:700}.row-actions-menu>summary::-webkit-details-marker{display:none}.row-actions-menu>div{position:absolute;right:0;top:40px;z-index:40;min-width:160px;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:#161819;box-shadow:0 14px 35px rgba(0,0,0,.48);display:grid;gap:3px}.row-actions-menu>div>a,.row-actions-menu>div button{width:100%;border:0;background:transparent;color:#ddd;text-align:left;padding:9px 10px;border-radius:8px;font:600 .68rem/1.2 inherit;cursor:pointer;text-decoration:none}.row-actions-menu>div>a:hover,.row-actions-menu>div button:hover{background:rgba(255,255,255,.05)}.row-actions-menu>div .danger-link{color:#e28d8d}.order-manage-menu>div.order-manage-panel{min-width:300px;padding:10px}.order-manage-panel form:first-child{display:grid;gap:8px}.order-manage-panel label{display:grid;gap:4px;color:#828485;font-size:.61rem}.order-manage-panel .select{min-width:0}.order-manage-panel .danger-link{margin-top:4px}
.professional-access-box{margin-top:10px}

@media(max-width:720px){
  .checkout-address-grid{grid-template-columns:1fr 1fr}.checkout-step-card{padding:12px;border-radius:17px}.checkout-confirm{bottom:calc(72px + env(safe-area-inset-bottom))}
  .master-config-intro{grid-template-columns:44px minmax(0,1fr);padding:13px}.master-config-icon{width:44px;height:44px;border-radius:13px}.master-config-intro>.status{grid-column:2;justify-self:start}.admin-save-bar{display:grid;grid-template-columns:1fr}.admin-save-bar .btn{width:100%}.integration-event-grid,.guided-choice-grid{grid-template-columns:1fr}.admin-step-panel>summary{padding:9px 10px}.admin-step-content{padding:11px}.row-actions-menu>div{position:fixed;left:12px;right:12px;top:auto;bottom:14px;min-width:0;z-index:220;border-radius:16px}.order-manage-menu>div.order-manage-panel{min-width:0}.admin-body:has(.row-actions-menu[open]) .admin-overlay{display:block}
}
@media(max-width:390px){.professional-shell{padding-left:10px;padding-right:10px}.professional-detail-grid{grid-template-columns:1fr 1fr}.checkout-address-grid{grid-template-columns:1fr}.checkout-address-grid .wide{grid-column:auto}}


/* =========================================================
   V6 — NOVA LOGO + MOBILE SEM QUEBRAS / SEM SCROLL LATERAL
   ========================================================= */
:root{--wm-v6-logo-bg:#000}
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
img,svg,video,canvas{max-width:100%}
.app-shell,.auth-shell,.professional-shell,.admin-main,
.panel,.form-card,.admin-form,.list-item,.summary-row,.toolbar,
.checkout-native,.checkout-step-card,.professional-detail-card{min-width:0;max-width:100%}

/* Nova identidade: a arte enviada é vertical/quadrada; tratamos como selo,
   preservando a proporção em vez de esticá-la como wordmark horizontal. */
.brand{min-width:0}
.brand-logo-img{
  display:block!important;
  width:68px!important;
  height:68px!important;
  max-width:68px!important;
  max-height:68px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px;
  background:var(--wm-v6-logo-bg);
  flex:none;
}
.topbar>.brand{margin:0;flex:1}
.topbar>.brand .brand-logo-img{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}
.page-brand .brand{margin:0;justify-content:center}
.page-brand .brand-logo-img{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important;border-radius:12px}
.auth-hero .brand-logo-img{width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important;border-radius:20px}
.desktop-gate .brand{justify-content:center}
.desktop-gate .brand-logo-img{width:128px!important;height:128px!important;max-width:128px!important;max-height:128px!important}
.booking-brand img{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;border-radius:9px;background:#000;object-fit:contain}
.loader-mark{width:92px;height:92px;display:grid;place-items:center;letter-spacing:0}
.loader-mark img{width:92px;height:92px;object-fit:contain;border-radius:20px;background:#000}

/* Home / catálogo: nada importante depende de arrastar lateralmente. */
.client-area .service-scroll,
.client-area .product-scroll{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  padding:0!important;
}
.client-area .service-card,
.client-area .product-card{width:100%;min-width:0}
.client-area .service-card .photo{height:108px}
.client-area .service-card h3,
.client-area .product-card h3{overflow-wrap:anywhere}
.client-area .service-card p,
.client-area .product-card p{overflow-wrap:anywhere}
.client-area .product-card .btn{width:100%;padding-inline:8px;font-size:.74rem}

/* Linhas de resumo e cards não podem empurrar a viewport. */
.summary-row{align-items:start}
.summary-row>*{min-width:0}
.summary-row>strong:last-child,
.summary-row>span:last-child{text-align:right;overflow-wrap:anywhere}
.list-item,.list-item .left{min-width:0}
.list-item .left>div:last-child{min-width:0;overflow-wrap:anywhere}
.help-bar{flex-wrap:wrap}
.help-bar>.btn{max-width:100%}

/* Agendamento: etapas continuam em uma única tela, mas sem carrosséis laterais.
   Se o conteúdo exceder em aparelhos muito baixos, apenas o miolo da etapa rola verticalmente. */
.booking-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:minmax(112px,1fr)!important;
  gap:8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scroll-snap-type:none!important;
  padding:2px 2px 7px!important;
  align-content:start!important;
}
.booking-service-card{width:100%!important;min-width:0!important;min-height:112px!important;height:auto!important;scroll-snap-align:none!important}
.service-thumb{inset:0 0 42px 0!important}
.service-choice-copy{left:9px!important;right:25px!important;bottom:6px!important}
.booking-professionals{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  gap:8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:4px 2px 8px!important;
}
.booking-professional-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:112px!important;
  grid-template-columns:76px minmax(0,1fr) 20px!important;
  gap:10px!important;
  padding:11px!important;
}
.booking-pro-photo{width:76px!important;height:92px!important}
.booking-pro-copy strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.booking-times{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:minmax(52px,1fr)!important;
  gap:7px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scroll-snap-type:none!important;
  padding:3px 2px 8px!important;
  align-content:start!important;
}
.booking-time{width:100%!important;min-width:0!important;height:54px!important;min-height:54px!important;scroll-snap-align:none!important}
.booking-times>.booking-loading,.booking-times>.booking-empty{grid-column:1/-1!important;grid-row:auto!important}
.booking-contact-card{overflow-x:hidden!important}
.booking-review>div{min-width:0}
.booking-review strong{white-space:normal;overflow-wrap:anywhere}

/* Profissional: horários quebram em grade em vez de sumirem para a lateral. */
.professional-header .brand{transform:none!important;margin:0!important}
.professional-header .brand-logo-img{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;border-radius:12px}
.professional-slot-picker{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  overflow:visible!important;
  padding:3px 0!important;
}
.professional-slot{min-width:0!important;width:100%!important}
.professional-detail-top{min-width:0;flex-wrap:wrap}
.professional-detail-top>*{min-width:0}
.professional-secondary-actions form{grid-template-columns:1fr!important}
.professional-account-head>div:last-child{min-width:0}
.professional-account-head strong,
.professional-account-head span{overflow-wrap:anywhere}

/* Admin: logo vertical bem acomodada e cabeçalho flexível. */
.admin-sidebar-head{align-items:flex-start}
.admin-sidebar-head>.brand{width:100%;justify-content:center;padding:2px 4px 13px!important}
.admin-sidebar .brand-logo-img{width:112px!important;height:112px!important;max-width:112px!important;max-height:112px!important;border-radius:20px}
.admin-header{flex-wrap:wrap}
.admin-user{max-width:100%;white-space:normal!important;margin-left:auto}
.admin-user>*{min-width:0}
.admin-main .toolbar{width:100%}
.admin-main .toolbar .input{flex:1 1 220px;max-width:none}
.admin-main .toolbar .btn{flex:0 1 auto}
.admin-info-strip,.master-config-intro{min-width:0}
.master-config-intro>*{min-width:0}
.endpoint-display code,.code-box{overflow-wrap:anywhere;word-break:break-word}

/* Tabelas administrativas viram cards no mobile; sem tabela de 620px escondida. */
@media(max-width:720px){
  .table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .table-wrap table{display:block!important;width:100%!important;min-width:0!important}
  .table-wrap thead{display:none!important}
  .table-wrap tbody{display:grid!important;gap:10px!important;width:100%!important}
  .table-wrap tr{display:grid!important;width:100%!important;min-width:0!important;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:#111314;overflow:hidden}
  .table-wrap td{
    display:grid!important;
    grid-template-columns:minmax(82px,.72fr) minmax(0,1.28fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 11px!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.055)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .table-wrap td:last-child{border-bottom:0!important}
  .table-wrap td::before{
    content:attr(data-label);
    color:#8c8e8f;
    font-size:.61rem;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.045em;
    font-weight:700;
  }
  .table-wrap td[colspan]::before{display:none}
  .table-wrap td[colspan]{display:block!important}
  .admin-row-actions{min-width:0!important;width:100%}
  .row-actions-menu{width:100%;min-width:0!important}
  .row-actions-menu>summary{width:100%}
  .admin-main{overflow-x:hidden!important}
  .admin-header{align-items:flex-start}
  .admin-user{margin-left:0}
  .admin-sidebar-head>.brand{justify-content:flex-start}
  .admin-sidebar .brand-logo-img{width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important}
  .master-config-intro{grid-template-columns:44px minmax(0,1fr)!important}
  .checkout-item{flex-wrap:wrap}
  .checkout-item>*{min-width:0}
}

@media(max-width:420px){
  .client-area .app-shell{padding-left:12px!important;padding-right:12px!important}
  .topbar>.brand .brand-logo-img{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important}
  .avatar-btn,.icon-btn{width:44px;height:44px}
  .welcome h1{font-size:2.15rem}
  .section-head{align-items:flex-start;gap:8px}
  .section-head h2{font-size:1.55rem}
  .section-head>a{font-size:.78rem}
  .client-area .service-scroll,.client-area .product-scroll{gap:8px!important}
  .client-area .service-card .photo{height:96px}
  .client-area .service-card .content,.client-area .product-card .content{padding:10px}
  .client-area .service-card h3,.client-area .product-card h3{font-size:.86rem}
  .client-area .service-card p,.client-area .product-card p{font-size:.69rem}
  .banner-content{max-width:86%!important}
  .summary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .booking-shell{padding-left:10px!important;padding-right:10px!important}
  .booking-choice-grid{grid-auto-rows:minmax(104px,1fr)!important;gap:7px!important}
  .booking-service-card{min-height:104px!important}
  .booking-times{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .booking-time{height:50px!important;min-height:50px!important}
  .professional-slot-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-main{padding-left:10px!important;padding-right:10px!important}
  .admin-header h1{font-size:1.42rem!important}
}

@media(max-width:350px){
  .client-area .service-scroll,.client-area .product-scroll{grid-template-columns:1fr!important}
  .booking-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .booking-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .professional-slot-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .table-wrap td{grid-template-columns:1fr!important;gap:4px!important}
}

/* =========================================================
   V7 — LOGO EM DESTAQUE + CACHE-BUSTING TOTAL
   ========================================================= */
:root{--wm-v7-logo-outline:rgba(211,151,79,.24)}
.brand-logo-img{
  width:92px!important;
  height:92px!important;
  max-width:92px!important;
  max-height:92px!important;
  border-radius:20px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#000!important;
  outline:1px solid var(--wm-v7-logo-outline);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.topbar{min-height:104px!important;align-items:center!important}
.topbar>.brand{flex:1 1 auto!important;max-width:none!important;margin:0!important}
.topbar>.brand .brand-logo-img{
  width:100px!important;
  height:100px!important;
  max-width:100px!important;
  max-height:100px!important;
  border-radius:22px!important;
}
.page-header{min-height:94px!important;grid-template-columns:46px minmax(0,1fr) 46px!important}
.page-brand .brand-logo-img{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  border-radius:18px!important;
}
.auth-hero .brand-logo-img{
  width:124px!important;
  height:124px!important;
  max-width:124px!important;
  max-height:124px!important;
  border-radius:24px!important;
}
.desktop-gate .brand-logo-img{
  width:156px!important;
  height:156px!important;
  max-width:156px!important;
  max-height:156px!important;
  border-radius:28px!important;
}
.booking-brand img{
  width:54px!important;
  height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  border-radius:13px!important;
  outline:1px solid var(--wm-v7-logo-outline);
}
.loader-mark{width:110px!important;height:110px!important}
.loader-mark img{width:110px!important;height:110px!important;border-radius:24px!important}
.professional-header{min-height:88px!important;height:auto!important}
.professional-header .brand-logo-img{
  width:72px!important;
  height:72px!important;
  max-width:72px!important;
  max-height:72px!important;
  border-radius:16px!important;
}
.admin-sidebar .brand-logo-img{
  width:132px!important;
  height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  border-radius:24px!important;
}

@media(max-width:420px){
  .topbar{min-height:98px!important}
  .topbar>.brand .brand-logo-img{
    width:92px!important;
    height:92px!important;
    max-width:92px!important;
    max-height:92px!important;
  }
  .page-header{min-height:88px!important}
  .page-brand .brand-logo-img{
    width:76px!important;
    height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
  }
  .auth-hero .brand-logo-img{
    width:112px!important;
    height:112px!important;
    max-width:112px!important;
    max-height:112px!important;
  }
}

@media(max-width:350px){
  .topbar>.brand .brand-logo-img{
    width:84px!important;
    height:84px!important;
    max-width:84px!important;
    max-height:84px!important;
  }
  .page-brand .brand-logo-img{
    width:70px!important;
    height:70px!important;
    max-width:70px!important;
    max-height:70px!important;
  }
}

/* =========================================================
   V8 — Logo horizontal + pagamento integrado / responsivo
   ========================================================= */
.brand{min-width:0!important;display:flex!important;align-items:center!important}
.brand-logo-wide{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.brand-logo-compact{display:none!important}
.client-area .topbar{min-height:96px!important;align-items:center!important;gap:12px!important}
.client-area .topbar>.brand{flex:1 1 auto!important;max-width:calc(100% - 58px)!important;overflow:hidden!important}
.client-area .topbar>.brand .brand-logo-wide{width:min(278px,calc(100vw - 104px))!important;max-width:100%!important;max-height:94px!important}
.page-brand{min-width:0!important;overflow:hidden!important}
.page-brand .brand-logo-wide{width:min(235px,calc(100vw - 126px))!important;max-height:74px!important;margin:auto!important;object-position:center!important}
.auth-hero .brand-logo-wide{width:min(360px,92vw)!important;max-height:142px!important;object-position:left center!important}
.desktop-gate .brand-logo-wide{width:min(480px,82vw)!important;max-height:190px!important;margin:auto!important;object-position:center!important}
.professional-header .brand{transform:none!important;margin-right:0!important;flex:1!important;overflow:hidden!important}
.professional-header .brand-logo-wide{width:min(245px,calc(100vw - 88px))!important;max-height:66px!important}
.admin-sidebar .brand-logo-wide{width:min(218px,100%)!important;max-height:92px!important}
.admin-sidebar-head>.brand{overflow:hidden!important}

.payment-monitor{margin-top:14px;padding:14px;border:1px solid rgba(211,151,79,.24);border-radius:17px;background:linear-gradient(145deg,#151718,#0c0e0f);display:grid;gap:11px;min-width:0}
.payment-monitor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.payment-monitor-head>div{min-width:0}.payment-monitor-head strong{display:block}.payment-monitor-head small{display:block;margin-top:3px;color:#8f9294;line-height:1.35}
.payment-status-pill{flex:0 0 auto;padding:7px 10px;border-radius:999px;border:1px solid #5b472f;color:#e0a45a;background:#1d1812;font-size:.72rem;font-weight:700;white-space:nowrap}
.payment-status-pill.paid{border-color:#34503a;color:#a9cfae;background:#111914}.payment-status-pill.error{border-color:#633b3b;color:#e2a0a0;background:#1b1111}
.payment-auto{display:flex;align-items:center;gap:8px;color:#7e8284;font-size:.72rem}.payment-auto i{width:7px;height:7px;border-radius:50%;background:#d3974f;box-shadow:0 0 0 4px rgba(211,151,79,.1)}
.payment-code-box textarea{min-height:76px;resize:none;font-size:.76rem;word-break:break-all}
.payment-doc-note{display:block;margin-top:6px;color:#7e8284;font-size:.7rem;line-height:1.35}
.endpoint-display code{word-break:break-all}

@media(max-width:360px){
  .client-area .topbar>.brand .brand-logo-wide{width:min(248px,calc(100vw - 98px))!important}
  .page-brand .brand-logo-wide{display:none!important}
  .page-brand .brand-logo-compact{display:block!important;width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important;border-radius:13px!important;object-fit:contain!important;margin:auto!important}
  .professional-header .brand-logo-wide{display:none!important}
  .professional-header .brand-logo-compact{display:block!important;width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;border-radius:13px!important}
  .payment-monitor-head{align-items:flex-start;flex-direction:column}.payment-status-pill{align-self:flex-start}
}
@media(max-width:330px){
  .client-area .topbar>.brand .brand-logo-wide{display:none!important}
  .client-area .topbar>.brand .brand-logo-compact{display:block!important;width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;border-radius:16px!important;object-fit:contain!important}
}
