body:has(.workspace),html:has(.workspace){height:100dvh;overflow:hidden}.workspace>main{height:100dvh;overflow-y:auto;overflow-x:hidden;max-width:none}.module-servicios>main,.module-equipo>main{padding:48px max(24px,calc((100% - 1106px)/2)) 80px;margin:0;max-width:none}.module-citas>main,.module-pos>main,.module-clientes>main{padding:16px max(24px,calc((100% - 1106px)/2)) 80px}.module-ajustes>main{padding:0}.module-citas .page-heading{margin-bottom:24px}.module-citas .page-heading .btn{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;min-height:44px;padding:12px 22px;border-radius:24px}.appointment-filters{display:flex;align-items:center;gap:12px;background:white;border:1px solid #f0f1f3;border-radius:24px;padding:14px 20px;min-height:56px;margin:0 0 16px}.appointment-filters>button{border:0;background:transparent;color:#9ca3af;padding:0;display:flex;align-items:center;justify-content:center}.appointment-filters svg{width:16px;height:16px}.appointment-filters input{border:0;background:transparent;outline:0;min-width:0;color:#111827;font-size:14px}.appointment-filters input[name=search]{flex:1}.appointment-filters input::placeholder{color:#9ca3af}.appointment-filters input[type=date]{padding-left:24px;border-left:1px solid #f3f4f6;width:174px;font-size:12px;font-weight:700}.workspace .appointment-status-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow:auto;white-space:nowrap;margin:0 0 24px;padding:0 0 4px;scrollbar-width:thin}.workspace .appointment-status-tabs a{border:1px solid #eef0f3;background:#fff;color:#6b7280;padding:7px 15px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;line-height:14px;border-radius:20px;flex:none;min-height:29px}.workspace .appointment-status-tabs a.active{background:#0b1220;color:#fff;border-color:#0b1220}.workspace .appointment-status-tabs .deposit-filter{color:#92400e;background:#fffbeb;border-color:#fef3c7}.module-citas .appointment-panel{padding:0;border-radius:24px;overflow:hidden}.appointment-record{min-height:79px;padding:20px 28px;gap:16px}.appointment-record:before{content:'';width:10px;height:10px;border-radius:50%;background:#7565ef;flex:none;box-shadow:0 0 0 3px #faf9ff}.appointment-record.state-completed:before{background:#22c55e;box-shadow:0 0 0 3px #f0fdf4}.appointment-record.state-cancelled:before,.appointment-record.state-no_show:before{background:#ef4444;box-shadow:0 0 0 3px #fef2f2}.appointment-time{width:112px;border-right:1px solid #f8f9fa;padding-right:20px}.appointment-time b{font-size:16px;font-weight:900;line-height:20px}.appointment-time small{font-size:8px;line-height:12px;color:#9ca3af;font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-top:3px}.appointment-record .avatar{height:36px;width:36px;color:#64748b;background:#f3f4f6;font-size:12px;font-weight:700}.appointment-customer b{font-size:14px;font-weight:700;line-height:20px}.appointment-customer small{font-size:12px;line-height:18px;color:#6b7280;margin-top:1px}.appointment-record>strong{font-size:14px;line-height:20px;font-style:italic;font-weight:900}.appointment-record>.badge{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;line-height:12px;padding:4px 8px;border-radius:12px;min-width:90px;margin-left:8px}.appointment-record>.badge.confirmed{background:#f5f3ff;color:#8b5cf6}.appointment-record>.badge.completed{background:#f0fdf4;color:#16a34a}.row-chevron{display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:50%;height:28px;width:28px;color:#9ca3af;font-size:20px;flex:none}.appointment-record[aria-expanded=true] .row-chevron{transform:rotate(90deg)}.appointment-expanded{padding:20px 28px;background:#fcfcfd;border-bottom:1px solid #eef0f3}.appointment-expanded-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0 0 20px}.appointment-expanded-data small{display:block;font-size:10px;color:#9ca3af;line-height:15px;margin-bottom:4px}.appointment-expanded-data b{font-size:13px;font-weight:700;line-height:20px}.appointment-inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid #f1f2f4}.appointment-inline-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}.workspace .appointment-inline-actions .btn{font-size:10px;font-weight:800;text-transform:none;letter-spacing:0;border-radius:12px;min-height:36px;padding:9px 15px;box-shadow:none}.appointment-notes{font-size:12px;color:#6b7280;line-height:20px}.appointment-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0;font-size:12px;color:#9ca3af}.appointment-pagination>div{display:flex;gap:8px}.workspace .appointment-edit-dialog:not(#new-sale){width:768px;border-radius:32px}.appointment-edit-dialog>header h2:after{content:'AJUSTA SERVICIO, BARBERO, FECHA O CAMBIA DE HORARIO';display:block;font-size:9px;font-weight:700;line-height:15px;letter-spacing:.6px;color:#9ca3af;margin-top:4px}.workspace .appointment-edit-dialog>form{padding:24px 32px}.edit-customer{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border:1px solid #f3f4f6;border-radius:20px;margin-bottom:24px}.edit-customer>.avatar{width:40px;height:40px;background:#e5e7eb;color:#6b7280;font-size:16px;font-weight:800}.edit-customer b{font-size:14px;line-height:20px;display:block}.edit-customer small{font-size:11px;line-height:16px;color:#9ca3af;display:block;margin-top:4px}.appointment-edit-dialog .appointment-date-title{display:flex;align-items:center;gap:8px;font-size:13px;color:#111827;letter-spacing:0;font-weight:800;margin:4px 0 10px}.appointment-date-title svg{width:16px;height:16px}.appointment-date-summary{font-size:11px;color:#64748b;line-height:18px;margin:0 0 16px}.appointment-date-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:24px}.booking-calendar{padding:16px;border:1px solid #f0f1f3;border-radius:20px;background:#fff;min-width:0}.booking-calendar>header{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;gap:8px}.booking-calendar>header b{font-size:13px;font-weight:700;text-transform:capitalize}.booking-calendar>header button{width:28px;height:28px;border-radius:8px;border:1px solid #f0f1f3;background:white;color:#6b7280;font-size:20px;padding:0}.calendar-week-labels,[data-calendar-days]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week-labels{margin-bottom:8px}.calendar-week-labels span{font-size:10px;color:#9ca3af;text-align:center;font-weight:700;line-height:20px}[data-calendar-days]>button{border:0;border-radius:10px;background:#fff;min-height:30px;font-size:11px;color:#111827;padding:0;font-weight:600}[data-calendar-days]>button:hover{background:#f3f4f6}[data-calendar-days]>button.selected{background:#000;color:white;font-weight:800}[data-calendar-days]>button:disabled{opacity:.3;cursor:default}.booking-time-options{padding:16px;border:1px solid #f0f1f3;border-radius:20px;background:#f9fafb}.workspace .booking-time-options .field>span{font-size:9px}.workspace .booking-time-options .field select{background:white}.checkout-appointment-summary{margin:24px 32px 0;padding:20px;background:#fafafa;border-radius:20px}.checkout-appointment-summary h3{font-size:16px;font-weight:800;margin:0 0 8px}.checkout-appointment-summary p{font-size:12px;line-height:20px;color:#64748b;margin:0 0 6px}.checkout-appointment-summary .badge{margin-top:8px}.checkout-edit{margin:20px 32px 0}.checkout-ticket{margin:24px 32px}.reminders-summary{padding:24px 32px 32px}.reminders-summary p{font-size:13px;line-height:22px;color:#64748b}.calendar-slot{position:absolute;left:0;right:0;width:100%;height:72px;border:0;background:transparent;z-index:0;color:transparent;display:flex;align-items:center;justify-content:center;font-size:24px}.calendar-slot:hover{background:#f1f5f950;color:#9ca3af}.time-event{z-index:1}
@media(max-width:1279px) and (min-width:768px){.module-servicios .catalog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.module-servicios .page-heading,.module-equipo .page-heading{flex-wrap:wrap}.module-servicios .page-heading .actions,.module-equipo .page-heading .actions{width:100%}.service-header-controls{width:100%}.service-header-controls form{flex:1}}
@media(max-width:767px){.workspace>main{height:calc(100dvh - 72px);overflow-y:auto;overflow-x:hidden}.module-citas>main,.module-pos>main,.module-clientes>main{padding:20px 16px 100px}.module-servicios>main,.module-equipo>main{padding:32px 16px 100px}.module-ajustes>main{padding:0 0 100px}.settings-nav{top:0}.module-citas .page-heading{gap:16px;align-items:center}.module-citas .page-heading p{display:block;font-size:12px;line-height:18px}.module-citas .page-heading .actions{width:100%;justify-content:space-between}.module-citas .page-heading .btn{font-size:11px;padding:10px 16px;min-height:40px}.appointment-filters{padding:12px 16px;gap:10px;flex-wrap:wrap;margin-bottom:16px}.appointment-filters input[name=search]{font-size:12px;min-width:160px}.appointment-filters input[type=date]{border-left:0;border-top:1px solid #f3f4f6;padding:10px 0 0;width:100%;font-size:12px}.workspace .appointment-status-tabs{gap:6px;margin-bottom:20px}.workspace .appointment-status-tabs a{font-size:8px;padding:6px 12px;min-height:27px}.appointment-record{padding:18px 16px;gap:10px;flex-wrap:nowrap;position:relative;min-height:92px}.appointment-record:before{width:8px;height:8px}.appointment-time{width:48px;padding-right:0;border:0}.appointment-time b{font-size:13px}.appointment-time small{font-size:7px}.appointment-record .avatar{width:30px;height:30px;font-size:10px}.appointment-customer{min-width:0;flex:1}.appointment-customer b{font-size:11px}.appointment-customer small{font-size:9px;max-width:140px}.appointment-customer i{margin:0 3px}.appointment-customer em{display:none}.appointment-record>strong{font-size:11px;align-self:flex-start;margin-top:7px}.appointment-record>.badge{position:absolute;right:16px;bottom:16px;font-size:6px;line-height:10px;padding:2px 5px;min-width:0;margin:0}.row-chevron{display:none}.appointment-expanded{padding:18px 16px}.appointment-expanded-data{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-expanded-data small{font-size:8px}.appointment-expanded-data b{font-size:10px;line-height:17px;overflow-wrap:anywhere}.appointment-inline-actions{justify-content:flex-start;gap:7px}.workspace .appointment-inline-actions .btn{font-size:9px;padding:8px 11px;min-height:33px}.appointment-pagination{font-size:10px;gap:8px}.appointment-pagination .btn{font-size:10px;padding:8px 11px}.workspace .appointment-edit-dialog>form{padding:24px}.appointment-edit-dialog>header h2:after{font-size:8px;letter-spacing:.3px;max-width:240px}.appointment-date-grid{grid-template-columns:1fr;gap:16px}.booking-calendar{padding:16px}.booking-time-options{padding:16px}.checkout-appointment-summary{margin:20px 24px 0;padding:18px}.checkout-edit{margin:18px 24px 0}.reminders-summary{padding:24px}.checkout-ticket{margin:24px}}
@media print{body:has(.workspace),html:has(.workspace){height:auto;overflow:visible}.workspace>main{height:auto;overflow:visible}}
.workspace dialog .field{gap:6px}.workspace dialog .field>span{margin-bottom:0;line-height:13.5px}.workspace dialog:not(#new-sale)>form{padding-top:32px}.workspace .new-appointment-dialog:not(#new-sale){width:448px;max-height:90dvh;border-radius:40px}.workspace .new-appointment-dialog .form-footer{position:static}.manual-date-label{display:block;font-size:10px;line-height:13.5px;letter-spacing:.6px;font-weight:800;color:#9ca3af;text-transform:uppercase;margin:0 0 8px}.manual-date-label b{color:#a4aab6}.manual-booking-calendar{background:#f9fafb;border:1px solid #f5f6f8;border-radius:20px;margin-bottom:24px;padding:16px}.manual-booking-calendar>header{margin-bottom:16px}.manual-booking-calendar>header b{font-size:12px;font-weight:900;text-transform:uppercase}.manual-booking-calendar>header button{border:0;background:white;border-radius:50%;color:#9ca3af}.manual-booking-calendar .calendar-week-labels span{font-size:8px;line-height:16px;color:#cbd5e1;font-weight:800}.manual-booking-calendar [data-calendar-days]{gap:4px}.manual-booking-calendar [data-calendar-days]>button{min-height:42px;background:white;border-radius:18px;font-size:11px;font-weight:600}.manual-booking-calendar [data-calendar-days]>button.selected{border:1px solid black;background:white;color:black}.client-autocomplete,.enhanced-select{position:relative}.client-suggestions{position:absolute;left:0;right:0;top:calc(100% - 24px);z-index:25;border:1px solid #eef0f3;background:white;border-radius:16px;padding:6px;box-shadow:0 12px 30px #0002;max-height:240px;overflow:auto}.client-suggestions button{display:block;width:100%;padding:10px 12px;text-align:left;border:0;background:transparent;border-radius:10px}.client-suggestions button:hover{background:#f9fafb}.client-suggestions b{display:block;font-size:12px;line-height:18px;color:#111827}.client-suggestions small{display:block;font-size:10px;line-height:16px;color:#9ca3af}.workspace dialog .select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #f5f6f8;background:#f9fafb;border-radius:20px;min-height:46px;padding:12px 16px;font-size:14px;text-align:left;color:#9ca3af;font-weight:600;width:100%}.workspace dialog .select-trigger.has-value{color:#111827}.select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger>span:last-child{font-size:20px;color:#9ca3af;font-weight:400}.enhanced-menu{position:absolute;left:0;right:0;top:100%;margin-top:5px;z-index:25;background:white;border:1px solid #e5e7eb;border-radius:16px;padding:8px;box-shadow:0 12px 30px #0002}.enhanced-menu>input{width:100%;border:1px solid #f1f3f5!important;border-radius:10px!important;background:#fafafa!important;padding:9px 12px!important;min-height:36px!important;font-size:12px!important;margin-bottom:6px}.enhanced-menu>[role=listbox]{max-height:210px;overflow:auto}.enhanced-menu [role=option]{display:block;background:white;border:0;border-radius:10px;padding:10px 12px;text-align:left;width:100%;font-size:12px;color:#4b5563;font-weight:500}.enhanced-menu [role=option]:hover,.enhanced-menu [role=option]:focus{background:#f3f4f6}.enhanced-menu [aria-selected=true]{background:#fafafa;font-weight:800;color:#000}.enhanced-menu p{font-size:12px;padding:10px;text-align:center;color:#9ca3af;margin:0}.time-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto}.time-slot-grid>button{border:1px solid #e5e7eb;background:white;border-radius:12px;padding:10px 5px;min-height:38px;font-size:10px;font-weight:700;color:#64748b;text-align:center}.time-slot-grid>button.selected{background:#000;color:white;border-color:#000}.time-slot-grid>button:hover{border-color:#111827}.time-slot-message{font-size:11px;line-height:18px;color:#9ca3af;margin:0}.workspace .manual-booking-form .field:has(select[name=time]){margin-top:0}@media(max-width:767px){.workspace .new-appointment-dialog:not(#new-sale){width:calc(100vw - 24px);max-width:calc(100vw - 24px);border-radius:32px}.manual-booking-calendar [data-calendar-days]>button{min-height:36px;border-radius:14px}.workspace dialog .select-trigger{font-size:13px}.time-slot-grid{gap:7px}.time-slot-grid>button{font-size:9px}.workspace dialog:not(#new-sale)>form{padding-top:24px}}
