*{box-sizing:border-box}
:root{
  --bg:#06110c;--bg2:#091810;--panel:#0d1e15;--panel2:#11251a;--green:#0b2418;
  --gold:#d2a64c;--gold2:#f0cf7b;--cream:#f3ead8;--muted:#a7a08f;--line:rgba(219,181,93,.18);
  --danger:#d17a71;--success:#83b892;--shadow:0 18px 50px rgba(0,0,0,.28);
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{background:#020704;scroll-behavior:smooth}
body{margin:0;background:#020704;color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%}
.app-shell{width:min(100%,620px);min-height:100vh;margin:auto;background:linear-gradient(180deg,#06110c,#08150e 55%,#050c08);position:relative;padding-bottom:90px;overflow:hidden}
.topbar{height:70px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:rgba(4,12,8,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.04)}
.brand-button{display:flex;align-items:center;gap:9px;background:none;border:0;color:var(--cream);padding:0;text-align:left}
.mini-logo{width:42px;height:42px;object-fit:contain}
.brand-button span{display:flex;flex-direction:column;gap:2px}
.brand-button strong{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.01em}
.brand-button small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9f947d}
.top-profile{width:39px;height:39px;border:1px solid var(--line);background:#0e2117;color:var(--gold2);border-radius:50%;font-weight:800;font-size:11px}
.view{display:none;animation:viewIn .25s ease}.view.active{display:block}
@keyframes viewIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.page-pad{padding:0 18px}

.hero{height:min(74vh,710px);min-height:550px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 47%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(2,9,5,.34) 32%,rgba(3,12,8,.88) 86%,#06110c 100%)}
.hero-content{position:absolute;inset:auto 22px 42px;display:flex;flex-direction:column;align-items:flex-start}
.hero-logo{width:94px;height:94px;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 9px 20px rgba(0,0,0,.4))}
.hero-unit{font-family:var(--serif);font-style:italic;font-size:16px;letter-spacing:.03em;color:#f5ddb0;margin:0 0 8px}
.hero h1{font-family:var(--serif);font-size:clamp(44px,12vw,66px);font-weight:500;line-height:.95;letter-spacing:-.045em;margin:0;max-width:440px;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.hero-welcome{margin:12px 0 0;color:#d4cbb9;font-size:14px}
.gold-button{border:0;background:linear-gradient(135deg,#e2ba63,#bd8b35);color:#102016;border-radius:14px;padding:15px 18px;font-weight:850;box-shadow:0 12px 28px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:center;gap:18px}
.hero-cta{margin-top:22px;min-width:196px;justify-content:space-between}
.home-content{margin-top:-1px}
.home-section{padding:42px 0 4px}
.section-title{margin-bottom:18px}.section-title span,.kicker{display:block;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);font-size:9px;font-weight:900}
.section-title h2,.unit-card h2{font-family:var(--serif);font-weight:500;font-size:31px;letter-spacing:-.03em;margin:5px 0 0}
.next-card{margin-top:22px;border:1px solid rgba(225,183,89,.28);border-radius:22px;padding:20px;background:radial-gradient(circle at 90% 0,rgba(210,166,76,.12),transparent 42%),linear-gradient(145deg,#102219,#0a1710);box-shadow:var(--shadow)}
.next-card.today{border-color:rgba(240,207,123,.62);box-shadow:0 0 0 1px rgba(240,207,123,.1),var(--shadow)}
.next-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.next-head h3{font-family:var(--serif);font-size:26px;font-weight:500;margin:5px 0 0}.next-badge{font-size:9px;font-weight:900;color:var(--gold2);background:rgba(210,166,76,.09);border:1px solid rgba(210,166,76,.22);padding:7px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.1em}
.next-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}
.detail-box{background:rgba(255,255,255,.035);border-radius:13px;padding:11px}.detail-box small{display:block;color:#8d897d;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.detail-box strong{font-size:13px;font-weight:700}
.card-actions{display:flex;gap:8px;margin-top:15px}.card-actions button{flex:1}
.secondary-button,.danger-button,.soft-button{border-radius:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#d7d0c1;font-weight:750;font-size:12px}
.danger-button{color:#e39a92;border-color:rgba(211,122,113,.25)}
.welcome-back{margin-top:22px;border:1px solid rgba(255,255,255,.06);background:#0b1b12;border-radius:20px;padding:20px}
.welcome-back h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:6px 0}.welcome-back p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 15px}

.services-summary-card{border:1px solid rgba(231,195,114,.13);background:linear-gradient(135deg,#102319,#0c1c13);border-radius:22px;padding:18px 17px;box-shadow:var(--shadow)}
.services-summary-card p{margin:0;color:#d9d1c1;font-size:13px;line-height:1.6}
.services-summary-card p strong{color:var(--gold2)}
.services-summary-list{margin:14px 0 0;padding-left:18px;display:grid;gap:8px;color:#bfb6a5;font-size:12px;line-height:1.5}
.services-summary-list li::marker{color:var(--gold)}
.inline-book-button{width:100%;margin-top:16px}


.unit-card{margin:42px 0 26px;padding:25px 20px;border:1px solid rgba(221,179,84,.22);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(196,143,49,.12),transparent 42%),#0d2016;position:relative;overflow:hidden}
.unit-logo-wrap{position:absolute;right:-28px;top:-30px;width:150px;height:150px;opacity:.11}.unit-logo-wrap img{width:100%;height:100%;object-fit:contain}
.unit-card h2{max-width:350px;margin-top:6px}
.unit-info{display:grid;gap:11px;margin:21px 0}.unit-info>div{display:flex;gap:11px;align-items:flex-start}.info-icon{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold)}
.unit-info p{margin:0}.unit-info small{display:block;color:#8e897e;font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}.unit-info strong{font-size:13px;line-height:1.45}
.unit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.outline-button{border:1px solid rgba(219,181,93,.24);color:#e7d7b6;background:rgba(255,255,255,.025);border-radius:13px;padding:12px 10px;text-decoration:none;font-weight:800;font-size:11px;text-align:center}.button-icon{color:var(--gold);margin-right:4px}
.powered{text-align:center;color:#625f56;font-size:10px;padding:10px 0 8px}.powered strong{color:#998260}

.booking-page,.standard-page{padding-top:22px;padding-bottom:28px}
.booking-header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px}
.icon-button{width:38px;height:38px;border:1px solid rgba(255,255,255,.08);background:#0d1d14;color:#dbd2c1;border-radius:12px;font-size:18px}
.booking-header h1{font-family:var(--serif);font-size:27px;font-weight:500;margin:3px 0 0;letter-spacing:-.025em}
.step-counter{font-size:10px;color:#8f887a;font-weight:800}
.progress-track{height:3px;background:#102019;border-radius:4px;margin:17px 0 24px;overflow:hidden}.progress-track div{height:100%;background:linear-gradient(90deg,#b78431,#f0cf7b);transition:width .25s}
.booking-stage{min-height:560px}
.booking-list{display:grid;gap:10px}

.addon-section{margin-top:24px;border-top:1px solid rgba(226,186,99,.14);padding-top:22px}
.addon-heading h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:4px 0 5px}.addon-heading p{margin:0 0 13px;color:#8f887b;font-size:11px;line-height:1.45}
.addon-list{display:grid;gap:9px}.addon-card{display:grid;grid-template-columns:70px 1fr 34px;gap:11px;align-items:center;width:100%;padding:0 11px 0 0;border:1px solid rgba(255,255,255,.07);background:#0b1a12;color:var(--cream);border-radius:16px;overflow:hidden;text-align:left}.addon-card.selected{border-color:rgba(226,186,99,.62);background:#102319}.addon-card img{width:70px;height:70px;object-fit:cover}.addon-info{display:flex;flex-direction:column;gap:2px}.addon-info strong{font-family:var(--serif);font-size:17px;font-weight:600}.addon-info small{font-size:9px;color:#8f887a}.addon-price{font-size:11px;margin-top:2px}.addon-price del{color:#777166}.addon-price b{color:var(--gold2)}.addon-action{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(226,186,99,.35);color:var(--gold2);font-weight:900}.addon-card.selected .addon-action{background:var(--gold);color:#102016}
.booking-total-mini{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.booking-total-mini span{font-size:10px;color:#8f897d;text-transform:uppercase;letter-spacing:.08em}.booking-total-mini strong{color:var(--gold2);font-size:14px}
.choice-service{display:grid;grid-template-columns:76px 1fr 24px;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.065);background:#0b1a12;border-radius:16px;overflow:hidden;color:var(--cream);text-align:left;padding:0 12px 0 0}
.choice-service.selected{border-color:rgba(226,186,99,.65);background:#102319}
.choice-service img{width:76px;height:76px;object-fit:cover}.choice-service h3{font-family:var(--serif);font-size:17px;font-weight:600;margin:0}.choice-service p{margin:6px 0 0;font-size:10px;color:#aaa292}.choice-service p strong{color:var(--gold2);font-size:11px}
.radio-mark{width:19px;height:19px;border:2px solid #857d6f;border-radius:50%;position:relative}.selected .radio-mark{border-color:var(--gold2)}.selected .radio-mark:after{content:"";position:absolute;inset:3px;background:var(--gold2);border-radius:50%}

.pro-choice{display:flex;align-items:center;gap:13px;width:100%;padding:12px;border:1px solid rgba(255,255,255,.07);background:#0b1a12;border-radius:16px;color:var(--cream);text-align:left}.pro-choice.selected{border-color:rgba(226,186,99,.65);background:#102319}
.pro-choice img{width:58px;height:58px;object-fit:cover;object-position:center 24%;border-radius:12px}.pro-choice[data-pro="vinicius"] img{object-position:center 17%;transform:scale(1.08)}.pro-choice strong{font-family:var(--serif);font-size:19px;font-weight:550}.pro-choice .radio-mark{margin-left:auto}

.calendar-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}
.day-button{padding:11px 4px;border:1px solid rgba(255,255,255,.07);background:#0b1a12;color:#cac2b3;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:2px}.day-button small{font-size:8px;text-transform:uppercase;color:#7f7a70}.day-button strong{font-size:16px}.day-button span{font-size:9px}.day-button.selected{background:#c89b45;color:#102016;border-color:#dcb55e}.day-button.selected small{color:#54401e}
.month-label{font-family:var(--serif);font-size:21px;margin:0 0 12px}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-btn{border:1px solid rgba(255,255,255,.07);background:#0b1a12;color:#d5ccbd;border-radius:13px;padding:13px 8px;font-weight:800}.time-btn.selected{background:#c89b45;color:#102016;border-color:#e7c36e}.no-times{padding:24px;border:1px dashed rgba(255,255,255,.12);border-radius:16px;text-align:center;color:#8f897e;font-size:12px;line-height:1.5}

.form-grid{display:grid;gap:13px}.field{display:grid;gap:6px}.field label{font-size:10px;color:#a29a8c;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.field input{width:100%;border:1px solid rgba(255,255,255,.09);background:#0b1a12;color:var(--cream);border-radius:14px;padding:14px 13px;outline:0}.field input:focus{border-color:rgba(226,186,99,.58)}.field-hint{font-size:10px;color:#716e67;line-height:1.45;margin:0}
.known-client{border:1px solid rgba(226,186,99,.18);background:#0d2016;border-radius:18px;padding:18px}.known-client h3{font-family:var(--serif);font-weight:500;font-size:24px;margin:5px 0 8px}.known-client p{font-size:12px;color:#a8a092;margin:0 0 13px}.known-row{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid rgba(255,255,255,.05);font-size:11px}.known-row span{color:#858078}.known-row strong{font-weight:700}

.review-card{border:1px solid rgba(226,186,99,.22);background:#0d2016;border-radius:20px;overflow:hidden}.review-hero{display:grid;grid-template-columns:92px 1fr;gap:13px;align-items:center;padding:13px;border-bottom:1px solid rgba(255,255,255,.05)}.review-hero img{width:92px;height:92px;object-fit:cover;border-radius:13px}.review-hero h3{font-family:var(--serif);font-size:21px;font-weight:550;margin:0}.review-hero p{margin:5px 0 0;color:var(--gold2);font-weight:800;font-size:12px}
.review-lines{padding:5px 16px 13px}.review-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}.review-line:last-child{border-bottom:0}.review-line span{color:#817c72}.review-line strong{text-align:right;font-weight:700}
.stage-actions{display:flex;gap:9px;margin-top:19px}.stage-actions button{flex:1}.continue-btn{width:100%;margin-top:18px}
.text-button{background:none;border:0;color:#bbaa87;text-decoration:underline;text-underline-offset:3px;font-size:11px;padding:10px}

.confirmation{padding:38px 2px;text-align:center}.confirm-seal{width:82px;height:82px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;border:1px solid rgba(226,186,99,.42);background:#102319;color:var(--gold2);font-size:34px}.confirmation h2{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:-.04em;margin:0}.confirmation>p{color:#aaa292;font-size:13px;line-height:1.55;max-width:360px;margin:10px auto 20px}.confirmation .review-card{text-align:left}

.page-heading{padding:9px 0 20px}.page-heading h1{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:-.04em;margin:5px 0}.page-heading p{color:#918b80;font-size:12px;line-height:1.5;margin:0;max-width:430px}
.tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#0a1811;border:1px solid rgba(255,255,255,.06);border-radius:14px;margin-bottom:16px}.tab{border:0;background:transparent;color:#7f7a70;padding:10px;border-radius:10px;font-weight:800;font-size:11px}.tab.active{background:#15281d;color:#e5d7bb}
.appointment-card{background:#0c1c13;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:17px;margin-bottom:11px}.appointment-card.featured{border-color:rgba(226,186,99,.34);background:linear-gradient(145deg,#102319,#0b1911)}
.appt-top{display:flex;justify-content:space-between;gap:10px}.appt-top h3{font-family:var(--serif);font-size:21px;font-weight:550;margin:0}.appt-top p{margin:5px 0 0;color:#9b9487;font-size:11px}.appt-price{font-weight:850;color:var(--gold2);font-size:12px}.appt-pro{display:flex;align-items:center;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.05);font-size:11px}.appt-pro img{width:34px;height:34px;border-radius:9px;object-fit:cover}.appt-actions{display:flex;gap:8px;margin-top:13px}.appt-actions button{flex:1}
.empty-state{border:1px dashed rgba(255,255,255,.11);border-radius:18px;padding:28px 20px;text-align:center}.empty-state h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:0 0 7px}.empty-state p{color:#858078;font-size:12px;line-height:1.5;margin:0 0 16px}

.profile-card{border:1px solid rgba(255,255,255,.07);background:#0c1c13;border-radius:20px;overflow:hidden}.profile-row{padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.profile-row:last-child{border-bottom:0}.profile-row small{display:block;color:#807a70;text-transform:uppercase;letter-spacing:.08em;font-size:8px;margin-bottom:4px}.profile-row strong{font-size:13px}.profile-actions{display:grid;gap:9px;margin-top:15px}.profile-actions button{width:100%}.profile-section{margin-top:30px}.profile-section h3{font-family:var(--serif);font-size:23px;font-weight:500;margin:0 0 12px}.profile-section p{color:#8e887d;font-size:11px;line-height:1.55}
.profile-note{border-left:2px solid rgba(226,186,99,.35);padding:2px 0 2px 12px;color:#938d82;font-size:11px;line-height:1.5}

.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;display:none;align-items:flex-end;justify-content:center;padding:16px}.modal-backdrop.open{display:flex}.modal{width:min(100%,580px);background:#0e2016;border:1px solid rgba(226,186,99,.2);border-radius:22px;padding:21px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.modal h3{font-family:var(--serif);font-size:27px;font-weight:500;margin:0 0 8px}.modal p{color:#9c9588;font-size:12px;line-height:1.5}.modal-actions{display:flex;gap:8px;margin-top:18px}.modal-actions button{flex:1}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);width:min(calc(100% - 32px),570px);background:#ebddbd;color:#112015;padding:13px 15px;border-radius:13px;font-size:12px;font-weight:850;opacity:0;pointer-events:none;transition:.2s;z-index:120;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}

.bottom-nav{position:fixed;z-index:70;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,620px);height:78px;padding:7px 10px max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(4,12,8,.94);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.05)}
.nav-item{border:0;background:transparent;color:#646159;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.nav-item.active{color:var(--gold2)}.nav-glyph{font-size:19px;line-height:1}.nav-item small{font-size:9px;font-weight:800}
.hidden{display:none!important}

@media(min-width:700px){
  body{padding:20px 0}.app-shell{border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.5);min-height:calc(100vh - 40px)}
  .bottom-nav{bottom:20px;border-radius:0 0 28px 28px}.toast{bottom:116px}
  .modal-backdrop{align-items:center}
}

.team-entry{text-align:center;margin:-2px 0 14px}
.team-entry a{font-size:10px;color:#716b60;text-decoration:none;border-bottom:1px solid rgba(210,166,76,.18);padding-bottom:2px}
.team-entry a:active{color:var(--gold)}

/* Barberium v12 — catálogo personalizado */
.choice-service{min-height:76px}
.choice-service>span:nth-child(2){padding:10px 0}
.service-description{display:block;margin-top:4px;color:#aaa292;font-size:10px;line-height:1.35;font-weight:500}
.combo-components{display:block;margin-top:4px;color:#d6c8a5;font-size:9px;line-height:1.3}
.addon-info .service-description{font-size:9px;line-height:1.25;margin-top:1px}
.pro-choice-copy{display:flex;flex-direction:column;gap:4px}
.pro-choice-copy small{font-size:10px;color:#aaa292;font-weight:600}

/* v12.4 — convite e preferências de notificações */
.push-card{margin:20px 0;padding:20px;border:1px solid rgba(211,183,124,.32);border-radius:20px;background:#10241b;text-align:left;color:#f3eee3}
.push-card h3{margin:9px 0;font-size:21px;line-height:1.3}.push-card p{font-size:14px;line-height:1.55;color:#c8cfc8;margin:10px 0}.push-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.push-actions button{white-space:normal;min-height:44px}.push-later{border:0;background:transparent;color:#d6c39a;padding:12px 16px;cursor:pointer;font:inherit}.push-feedback:empty{display:none}.push-actions button:disabled{opacity:.55}
