:root{--barber-accent:#b78a45}body{min-height:100vh}.navbar-brand{letter-spacing:.04em}.card{border-radius:1rem}.stat-card{border:0;border-left:4px solid var(--barber-accent)}.table>tbody>tr{vertical-align:middle}.login-bg{background:radial-gradient(circle at top,#3c3c3c,#111)}.login-card{width:min(100%,430px)}.form-label{font-weight:600}.badge{font-weight:600}.money{font-variant-numeric:tabular-nums}.print-only{display:none}@media print{nav,.no-print,.btn,form{display:none!important}.container-fluid{padding:0!important}.card{box-shadow:none!important}.print-only{display:block}}
.booking-body{background:#f4f1eb;color:#221f1a}.booking-nav{background:#171512;box-shadow:0 2px 18px #0003}.booking-btn{background:#c79a50;border-color:#c79a50;color:#171512;font-weight:700}.booking-btn:hover{background:#d9ad64;border-color:#d9ad64;color:#000}.booking-hero{color:#fff;background:linear-gradient(115deg,#171512 15%,#31291f 100%);border-bottom:4px solid #c79a50}.booking-kicker{color:#b78a45;font-size:.76rem;font-weight:800;letter-spacing:.18em;margin-bottom:.45rem}.booking-trust{display:inline-block;text-align:left;color:#ddd4c8}.booking-section{background:#fff}.step-title{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}.step-title>span{display:grid;place-items:center;flex:0 0 2.25rem;height:2.25rem;border-radius:50%;background:#171512;color:#fff;font-weight:800}.step-title h2{font-size:1.35rem;margin:0}.step-title p{color:#6d665d;margin:0}.barber-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1rem}.barber-card{position:relative;border:2px solid #e7e1d7;background:#fff;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:.2s}.barber-card:hover,.barber-card.selected{border-color:#b78a45;transform:translateY(-2px);box-shadow:0 8px 22px #5c43221a}.barber-card img,.barber-avatar{width:92px;height:92px;border-radius:50%;object-fit:cover}.barber-avatar{display:grid;place-items:center;background:#221f1a;color:#c79a50;font-size:2.1rem}.barber-card small{color:#766e64}.selection-check{display:none;position:absolute;right:.65rem;top:.65rem;background:#b78a45;color:#fff;border-radius:50%;width:1.45rem;height:1.45rem}.barber-card.selected .selection-check{display:grid;place-items:center}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.service-card{position:relative;border:2px solid #e7e1d7;border-radius:.85rem;padding:1rem;cursor:pointer;background:#fff}.service-card:hover,.service-card.selected{border-color:#b78a45;background:#fffaf2}.service-card input{position:absolute;opacity:0;pointer-events:none}.service-content{display:flex;flex-direction:column;padding-right:2rem}.service-content small{color:#766e64;min-height:2.6em}.service-add{position:absolute;right:1rem;top:1rem;font-size:1.4rem}.service-card.selected .service-add{color:#b78a45;transform:rotate(45deg)}.date-strip{display:flex;gap:.55rem;overflow-x:auto;padding:.2rem .1rem .8rem}.date-card{flex:0 0 70px;border:1px solid #ded6ca;background:#fff;border-radius:.75rem;padding:.55rem;display:flex;flex-direction:column;align-items:center}.date-card strong{font-size:1.35rem}.date-card small,.date-card span{color:#766e64}.date-card.selected{background:#221f1a;color:#fff;border-color:#221f1a}.date-card.selected small,.date-card.selected span{color:#d8c8b1}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.6rem}.slot-button{border:1px solid #b78a45;border-radius:.65rem;background:#fffaf2;color:#5e451e;font-weight:700;padding:.65rem}.slot-button:hover,.slot-button.selected{background:#b78a45;color:#fff}.cart-card{top:5.5rem}.cart-items{display:flex;flex-direction:column;gap:.55rem}.cart-row{display:flex;justify-content:space-between;gap:1rem;font-size:.93rem}.booking-summary{background:#f4f1eb;border-radius:.75rem;padding:.85rem;display:grid;gap:.65rem}.booking-summary div{display:flex;flex-direction:column}.booking-summary small{color:#766e64}.auth-public-card{max-width:600px}.confirmation-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;background:#f4f1eb;padding:1rem;border-radius:.8rem}.confirmation-panel div{display:flex;flex-direction:column}.confirmation-panel small{color:#766e64}.booking-status{background:#221f1a}.booking-footer{background:#171512;color:#bdb4a8}@media(max-width:767px){.booking-hero .display-5{font-size:2rem}.confirmation-panel{grid-template-columns:1fr}.cart-card{position:static!important}.barber-grid{grid-template-columns:repeat(2,1fr)}.barber-card img,.barber-avatar{width:72px;height:72px}}
.whatsapp-actions{min-width:220px}.whatsapp-actions form{display:inline-flex}

/* Filas alternadas con la paleta cálida de BarberSoft. */
.table>thead>tr>*{
  --bs-table-bg:#2b261f;
  --bs-table-color:#fff8ec;
  background-color:#2b261f;
  color:#fff8ec;
  border-bottom:3px solid var(--barber-accent);
}
.table>thead>tr>*>a,
.table>thead>tr>*>a.link-dark{
  color:#fff8ec!important;
}
.table>thead>tr>*>a:hover{
  color:#d9ad64!important;
}
.table>tbody>tr:nth-of-type(odd)>*{
  --bs-table-bg:#fff;
  --bs-table-bg-type:#fff;
  background-color:#fff;
}
.table>tbody>tr:nth-of-type(even)>*{
  --bs-table-bg:#faf5ec;
  --bs-table-bg-type:#faf5ec;
  background-color:#faf5ec;
}
.table.table-hover>tbody>tr:hover>*{
  --bs-table-bg:#f2e5d0;
  --bs-table-bg-state:#f2e5d0;
  background-color:#f2e5d0;
}

/* Tema administrativo SaaS Ejecutivo */
:root{
  --admin-primary:#5369df;
  --admin-primary-dark:#4055c8;
  --admin-primary-soft:#eef1ff;
  --admin-sidebar:#111a2e;
  --admin-sidebar-active:#263653;
  --admin-bg:#f5f7fb;
  --admin-surface:#ffffff;
  --admin-text:#20283a;
  --admin-muted:#788195;
  --admin-line:#e6e9f1;
  --admin-success:#208568;
}
.admin-body{margin:0;background:var(--admin-bg);color:var(--admin-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{--bs-offcanvas-width:248px;flex:0 0 248px;width:248px;background:var(--admin-sidebar);color:#fff;border:0!important}
.admin-sidebar-inner{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 14px 18px;overflow-y:auto}
.admin-sidebar-mobile-header{background:var(--admin-sidebar);border-bottom:1px solid #ffffff17}
.admin-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:1.08rem;font-weight:700;letter-spacing:.01em}
.admin-brand:hover{color:#fff}
.admin-brand-desktop{padding:0 10px 26px}
.admin-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#657af0,#4258d6);color:#fff;font-size:.78rem;box-shadow:0 7px 18px #5369df50}
.admin-nav-label{padding:0 12px 9px;color:#75819a;font-size:.66rem;font-weight:700;letter-spacing:.13em}
.admin-nav{display:grid;gap:4px}
.admin-nav-link{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:#9da8bd;text-decoration:none;font-size:.91rem;transition:background .18s,color .18s,transform .18s}
.admin-nav-link:hover{color:#fff;background:#ffffff0b;transform:translateX(2px)}
.admin-nav-link.active{color:#fff;background:var(--admin-sidebar-active);box-shadow:inset 3px 0 0 #6f82ef}
.admin-nav-icon{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:8px;background:#ffffff0b;color:#8e9ab1;font-size:.62rem;font-weight:800;letter-spacing:.04em}
.admin-nav-link.active .admin-nav-icon{background:#5369df2e;color:#afbbff}
.admin-profile{display:flex;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;border-top:1px solid #ffffff13}
.admin-avatar,.admin-top-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#263653;color:#dce2f5;font-weight:700}
.admin-profile-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.25}
.admin-profile-copy strong{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}
.admin-profile-copy small{color:#8490a7;font-size:.72rem}
.admin-logout{border:0;background:transparent;color:#8d99ae;font-size:1.25rem;transition:color .18s}
.admin-logout:hover{color:#fff}
.admin-workspace{display:flex;flex:1;min-width:0;flex-direction:column}
.admin-topbar{position:sticky;top:0;z-index:1020;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:10px 28px;border-bottom:1px solid var(--admin-line);background:#fffffff2;backdrop-filter:blur(12px)}
.admin-topbar-title{display:flex;min-width:0;flex-direction:column;line-height:1.2}
.admin-topbar-title small{color:var(--admin-muted);font-size:.7rem}
.admin-topbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}
.admin-topbar-actions{display:flex;align-items:center;gap:14px}
.admin-date{color:var(--admin-muted);font-size:.82rem}
.admin-public-link{padding:8px 11px;border:1px solid var(--admin-line);border-radius:9px;color:#485268;text-decoration:none;font-size:.78rem;font-weight:600;background:#fff}
.admin-public-link:hover{border-color:#bfc7e6;color:var(--admin-primary)}
.admin-top-avatar{width:34px;height:34px;background:var(--admin-primary-soft);color:var(--admin-primary);font-size:.78rem}
.admin-menu-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--admin-line);border-radius:9px;background:#fff;color:var(--admin-text)}
.admin-content{width:100%;max-width:1640px;margin:0 auto;padding:28px}
.admin-alert{border:0;border-radius:11px;box-shadow:0 4px 14px #27314d0a}
.admin-body h1,.admin-body .h1{font-size:1.55rem;font-weight:700;letter-spacing:-.02em}
.admin-body h2,.admin-body .h2{letter-spacing:-.015em}
.admin-body .h3{font-size:1.45rem;font-weight:700;letter-spacing:-.02em}
.admin-body .text-secondary{color:var(--admin-muted)!important}
.admin-body .card{border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-surface);box-shadow:0 8px 24px #28334d0a!important}
.admin-body .card-header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:14px 17px;border-bottom:1px solid var(--admin-line);border-radius:13px 13px 0 0!important;background:#fff!important}
.admin-body .card-header strong{font-size:.96rem}
.admin-body .card-header small{display:block;margin-top:2px;color:var(--admin-muted);font-size:.72rem;font-weight:400}
.admin-body .card-header a{color:var(--admin-primary);text-decoration:none;font-size:.8rem;font-weight:600}
.admin-body .card-body{padding:20px}
.admin-body .btn{border-radius:9px;font-weight:600}
.admin-body .btn-primary,.admin-body .btn-dark{--bs-btn-bg:var(--admin-primary);--bs-btn-border-color:var(--admin-primary);--bs-btn-hover-bg:var(--admin-primary-dark);--bs-btn-hover-border-color:var(--admin-primary-dark);--bs-btn-active-bg:var(--admin-primary-dark);--bs-btn-active-border-color:var(--admin-primary-dark);color:#fff}
.admin-body .btn-outline-dark{--bs-btn-color:#465069;--bs-btn-border-color:#cfd5e3;--bs-btn-hover-bg:var(--admin-primary-soft);--bs-btn-hover-border-color:#b8c2ed;--bs-btn-hover-color:var(--admin-primary)}
.admin-body .form-label{margin-bottom:.38rem;color:#3b455b;font-size:.82rem;font-weight:600}
.admin-body .form-control,.admin-body .form-select{min-height:42px;border-color:#dce1eb;border-radius:9px;color:var(--admin-text);background-color:#fff}
.admin-body .form-control:focus,.admin-body .form-select:focus{border-color:#9baaf5;box-shadow:0 0 0 .2rem #5369df1c}
.admin-body .form-check-input:checked{border-color:var(--admin-primary);background-color:var(--admin-primary)}
.admin-body .table{--bs-table-color:var(--admin-text);font-size:.86rem}
.admin-body .table>thead>tr>*{--bs-table-bg:#f3f5fa;--bs-table-color:#657087;padding:12px 14px;border-bottom:1px solid var(--admin-line);background:#f3f5fa;color:#657087;font-size:.7rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.admin-body .table>thead>tr>*>a,.admin-body .table>thead>tr>*>a.link-dark{color:#657087!important}
.admin-body .table>thead>tr>*>a:hover{color:var(--admin-primary)!important}
.admin-body .table>tbody>tr:nth-of-type(odd)>*,.admin-body .table>tbody>tr:nth-of-type(even)>*{--bs-table-bg:#fff;--bs-table-bg-type:#fff;padding:13px 14px;border-bottom-color:#edf0f5;background:#fff}
.admin-body .table.table-hover>tbody>tr:hover>*{--bs-table-bg:#f8f9fd;--bs-table-bg-state:#f8f9fd;background:#f8f9fd}
.admin-body .badge{padding:.48em .7em;border-radius:999px;font-size:.7rem}
.admin-body .list-group-item{border-color:var(--admin-line)}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.page-heading h1{margin:.22rem 0 .3rem}
.page-heading p{margin:0;color:var(--admin-muted);font-size:.9rem}
.page-eyebrow{color:var(--admin-primary);font-size:.65rem;font-weight:800;letter-spacing:.11em}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.metric-card{padding:18px;border:1px solid var(--admin-line);border-radius:13px;background:#fff;box-shadow:0 8px 24px #28334d08}
.metric-head{display:flex;align-items:center;justify-content:space-between;color:var(--admin-muted);font-size:.79rem}
.metric-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:.62rem;font-weight:800}
.metric-icon-blue{background:#eef1ff;color:#5369df}.metric-icon-green{background:#e9f7f2;color:#208568}.metric-icon-violet{background:#f2edff;color:#7a5cc8}.metric-icon-amber{background:#fff3df;color:#ae6f16}
.metric-card>strong{display:block;margin:8px 0 2px;font-size:1.55rem;letter-spacing:-.025em}
.metric-card>small{color:var(--admin-success);font-size:.72rem}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,.8fr);gap:18px}
.dashboard-panel{overflow:hidden}
.table-time{color:var(--admin-primary)!important;font-weight:700;font-variant-numeric:tabular-nums}
.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:650}
.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status-success{background:#e8f6f1;color:#19775d}.status-warning{background:#fff4dd;color:#9b6919}.status-danger{background:#fdeaea;color:#b14646}
.empty-state{padding:48px!important;text-align:center;color:var(--admin-muted)!important}
.summary-panel{min-height:355px}
.summary-list{display:grid;padding:7px 18px}
.summary-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--admin-line);font-size:.83rem}
.summary-list span{display:flex;align-items:center;color:#5e687c}.summary-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%}
.summary-progress{padding:14px 18px}.summary-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;color:#667086;font-size:.77rem}.summary-progress .progress{height:7px;background:#eef0f5}.summary-progress .progress-bar{background:var(--admin-primary)}
.monthly-total{display:flex;align-items:center;justify-content:space-between;margin:6px 18px 18px;padding:15px;border-radius:10px;background:var(--admin-primary-soft);color:#4c5a78;font-size:.8rem}.monthly-total strong{color:var(--admin-primary);font-size:1rem}
.login-bg{background:linear-gradient(135deg,#10192d 0%,#17243f 55%,#3048a0 145%)}
.login-bg:before{content:"BS";position:fixed;right:4vw;bottom:-12vh;color:#ffffff06;font-size:45vw;font-weight:800;line-height:1}
.login-card{border-radius:18px!important;box-shadow:0 30px 80px #050b1d66!important}
.guest-body .login-card .btn-dark{background:var(--admin-primary);border-color:var(--admin-primary)}
.guest-body .login-card a{color:var(--admin-primary)}
@media(max-width:1199.98px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){.admin-sidebar-mobile-header{display:none}.admin-sidebar{position:relative!important;visibility:visible!important;transform:none!important}}
@media(max-width:991.98px){.admin-sidebar-inner{height:calc(100vh - 65px)}.admin-brand-desktop{display:none}.admin-content{padding:22px}.admin-topbar{padding:10px 20px}}
@media(max-width:767.98px){.admin-topbar{min-height:62px;padding:8px 14px}.admin-public-link{display:none}.admin-content{padding:18px 12px}.dashboard-metrics,.dashboard-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .btn{width:100%}.admin-body .table{font-size:.8rem}.admin-body .card-body{padding:16px}}
@media print{.admin-sidebar,.admin-topbar{display:none!important}.admin-content{max-width:none;padding:0}.admin-workspace{display:block}}

/* Portal público SaaS Ejecutivo */
.public-saas{--public-primary:#5369df;--public-primary-dark:#4055c8;--public-primary-soft:#eef1ff;--public-bg:#f5f7fb;--public-surface:#fff;--public-text:#20283a;--public-muted:#758096;--public-line:#e4e8f1;--public-success:#238269;margin:0;background:var(--public-bg);color:var(--public-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
.public-saas .booking-nav{min-height:66px;border-bottom:1px solid var(--public-line);background:#fffffff3;box-shadow:none;backdrop-filter:blur(12px)}
.booking-brand{display:flex;align-items:center;gap:10px;color:var(--public-text)!important;font-size:1rem;font-weight:700;letter-spacing:0}
.booking-logo{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#657af0,#4258d6);color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 6px 16px #5369df35}
.public-saas .booking-nav .nav-link{color:#687287;font-size:.86rem;font-weight:500}
.public-saas .booking-nav .nav-link:hover{color:var(--public-primary)}
.public-saas .booking-staff-link{margin-left:6px;color:#9aa2b2!important;font-size:.74rem!important}
.booking-user{color:var(--public-muted);font-size:.82rem}
.public-outline-btn{border:1px solid var(--public-line);border-radius:9px;color:#4d576d;background:#fff;font-weight:600}
.public-outline-btn:hover{border-color:#b8c2ed;color:var(--public-primary);background:var(--public-primary-soft)}
.public-saas .booking-btn{border-color:var(--public-primary);border-radius:9px;background:var(--public-primary);color:#fff;font-weight:650}
.public-saas .booking-btn:hover,.public-saas .booking-btn:focus{border-color:var(--public-primary-dark);background:var(--public-primary-dark);color:#fff}
.public-saas .booking-btn:disabled{border-color:#aab3d9;background:#aab3d9;color:#fff}
.booking-menu{border-color:var(--public-line)}
.booking-hero{border-bottom:0;color:var(--public-text);background:linear-gradient(112deg,#eef1ff 0%,#f7f8ff 58%,#fff 100%)}
.booking-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:38px;padding-bottom:38px}
.booking-hero h1{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.035em}
.booking-hero p{margin:0;color:var(--public-muted);font-size:1rem}
.public-saas .booking-kicker{margin-bottom:7px;color:var(--public-primary);font-size:.67rem;font-weight:800;letter-spacing:.14em}
.public-saas .booking-trust{display:grid;gap:8px;min-width:260px;padding:16px 18px;border:1px solid var(--public-line);border-radius:13px;background:#fff;color:var(--public-muted);font-size:.78rem;box-shadow:0 10px 30px #26325209}
.booking-trust span{display:flex;align-items:center;gap:8px}
.booking-trust i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e8f6f1;color:var(--public-success);font-style:normal;font-size:.68rem}
.booking-progress-wrap{border-bottom:1px solid var(--public-line);background:#fff}
.booking-progress{display:flex;align-items:center;justify-content:center;padding:15px 0;color:#8b94a6;font-size:.75rem}
.booking-progress span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.booking-progress b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f0f2f8;color:#778197;font-size:.68rem}
.booking-progress span.active{color:var(--public-text);font-weight:650}.booking-progress span.active b{background:var(--public-primary);color:#fff}
.booking-progress>i{width:72px;height:1px;margin:0 12px;background:var(--public-line)}
.booking-container{padding-top:22px;padding-bottom:34px}
.public-saas .booking-section,.public-saas .cart-card{overflow:hidden;border:1px solid var(--public-line);border-radius:14px;background:var(--public-surface);box-shadow:0 8px 24px #28334d08}
.booking-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--public-line)}
.booking-section-head h2{margin:0 0 2px;font-size:1rem;font-weight:700}.booking-section-head p{margin:0;color:var(--public-muted);font-size:.76rem}.booking-section-head>span{color:var(--public-muted);font-size:.7rem;white-space:nowrap}
.public-saas .barber-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px}
.public-saas .barber-card{min-height:145px;padding:13px 9px;border:1px solid var(--public-line);border-radius:11px;background:#f9faff;color:var(--public-text)}
.public-saas .barber-card:hover,.public-saas .barber-card.selected{border-color:var(--public-primary);background:var(--public-primary-soft);box-shadow:none;transform:translateY(-1px)}
.public-saas .barber-card img,.public-saas .barber-avatar{width:64px;height:64px}
.public-saas .barber-avatar{background:linear-gradient(145deg,#dfe5f5,#b9c5e1);color:#34405a;font-size:1.1rem}
.public-saas .barber-card strong{margin-top:3px;font-size:.82rem}.public-saas .barber-card small{color:var(--public-muted);font-size:.68rem}
.public-saas .selection-check{right:.55rem;top:.55rem;width:1.25rem;height:1.25rem;background:var(--public-primary);font-size:.68rem}
.public-saas .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}
.public-saas .service-card{display:flex;align-items:center;min-height:76px;padding:11px 86px 11px 12px;border:1px solid var(--public-line);border-radius:10px;background:#f9faff}
.public-saas .service-card:hover,.public-saas .service-card.selected{border-color:var(--public-primary);background:var(--public-primary-soft)}
.public-saas .service-content{padding:0}.public-saas .service-content strong{font-size:.82rem}.public-saas .service-content small{min-height:0;margin:2px 0;color:var(--public-muted);font-size:.68rem}.public-saas .service-content>span{color:var(--public-muted);font-size:.68rem}
.service-price{position:absolute;right:12px;top:12px;color:var(--public-primary);font-size:.78rem;font-weight:700}
.public-saas .service-add{right:12px;top:auto;bottom:9px;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#eef0f6;color:#7c879b;font-size:1rem;line-height:1}
.public-saas .service-card.selected .service-add{background:var(--public-primary);color:#fff;transform:rotate(45deg)}
.booking-schedule{padding:14px}
.public-saas .date-strip{gap:7px;margin-bottom:3px;padding:.1rem .1rem .7rem}
.public-saas .date-card{flex-basis:65px;border:1px solid var(--public-line);border-radius:9px;background:#f9faff;color:var(--public-text)}
.public-saas .date-card small,.public-saas .date-card span{color:var(--public-muted);font-size:.65rem}.public-saas .date-card strong{font-size:1rem}
.public-saas .date-card.selected{border-color:var(--public-primary);background:var(--public-primary);color:#fff}.public-saas .date-card.selected small,.public-saas .date-card.selected span{color:#e5e9ff}
.slots-status{padding:8px 2px 12px;color:var(--public-muted);font-size:.77rem}
.public-saas .slots-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.public-saas .slot-button{min-height:42px;border:1px solid var(--public-line);border-radius:9px;background:#f9faff;color:#616c81;font-size:.78rem;font-weight:650}
.public-saas .slot-button:hover,.public-saas .slot-button.selected{border-color:var(--public-primary);background:var(--public-primary-soft);color:var(--public-primary)}
.public-saas .slot-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}
.public-saas .slot-button .slot-time{font-weight:700}
.public-saas .slot-button small{font-size:.59rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.public-saas .slot-button.slot-reserved,.public-saas .slot-button.slot-reserved:hover{border-color:#e1e4eb;background:#eef0f4;color:#8a92a2;cursor:not-allowed;opacity:1}
.public-saas .cart-card{top:88px}
.cart-head{padding:18px;border-bottom:1px solid var(--public-line)}.cart-head h2{margin:0;font-size:1.12rem;font-weight:700}
.cart-body{display:grid;gap:15px;padding:18px}.public-saas .cart-items{gap:9px}.public-saas .cart-row{padding-bottom:9px;border-bottom:1px solid var(--public-line);font-size:.78rem}.public-saas .cart-row strong{font-size:.76rem}
.public-saas .booking-summary{display:grid;gap:10px;margin:0!important;padding:13px;border-radius:10px;background:#f7f8fc}
.public-saas .booking-summary div{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:10px}.public-saas .booking-summary small{color:var(--public-muted);font-size:.7rem}.public-saas .booking-summary strong{font-size:.73rem;text-align:right}
.cart-total{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--public-line);font-size:.86rem}.cart-total strong{color:var(--public-primary);font-size:1.25rem}
.cart-note{margin:0;text-align:center;color:var(--public-muted);font-size:.66rem}
.public-alert{border:0;border-radius:11px;box-shadow:0 5px 16px #25304e0c}
.public-saas .auth-public-card,.public-saas main>.container .card{border:1px solid var(--public-line)!important;border-radius:15px;background:#fff;box-shadow:0 14px 40px #27314d10!important}
.public-saas .form-control,.public-saas .form-select{min-height:44px;border-color:#dce1eb;border-radius:9px}.public-saas .form-control:focus,.public-saas .form-select:focus{border-color:#9baaf5;box-shadow:0 0 0 .2rem #5369df1c}
.public-saas .confirmation-panel{background:#f7f8fc}.public-saas .booking-status{background:var(--public-primary)}
.public-saas .booking-footer{margin-top:28px!important;padding:24px 0;border-top:1px solid var(--public-line);background:#fff;color:var(--public-text)}
.booking-footer .container{display:flex;align-items:center;justify-content:space-between;gap:18px}.booking-footer-brand{display:flex;align-items:center;gap:10px}.booking-footer-brand>span:last-child{display:flex;flex-direction:column}.booking-footer-brand small,.booking-footer-copy{color:var(--public-muted);font-size:.72rem}
@media(max-width:991.98px){.public-saas .booking-nav .navbar-collapse{padding:14px 0}.public-saas .booking-nav .navbar-nav{align-items:stretch!important}.public-saas .booking-nav form,.public-saas .booking-nav form button{width:100%}.public-saas .booking-nav .btn{margin-top:6px}.booking-hero-inner{align-items:flex-start;flex-direction:column}.public-saas .booking-trust{width:100%}.public-saas .cart-card{position:static!important}.booking-staff-link{margin:8px 0 0}}
@media(max-width:767.98px){.booking-hero-inner{padding-top:28px;padding-bottom:28px}.booking-hero h1{font-size:2rem}.booking-progress>i{width:18px;margin:0 5px}.booking-progress span{font-size:0}.booking-progress b{font-size:.68rem}.booking-container{padding-top:14px}.booking-section-head{align-items:flex-start}.booking-section-head>span{display:none}.public-saas .barber-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.public-saas .service-grid{grid-template-columns:1fr;padding:10px}.booking-schedule{padding:10px}.booking-footer .container{align-items:flex-start;flex-direction:column}.booking-footer-copy{display:none}}
@media(max-width:380px){.public-saas .barber-grid{grid-template-columns:1fr}.public-saas .barber-card{min-height:130px}}

/* Barras de desplazamiento profesionales */
.admin-body,.public-saas,.admin-content,.admin-sidebar-inner,.table-responsive,.date-strip{
  scrollbar-width:thin;
  scrollbar-color:#b8c1d3 transparent;
}
.admin-body::-webkit-scrollbar,.public-saas::-webkit-scrollbar,.admin-content::-webkit-scrollbar,.table-responsive::-webkit-scrollbar,.date-strip::-webkit-scrollbar{width:10px;height:10px}
.admin-body::-webkit-scrollbar-track,.public-saas::-webkit-scrollbar-track,.admin-content::-webkit-scrollbar-track,.table-responsive::-webkit-scrollbar-track,.date-strip::-webkit-scrollbar-track{background:transparent}
.admin-body::-webkit-scrollbar-thumb,.public-saas::-webkit-scrollbar-thumb,.admin-content::-webkit-scrollbar-thumb,.table-responsive::-webkit-scrollbar-thumb,.date-strip::-webkit-scrollbar-thumb{
  min-height:42px;
  border:3px solid transparent;
  border-radius:999px;
  background:#b8c1d3;
  background-clip:padding-box;
}
.admin-body::-webkit-scrollbar-thumb:hover,.public-saas::-webkit-scrollbar-thumb:hover,.admin-content::-webkit-scrollbar-thumb:hover,.table-responsive::-webkit-scrollbar-thumb:hover,.date-strip::-webkit-scrollbar-thumb:hover{background:#7f90d8;background-clip:padding-box}
.admin-sidebar-inner{scrollbar-color:#465570 transparent}
.admin-sidebar-inner::-webkit-scrollbar{width:8px}
.admin-sidebar-inner::-webkit-scrollbar-track{background:transparent}
.admin-sidebar-inner::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#465570;background-clip:padding-box}
.admin-sidebar-inner::-webkit-scrollbar-thumb:hover{background:#6879a0;background-clip:padding-box}
.table-responsive{padding-bottom:2px}
.table-responsive::-webkit-scrollbar,.date-strip::-webkit-scrollbar{height:8px}
.table-responsive::-webkit-scrollbar-thumb,.date-strip::-webkit-scrollbar-thumb{border-width:2px}
.date-strip{scroll-behavior:smooth;overscroll-behavior-inline:contain}
@media(max-width:767.98px){.admin-body::-webkit-scrollbar,.public-saas::-webkit-scrollbar{width:7px}.table-responsive::-webkit-scrollbar,.date-strip::-webkit-scrollbar{height:6px}}
