/*
 * PROJETO: BARBEARIA GUARARAPES
 * V15 — REFINAMENTO VISUAL TOTAL
 * Tela pública, acesso por PIN e gestão em uma identidade única.
 */

:root{
  --v15-bg:#02050a;--v15-surface:#08111d;--v15-surface-2:#0b1726;
  --v15-cyan:#48efff;--v15-blue:#4c8dff;--v15-violet:#8d70ff;--v15-gold:#efc871;
  --v15-text:#f1f8ff;--v15-muted:#899bb1;--v15-line:rgba(82,220,255,.16);
  --v15-shadow:0 24px 70px rgba(0,0,0,.43),0 0 42px rgba(48,207,255,.055);
}
html,body,#root{min-height:100%;background:var(--v15-bg)!important;color-scheme:dark}
body{color:var(--v15-text)!important}

/* O relatório deixa de existir como botão flutuante. O proprietário continua
   acessando o relatório pelo menu interno autenticado. */
#b21-daily-launcher,.b21-daily-launcher{display:none!important}

/* CABEÇALHO PÚBLICO — os dois acessos ficam juntos e alinhados. */
.public-booking-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:14px 18px!important}
.ggr-v15-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;margin-left:auto!important}
.public-booking-header .install-app--client-entry{position:static!important;width:auto!important;margin:0!important;padding:0!important}
.public-booking-header .install-app__button,.public-booking-header .client-access-restricted{min-height:44px!important;padding:0 17px!important;border-radius:13px!important;font-size:9px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important}
.public-booking-header .install-app__button{border:1px solid rgba(73,235,255,.38)!important;color:#061018!important;background:linear-gradient(115deg,#6bf4ff,#56c7ff 52%,#927aff)!important;box-shadow:0 12px 28px rgba(43,193,255,.19),0 0 20px rgba(73,235,255,.09)!important}
.public-booking-header .client-access-restricted{border:1px solid rgba(239,200,113,.3)!important;color:#f4d58d!important;background:linear-gradient(145deg,rgba(25,25,25,.94),rgba(9,14,22,.97))!important;box-shadow:inset 0 1px rgba(255,255,255,.05)!important}
.public-booking-page>.install-app--client-entry{display:none!important}

/* AGENDAMENTO — eixo central, largura controlada e leitura refinada. */
.public-booking-hero{margin-top:20px!important}
.public-booking-progress{width:min(980px,calc(100% - 40px))!important}
.public-booking-stage{width:min(1120px,calc(100% - 40px))!important;padding:clamp(28px,4vw,50px)!important;text-align:center!important;background:radial-gradient(circle at 50% -20%,rgba(72,239,255,.09),transparent 36%),linear-gradient(145deg,rgba(12,24,39,.97),rgba(5,11,19,.985))!important}
.public-booking-stage>.panel__eyebrow{display:block!important;text-align:center!important}
.public-booking-stage>h2,.public-booking-lead{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.public-service-grid,.public-professional-grid,.public-slot-grid,.public-booking-selection,.public-booking-date,.public-slot-head,.public-booking-final-summary{width:100%!important;max-width:980px!important;margin-left:auto!important;margin-right:auto!important}
.public-service-grid{margin-top:28px!important}.public-service-card{text-align:left!important}
.public-professional-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;justify-content:center!important;max-width:900px!important}
.public-professional-card{min-height:250px!important;padding:22px 16px 18px!important;justify-content:flex-start!important;text-align:center!important;border-radius:22px!important}
.public-professional-card .avatar{width:118px!important;height:118px!important;flex:0 0 118px!important;margin:0 auto 16px!important;overflow:hidden!important;border-radius:50%!important;background:#0a1522!important}
.public-professional-card .avatar img,.public-professional-card img.avatar,.public-professional-card img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:50% 20%!important;border-radius:inherit!important;transform:none!important}
.public-professional-card strong{font-size:15px!important;line-height:1.3!important}.public-professional-card small{line-height:1.45!important}
.public-booking-date{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}.public-booking-date input{width:min(100%,420px)!important;text-align:center!important}
.public-slot-head{justify-content:center!important;text-align:center!important}.public-slot-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;justify-content:center!important}
.public-booking-final-summary{text-align:left!important}

/* PIN — nova composição, imagem exclusiva e painel central. */
.login-page{min-height:100vh!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr)!important;background:radial-gradient(circle at 78% 25%,rgba(77,141,255,.12),transparent 34rem),linear-gradient(145deg,#02050a,#07101b 58%,#03070d)!important}
.login-visual{position:relative!important;min-height:100vh!important;overflow:hidden!important;background:#03070c!important}
.login-visual>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(.88) contrast(1.06) brightness(.73)!important}
.login-visual__shade{background:linear-gradient(90deg,rgba(2,5,9,.08),rgba(2,5,9,.2) 55%,rgba(2,5,9,.88))!important}
.login-visual__brand{top:40px!important;left:46px!important;right:46px!important}.login-visual__message{left:46px!important;right:48px!important;bottom:42px!important;max-width:650px!important}
.login-visual__message>span{color:var(--v15-cyan)!important}.login-visual__message h1{max-width:620px!important;color:#fff!important;font-size:clamp(42px,4.5vw,68px)!important;line-height:.98!important}.login-visual__message p{max-width:590px!important;color:#aebccc!important}
.login-panel{min-height:100vh!important;padding:clamp(32px,5vw,74px)!important;display:flex!important;align-items:center!important;justify-content:center!important;background:radial-gradient(circle at 50% 34%,rgba(72,239,255,.075),transparent 28rem),linear-gradient(160deg,#0a1422,#060c15 65%,#04080e)!important;border:0!important}
.login-back-choice{position:absolute!important;top:30px!important;right:34px!important;color:#91a3b8!important}
.login-box{width:min(100%,590px)!important;margin:auto!important;padding:clamp(28px,4vw,46px)!important;border:1px solid rgba(76,222,255,.18)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(11,23,38,.96),rgba(5,11,19,.985))!important;box-shadow:var(--v15-shadow)!important}
.login-box h2{margin:10px 0 8px!important;color:#f5f9ff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(32px,3.2vw,48px)!important;font-weight:500!important;letter-spacing:-.035em!important}.login-box>p{color:var(--v15-muted)!important;line-height:1.65!important}.login-box form{margin-top:24px!important}
.login-box label{color:#b9c9da!important}.login-box label>div{border:1px solid var(--v15-line)!important;border-radius:14px!important;background:#06101b!important}.login-box input{background:transparent!important;color:#f4f9ff!important}.login-box input:focus{box-shadow:none!important}
.login-submit{min-height:54px!important;border-radius:14px!important;color:#051017!important;background:linear-gradient(115deg,#64f3ff,#52bcff 52%,#8d72ff)!important;box-shadow:0 14px 36px rgba(48,195,255,.22)!important}
.install-app--team-entry{margin-top:14px!important}.install-app--team-entry .install-app__button{min-height:48px!important;border-radius:14px!important;background:#081522!important;border-color:rgba(72,239,255,.17)!important;color:#b9c9da!important}

/* GESTÃO — cobre os componentes antigos claros e recompõe a hierarquia. */
.app-shell,.main-area,.content{background:transparent!important;color:var(--v15-text)!important}
.main-area{background:radial-gradient(circle at 85% 0,rgba(75,142,255,.11),transparent 34rem),linear-gradient(145deg,#03070d,#07101b 56%,#03060b)!important}
.topbar{background:rgba(4,10,17,.88)!important;border-bottom:1px solid var(--v15-line)!important;box-shadow:0 16px 40px rgba(0,0,0,.28)!important;backdrop-filter:blur(20px)!important}
.content{max-width:1580px!important;width:100%!important;margin:0 auto!important;padding:28px clamp(16px,3vw,42px) 50px!important}
.panel,.metric,.compact-card,.team-card,.unit-card,.order-card,.settings-card,.data-panel,.inventory-catalog,.inventory-history,.inventory-transfers,.finance-unit-card,.report-unit-card,.client-info-card,.client-own-card{color:var(--v15-text)!important;background:linear-gradient(145deg,rgba(12,23,38,.94),rgba(6,12,21,.975))!important;border:1px solid var(--v15-line)!important;box-shadow:var(--v15-shadow)!important}
.inventory-toolbar,.inventory-row,.inventory-row--head,.inventory-balance,.inventory-unit-picks,.service-table__row,.data-table__row,.commission-row,.finance-cash-row,.security-audit-row,.communication-row{color:#dce8f4!important;background:#07111d!important;border-color:var(--v15-line)!important}
.inventory-toolbar>label,.inventory-toolbar>div>button:not(.button),.inventory-balance,.inventory-unit-picks,.order-payment-method,.order-line-grid,.finance-filters,.report-presets,.security-tabs,.settings-tabs{color:#b7c7d8!important;background:#081522!important;border-color:var(--v15-line)!important}
.inventory-row--head,.data-table__head,.commission-row--head,.security-audit-row--head,.communication-row--head{color:#7f93aa!important;background:#050c15!important}
.inventory-product>i,.metric__icon,.cash-session__icon{color:var(--v15-cyan)!important;background:rgba(72,239,255,.08)!important}.inventory-product small,.inventory-row small,.inventory-balance small,.data-table small,.service-table small{color:var(--v15-muted)!important}
.modal-backdrop{background:rgba(0,3,8,.76)!important;backdrop-filter:blur(11px)!important}.modal{color:var(--v15-text)!important;background:linear-gradient(145deg,#0d1a2b,#06101b)!important;border:1px solid rgba(72,239,255,.2)!important;box-shadow:0 34px 100px rgba(0,0,0,.62)!important}.modal__head,.modal__footer{background:rgba(5,12,21,.72)!important;border-color:var(--v15-line)!important}
.button--primary,.button:not(.button--outline):not(.button--danger):not(.button--soft):not(.button--dark):not(.button--expense){color:#051017!important;background:linear-gradient(115deg,#63f3ff,#52bfff 52%,#8b72ff)!important;border-color:transparent!important;box-shadow:0 12px 28px rgba(45,193,255,.17)!important}

@media(max-width:980px){
  .login-page{grid-template-columns:1fr!important}.login-visual{min-height:330px!important;height:38vh!important}.login-panel{min-height:auto!important;padding:44px 22px 56px!important}
  .login-visual__message{bottom:28px!important}.login-visual__message h1{font-size:42px!important}.login-box{max-width:650px!important}
  .public-booking-header{width:calc(100% - 20px)!important}.public-booking-hero{margin-top:14px!important}
}
@media(max-width:680px){
  .public-booking-header{min-height:82px!important;padding:10px 12px!important}.public-booking-header .brand-logo{max-width:150px!important}
  .ggr-v15-header-actions{gap:6px!important}.public-booking-header .install-app__button,.public-booking-header .client-access-restricted{width:43px!important;min-width:43px!important;padding:0!important;font-size:0!important}
  .public-booking-header .install-app__button svg,.public-booking-header .client-access-restricted svg{width:17px!important;height:17px!important;margin:0!important}
  .public-booking-stage{text-align:center!important}.public-professional-grid{grid-template-columns:1fr 1fr!important}.public-professional-card{min-height:228px!important;padding:18px 8px!important}.public-professional-card .avatar{width:104px!important;height:104px!important;flex-basis:104px!important}
  .public-slot-grid{grid-template-columns:repeat(3,1fr)!important}.public-booking-final-summary{text-align:center!important}
  .login-visual{min-height:260px!important;height:32vh!important}.login-visual__brand{top:24px!important;left:22px!important;right:22px!important}.login-visual__message{left:22px!important;right:22px!important;bottom:22px!important}.login-visual__message>span,.login-visual__message p,.login-visual__message>div{display:none!important}.login-visual__message h1{font-size:34px!important;line-height:1!important}
  .login-panel{padding:42px 14px 40px!important}.login-back-choice{top:15px!important;right:16px!important}.login-box{padding:27px 18px!important;border-radius:22px!important}.login-box h2{font-size:32px!important}
  .content{padding:20px 12px 38px!important}.panel,.metric,.compact-card,.team-card,.unit-card,.order-card,.settings-card{border-radius:17px!important}
}
@media(max-width:390px){.public-professional-grid{grid-template-columns:1fr!important}.public-slot-grid{grid-template-columns:repeat(2,1fr)!important}}

