:root{--primary:#D96C91;--primary-dark:#B95478;--sidebar-bg:#D8A0B2;--app-bg:#F7E8EE;--text:#3E3036;--muted:#806D76;--border:#E7D8DE;--white:#fff;--danger:#C94B61;--shadow:0 12px 30px rgba(94,49,65,.08)}
*{box-sizing:border-box}html{min-height:100%;background:var(--app-bg)}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--app-bg);color:var(--text)}button,input,select,textarea{font:inherit}.app{display:flex;min-height:100vh}
.sidebar{width:260px;background:var(--sidebar-bg);border-right:1px solid rgba(91,47,62,.12);padding:20px 14px;position:fixed;inset:0 auto 0 0;box-shadow:6px 0 22px rgba(91,47,62,.06);z-index:10}.brand-logo-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.brand-logo-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:18px}.brand-logo{height:105px;display:flex;align-items:center;justify-content:center;margin:0 4px 18px;padding:10px;border-radius:18px;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.5);overflow:hidden}.brand-logo img{max-width:100%;max-height:82px;object-fit:contain}.logo-placeholder{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.6);color:var(--primary);font-size:30px;border:1px dashed rgba(91,47,62,.2)}nav{display:flex;flex-direction:column;gap:9px}.nav-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(91,47,62,.16);background:rgba(255,255,255,.25);color:#4B3840;text-decoration:none;border-radius:13px;font-size:15px;font-weight:650;cursor:pointer;width:100%;text-align:left;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.55);border-color:rgba(91,47,62,.24);transform:translateY(-1px)}.nav-link.active{background:rgba(255,255,255,.72);border-color:var(--primary);color:var(--primary-dark);box-shadow:0 5px 14px rgba(91,47,62,.08)}.nav-icon{width:22px;text-align:center;font-size:17px}.nav-button{justify-content:flex-start}.chevron{margin-left:auto}.submenu{display:none;padding:8px 0 2px 35px}.submenu.open{display:grid;gap:6px}.submenu a{display:block;color:#5E4A53;text-decoration:none;padding:9px 11px;border:1px solid rgba(91,47,62,.11);border-radius:10px;font-size:13px;background:rgba(255,255,255,.13)}.submenu a:hover,.submenu a.active{background:rgba(255,255,255,.5);color:var(--primary-dark);border-color:rgba(91,47,62,.2)}
.main{margin-left:260px;width:calc(100% - 260px);padding:34px;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0 0 7px;font-size:30px;letter-spacing:-.4px}.page-header p{margin:0;color:var(--muted)}.toolbar{display:flex;gap:12px;margin-bottom:18px;align-items:center}.search{flex:1;max-width:380px;border:1px solid #D9C9D0;border-radius:12px;padding:10px 12px;background:#fff;outline:none;transition:.18s}.search:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 84%)}
.btn{border:1px solid transparent;border-radius:11px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:14px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:white;box-shadow:0 6px 14px color-mix(in srgb,var(--primary),transparent 70%)}.btn-primary:hover{background:var(--primary-dark)}.btn-light{background:rgba(255,255,255,.85);border-color:var(--border);color:#57434B}.btn-danger{background:var(--danger);color:#fff}.full{width:100%;margin:8px 0 14px}
.table-card,.calendar-card,.settings-card,.report-card{background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:15px 17px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table-card th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#FCF8FA}.table-card tr:last-child td{border-bottom:0}.action-btn{border:1px solid var(--border);background:#fff;color:var(--primary-dark);cursor:pointer;margin-right:7px;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:650}.card-footer{padding:16px;border-top:1px solid var(--border)}
.calendar-card{padding:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.calendar-toolbar h2{min-width:240px;text-align:center;margin:0;font-size:21px}.calendar-toolbar .btn{width:42px;height:42px;padding:0;font-size:19px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.calendar-weekday{text-align:center;color:var(--muted);font-size:12px;font-weight:750;padding:8px}.calendar-day{min-height:112px;background:rgba(255,255,255,.65);border:1px solid var(--border);border-radius:12px;padding:10px;cursor:pointer;transition:.16s}.calendar-day:hover{border-color:var(--primary);background:#FFF9FB;transform:translateY(-1px)}.calendar-day.muted{opacity:.43}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--primary)}.day-number{font-weight:750}.event-dot{margin-top:8px;background:#F5D9E3;color:#8C3C58;border-radius:7px;padding:4px 6px;font-size:11px}
.modal{position:fixed;inset:0;background:rgba(44,28,34,.48);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.hidden{display:none!important}.modal-content{background:#fff;border:1px solid var(--border);box-shadow:0 25px 70px rgba(43,25,33,.22);border-radius:18px;width:min(500px,100%);padding:24px;max-height:90vh;overflow:auto}.modal-large{width:min(900px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-header h2{margin:0 0 5px}.modal-header p{margin:0;color:var(--muted)}.modal-close{border:0;background:transparent;font-size:28px;cursor:pointer;color:#8B747D}.modal-content label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}.modal-content input,.modal-content select,.modal-content textarea,.settings-card input,.report-card input{width:100%;border:1px solid #D9C9D0;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;outline:none}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus,.settings-card input:focus,.report-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 84%)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.day-grid{display:grid;grid-template-columns:90px 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}.time-cell,.slot-cell{background:#fff;min-height:58px;padding:10px}.time-cell{font-size:12px;color:var(--muted);font-weight:750}.slot-cell{cursor:pointer}.slot-cell:hover{background:#FFF9FB}.slot-cell.occupied{background:#F7DCE5}.slot-title{font-weight:750;font-size:13px}.slot-sub{font-size:12px;color:#7A656D;margin-top:3px}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{width:auto}.check-list{display:grid;gap:8px;margin-top:7px}.check-item{display:flex!important;gap:8px;align-items:center;padding:10px;background:#FCF8FA;border:1px solid var(--border);border-radius:9px}.check-item input{width:auto}
.settings-card,.report-card{padding:24px}.settings-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:28px;margin-bottom:22px}.settings-section{padding:18px;border:1px solid var(--border);border-radius:14px;background:#FCF8FA}.settings-section h3{margin:0 0 14px}.color-row{display:grid;grid-template-columns:1fr 72px;gap:12px;align-items:center;margin-bottom:12px}.color-row input[type=color]{height:44px;padding:4px}.logo-picker{display:flex;align-items:center;gap:12px;margin-top:8px}.logo-preview{width:92px;height:70px;border:1px dashed #D5C0C9;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.logo-preview img{max-width:90%;max-height:90%;object-fit:contain}.preview{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--app-bg)}.preview-header{font-weight:750;margin-bottom:15px}.preview-sidebar{padding:12px;border-radius:11px;background:var(--sidebar-bg);border:1px solid color-mix(in srgb,var(--sidebar-bg),#000 12%);margin-bottom:14px}.preview-nav{padding:9px;border:1px solid rgba(91,47,62,.18);border-radius:9px;background:rgba(255,255,255,.35);margin-top:7px}.preview-box{margin-top:15px;padding:18px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid var(--border)}
.report-tabs{display:flex;gap:8px;margin-bottom:14px}.tab{border:1px solid var(--border);background:rgba(255,255,255,.65);color:#654F58;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:700;transition:.18s}.tab:hover{border-color:var(--primary)}.tab.active{background:var(--primary);border-color:var(--primary);color:white;box-shadow:0 6px 14px color-mix(in srgb,var(--primary),transparent 70%)}.date-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.date-range>div{min-width:180px}.report-output{margin-top:22px}.report-summary-card{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}.report-summary-card>div{flex:1;min-width:180px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#FCF8FA;display:flex;flex-direction:column;gap:5px}.report-summary-card span{font-size:12px;color:var(--muted);font-weight:700}.report-summary-card strong{font-size:24px;color:var(--primary-dark)}.expense-detail-title{margin-top:28px}.metric{font-size:32px;font-weight:800;margin-top:5px}.report-table{margin-top:18px;overflow:auto}.report-table table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}
.schedule-table input[type=time]{min-width:130px}.empty-state{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:850px){.sidebar{width:74px;padding:14px 8px}.brand-logo{height:70px}.brand-logo img{max-height:54px}.logo-placeholder{width:48px;height:48px;font-size:22px}.nav-link span:not(.nav-icon){display:none}.chevron{display:none}.submenu{position:absolute;left:65px;top:180px;background:var(--sidebar-bg);width:230px;padding:10px;border:1px solid rgba(91,47,62,.15);border-radius:12px}.main{margin-left:74px;width:calc(100% - 74px);padding:18px}.settings-grid{grid-template-columns:1fr}.calendar-day{min-height:75px}.day-grid{grid-template-columns:65px 1fr}}
/* --- Glower UI v2 --- */
html,body{height:100%;overflow:hidden}.app{height:100vh;min-height:0}.sidebar{height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(91,47,62,.25) transparent}.main{height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.brand-wrap{display:flex;justify-content:center;align-items:center;min-height:90px;margin-bottom:18px}.brand-logo{height:auto;min-height:70px;width:fit-content;max-width:100%;padding:9px;border-radius:18px}.brand-logo.has-logo{background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.6)}.brand-logo img{display:block;width:auto;height:auto;max-width:218px;max-height:94px;border-radius:12px;object-fit:contain}.brand-logo.has-logo:has(img){overflow:visible}.nav-group{display:block}.nav-group>.nav-button{margin:0}.submenu{max-height:none}.calendar-card{overflow:visible}.calendar-day.blocked-day{background:#E3DEE0;border-color:#C7BEC2;color:#756B70}.calendar-day.blocked-day:hover{background:#DDD7DA;border-color:#B9AFB4}.calendar-block-label{margin-top:14px;display:inline-block;padding:4px 7px;border-radius:999px;background:#C9C2C5;color:#62585D;font-size:10px;font-weight:800}.day-metrics{display:flex;gap:9px;margin-left:auto;margin-right:10px}.metric-pill{min-width:128px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:#FCF8FA;text-align:center;display:flex;flex-direction:column;gap:2px}.metric-pill strong{font-size:19px;color:var(--primary-dark)}.metric-pill span{font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted);font-weight:750}.blocked-slot,.blocked-time{background:#E5E1E3!important;color:#777075}.blocked-slot{cursor:not-allowed}.blocked-label{font-size:12px;font-weight:750;color:#70676C}.free-label{color:#9CA3AF}.slot-service{margin-top:5px;font-size:11px;line-height:1.35;color:#77485A;font-weight:650}.service-add-row{display:flex;justify-content:flex-start;margin:10px 0 4px}.service-price-hint{margin-top:7px;padding:9px 11px;background:#FCF0F4;border:1px solid #F0D7E0;border-radius:9px;color:var(--primary-dark);font-size:12px;font-weight:750}.visit-summary{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:#FCF8FA}.visit-summary span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.visit-summary strong{font-size:13px;line-height:1.5}.blocks-card{margin-top:18px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title-row h2{margin:0 0 4px;font-size:20px}.section-title-row p{margin:0;color:var(--muted);font-size:13px}.block-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:#FCF8FA;margin-bottom:8px}.block-meta{font-size:12px;color:var(--muted);margin-top:4px;text-transform:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hidden{display:none!important}
@media(max-width:850px){html,body{overflow:hidden}.day-metrics{margin:10px 0 0;order:3;width:100%}.modal-header{flex-wrap:wrap}.metric-pill{flex:1;min-width:0}.two-col{grid-template-columns:1fr}.brand-logo img{max-width:48px;max-height:54px}.brand-logo.has-logo{padding:6px}.brand-wrap{min-height:70px}}

/* --- Glower UI v3 --- */
.calendar-day{min-height:132px;display:flex;flex-direction:column}.calendar-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.calendar-metric{padding:7px 4px;border:1px solid var(--border);border-radius:9px;background:#FCF8FA;text-align:center;min-width:0}.calendar-metric strong{display:block;font-size:15px;color:var(--primary-dark);line-height:1.1}.calendar-metric span{display:block;margin-top:3px;font-size:9px;text-transform:none;color:var(--muted);font-weight:750}.calendar-day.blocked-day .calendar-metric{background:rgba(255,255,255,.35);border-color:#CEC6C9}.block-hours-help{grid-column:1/-1;margin:-3px 0 3px;color:var(--muted);font-size:11px;line-height:1.35}.brand-wrap{min-height:142px}.brand-logo{min-height:118px;width:calc(100% - 4px);padding:7px}.brand-logo img{width:auto;height:auto;max-width:100%;max-height:136px;border-radius:12px}.brand-logo.has-logo:has(img){background:rgba(255,255,255,.34);overflow:hidden}.blocked-label{font-size:12px;font-weight:750;color:#70676C}.blocked-message{font-weight:700}.day-metrics{display:none}
@media(max-width:850px){.brand-wrap{min-height:82px}.brand-logo{min-height:68px;width:100%;padding:5px}.brand-logo img{max-width:100%;max-height:72px}.calendar-day{min-height:95px}.calendar-metrics{gap:4px;margin-top:8px}.calendar-metric{padding:5px 2px}.calendar-metric strong{font-size:12px}.calendar-metric span{font-size:8px}}

/* --- Glower v4: agenda, servicios y egresos --- */
.day-modal-header{align-items:center}.day-metrics{display:flex;gap:9px;margin-left:auto;margin-right:10px}.metric-pill{min-width:120px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:#FCF8FA;text-align:center;display:flex;flex-direction:column;gap:2px}.metric-pill strong{font-size:19px;color:var(--primary-dark)}.metric-pill span{font-size:10px;text-transform:none;color:var(--muted);font-weight:750}.calendar-day{min-height:92px}.calendar-day .calendar-metrics{display:none}.service-check-list{max-height:250px;overflow-y:auto;padding-right:2px}.service-check-item{display:grid!important;grid-template-columns:20px 1fr auto;gap:9px!important;align-items:center!important}.service-check-item strong{font-size:12px;color:var(--primary-dark);white-space:nowrap}.service-check-item input{width:auto!important}.field-help{font-size:12px;color:var(--muted);margin:0 0 8px;line-height:1.45}.slot-note{margin-top:6px;padding:6px 8px;background:rgba(255,255,255,.65);border-radius:7px;font-size:11px;color:#694955}.visit-note-display{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.visit-note-display p{margin:0;font-size:12px;color:var(--text);line-height:1.45}.egreso-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px;border-top:1px solid var(--border);font-weight:750}.egreso-total strong{font-size:18px;color:var(--primary-dark)}.money-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.form-money{font-variant-numeric:tabular-nums}
@media(max-width:850px){.day-metrics{width:100%;margin:10px 0 0;order:3}.metric-pill{flex:1;min-width:0}.day-modal-header{flex-wrap:wrap}.brand-logo img{max-width:100%;max-height:72px}}

/* Historial de clientes */
.modal-history{width:min(1120px,100%);padding:22px;}
.history-header{align-items:center;gap:16px;}
.history-header>div:first-child{min-width:0;}
.history-header h2{margin-bottom:4px;}
.history-header p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:430px;}



.history-table-card{max-height:65vh;overflow:auto;}
.history-table-card table{min-width:760px;}
.history-table-card th,.history-table-card td{vertical-align:top;}
.history-service{line-height:1.45;margin:2px 0;}
.history-service small{color:var(--muted);font-size:11px;white-space:nowrap;}
.history-time{font-size:11px;color:var(--muted);margin-top:3px;}
.history-muted{color:var(--muted);font-size:12px;}
.status-pill{display:inline-block;min-width:34px;text-align:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;}
.status-pill.yes{background:#E7F4EA;color:#347044;}
.status-pill.no{background:#F3E8EB;color:#8A5D6B;}
@media(max-width:850px){.modal-history{padding:16px}.history-header{flex-wrap:wrap}.history-header p{max-width:calc(100vw - 100px)}}

/* --- Glower v5 --- */
.native-select-hidden{display:none!important}
.searchable-select{position:relative;width:100%}
.searchable-select-input{width:100%;border:1px solid #D9C9D0;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;outline:none;box-sizing:border-box}
.searchable-select-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 84%)}
.searchable-select-menu{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);max-height:220px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 35px rgba(43,25,33,.16);padding:5px}
.searchable-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;font:inherit;color:var(--text)}
.searchable-option:hover,.searchable-option.selected{background:#FCF0F4;color:var(--primary-dark)}
.searchable-empty{padding:10px;color:var(--muted);font-size:12px;text-align:center}
.whatsapp-field{display:flex;gap:8px;align-items:stretch}
.whatsapp-field input{flex:1}
.whatsapp-btn{width:44px;border:1px solid #B7DCC0;background:#EAF7ED;color:#23843D;border-radius:10px;font-size:22px;font-weight:800;cursor:pointer}
.whatsapp-btn:hover:not(:disabled){background:#DDF2E2}
.whatsapp-btn:disabled{opacity:.45;cursor:not-allowed}
.finalized{background:#E8F5E9!important;border-color:#B9DDBD!important}
.finalized:hover{background:#DFF0E1!important}
.finalized-badge{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:999px;background:#CDE8D1;color:#347044;font-size:10px;font-weight:850}
.status-pill.cancelled{background:#F7E1E4;color:#A23D50}
.history-summary-btn{white-space:nowrap}
.summary-modal-content{width:min(760px,100%)}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.summary-card{padding:18px;border:1px solid var(--border);border-radius:14px;background:#FCF8FA}
.summary-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:750}
.summary-card strong{display:block;margin-top:5px;font-size:25px;color:var(--primary-dark);font-variant-numeric:tabular-nums}
.summary-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px}

@media(max-width:850px){.history-summary-btn{margin-left:auto}.summary-grid{grid-template-columns:1fr}.summary-card:last-child{grid-column:auto}}
@media(max-width:600px){
 html,body{overflow:hidden}
 .sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:68px;padding:5px 6px;border-right:0;border-top:1px solid rgba(91,47,62,.14);box-shadow:0 -5px 20px rgba(91,47,62,.08);overflow:visible}
 .brand-wrap{display:none}
 .sidebar nav{height:100%;display:flex;flex-direction:row;align-items:stretch;justify-content:space-around;gap:4px}
 .nav-link{height:58px;min-width:0;padding:5px 4px;display:flex;flex-direction:column;justify-content:center;gap:2px;border-radius:10px;font-size:9px;text-align:center;flex:1}
 .nav-link span:not(.nav-icon){display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .nav-icon{font-size:18px;width:auto}
 .nav-button{justify-content:center}
 .chevron{display:none}
 .nav-group{display:flex;flex:1;min-width:0}
 .nav-group>.nav-button{width:100%}
 .submenu{position:absolute;bottom:64px;left:auto;right:5px;width:min(240px,calc(100vw - 10px));padding:8px;background:var(--sidebar-bg);border:1px solid rgba(91,47,62,.15);border-radius:12px;box-shadow:0 12px 30px rgba(43,25,33,.18)}
 .main{margin-left:0;width:100%;height:100vh;padding:18px 12px 84px;box-sizing:border-box}
 .page-header{align-items:flex-start;gap:10px;margin-bottom:16px}.page-header h1{font-size:24px}.page-header p{font-size:12px}
 .toolbar{flex-wrap:wrap}.search{max-width:none;min-width:100%}
 .table-card{overflow:auto}.table-card table{min-width:650px}
 .modal{padding:8px}.modal-content{padding:16px;border-radius:14px;max-height:94vh}.modal-large{width:100%}
 .modal-header{gap:8px}.modal-header h2{font-size:19px}.modal-header p{font-size:12px}
 .day-grid{grid-template-columns:58px 1fr}.time-cell,.slot-cell{min-height:64px;padding:8px}.slot-title{font-size:12px}.slot-sub,.slot-service{font-size:10px}
 .day-metrics{order:3;width:100%;margin:8px 0 0}.metric-pill{padding:7px}.metric-pill strong{font-size:17px}
 .history-table-card{max-height:68vh}.history-table-card table{min-width:850px}.history-header{align-items:flex-start}.history-summary-btn{font-size:11px;padding:8px 9px}
 .summary-card strong{font-size:22px}
 .two-col{grid-template-columns:1fr}
}

/* --- Glower v5.2 refinements --- */
.whatsapp-btn,.whatsapp-grid-btn,.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.whatsapp-btn svg,.whatsapp-grid-btn svg,.btn-whatsapp svg{width:19px;height:19px;fill:currentColor;display:block}
.whatsapp-grid-btn{width:34px;height:32px;padding:5px!important;margin-right:7px;color:#23843D!important;background:#EAF7ED!important;border-color:#B7DCC0!important}
.phone-with-whatsapp{display:flex;align-items:center;gap:7px;min-width:145px}
.phone-with-whatsapp>span{white-space:nowrap}
.btn-whatsapp{border:1px solid #B7DCC0;background:#EAF7ED;color:#23843D}
.btn-whatsapp:hover:not(:disabled){background:#DDF2E2}
.personalization-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.whatsapp-text-modal-content{width:min(650px,100%)}
.emoji-title{margin-top:14px;font-size:12px;color:var(--muted);font-weight:750}
.emoji-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:#FCF8FA;max-height:150px;overflow:auto}
.emoji-btn{border:1px solid transparent;background:#fff;border-radius:8px;padding:7px;cursor:pointer;font-size:20px;line-height:1}
.emoji-btn:hover{border-color:var(--border);background:#FFF4F7}
#block-start,#block-end{appearance:auto}
@media(max-width:600px){
 .sidebar nav{overflow-x:auto;justify-content:flex-start;padding:0 2px;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}
 .nav-link,.nav-group{flex:0 0 68px}.nav-link{width:68px}.nav-group>.nav-button{width:68px}
 .modal-actions{flex-wrap:wrap}.modal-actions>*{flex:1;min-width:105px}
 .emoji-picker{grid-template-columns:repeat(7,1fr)}
 .personalization-actions>*{flex:1;min-width:150px}
}

.client-category{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:12px;white-space:nowrap}.category-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#79B88A}.category-dot.lilac{background:#A78BCA}.category-dot.red{background:#D66A6A}.report-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:12px;font-weight:700}.preset-btn{border:1px solid var(--border);background:#FCF8FA;color:var(--primary-dark);border-radius:9px;padding:7px 11px;cursor:pointer}.preset-btn:hover{background:#FFF0F5}.financial-report{max-width:620px;padding:22px;border:1px solid var(--border);border-radius:15px;background:#FCF8FA}.financial-line{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;font-size:16px}.financial-line strong{font-variant-numeric:tabular-nums}.financial-divider{border-top:2px solid var(--border);margin:8px 0}.financial-profit{font-size:20px;font-weight:800}.financial-profit strong{color:var(--primary-dark)}
@media(max-width:600px){.financial-report{padding:15px}.report-presets{gap:5px}.preset-btn{font-size:11px;padding:7px 9px}.client-category{font-size:11px}}
/* --- Glower v5.6 authentication and administration --- */
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f7e8ee,#fff);padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:0 25px 70px rgba(43,25,33,.15);text-align:center}.login-logo{height:130px;display:grid;place-items:center;margin-bottom:18px}.login-logo img{max-width:190px;max-height:120px;object-fit:contain}.login-placeholder{width:90px;height:90px;border-radius:24px;background:#f8dfe8;color:var(--primary);display:grid;place-items:center;font-size:42px}.login-card h1{margin:0 0 5px}.login-subtitle{color:var(--muted);margin:0 0 22px}.login-card form{text-align:left}.login-submit{width:100%;margin-top:18px}.forgot-link{border:0;background:none;color:var(--primary-dark);font-weight:700;margin-top:18px;cursor:pointer}.login-error{color:var(--danger);font-size:13px;margin-top:14px;min-height:18px}.login-alert{background:#fff0f2;border:1px solid #f0c2ca;color:#9c3348;padding:11px;border-radius:10px;font-size:13px;margin-bottom:15px}.logout-link{display:block;margin-top:auto;padding:12px 14px;color:#5e4a53;text-decoration:none;border:1px solid rgba(91,47,62,.14);border-radius:11px;background:rgba(255,255,255,.22);font-weight:700}.admin-sidebar{display:flex;flex-direction:column}.muted-small{font-size:11px;color:var(--muted);margin-top:3px}.status-pill.pending{background:#fff1cf;color:#8a6410}.quota-unused td{background:#f1f1f1!important;color:#888}.quota-unused .action-btn{opacity:.65}.manage-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.payment-success{text-align:center;padding:18px}.success-check{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#dff4e4;color:#248642;font-size:32px;font-weight:800}.wa-choice{display:grid;gap:10px}.wa-choice .btn{width:100%}.whatsapp-grid-btn,.whatsapp-btn{display:inline-grid;place-items:center;border:1px solid #cfe6d5;background:#eaf8ee;color:#1d8a42;border-radius:9px;cursor:pointer}.whatsapp-grid-btn{width:34px;height:30px;padding:6px;margin-right:7px}.whatsapp-btn{width:44px;height:42px;padding:8px;flex:0 0 44px}.whatsapp-grid-btn svg,.whatsapp-btn svg{width:18px;height:18px;fill:currentColor}.whatsapp-btn:disabled,.whatsapp-grid-btn:disabled{opacity:.4;cursor:not-allowed}.ref-item{padding:11px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}.ref-item span{color:var(--muted)}
@media(max-width:650px){.login-card{padding:24px 20px}.main{padding:14px}.page-header{align-items:flex-start;gap:12px;flex-wrap:wrap}.table-card{overflow-x:auto}.table-card table{min-width:720px}.modal{padding:10px}.modal-content{padding:18px;max-height:94vh}.modal-large{width:100%}.day-grid{grid-template-columns:58px 1fr}.calendar{gap:5px}.calendar-day{min-height:60px;padding:7px}.calendar-weekday{padding:5px 2px}.calendar-toolbar h2{min-width:160px;font-size:17px}.settings-card,.report-card{padding:16px}.report-tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}.date-range>div{min-width:140px;flex:1}.btn{padding:9px 12px}.sidebar{width:62px}.main{margin-left:62px;width:calc(100% - 62px)}.submenu{left:54px;top:145px}.brand-logo{margin:0 0 15px}}
.wa-template-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.wa-template-tabs .tab{font-size:12px;padding:8px 10px}.emoji-title{font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 7px}.field-help{font-size:12px;color:var(--muted);margin:6px 0}.personalization-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:20px}

.login-card form label{display:block;text-align:left;margin:12px 0 6px;font-size:13px;font-weight:700}.login-card form input{display:block;width:100%;height:44px;margin:0;padding:10px 12px;border:1px solid #D9C9D0;border-radius:10px;background:#fff;outline:none}.login-card form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 84%)}.login-card form .login-submit{display:block;height:44px;margin-top:18px}

/* Glower 6.5 */
.btn-success{background:#2F9E44!important;border-color:#2F9E44!important;color:#fff!important}.btn-success:hover{background:#27863A!important}.finalized-service{cursor:default!important}.finalized-service em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:#347044}.visit-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}.visit-info-grid>div{padding:10px 12px;background:#FCF8FA;border:1px solid var(--border);border-radius:10px}.visit-info-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.visit-info-grid strong{display:block;margin-top:3px}.notice-message{line-height:1.55;white-space:pre-wrap}@media(max-width:600px){.visit-info-grid{grid-template-columns:1fr 1fr}}

.sortable-header{cursor:pointer;user-select:none;white-space:nowrap}.sortable-header:hover{color:var(--primary-dark)}.sort-indicator{font-size:10px;margin-left:4px;opacity:.65}.table-search{min-width:260px}.service-search{display:block;max-width:none;margin:0 0 10px}.whatsapp-help-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px}.whatsapp-help{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--primary-dark);font-weight:800;cursor:help;position:relative;display:inline-flex;align-items:center;justify-content:center}.whatsapp-help .tooltip{position:absolute;right:0;top:30px;width:285px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(43,25,33,.15);font-size:12px;line-height:1.45;font-weight:500;color:var(--text);text-align:left;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.15s;z-index:100}.whatsapp-help:hover .tooltip,.whatsapp-help:focus .tooltip{opacity:1;visibility:visible;transform:translateY(0)}

/* v7.5 - ingreso report and live service search */
.income-report .report-summary-card{margin-bottom:24px}.report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-top:8px;margin-bottom:10px}.report-section-heading h3{margin:0}.report-section-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.income-summary-table{margin-top:0}.income-summary-table table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.income-summary-table th{background:#FCF8FA;font-size:12px;color:#6f5962}.income-summary-table th,.income-summary-table td{padding:13px 14px}.income-summary-table tbody tr:last-child td{border-bottom:0}.income-summary-table tbody tr:hover{background:#FFF9FB}.income-detail-heading{margin-top:28px}.income-service-groups{display:grid;gap:12px}.income-service-group{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(43,25,33,.05)}.income-service-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#FCF8FA;border-bottom:1px solid var(--border)}.income-service-header h4{margin:0;font-size:14px}.income-service-header span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.income-service-header>strong{font-size:16px;color:var(--primary-dark);white-space:nowrap}.income-detail-list{display:grid}.income-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid #eee5e9}.income-detail-row:last-child{border-bottom:0}.income-detail-row>div{display:flex;align-items:baseline;gap:10px;min-width:0}.income-detail-row>div strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-detail-row>div span{font-size:11px;color:var(--muted);white-space:nowrap}.income-detail-row>.money-cell{font-size:12px;font-weight:750;color:var(--primary-dark)}.income-empty{border:1px dashed var(--border);border-radius:12px;padding:18px;text-align:center;background:#FCF8FA}

/* Booknail 7.8 - public booking links */
.booking-link-row{display:flex;gap:8px;align-items:center}.booking-link-row input{flex:1}.agenda-page-header{align-items:center}.booking-requests-bubble{margin-left:auto;border:1px solid var(--border);background:#fff4f7;color:var(--primary-dark);border-radius:14px;padding:9px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 4px 14px rgba(43,25,33,.06)}.booking-requests-bubble strong{min-width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}.booking-requests-bubble span{font-size:12px;font-weight:800}.booking-request-list{display:grid;gap:10px}.booking-request-item{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:13px;background:#fff}.booking-request-info{display:grid;gap:3px}.booking-request-info strong{font-size:14px}.booking-request-info span{font-size:12px;color:var(--muted)}.booking-request-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.booking-conflict-text{font-size:12px;color:#9b5d1a;font-weight:800;max-width:250px;text-align:right}.public-booking-body{margin:0;min-height:100vh;background:var(--public-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}.public-booking-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.public-booking-card{width:min(760px,100%);background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 20px 70px rgba(43,25,33,.12);padding:28px}.public-booking-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.public-booking-brand img{width:64px;height:64px;object-fit:contain;border-radius:15px}.public-booking-brand h1{margin:0;font-size:25px}.public-booking-brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.public-booking-intro h2{margin:0 0 8px;font-size:20px}.public-booking-intro p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.55}.public-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.public-calendar-toolbar strong{text-transform:capitalize;font-size:17px}.public-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.public-weekday{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:5px}.public-day{min-height:68px;border:1px solid var(--border);border-radius:11px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text)}.public-day.available{border-color:color-mix(in srgb,var(--public-primary),white 60%);background:#fff8fa}.public-day.available:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(43,25,33,.08)}.public-day.muted{opacity:.45}.public-day.past,.public-day:disabled{cursor:default;opacity:.45}.public-day small{font-size:9px;color:var(--muted)}.public-day.available small{color:var(--public-primary);font-weight:800}.public-time-panel,.public-booking-form,.public-success{margin-top:22px;border-top:1px solid var(--border);padding-top:20px}.public-time-panel h3,.public-booking-form h3,.public-success h3{margin:0 0 12px}.public-times{display:flex;gap:8px;flex-wrap:wrap}.public-time-btn{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:800}.public-time-btn:hover,.public-time-btn.selected{background:var(--public-primary);border-color:var(--public-primary);color:#fff}.public-booking-form label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}.public-booking-form input{width:100%;box-sizing:border-box;height:44px;border:1px solid #d9c9d0;border-radius:10px;padding:10px 12px}.public-submit{width:100%;margin-top:16px}.public-success{text-align:center}.public-success .success-check{margin-bottom:12px}.public-success p{color:var(--muted);font-size:13px;line-height:1.55}.public-success .btn{margin-top:10px}.public-booking-empty{text-align:center;padding:50px 15px}.public-booking-empty h1{margin-bottom:8px}.public-booking-empty p{color:var(--muted)}.public-error{padding:11px 13px;border:1px solid #f0c2ca;background:#fff0f2;color:#9c3348;border-radius:10px;margin-bottom:15px;font-size:13px}.hidden{display:none!important}@media(max-width:650px){.public-booking-shell{padding:10px}.public-booking-card{padding:18px;border-radius:18px}.public-calendar{gap:4px}.public-day{min-height:58px;padding:5px 2px}.public-day small{font-size:8px}.booking-request-item{align-items:flex-start;flex-direction:column}.booking-request-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.booking-conflict-text{text-align:left}.booking-link-row{flex-wrap:wrap}.booking-link-row input{min-width:100%}}

/* Booknail online booking updates v7.8 */
.agenda-page-header{justify-content:center;position:relative}.agenda-page-header>div{position:absolute;left:0}.booking-requests-bubble{margin-left:0}.nav-label-with-badge{display:flex!important;align-items:center;gap:7px}.nav-online-badge{position:relative;display:inline-grid;place-items:center;min-width:21px;height:18px;padding:0 5px;border-radius:10px 10px 10px 3px;background:#d9536f;color:#fff;font-size:10px!important;font-weight:800;line-height:1}.nav-online-badge::after{content:"";position:absolute;left:1px;bottom:-3px;border-width:3px 4px 0 0;border-style:solid;border-color:#d9536f transparent transparent transparent}.public-client-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.public-booking-modal{position:fixed;inset:0;background:rgba(30,20,25,.48);display:grid;place-items:center;padding:20px;z-index:100}.public-booking-modal-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:28px;text-align:center;box-shadow:0 24px 80px rgba(30,20,25,.24)}.public-booking-modal-card h3{margin:8px 0 10px}.public-booking-modal-card p{color:var(--muted);font-size:13px;line-height:1.55}.public-booking-modal-card .btn{display:block;width:100%;margin-top:10px;box-sizing:border-box}.public-booking-modal-card .success-check{font-size:30px}


/* Booknail 8.0 - online booking step transition and agenda online counter */
.agenda-page-header{justify-content:center;position:relative}.agenda-page-header>div{position:absolute;left:0}.booking-requests-bubble{margin-left:0;min-width:190px;justify-content:center}.booking-requests-bubble strong{flex:0 0 auto}
.public-booking-body{min-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.public-booking-shell{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px}.public-booking-card{margin:auto;width:min(760px,100%)}
.public-booking-flow{display:grid;grid-template-columns:minmax(0,1fr);position:relative;overflow:hidden;width:100%;align-items:start}.public-booking-step{grid-area:1/1;width:100%;min-width:0;transition:transform .48s cubic-bezier(.22,.61,.36,1),opacity .38s ease;will-change:transform,opacity}.public-calendar-step{transform:translateX(0);opacity:1}.public-booking-form{margin-top:0;border-top:0;padding-top:0;transform:translateX(108%);opacity:0;visibility:hidden;pointer-events:none}.public-booking-flow.form-active .public-calendar-step{transform:translateX(-108%);opacity:0;pointer-events:none}.public-booking-flow.form-active .public-booking-form{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}.public-selection-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 18px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#FCF8FA}.public-selection-summary span{font-size:11px;color:var(--muted)}.public-selection-summary strong{font-size:13px;color:var(--primary-dark);text-align:right}.public-time-panel{margin-top:22px}.public-time-panel h3{margin-bottom:12px}
@media(max-width:650px){.public-booking-shell{padding:10px 10px 24px;align-items:flex-start}.public-booking-card{padding:18px;margin:0}.public-booking-flow{overflow:hidden}.public-booking-body{overflow-y:auto}.booking-requests-bubble{min-width:175px}.agenda-page-header{gap:10px}.agenda-page-header>div{position:static}.agenda-page-header{justify-content:space-between}.agenda-page-header .booking-requests-bubble{flex:0 0 auto}.public-selection-summary{grid-template-columns:1fr 1fr}.public-selection-summary strong{text-align:left}}

/* Validación visual al finalizar un turno sin servicios realizados */
.visit-services-block{border:2px solid transparent;border-radius:14px;padding:8px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.visit-services-block.services-required-pulse{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary),transparent 84%);animation:services-required-pulse .55s ease-in-out 3}
@keyframes services-required-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025);box-shadow:0 0 0 7px color-mix(in srgb,var(--primary),transparent 82%)}}
@media (prefers-reduced-motion:reduce){.visit-services-block.services-required-pulse{animation:none;transform:none}}

/* =========================================================
   Booknail 8.1 - Responsive mobile layout
   ========================================================= */

@media (max-width:650px){

  /* --- Estructura general --- */

  html,
  body{
    width:100%;
    height:100%;
    overflow:hidden;
  }

  .app{
    width:100%;
    height:100dvh;
    min-height:100dvh;
    display:block;
  }

  .main{
    margin-left:0;
    width:100%;
    height:100dvh;
    padding:18px 12px 88px;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }

  /* --- Navegacion inferior --- */

  .sidebar{
    position:fixed;
    z-index:50;
    left:0;
    right:0;
    top:auto;
    bottom:0;
    width:100%;
    height:74px;
    padding:5px 4px;
    border-right:0;
    border-top:1px solid rgba(91,47,62,.14);
    box-shadow:0 -5px 20px rgba(91,47,62,.10);
    overflow:visible;
  }

  .brand-wrap,
  .logout-link{
    display:none;
  }

  .sidebar nav{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:row;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .sidebar nav::-webkit-scrollbar{
    display:none;
  }

  .nav-link,
  .nav-group{
    flex:0 0 72px;
    min-width:72px;
  }

  .nav-link{
    width:72px;
    height:62px;
    padding:5px 3px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:10px;
    text-align:center;
  }

  .nav-link span:not(.nav-icon){
    display:block;
    width:100%;
    font-size:9px;
    line-height:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .nav-icon{
    width:auto;
    font-size:18px;
    line-height:20px;
  }

  .nav-button{
    width:72px !important;
    justify-content:center;
  }

  .chevron{
    display:none !important;
  }

  .nav-group{
    display:flex;
  }

  .submenu{
    position:absolute;
    left:auto;
    right:5px;
    top:auto;
    bottom:72px;
    width:min(250px,calc(100vw - 10px));
    max-height:65vh;
    overflow-y:auto;
    padding:8px;
    background:var(--sidebar-bg);
    border:1px solid rgba(91,47,62,.15);
    border-radius:12px;
    box-shadow:0 12px 30px rgba(43,25,33,.18);
  }

  /* --- Encabezado Agenda --- */

  .agenda-page-header{
    position:static;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:14px;
    margin-bottom:18px;
  }

  .agenda-page-header > div{
    position:static;
    width:100%;
  }

  .agenda-page-header h1{
    font-size:28px;
  }

  .agenda-page-header p{
    font-size:14px;
    line-height:1.4;
  }

  .booking-requests-bubble{
    width:100%;
    min-width:0;
    margin:0;
    justify-content:center;
  }

  /* --- Calendario --- */

  .calendar-card{
    width:100%;
    padding:14px 8px;
    border-radius:16px;
    overflow:hidden;
  }

  .calendar-toolbar{
    width:100%;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    align-items:center;
    gap:6px;
    margin-bottom:14px;
  }

  .calendar-toolbar h2{
    min-width:0;
    width:auto;
    margin:0;
    font-size:19px;
    white-space:nowrap;
    text-align:center;
  }

  .calendar-toolbar .btn{
    width:40px;
    height:40px;
    padding:0;
  }

  .calendar{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
  }

  .calendar-weekday{
    min-width:0;
    padding:5px 0;
    font-size:10px;
    overflow:hidden;
  }

  .calendar-day{
    min-width:0;
    width:100%;
    min-height:72px;
    padding:7px 4px;
    border-radius:10px;
    overflow:hidden;
  }

  .day-number{
    font-size:15px;
  }

  .calendar-block-label{
    max-width:100%;
    padding:3px;
    font-size:7px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

}

/* Booknail 8.1 - Mobile navigation refinement */
@media (max-width:650px){

  .sidebar nav{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
    overflow:visible;
  }

  .nav-link,
  .nav-group{
    width:auto;
    min-width:0;
    flex:none;
  }

  .nav-link{
    width:100%;
    min-width:0;
    padding:4px 1px;
  }

  .nav-group>.nav-button{
    width:100%!important;
    min-width:0;
  }

  .nav-link span:not(.nav-icon){
    width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    font-size:8px;
    line-height:9px;
    text-align:center;
  }

  .nav-icon{
    font-size:17px;
  }

  .submenu{
    right:5px;
  }

}
