:root{color-scheme:dark;--gold:#f8b62d;--gold-light:#ffd260;--ink:#080706;--panel:#12110f;--muted:#aaa49a;--danger:#ff766f}
*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#050504;color:#fff}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-page{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;background:#050504}
.login-art{position:relative;width:100%;min-height:100vh;min-height:100dvh;overflow:hidden;background:#090806 url('../images/fundo_login_clean.png') center top/cover no-repeat}
.login-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px 20px max(30px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(0,0,0,0) 48%,rgba(3,3,2,.14) 58%,rgba(3,3,2,.9) 100%)}
.login-overlay form{width:min(100%,340px);margin-inline:auto;display:grid;gap:10px}
.field{height:56px;display:flex;align-items:center;border:1px solid rgba(205,205,205,.45);border-radius:14px;background:rgba(7,7,6,.9);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.field-icon{width:52px;height:100%;display:grid;place-items:center;color:#f7b52b}.field-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.field input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#f5f3ef;font-size:16px;font-weight:400;padding:0}.field input::placeholder{color:#aaa7a3;opacity:1}.field:focus-within{border-color:#e5ab3b;box-shadow:0 0 0 3px rgba(248,182,45,.14),0 8px 24px rgba(0,0,0,.32)}
.password-toggle{width:52px;height:100%;border:0;background:transparent;color:#aaa9a8;display:grid;place-items:center;cursor:pointer}.password-toggle svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guest-booking-link{display:block;padding:8px;text-align:center;color:#ffd262;font-size:14px;font-weight:700;text-decoration:underline;text-shadow:0 1px 3px #000}.guest-booking-link[hidden]{display:none}
.login-message{min-height:16px;margin:-2px 0 0;text-align:center;color:var(--danger);font-size:12px;font-weight:700;text-shadow:0 1px 3px #000}.login-message.success{color:#75e0a6}
.login-button{height:56px;border:0;border-radius:999px;background:linear-gradient(105deg,#ffb525 0%,#ffd262 52%,#ffb322 100%);color:#090806;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:14px;cursor:pointer;box-shadow:0 10px 22px rgba(0,0,0,.3)}.login-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-button:hover{filter:brightness(1.05)}.login-button:active{transform:translateY(1px)}.login-button:disabled{filter:grayscale(.7);cursor:wait}
.welcome-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.88)),url('../images/fundo_login_clean.png') center 25%/cover fixed}
.welcome-card{width:min(100%,440px);padding:42px 30px;border:1px solid rgba(248,182,45,.4);border-radius:28px;text-align:center;background:rgba(10,9,7,.9);box-shadow:0 25px 80px #000;backdrop-filter:blur(18px)}.brand-mark{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-light),#a95d05);color:#111;font-size:34px}.eyebrow{margin:0;color:var(--gold);font-weight:800;letter-spacing:.35em}.welcome-card h1{margin:14px 0;font-family:Georgia,serif;font-size:clamp(34px,9vw,50px);line-height:1.05}.welcome-copy{font-size:18px;color:#e3ded6}.access-card{margin:26px 0;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04)}.access-label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.16em}.proof{color:var(--muted);line-height:1.5}.gold-button{width:100%;padding:16px;border:0;border-radius:999px;background:linear-gradient(115deg,var(--gold),var(--gold-light));color:#090806;font-size:17px;font-weight:800;cursor:pointer}.loading-screen{position:fixed;inset:0;display:grid;place-items:center;background:#080706;color:var(--gold);font-weight:700}
@media(min-width:600px){.login-page{padding:24px}.login-art{width:min(100%,480px);min-height:calc(100dvh - 48px);border-radius:28px;box-shadow:0 0 70px #000}.login-overlay{padding-bottom:max(38px,env(safe-area-inset-bottom))}}
@media(max-height:650px) and (orientation:portrait){.login-overlay{padding-top:16px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.login-overlay form{gap:8px}.field,.login-button{height:50px}.field-icon,.password-toggle{width:48px}}
@media(max-height:680px) and (orientation:landscape){.login-page{min-width:0}.login-art{width:100vw;min-height:100dvh;background-position:center 35%}.login-overlay{padding:18px 20px max(18px,env(safe-area-inset-bottom))}.login-overlay form{width:min(340px,100%)}.welcome-page{padding:14px}.welcome-card{padding:24px}.brand-mark{width:54px;height:54px;margin-bottom:10px}.welcome-card h1{font-size:32px}}
.booking-page{min-height:100vh;min-height:100dvh;background:#11100e;color:#f7f3eb}
.booking-shell{width:min(100%,560px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 20px calc(120px + env(safe-area-inset-bottom));background:radial-gradient(circle at 90% 0,rgba(248,182,45,.16),transparent 30%),linear-gradient(180deg,#1b1a17 0%,#10100e 54%,#090908 100%)}
.booking-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.brand-mini{color:var(--gold);font-size:13px;font-weight:500;letter-spacing:.18em;text-decoration:none}.brand-mini strong{font-family:Georgia,serif;font-size:21px;letter-spacing:.06em}.header-button{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.05);color:var(--gold);font-size:20px}
.booking-loading{min-height:50vh;display:grid;place-items:center;color:#c9c2b8;text-align:center}.booking-loading.error{color:#ff9c94}.barber-profile{display:flex;align-items:center;gap:16px;padding:0 2px 24px;border-bottom:1px solid rgba(248,182,45,.22)}.barber-avatar{flex:0 0 76px;width:76px;height:76px;overflow:hidden;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;background:linear-gradient(135deg,#f4bd43,#694414);color:#17120a;font-size:24px;font-weight:900}.barber-avatar img{width:100%;height:100%;object-fit:cover}.section-kicker{margin:0 0 5px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em}.barber-profile h1{margin:0;font-family:Georgia,serif;font-size:28px;line-height:1.1}.barber-subtitle{margin:6px 0 0;color:#b5afa5;font-size:14px;line-height:1.35}
.services-section{padding-top:27px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading h2{margin:0;font-size:23px;letter-spacing:-.03em}.service-counter{color:#bcb5aa;font-size:12px;white-space:nowrap}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{min-height:168px;padding:17px 14px 15px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055);color:#f8f4ed;text-align:left;display:flex;flex-direction:column;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.service-card:active{transform:scale(.98)}.service-card.selected{border-color:var(--gold);background:linear-gradient(145deg,rgba(248,182,45,.23),rgba(248,182,45,.07));box-shadow:0 0 0 2px rgba(248,182,45,.12)}.service-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:auto;border-radius:14px;background:#f6f2eb;color:#151410;font-size:27px}.service-name{margin-top:17px;font-size:15px;font-weight:800;line-height:1.25}.service-meta{display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin-top:9px;color:#b8b1a7;font-size:12px}.service-meta strong{color:var(--gold-light);font-size:13px}.empty-state{margin:20px 0;padding:25px 20px;border:1px dashed rgba(255,255,255,.18);border-radius:16px;color:#b9b1a6;text-align:center;line-height:1.45}.booking-footer{position:fixed;right:0;bottom:0;left:0;z-index:3;width:min(100%,560px);margin:0 auto;padding:14px 20px max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:16px;background:rgba(12,12,10,.94);border-top:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px)}.booking-total{min-width:82px;display:grid;gap:3px}.booking-total span{color:#a9a297;font-size:11px}.booking-total strong{font-size:16px}.continue-button{flex:1;min-height:54px;border:0;border-radius:999px;background:linear-gradient(105deg,#ffb525,#ffd262 52%,#ffb322);color:#13110d;font-size:15px;font-weight:900;cursor:pointer}.continue-button span{margin-left:8px;font-size:20px}.continue-button:disabled{background:#2b2925;color:#787267;cursor:not-allowed}
@media(min-width:600px){.booking-page{padding:20px}.booking-shell{min-height:calc(100dvh - 40px);border-radius:28px;box-shadow:0 0 70px #000}.booking-footer{bottom:20px;border-radius:0 0 28px 28px}}
@media(max-width:340px){.booking-shell{padding-inline:16px}.services-grid{gap:9px}.service-card{min-height:154px;padding:14px 12px}.barber-profile h1{font-size:25px}.booking-footer{padding-inline:16px}}

/* Booking flow v10 */
.booking-page{background:#050504}.flow-shell{width:min(100%,520px);min-height:100dvh;margin:auto;background:radial-gradient(circle at 100% 0,rgba(248,182,45,.12),transparent 28%),#0b0c0c;box-shadow:0 0 70px #000}.flow-header{position:sticky;top:0;z-index:20;height:64px;padding:env(safe-area-inset-top) 18px 0;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:rgba(8,9,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.flow-brand{grid-column:2;color:#d99b20;text-align:center;text-decoration:none;font-size:11px;letter-spacing:.15em}.flow-brand strong{font-family:Georgia,serif;font-size:18px}.icon-button{width:38px;height:38px;border:0;border-radius:50%;background:#1b1c1c;color:#fff;font-size:32px;line-height:1}.step-indicator{color:#8d8d87;font-size:12px;text-align:right}.flow-step{display:none;min-height:calc(100dvh - 64px)}.flow-step.active{display:block}.booking-hero{height:330px;position:relative;overflow:hidden}.booking-hero>img{width:100%;height:100%;object-fit:cover}.booking-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(5,6,6,.3) 45%,#0b0c0c 100%)}.booking-hero-copy{position:absolute;right:22px;bottom:48px;left:22px;text-align:center}.booking-hero-copy span,.step-kicker{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.18em}.booking-hero-copy h1{margin:8px 0 5px;font-family:Georgia,serif;font-size:36px}.booking-hero-copy p{margin:0;font-size:20px;font-weight:800}.step-body{padding:32px 20px max(32px,env(safe-area-inset-bottom))}.overlap-body{position:relative;margin-top:-28px;border-radius:28px 28px 0 0;background:#0b0c0c}.step-body h2{margin:6px 0 20px;font-size:25px;letter-spacing:-.03em}.step-copy{margin:-10px 0 20px;color:#99958d;line-height:1.45}.choice-list{display:grid;gap:11px}.choice-card{width:100%;min-height:78px;padding:11px 14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:#181a1a;color:#fff;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer}.choice-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(248,182,45,.13)}.choice-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#463314,#16130d);color:var(--gold);font-size:25px}.choice-copy{flex:1;display:grid;gap:6px}.choice-copy strong{font-size:16px}.choice-copy small{color:#bbb6ac}.choice-copy small::first-line{color:var(--gold)}.choice-check{width:26px;height:26px;display:none;place-items:center;border-radius:50%;background:var(--gold);color:#111;font-weight:900}.choice-card.selected .choice-check{display:grid}.choice-arrow{color:var(--gold);font-size:28px}.professional-choice img{width:62px;height:62px;border-radius:12px;object-fit:cover}.primary-action,.secondary-action{width:100%;min-height:56px;margin-top:22px;border:0;border-radius:999px;font-size:16px;font-weight:900;cursor:pointer}.primary-action{background:linear-gradient(105deg,#ffb525,#ffd262 52%,#ffb322);color:#141109}.primary-action:disabled{background:#292a28;color:#777;cursor:not-allowed}.secondary-action{border:1px solid rgba(248,182,45,.5);background:transparent;color:var(--gold)}.professional-summary{padding:25px 22px;display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(135deg,rgba(248,182,45,.08),transparent)}.professional-summary img{width:58px;height:58px;border:2px solid var(--gold);border-radius:50%;object-fit:cover}.professional-summary div{display:grid;gap:5px}.professional-summary strong{font-size:17px}.professional-summary span{color:#99958d;font-size:12px}.calendar-card{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#151616}.calendar-head{height:48px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;text-align:center}.calendar-head button{border:0;background:transparent;color:var(--gold);font-size:27px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-week{padding:9px 0;color:#85857f;font-size:9px}.calendar-grid>span,.calendar-grid button{aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#eee;position:relative}.calendar-grid button:not(:disabled){cursor:pointer}.calendar-grid button:disabled{color:#444}.calendar-grid button.selected{background:var(--gold);color:#111;font-weight:900}.calendar-grid button i{position:absolute;bottom:4px;width:3px;height:3px;border-radius:50%;background:var(--gold)}.calendar-grid button.selected i{background:#111}.slots-groups{display:grid;gap:23px}.slots-groups section h3{font-size:15px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slots-grid button{min-height:50px;border:1px solid rgba(255,255,255,.05);border-radius:12px;background:#1d1f1f;color:#fff;font-weight:800;cursor:pointer}.slots-grid button:active{background:var(--gold);color:#111}.flow-form{display:grid;gap:15px}.flow-form label{display:grid;gap:7px;color:#aaa59c;font-size:12px}.flow-form input{height:54px;padding:0 15px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#171818;color:#fff;font-size:16px;outline:none}.flow-form input:focus{border-color:var(--gold)}.confirmation-card{padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#171919}.confirm-person{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.confirm-person img{width:64px;height:64px;border-radius:13px;object-fit:cover}.confirm-person div{display:grid;gap:5px}.confirm-person small{color:#aaa59c}.confirmation-card dl{margin:0}.confirmation-card dl>div{padding:15px 0;display:grid;grid-template-columns:130px 1fr;gap:10px;border-bottom:1px solid rgba(255,255,255,.07)}.confirmation-card dl>div:last-child{border-bottom:0}.confirmation-card dt{color:#aaa59c}.confirmation-card dd{margin:0;text-align:right;font-weight:800}.form-error{min-height:20px;color:#ff837b;text-align:center}.success-step{padding:80px 22px;text-align:center}.success-step.active{display:flex;flex-direction:column;align-items:center}.success-mark{width:84px;height:84px;margin-bottom:25px;display:grid;place-items:center;border-radius:50%;background:#54d89b;color:#07120d;font-size:45px;font-weight:900}.success-step h2{font-size:30px}.success-step .confirmation-card{width:100%;margin-top:20px}.loading-inline{color:#aaa59c;text-align:center}.booking-loading.error{color:#ff837b}
@media(min-width:600px){.booking-page{padding:22px}.flow-shell{border-radius:28px;overflow:hidden;min-height:calc(100dvh - 44px)}.flow-header{top:22px}}

/* Booking screen focus fix v12 */
[hidden]{display:none!important}
.flow-shell{position:relative}
.flow-header{position:absolute;top:env(safe-area-inset-top);left:14px;z-index:20;width:42px;height:52px;padding:7px 0 0;display:flex;align-items:center;background:transparent;border:0;backdrop-filter:none;pointer-events:none}
.flow-header .icon-button{pointer-events:auto;background:rgba(8,9,9,.68);backdrop-filter:blur(8px)}
.flow-brand,.step-indicator{display:none!important}
.flow-step{min-height:100dvh}
@media(min-width:600px){.flow-header{top:calc(22px + env(safe-area-inset-top))}}

/* Booking navigation and clean hero v13 */
.flow-header{width:110px}
.flow-header .icon-button{width:auto;min-width:86px;height:40px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;font-size:14px;font-weight:800;line-height:1}
.booking-hero-copy{display:none!important}
.step-body>.step-kicker:first-child{margin-top:0}

/* Session exit v16 */
.flow-header .exit-button{pointer-events:auto;min-width:72px;height:40px;padding:0 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,9,9,.72);color:#fff;font-size:14px;font-weight:800;backdrop-filter:blur(8px);cursor:pointer}
.flow-header .exit-button:disabled{opacity:.65;cursor:wait}
.calendar-head{grid-template-columns:72px 1fr 72px}
.calendar-head button{font-size:11px;font-weight:800}

/* Staff PWA v10 */
.staff-page{background:#050504}.staff-shell{width:min(100%,560px);min-height:100dvh;margin:auto;padding-bottom:86px;background:#0b0c0c;box-shadow:0 0 70px #000}.staff-hero{height:245px;position:relative;display:flex;align-items:flex-end;padding:28px 20px;background:url('../images/fundo_login_clean.png') center 22%/cover}.staff-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),#0b0c0c 96%)}.staff-user{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.staff-user>img{width:74px;height:74px;border:2px solid var(--gold);border-radius:50%;object-fit:cover}.staff-user div{display:grid;gap:3px}.staff-user span{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.15em}.staff-user h1{margin:0;font-size:25px}.staff-user h1 strong{font-family:Georgia,serif}.staff-user p{margin:0;color:#aaa59c;font-size:13px}.round-action{position:absolute;right:20px;bottom:40px;z-index:2;width:43px;height:43px;border:1px solid rgba(248,182,45,.55);border-radius:50%;background:rgba(0,0,0,.5);color:var(--gold);font-size:22px}.staff-content{padding:25px 18px}.staff-view{display:none}.staff-view.active{display:block}.section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title span{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.16em}.section-title h2{margin:4px 0 0;font-size:25px}.view-switch{padding:3px;display:flex;border-radius:10px;background:#181a1a}.view-switch button{padding:8px;border:0;border-radius:8px;background:transparent;color:#888;font-size:11px}.view-switch button.active{background:var(--gold);color:#111;font-weight:900}.appointment-list,.management-list{display:grid;gap:10px}.appointment-card{min-height:76px;padding:12px;display:grid;grid-template-columns:56px 1fr 28px;align-items:center;gap:10px;border-left:3px solid #777;border-radius:13px;background:#181a1a}.appointment-card.status-confirmado,.appointment-card.status-aguardando{border-left-color:#53d6a0}.appointment-card.status-em_atendimento{border-left-color:var(--gold)}.appointment-card time{font-size:18px;font-weight:900}.appointment-card div{display:grid;gap:4px}.appointment-card span,.appointment-card small{color:#aaa59c;font-size:12px}.appointment-card button{border:0;background:transparent;color:var(--gold);font-size:27px}.mini-calendar{margin-bottom:20px;padding:13px;border-radius:16px;background:#161818}.small-gold{padding:10px 13px;border:0;border-radius:999px;background:var(--gold);color:#111;font-weight:900}.management-card{min-height:76px;padding:10px 12px;display:flex;align-items:center;gap:12px;border-radius:14px;background:#181a1a}.management-card img,.initial-avatar{width:54px;height:54px;border-radius:12px;object-fit:cover}.initial-avatar{display:grid;place-items:center;background:linear-gradient(145deg,var(--gold),#684510);color:#111;font-size:22px;font-weight:900}.management-card div{flex:1;display:grid;gap:5px;min-width:0}.management-card span{overflow:hidden;color:#aaa59c;font-size:11px;text-overflow:ellipsis}.management-card button{border:0;background:transparent;color:var(--gold);font-weight:800}.panel-form{margin-top:20px;padding:18px;display:grid;gap:13px;border:1px solid rgba(248,182,45,.25);border-radius:18px;background:#141616}.panel-form[hidden]{display:none}.panel-form.visible{margin-top:0}.panel-form h3{margin:0 0 5px}.panel-form>label,.panel-form fieldset{display:grid;gap:6px;color:#aaa59c;font-size:12px}.panel-form input,.panel-form select{height:48px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#202222;color:#fff}.panel-form fieldset{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid label{color:#ddd}.check-grid input,.toggle-row input{height:auto}.toggle-row{grid-template-columns:22px 1fr!important;align-items:center}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions button{margin-top:5px}.danger-action{width:100%;height:50px;border:1px solid rgba(255,110,100,.4);border-radius:999px;background:transparent;color:#ff8b83;font-weight:900}.staff-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;width:min(100%,560px);height:76px;margin:auto;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(12,13,13,.96);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.staff-nav button{border:0;background:transparent;color:#777;display:grid;place-content:center;gap:3px}.staff-nav b{font-size:19px}.staff-nav span{font-size:10px}.staff-nav button.active{color:var(--gold)}.staff-notice{position:fixed;top:20px;left:50%;z-index:100;max-width:calc(100% - 30px);padding:12px 18px;border-radius:999px;background:#54d89b;color:#07120d;font-weight:800;transform:translate(-50%,-100px);transition:.25s}.staff-notice.show{transform:translate(-50%,0)}.staff-notice.error{background:#ff837b}.new-account-fields{display:grid;gap:13px}.new-account-fields label{display:grid;gap:6px;color:#aaa59c;font-size:12px}.staff-page .booking-loading{min-height:100dvh}
.staff-view[data-view="agenda"] .section-title{gap:7px}.copy-access-button{flex:0 0 auto;width:34px;height:34px;margin-left:auto;padding:0;display:grid;place-items:center;border:1px solid rgba(248,182,45,.38);border-radius:50%;background:rgba(248,182,45,.07);color:var(--gold);cursor:pointer}.copy-access-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.copy-access-button:hover{border-color:var(--gold);background:rgba(248,182,45,.14)}.copy-access-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.copy-access-button[hidden]{display:none}
@media(min-width:600px){.staff-page{padding:22px}.staff-shell{border-radius:28px;overflow:hidden;min-height:calc(100dvh - 44px)}.staff-nav{bottom:22px;border-radius:0 0 28px 28px}}
#masterShopSelect{max-width:210px;height:30px;margin-top:4px;padding:0 8px;border:1px solid rgba(248,182,45,.35);border-radius:8px;background:#161817;color:#fff;font-size:11px}
.professional-summary>button{margin-left:auto;border:0;background:transparent;color:var(--gold);font-size:12px;font-weight:800}

/* Perfis vinculados e visão gerencial */
.linked-professional{margin:0 0 22px;padding:12px;display:flex;align-items:center;gap:12px;border:1px solid rgba(248,182,45,.3);border-radius:16px;background:#171919}.linked-professional[hidden]{display:none}.linked-professional img{width:58px;height:58px;border:2px solid var(--gold);border-radius:50%;object-fit:cover}.linked-professional div{display:grid;gap:5px}.linked-professional span{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.15em}.linked-professional strong{font-size:18px}.round-action{width:auto;min-width:52px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:900}.appointment-card{grid-template-columns:56px 1fr auto}.appointment-card button{padding:8px 4px;font-size:11px;font-weight:900}.manager-summary{margin-bottom:20px;display:grid;gap:12px}.manager-summary[hidden]{display:none}.manager-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.manager-metrics article{min-width:0;padding:14px 9px;display:grid;gap:7px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:#181a1a}.manager-metrics span{color:#aaa59c;font-size:8px;font-weight:900;letter-spacing:.08em}.manager-metrics strong{overflow:hidden;color:var(--gold);font-size:15px;text-overflow:ellipsis}.manager-summary>div:last-child{padding:14px;border-radius:14px;background:#141616}.manager-summary h3{margin:0 0 10px;font-size:14px}.manager-revenue-list{display:grid;gap:8px}.manager-revenue-list article{padding:9px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.07)}.manager-revenue-list article:last-child{border-bottom:0}.manager-revenue-list article div{display:grid;gap:3px}.manager-revenue-list span,.manager-revenue-list p{color:#aaa59c;font-size:11px}.manager-revenue-list b{color:var(--gold);font-size:13px;white-space:nowrap}

/* Foto profissional sempre enquadrada como avatar */
.booking-hero{height:260px;display:grid;place-items:center;background:radial-gradient(circle,rgba(248,182,45,.13),transparent 62%)}.booking-hero>img{width:210px;height:210px;border:4px solid var(--gold);border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 14px 40px rgba(0,0,0,.5)}.booking-hero-shade{display:none}.overlap-body{margin-top:0}.professional-choice img,.confirm-person img,.management-card img{border-radius:50%;object-fit:cover}.profile-photo-editor{padding:16px;display:grid;place-items:center;gap:10px;border:1px solid rgba(248,182,45,.25);border-radius:16px;background:#181a1a}.profile-photo-editor>img{width:150px;height:150px;border:4px solid var(--gold);border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 10px 28px rgba(0,0,0,.45)}.profile-photo-editor>p{margin:0;color:#aaa59c;font-size:11px;text-align:center}.profile-photo-editor>div{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px}.photo-action{min-height:44px;padding:0 10px;display:grid!important;place-items:center;border-radius:999px;background:var(--gold);color:#111!important;font-size:12px!important;font-weight:900;cursor:pointer}.photo-action.secondary{border:1px solid rgba(248,182,45,.55);background:transparent;color:var(--gold)!important}.photo-action input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
#professionalProfileFields{display:grid;gap:13px}#professionalProfileFields[hidden]{display:none}#professionalProfileFields>label{display:grid;gap:6px;color:#aaa59c;font-size:12px}

/* Cabeçalho padrão do PWA v20 */
.header-nav-button{min-width:54px;height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(8,9,9,.82);color:#fff;font-size:11px;font-weight:900;backdrop-filter:blur(8px);cursor:pointer}.header-nav-button.exit-button{border-color:rgba(248,182,45,.65);color:var(--gold)}.header-nav-button:disabled{opacity:.65;cursor:wait}.flow-header{position:absolute;top:calc(env(safe-area-inset-top) + 8px);right:12px;left:auto;z-index:40;width:auto;height:42px;padding:0;display:flex;align-items:center;gap:6px;background:transparent;border:0;pointer-events:auto}.flow-header .exit-button{min-width:48px;height:38px;padding:0 12px;border-color:rgba(248,182,45,.65);background:rgba(8,9,9,.82);color:var(--gold);font-size:11px}.professional-summary{padding-right:132px}.staff-shell{position:relative}.staff-header-actions{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:14px;z-index:40;display:flex;gap:6px}.standalone-header{position:fixed;top:calc(env(safe-area-inset-top) + 14px);right:14px;z-index:40;display:flex;gap:6px}
.panel-form .form-help{margin:-6px 0 0;color:#8f8a80;font-size:11px;line-height:1.4}
.header-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(20,21,21,.8);color:#f3efe7;font-size:13px;font-weight:800;letter-spacing:.01em;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.header-nav-button:hover{border-color:rgba(255,255,255,.32);background:rgba(34,35,35,.92)}
.header-nav-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.header-nav-button.back-button::before{content:none}
[data-step="confirm"] .step-body{padding-top:18px}
[data-step="services"] .step-body{padding-top:18px}
[data-step="services"] .linked-professional{padding:16px;gap:16px}
[data-step="services"] .linked-professional img{width:84px;height:84px;flex:none}
[data-step="services"] .linked-professional span{font-size:10px}
[data-step="services"] .linked-professional strong{font-size:22px}
[data-step="confirm"] .step-body h2{margin:0 0 14px}
[data-step="confirm"] .confirmation-card{margin-top:0}
.header-nav-button.exit-button,.flow-header .exit-button{min-width:0;height:38px;padding:0 16px;border-color:rgba(248,182,45,.55);background:rgba(20,21,21,.8);color:var(--gold);font-size:13px}
.header-nav-button.exit-button:hover{border-color:var(--gold);background:rgba(248,182,45,.12)}
.flow-shell{overflow:clip}
.flow-header{position:sticky;top:0;right:auto;left:auto;z-index:40;width:auto;height:auto;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(180deg,rgba(11,12,12,.97),rgba(11,12,12,.86));border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto}
.professional-summary{padding-right:22px}

.action-sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.65)}.action-sheet-panel{width:100%;max-width:520px;max-height:90dvh;overflow-y:auto;padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--panel);border-top:2px solid var(--gold)}.action-sheet-panel h3{margin:0;color:#fff;font-size:19px}.action-sheet-panel p{margin:4px 0 16px;color:var(--muted);font-size:14px}.action-sheet-panel .action-sheet-note{margin:-8px 0 16px;padding:10px 12px;border-radius:12px;background:rgba(248,182,45,.08);color:var(--gold);font-size:13px}.action-sheet-buttons{display:grid;gap:10px}.action-sheet button{width:100%;min-height:50px;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer}.sheet-option{border:1px solid rgba(248,182,45,.45);background:transparent;color:var(--gold)}.sheet-danger{border:1px solid rgba(255,118,111,.55);background:rgba(255,118,111,.08);color:var(--danger)}.action-sheet-close{margin-top:12px;border:0;background:#24221e;color:#fff}.action-sheet button:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}
.header-nav-button[hidden]{display:none}.header-nav-button.home-button{border-color:rgba(248,182,45,.55);color:var(--gold)}.header-nav-button.home-button span{font-size:17px;line-height:1}
.barber-filter{margin:0 -20px 18px;padding:2px 20px 4px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.barber-filter::-webkit-scrollbar{display:none}.barber-filter[hidden]{display:none}.barber-filter button{flex:0 0 auto;min-height:44px;padding:4px 14px 4px 4px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#161818;color:#d8d3ca;font-size:13px;font-weight:800;cursor:pointer}.barber-filter button[aria-pressed="true"]{border-color:var(--gold);background:rgba(248,182,45,.14);color:var(--gold)}.barber-filter button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.filter-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}.filter-avatar.all{display:grid;place-items:center;background:#24221e;color:var(--gold);font-size:15px}.agenda-day{margin:14px 0 2px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#fff;font-size:14px}.agenda-day:first-child{margin-top:0}.agenda-day small{color:var(--muted);font-size:11px;font-weight:700}.day-filter{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:12px;background:rgba(248,182,45,.08);color:var(--gold);font-size:12px;font-weight:800}.day-filter button{min-height:36px;padding:0 12px;border:1px solid rgba(248,182,45,.55);border-radius:999px;background:transparent;color:var(--gold);font-size:12px;font-weight:800;cursor:pointer}.calendar-grid button.today:not(.selected){box-shadow:inset 0 0 0 1px rgba(248,182,45,.6)}
#monthCalendar .calendar-grid button{font-weight:700;transition:background .15s,box-shadow .15s}#monthCalendar .calendar-grid button.has-appt{background:var(--gold);color:#111;font-weight:900}#monthCalendar .calendar-grid button.today:not(.has-appt){box-shadow:inset 0 0 0 2px var(--gold);color:var(--gold);font-weight:900}#monthCalendar .calendar-grid button.today.has-appt{box-shadow:0 0 0 2px #0b0c0c,0 0 0 4px rgba(248,182,45,.55)}#monthCalendar .calendar-grid button.picked{box-shadow:0 0 0 2px #0b0c0c,0 0 0 4px #fff}#monthCalendar .calendar-grid button:focus-visible{outline:2px solid #fff;outline-offset:2px}.calendar-legend{margin-top:12px;display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:11px;font-weight:700}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;border-radius:50%;background:var(--gold)}.calendar-legend i.today{background:transparent;box-shadow:inset 0 0 0 2px var(--gold)}
#monthCalendar .calendar-grid button.has-block{background:#a84d4d;color:#fff;font-weight:900}#monthCalendar .calendar-grid button.has-block.has-appt{box-shadow:inset 0 -4px 0 var(--gold)}.calendar-legend i.blocked{background:#a84d4d}.availability-form{display:grid;gap:12px}.availability-form p{margin:0 0 4px}.availability-choice{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:14px;font-weight:700}.availability-choice input{accent-color:var(--gold)}.availability-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.availability-times label,.availability-reason{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.availability-times input,.availability-reason input{height:46px;padding:0 11px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:#1b1d1d;color:#fff;font:inherit}.availability-list{padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.availability-list h4{margin:10px 0;color:var(--muted);font-size:13px}.availability-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13px}.availability-list button{width:auto;min-height:34px;padding:0 11px;border:1px solid rgba(255,118,111,.55);border-radius:9px;background:transparent;color:var(--danger);font-size:12px}
.staff-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}.staff-nav button[hidden]{display:none}.staff-nav b{display:grid;place-items:center;height:24px}.staff-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.staff-nav button.active svg{stroke-width:2.2;filter:drop-shadow(0 0 6px rgba(248,182,45,.45))}.staff-nav button:focus-visible{outline:2px solid var(--gold);outline-offset:-4px;border-radius:12px}
.billing-hero{margin-bottom:10px;padding:20px 18px;display:grid;gap:6px;border:1px solid rgba(248,182,45,.35);border-radius:18px;background:linear-gradient(140deg,rgba(248,182,45,.2),#151716 65%)}.billing-hero span{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.16em}.billing-hero strong{font-size:32px;font-family:Georgia,serif}.billing-hero small{color:#aaa59c;font-size:12px}.billing-metrics{margin-bottom:12px}.billing-block{margin-bottom:12px;padding:14px;border-radius:14px;background:#141616}.billing-block[hidden]{display:none}.billing-block h3{margin:0 0 12px;font-size:14px}.billing-bars{display:grid;gap:12px}.billing-bar{display:grid;gap:6px}.billing-bar div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.billing-bar div span{color:#aaa59c}.billing-bar b{color:var(--gold);white-space:nowrap}.billing-bar i{display:block;height:7px;border-radius:999px;background:#242626;overflow:hidden}.billing-bar i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9a6a12,var(--gold))}.billing-empty{margin:0;color:#aaa59c;font-size:12px}
.schedule-editor{gap:12px!important}.schedule-days{display:grid;gap:9px}.schedule-day{padding:9px;display:grid;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#191b1b}.schedule-day.off{opacity:.58}.schedule-main,.schedule-lunch{display:grid;grid-template-columns:minmax(82px,1fr) 82px 82px;align-items:end;gap:7px}.schedule-main>label:first-child,.schedule-lunch>label:first-child{min-height:38px;display:flex;align-items:center;gap:7px;color:#eee;font-size:12px;font-weight:800}.schedule-main>label:not(:first-child),.schedule-lunch>label:not(:first-child){display:grid;gap:3px}.schedule-main label span,.schedule-lunch label span{color:#8f8a80;font-size:9px;font-weight:800;text-transform:uppercase}.schedule-day input[type="checkbox"]{width:18px;height:18px;accent-color:var(--gold)}.schedule-day input[type="time"]{width:100%;height:38px;padding:0 5px;font-size:12px}.schedule-day input:disabled{opacity:.35}.schedule-lunch{padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}.schedule-lunch.active{border-top-color:rgba(248,182,45,.22)}.schedule-lunch.active>label:first-child{color:var(--gold)}.schedule-loading{margin:0;color:#aaa59c;font-size:12px}@media(max-width:390px){.schedule-main,.schedule-lunch{grid-template-columns:minmax(76px,1fr) 76px 76px;gap:5px}.schedule-day{padding:8px 6px}.schedule-day input[type="time"]{padding:0 3px;font-size:11px}}

/* Appointment exceptions and client notices v35 */
.pending-client-banner{width:100%;min-height:44px;margin:10px 0;padding:10px 13px;border:1px solid rgba(255,176,45,.55);border-radius:12px;background:rgba(255,176,45,.11);color:var(--gold);font-size:12px;font-weight:900;text-align:left;cursor:pointer}.pending-client-notice{display:block;margin-top:5px;color:#ffbf4a;font-size:11px;font-style:normal;font-weight:900}.day-filter-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.exception-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.exception-form textarea{min-height:100px;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#1b1d1d;color:#fff;font:inherit;resize:vertical}.exception-form textarea:focus{border-color:var(--gold);outline:0}.client-alerts{margin-bottom:16px;padding:14px;border:1px solid rgba(255,176,45,.48);border-radius:16px;background:linear-gradient(135deg,rgba(255,176,45,.15),rgba(35,27,15,.78))}.client-alerts[hidden]{display:none}.client-alerts>strong{display:block;margin-bottom:9px;color:var(--gold);font-size:10px;letter-spacing:.12em}.client-alerts article{display:grid;gap:4px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.client-alerts article:first-of-type{border-top:0;padding-top:0}.client-alerts article:last-child{padding-bottom:0}.client-alerts b{font-size:14px}.client-alerts span{color:#d4cec4;font-size:12px}.client-alerts p{margin:2px 0 0;color:#aaa59c;font-size:12px;line-height:1.4}

/* Android PWA install invitation v36 */
.pwa-install-button{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:900;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(248,182,45,.7);border-radius:999px;background:rgba(13,13,11,.92);color:var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.42);font-size:12px;font-weight:900;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.pwa-install-button[hidden]{display:none}.pwa-install-button span{font-size:17px;line-height:1}.pwa-install-button:active{transform:scale(.97)}.pwa-install-button:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}.pwa-install-button:disabled{opacity:.6}.staff-page .pwa-install-button{bottom:calc(82px + env(safe-area-inset-bottom))}

/* Acesso e recuperação de senha do cliente v37 */
.login-overlay form[hidden]{display:none}.forgot-password-link{min-height:36px;border:0;background:transparent;color:#ffd262;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.forgot-password-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}.password-reset-form{padding:18px;border:1px solid rgba(248,182,45,.32);border-radius:20px;background:rgba(8,8,7,.88);box-shadow:0 16px 45px rgba(0,0,0,.4);backdrop-filter:blur(10px)}.password-reset-form h2{margin:0;color:#fff;font-family:Georgia,serif;font-size:25px}.password-reset-form>p:not(.login-message){margin:0 0 4px;color:#c9c3b9;font-size:13px;line-height:1.4}.password-reset-form .field input{padding:0 16px}.password-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.password-create-row input{min-width:0}.password-create-row button,.inline-form-action{min-height:44px;padding:0 13px;border:1px solid rgba(248,182,45,.55);border-radius:11px;background:rgba(248,182,45,.08);color:var(--gold);font-size:12px;font-weight:900;cursor:pointer}.inline-form-action{width:max-content;margin-top:-5px}.password-create-row button:focus-visible,.inline-form-action:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
