@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --bg:#0b0907;--bg2:#120e0b;--panel:#17110d;--panel2:#1e1711;
  --gold:#c8934c;--gold2:#f2d09a;--cream:#f5ead7;--muted:#bca98d;
  --red:#8b281d;--green:#8db06c;--line:rgba(200,147,76,.25);
  --shadow:0 24px 70px rgba(0,0,0,.42);--radius:22px;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--cream);font-family:'Oswald',sans-serif;background:
  radial-gradient(circle at 50% -10%,rgba(139,40,29,.25),transparent 28%),
  radial-gradient(circle at 10% 40%,rgba(200,147,76,.08),transparent 22%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.01) 0 1px,transparent 1px 8px),
  var(--bg);min-height:100vh
}
button,input,select{font:inherit}
button,a{tap-highlight-color:transparent}
button{cursor:pointer}
.hidden{display:none!important}
.muted{color:var(--muted)}
.eyebrow{font-size:.72rem;letter-spacing:.18em;color:var(--gold2);font-weight:700}
.badge{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid var(--line);color:var(--gold2);font-size:.72rem;letter-spacing:.12em;background:#110d0a}
.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,25px);opacity:0;pointer-events:none;z-index:99;background:#f0dfc4;color:#23160e;padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:var(--shadow);transition:.25s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.role-gate{min-height:100vh;display:grid;place-items:center;padding:26px;background:linear-gradient(rgba(8,6,5,.78),rgba(8,6,5,.96)),url('assets/logo-higor-barber.png') center/cover}
.gate-card{width:min(100%,660px);padding:32px;border:1px solid rgba(242,208,154,.38);border-radius:30px;background:rgba(10,8,6,.94);box-shadow:0 35px 100px #000;text-align:center;position:relative;overflow:hidden}
.gate-card:before,.gate-card:after{content:'';position:absolute;width:120px;height:120px;border:1px solid var(--gold);opacity:.22;transform:rotate(45deg)}
.gate-card:before{left:-80px;top:-80px}.gate-card:after{right:-80px;bottom:-80px}
.gate-logo{width:150px;height:150px;object-fit:cover;border-radius:50%;margin:0 auto 12px;border:2px solid var(--gold)}
.ornament{color:var(--gold);letter-spacing:.2em;margin:8px 0}
.gate-card h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,7vw,4.6rem);margin:4px 0;line-height:.95}
.gate-copy{color:var(--muted);max-width:480px;margin:14px auto 24px}
.gate-actions{display:grid;gap:12px}
.role-btn{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#1a130f,#100c09);color:var(--cream);padding:16px;text-align:left;display:flex;gap:15px;align-items:center;transition:.2s}
.role-btn:hover{border-color:var(--gold);transform:translateY(-2px)}
.role-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#26190f;color:var(--gold2);font-size:1.6rem;border:1px solid var(--line)}
.role-btn b{display:block;font-size:1.05rem}.role-btn small{display:block;color:var(--muted);margin-top:3px}
.backend-badge{margin-top:16px;font-size:.78rem;color:#9d896c}
.app-shell{min-height:100vh}
.topbar{position:sticky;top:0;z-index:20;background:rgba(10,8,6,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:10px max(16px,calc((100vw - var(--max))/2))}
.brand{border:0;background:none;color:inherit;display:flex;align-items:center;gap:10px;text-align:left;padding:0}
.brand img{width:54px;height:54px;border-radius:13px;object-fit:cover;border:1px solid var(--line)}
.brand small,.brand strong{display:block}.brand small{font-size:.62rem;letter-spacing:.15em;color:var(--muted)}.brand strong{font-family:'Playfair Display',serif;color:var(--gold2);font-size:1.15rem}
.topbar{display:flex;justify-content:space-between;align-items:center}
.top-actions{display:flex;gap:8px}
.icon-link{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#15100c;color:var(--gold2);display:grid;place-items:center;font-size:1.1rem}
.icon-link.whatsapp{color:#a8d28c}
main{width:min(calc(100% - 28px),var(--max));margin:0 auto;padding:22px 0 110px}
.demo-warning{background:#372112;border:1px solid #91612f;color:#f6d8a9;padding:12px 14px;border-radius:14px;margin-bottom:18px;font-size:.88rem}
.screen{display:none}.screen.active{display:block}
.hero{border:1px solid var(--line);border-radius:30px;padding:clamp(24px,5vw,50px);background:linear-gradient(135deg,rgba(139,40,29,.22),rgba(15,11,8,.96));display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;box-shadow:var(--shadow);overflow:hidden}
.hero h2{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,7vw,5.4rem);line-height:.9;margin:16px 0}.hero h2 em{font-style:normal;color:var(--gold2)}
.hero p{color:var(--muted);font-size:1.05rem;max-width:600px}.hero-logo-wrap{display:grid;place-items:center}.hero-logo-wrap img{width:min(100%,360px);aspect-ratio:1;border-radius:28px;object-fit:cover;box-shadow:0 24px 70px #0008}
.primary,.secondary,.small-btn,.back-btn{border:0;border-radius:13px;font-weight:700}
.primary{background:linear-gradient(180deg,#c88b3d,#87541f);color:#fff8ec;padding:12px 18px;box-shadow:0 10px 24px #0005}
.primary:hover{filter:brightness(1.08)}.primary.big{padding:15px 24px;font-size:1.05rem}.primary.full{width:100%;margin-top:15px}
.secondary{padding:11px 16px;background:#1b140f;color:var(--gold2);border:1px solid var(--line)}
.small-btn{padding:7px 10px;background:#1c150f;color:var(--gold2);border:1px solid var(--line)}
.back-btn{width:42px;height:42px;background:#17110d;color:var(--gold2);border:1px solid var(--line)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.quick-card{border:1px solid var(--line);background:linear-gradient(180deg,#18120e,#100c09);color:var(--cream);padding:18px;border-radius:19px;text-align:left;box-shadow:0 14px 35px #0003}
.quick-card span{font-size:1.5rem;color:var(--gold2);display:block;margin-bottom:10px}.quick-card b,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:5px}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-strip div{padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:#110d0a}.info-strip b,.info-strip span{display:block}.info-strip b{color:var(--gold2)}.info-strip span{color:var(--muted);font-size:.86rem}
.section-title{display:flex;gap:14px;align-items:center;margin:12px 0 22px}.section-title h2{font-family:'Playfair Display',serif;font-size:2.4rem;margin:2px 0}
.booking-layout{display:grid;gap:16px}.panel{background:linear-gradient(180deg,#18120e,#110d0a);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 14px 40px #0002}.panel h3{font-family:'Playfair Display',serif;margin:0 0 16px;color:var(--gold2)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#0d0a08;color:var(--cream);text-align:left}.service-card.active{border-color:var(--gold2);background:#24180f;box-shadow:inset 0 0 0 1px rgba(242,208,154,.2)}.service-card b,.service-card small{display:block}.service-card small{color:var(--muted);margin-top:4px}
.field{width:100%;border:1px solid var(--line);border-radius:12px;background:#0e0b08;color:var(--cream);padding:12px 13px;outline:none}.field:focus{border-color:var(--gold)}.field.compact{width:auto;padding:8px 10px}
label{display:grid;gap:7px;color:#dbc8a9;font-size:.9rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.inline-form{display:flex;gap:10px}.inline-form .field{flex:1}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.legend{font-size:.75rem;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:4px}
.slots-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.slot{padding:11px 8px;border-radius:11px;border:1px solid var(--line);background:#0f0c09;color:#e9d8bb;font-weight:700}.slot.active{background:#70471d;border-color:var(--gold2)}.slot:disabled{opacity:.32;text-decoration:line-through;cursor:not-allowed}
.hint{font-size:.82rem;color:var(--muted);margin-top:9px}.booking-summary{margin-top:15px;border-left:3px solid var(--gold);padding:12px 14px;background:#21170f;color:#e6d3b6;border-radius:0 12px 12px 0}
.stack{display:grid;gap:12px;margin-top:14px}.booking-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);background:#15100c;border-radius:16px}.booking-card b,.booking-card span{display:block}.booking-card span{color:var(--muted);font-size:.86rem}.status{display:inline-block!important;width:max-content;padding:5px 8px;border-radius:999px;font-size:.7rem!important;text-transform:uppercase;letter-spacing:.08em}.status.pending{background:#3c2a12;color:#f1cd88}.status.confirmed{background:#20341b;color:#bde3a8}.status.cancelled{background:#371816;color:#e6a5a0}
.chat-shell{display:grid;gap:14px}.chat-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.chat-top b,.chat-top small{display:block}.chat-top small{color:var(--muted);margin-top:2px}.online-dot{color:#99c67e;font-size:.78rem}
.messages{height:360px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px 0}.message{max-width:78%;padding:10px 12px;border-radius:14px}.message.customer{align-self:flex-end;background:#6d451e}.message.representative{align-self:flex-start;background:#24201b;border:1px solid var(--line)}.message small{display:block;opacity:.65;font-size:.68rem;margin-top:5px}.chat-input{display:flex;gap:8px}.chat-input .field{flex:1}.contact-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#100c09}
.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:19;width:min(calc(100% - 24px),720px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(14,10,8,.94);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:19px;padding:7px;box-shadow:0 20px 60px #000}
.bottom-nav button{border:0;background:none;color:#9f8c70;padding:9px 4px;border-radius:12px;font-size:.72rem}.bottom-nav span{display:block;font-size:1.1rem;margin-bottom:3px}.bottom-nav button.active{background:#25180f;color:var(--gold2)}
.admin-login{min-height:70vh;display:grid;place-items:center}.login-card{width:min(100%,440px);background:#15100c;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);display:grid;gap:13px;text-align:center}.login-card img{width:120px;height:120px;object-fit:cover;border-radius:50%;margin:auto;border:1px solid var(--gold)}.login-card h2{font-family:'Playfair Display',serif;font-size:2rem;margin:0}.login-card p{color:var(--muted);margin:0}
.demo-credentials{padding:11px;background:#342112;border:1px solid #80592e;border-radius:12px;color:#f0d3a5;text-align:left;font-size:.82rem}.demo-credentials span{display:block}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 20px}.admin-header h2{font-family:'Playfair Display',serif;font-size:2.3rem;margin:3px 0}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.admin-tabs button{border:1px solid var(--line);background:#100c09;color:#baa88d;padding:10px 16px;border-radius:12px;white-space:nowrap}.admin-tabs button.active{background:#291a10;color:var(--gold2);border-color:var(--gold)}
.admin-tab{display:none}.admin-tab.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.metric{padding:18px;border-radius:17px;background:#15100c;border:1px solid var(--line)}.metric span,.metric small,.metric b{display:block}.metric span,.metric small{color:var(--muted)}.metric b{font-family:'Playfair Display',serif;color:var(--gold2);font-size:2.3rem;line-height:1;margin:8px 0}
.admin-booking-actions{display:flex;gap:7px;flex-wrap:wrap}.danger{background:#421c18!important;color:#f1b4ae!important;border-color:#6e2a25!important}
.admin-chat-grid{display:grid;grid-template-columns:340px 1fr;gap:14px}.conversation-list{display:grid;gap:8px;max-height:520px;overflow:auto}.conversation{padding:12px;border:1px solid var(--line);border-radius:12px;background:#100c09;color:var(--cream);text-align:left}.conversation.active{border-color:var(--gold);background:#24180f}.conversation b,.conversation span{display:block}.conversation span{color:var(--muted);font-size:.8rem}
.empty-state,.empty{color:var(--muted);padding:20px;text-align:center}.admin-chat-room{min-height:500px}
.settings-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.settings-grid .panel{display:grid;gap:13px}.schedule-editor{display:grid;gap:9px}.schedule-row{display:grid;grid-template-columns:110px 100px 1fr 1fr;gap:8px;align-items:center;padding:9px;border:1px solid rgba(200,147,76,.14);border-radius:12px}.schedule-row strong{color:#e2ceb0}.toggle{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.schedule-row input[type=time]{min-width:0}.save-bar{position:sticky;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:13px 16px;background:rgba(21,16,12,.95);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
@media(max-width:900px){.hero,.quick-grid,.services-grid,.info-strip,.settings-grid,.admin-chat-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero-logo-wrap{display:none}.slots-grid{grid-template-columns:repeat(4,1fr)}.schedule-row{grid-template-columns:90px 90px 1fr 1fr}}
@media(max-width:640px){main{width:min(calc(100% - 20px),var(--max));padding-top:14px}.topbar{padding:8px 10px}.brand img{width:46px;height:46px}.brand strong{font-size:1rem}.hero{padding:24px;border-radius:22px}.hero h2{font-size:2.65rem}.quick-grid,.services-grid,.info-strip,.form-grid,.metric-grid,.settings-grid,.admin-chat-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(3,1fr)}.section-title h2{font-size:2rem}.inline-form,.chat-input,.contact-box,.admin-header,.save-bar{align-items:stretch;flex-direction:column}.panel{padding:16px}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row strong{grid-column:1/-1}.bottom-nav{bottom:8px}.booking-card{grid-template-columns:1fr}.admin-booking-actions{justify-content:flex-start}}


/* ----- Planos integrados ao aplicativo ----- */
.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.secondary.big{padding:15px 24px;font-size:1.05rem}
.featured-quick{border-color:rgba(242,208,154,.48);background:linear-gradient(180deg,#2b1b11,#15100c)}
.plans-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.plans-intro h3{font-size:1.8rem;margin:10px 0 6px}
.plans-intro p{margin:0;max-width:720px}
.customer-plans-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.customer-plan-card{overflow:hidden;border-radius:23px;border:1px solid var(--line);background:linear-gradient(180deg,#19120e,#100c09);box-shadow:var(--shadow)}
.customer-plan-card.vip-card{border-color:rgba(242,208,154,.5)}
.plan-image-wrap{position:relative;background:#070605}
.plan-image-wrap img{width:100%;aspect-ratio:1/1;object-fit:cover}
.plan-chip{position:absolute;left:14px;bottom:14px;background:rgba(10,8,6,.9);border:1px solid var(--gold);color:var(--gold2);padding:7px 11px;border-radius:999px;font-size:.7rem;letter-spacing:.12em;font-weight:700}
.vip-chip{background:rgba(91,30,21,.92)}
.customer-plan-body{padding:22px}
.customer-plan-body h3{font-family:'Playfair Display',serif;font-size:1.9rem;line-height:1.08;margin:7px 0 10px}
.customer-plan-body>p{color:var(--muted);margin:0 0 15px}
.plan-price-line{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:15px 0 4px}
.plan-price-line strong{font-family:'Playfair Display',serif;font-size:3rem;color:var(--gold2);line-height:1}
.plan-price-line small{color:var(--muted);margin-bottom:5px}
.plan-old-price{text-decoration:line-through;color:#8f7e67;font-size:.88rem;margin-bottom:6px}
.plan-economy{display:inline-block;border:1px solid rgba(141,176,108,.25);background:rgba(141,176,108,.08);color:#cce7b8;padding:6px 9px;border-radius:999px;font-size:.78rem}
.plan-features{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.plan-features li{color:#dfccb0;display:flex;gap:8px}
.plan-features li:before{content:'✓';color:#9cc97d;font-weight:700}
.plan-actions-row{display:flex;gap:9px;flex-wrap:wrap}
.plan-actions-row>a,.plan-actions-row>button{flex:1;min-width:180px;text-align:center}
.loyalty-app-card{display:grid;grid-template-columns:.92fr 1.08fr;margin-top:18px;border:1px solid var(--line);border-radius:23px;overflow:hidden;background:linear-gradient(135deg,#18110d,#0f0b08);box-shadow:var(--shadow)}
.loyalty-app-image img{width:100%;height:100%;object-fit:cover}
.loyalty-app-copy{padding:28px;align-self:center}
.loyalty-app-copy h3{font-family:'Playfair Display',serif;font-size:2.2rem;margin:10px 0}
.loyalty-app-copy p{color:var(--muted)}
.loyalty-big{font-size:1.4rem;color:#e7d2b0;margin:12px 0}
.loyalty-big strong{display:block;font-family:'Playfair Display',serif;font-size:2.5rem;color:var(--gold2)}
.plan-rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.mini-rule{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(200,147,76,.12)}
.mini-rule:last-child{border-bottom:0}
.mini-rule b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#2a1a10;color:var(--gold2);flex:0 0 auto}
.mini-rule span{color:#dbc7a8}
.payments-app{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}
.payments-app span{padding:9px 13px;border:1px solid var(--line);border-radius:10px;color:var(--gold2);background:#0e0b08;font-weight:700}
.full-link{display:block;text-align:center;margin-top:15px}

@media(max-width:900px){
  .customer-plans-grid,.loyalty-app-card,.plan-rules-grid{grid-template-columns:1fr}
  .loyalty-app-image img{aspect-ratio:1/1}
  .plans-intro{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .bottom-nav{grid-template-columns:repeat(5,1fr);padding:6px}
  .bottom-nav button{font-size:.63rem;padding:8px 2px}
  .bottom-nav span{font-size:1rem}
  .plan-price-line strong{font-size:2.6rem}
  .customer-plan-body{padding:17px}
}
