:root{--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif;--color-primary:#d7b26a;--color-primary-light:#d7b26a;--color-primary-dark:#d7b26a;--color-secondary:#06b6d4;--color-secondary-light:#67e8f9;--color-background:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-border:#cbd5e1}:root[data-theme=dark]{--color-background:#0f172a;--color-surface:#1e293b;--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-border:#334155}body{font-family:var(--sans);background-color:var(--color-background);color:var(--color-text);margin:0;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--serif);margin-top:0;font-weight:600}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-container{flex-direction:column;height:100vh;display:flex}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{background-color:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;width:240px;height:100%;padding:2rem 0}.main-content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-container{width:100%;max-width:1000px;color:var(--color-text);flex-direction:column;margin:0 auto;padding:2rem;display:flex}.profile-container{height:calc(100vh - 73px)}.sidebar-title{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:1rem;padding:0 1.5rem;font-size:.75rem}.sidebar-link{color:var(--color-text);background-color:#0000;border-left:4px solid #0000;margin-bottom:.25rem;padding:.75rem 1.5rem;font-weight:400;text-decoration:none;transition:all .2s;display:block}.sidebar-link.active{color:var(--color-primary);background-color:var(--color-background);border-left-color:var(--color-primary);font-weight:600}@media (width<=768px){.app-body{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-direction:row;align-items:center;width:100%;height:auto;padding:0;display:flex;overflow-x:auto}.sidebar-title{display:none}.sidebar-link{white-space:nowrap;border-bottom:4px solid #0000;border-left:none;margin-bottom:0;padding:1rem;display:inline-block}.sidebar-link.active{border-left-color:#0000;border-bottom-color:var(--color-primary)}.page-container{padding:1rem}.profile-container{height:auto}}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-end{justify-content:flex-end;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-xs{gap:.25rem}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.gap-xl{gap:2rem}.flex-1{flex:1}.flex-2{flex:2}.w-full{width:100%}.mt-auto{margin-top:auto}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.text-danger{color:#ef4444}.text-success{color:#10b981}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-600{font-weight:600}.font-500{font-weight:500}.text-center{text-align:center}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-0{margin:0}.mb-xs{margin-bottom:.25rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.p-xl{padding:2rem}.overflow-hidden{overflow:hidden}.relative{position:relative}.full-height{height:100%}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.card-padded{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.card-active{border-left:4px solid var(--color-primary)}.card-inactive{border-left:4px solid var(--color-border);opacity:.6}.section-divider{border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.5rem}.grid-cards{--grid-min:420px;grid-template-columns:repeat(auto-fill, minmax(var(--grid-min,420px), 1fr));gap:1.5rem;display:grid}.grid-cards-lg{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.grid-2col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-2col-full{grid-column:1/-1}.grid-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.grid-profile{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.btn{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:inherit;font-size:1rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background-color:var(--color-primary-light)}.btn:active:not(:disabled){background-color:var(--color-primary-dark)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-ghost{color:var(--color-text);border:1px solid var(--color-border);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-background)}.btn-danger{color:#dc2626;background-color:#0000;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background-color:#dc262614}.btn-icon{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s;display:inline-flex}.btn-icon:hover:not(:disabled){color:var(--color-text)}.btn-icon-danger{cursor:pointer;color:#ef4444;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:opacity .15s;display:inline-flex}.btn-icon-danger:hover:not(:disabled){opacity:.7}.btn-inline-action{color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;background-color:#ffffff0d;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-family:inherit;transition:background-color .15s;display:flex}.btn-inline-action:hover:not(:disabled){background-color:#ffffff1a}.btn-sm{padding:.3rem .6rem;font-size:.85rem}.btn-xs{padding:.4rem .8rem;font-size:.85rem}.form-field{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.form-label{color:var(--color-text);font-size:.875rem;font-weight:500}.form-input{border:1px solid var(--color-border);color:var(--color-text);box-sizing:border-box;background-color:#0000;border-radius:4px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-input:focus{border-color:var(--color-primary);outline:none}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-select{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:4px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-select:focus{border-color:var(--color-primary);outline:none}.form-textarea{border:1px solid var(--color-border);color:var(--color-text);resize:vertical;box-sizing:border-box;background-color:#0000;border-radius:4px;width:100%;min-height:100px;padding:.5rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-textarea:focus{border-color:var(--color-primary);outline:none}.form-error-text{color:#ef4444;margin-top:.25rem;font-size:.8rem}.time-input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.25rem;font-family:inherit}.date-input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.4rem;font-family:inherit;font-weight:600}.form-checkbox{cursor:pointer;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.form-checkbox input[type=checkbox]{cursor:pointer;width:1.2rem;height:1.2rem;accent-color:var(--color-primary)}.error-message{color:#ef4444;margin-bottom:1rem;font-size:.875rem}.error-banner{background-color:#ef444414;border:1px solid #ef44444d;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem}.error-banner p{color:#ef4444;margin:0;font-size:.875rem}.empty-state{text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:12px;padding:4rem 2rem}.empty-state h3{color:var(--color-text);margin:0 0 .5rem}.empty-state p{color:var(--color-text-muted);margin-bottom:1.5rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header-sticky{background-color:var(--color-background);z-index:10;justify-content:space-between;align-items:center;margin-top:-2rem;margin-bottom:1.5rem;padding-top:2rem;padding-bottom:1rem;display:flex;position:sticky;top:0}.page-title{margin:0;font-size:1.75rem}.page-subtitle{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.95rem}.loader-wrapper{justify-content:center;align-items:center;padding:4rem;display:flex}.loader-center-page{background-color:var(--color-background);justify-content:center;align-items:center;height:100vh;display:flex}.loader-svg{color:var(--color-primary);animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background-color:var(--color-surface);border-radius:8px;flex-direction:column;width:90%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-panel-sm{max-width:480px}.modal-panel-md{max-width:600px}.modal-panel-lg{max-width:800px}.modal-panel-xl{max-width:1000px}.modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{margin:0;font-size:1.25rem;font-weight:600}.modal-close-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .15s;display:flex}.modal-close-btn:hover{color:var(--color-text)}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.modal-footer-full{border-top:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-footer-actions{gap:1rem;display:flex}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.header-actions{align-items:center;gap:1rem;display:flex}.theme-toggle-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;font-size:1.25rem;transition:color .2s;display:flex}.theme-toggle-btn:hover{color:var(--color-text)}.auth-page{max-width:400px;color:var(--color-text);margin:4rem auto;padding:1rem}.auth-title{color:var(--color-primary);margin-bottom:.5rem}.auth-subtitle{color:var(--color-text-muted);margin-bottom:2rem}.otp-input{letter-spacing:.5em;text-align:center;border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:.375rem;outline:none;padding:.75rem;font-family:inherit;font-size:1.5rem;transition:border-color .15s}.otp-input:focus{border-color:var(--color-primary)}.otp-timer{color:var(--color-text-muted);font-size:.9rem}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-text-muted{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem;text-decoration:underline}.profile-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.profile-avatar{background-color:var(--color-primary);color:#fff;border:2px solid var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:2.5rem;font-weight:700;display:flex}.profile-info-row{align-items:center;gap:.5rem;display:flex}.profile-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex:1;margin-bottom:1rem;padding:2rem;overflow-y:auto}.profile-section-title{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:.5rem}.badge{border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#16a34a;background-color:#dcfce7}.badge-active{color:#10b981;background-color:#10b98126}.badge-inactive{color:var(--color-text-muted);background-color:#9ca3af26}.badge-dot{background-color:currentColor;border-radius:50%;width:6px;height:6px}.badge-verified{color:#fff;background-color:#10b981;border-radius:99px;padding:.25rem .75rem;font-size:.875rem}.badge-role-admin{background-color:var(--color-primary-light);color:#fff;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.badge-role-user{background-color:var(--color-border);color:var(--color-text);border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.booking-badge{border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.booking-badge-pending{color:#d97706;background-color:#fef3c7}.booking-badge-confirmed,.booking-badge-completed{color:#16a34a;background-color:#dcfce7}.booking-badge-cancelled,.booking-badge-rejected{color:#dc2626;background-color:#fee2e2}.record-badge-active{color:#2ecc71;background-color:#2ecc711a;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.record-badge-inactive{color:var(--color-text-muted);background-color:#95a5a61a;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.service-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;padding:1.5rem;transition:opacity .2s;display:flex;box-shadow:0 4px 6px -1px #0000001a}.service-card-active{border-left:4px solid var(--color-primary)}.service-card-inactive{opacity:.65}.service-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.service-card-name{font-family:var(--sans);color:var(--color-text);flex:1;margin:0;font-size:1.25rem;font-weight:900}.service-card-description{color:var(--color-text-muted);flex:1;min-height:3em;margin:0 0 1.5rem;font-size:.95rem;line-height:1.5}.service-card-meta{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.service-card-meta-item{align-items:center;gap:.75rem;min-width:0;display:flex}.meta-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.meta-icon-green{color:#10b981;background-color:#10b9811a}.meta-label{color:var(--color-text-muted);margin-bottom:.15rem;font-size:.75rem;display:block}.meta-value{color:var(--color-text);font-size:1rem;font-weight:700;display:block}.meta-value-truncate{word-break:break-word}.service-card-meta-item>div{min-width:0}.service-card-actions,.service-card-footer{border-top:1px solid var(--color-border);align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem;display:flex}.booking-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;padding:1.5rem;display:flex}.booking-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.booking-card-name{font-family:var(--sans);color:var(--color-text);margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.booking-card-details{background-color:var(--color-background);border-radius:8px;flex:1;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.booking-card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.booking-type-label{color:var(--color-text-muted);background-color:var(--color-background);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.booking-detail-box{background-color:var(--color-background);border-radius:8px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.booking-detail-row{justify-content:space-between;margin-bottom:.5rem;display:flex}.booking-detail-row:last-child{margin-bottom:0}.booking-type-badge{color:var(--color-text-muted);background-color:var(--color-background);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.table-wrapper{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.data-table{border-collapse:collapse;text-align:left;width:100%}.table-head-row{border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.table-th{color:var(--color-text-muted);padding:1rem;font-size:.875rem;font-weight:600}.table-row{border-bottom:1px solid var(--color-border);transition:background-color .15s}.table-row:last-child{border-bottom:none}.table-row:hover{background-color:var(--color-background)}.table-td{padding:1rem;font-size:.95rem}.table-td-muted{color:var(--color-text-muted);padding:1rem;font-size:.95rem}.table-empty-cell{text-align:center;color:var(--color-text-muted);padding:2rem}.table-pagination,.table-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.fw-medium{font-weight:500}.data-table thead tr{background-color:var(--color-background)}.data-table th{color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);padding:1rem;font-size:.875rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:1rem;font-size:.95rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background-color:var(--color-background)}.tab-list{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;display:flex}.tab-btn{color:var(--color-text-muted);cursor:pointer;text-transform:capitalize;background-color:#0000;border:none;border-bottom:2px solid #0000;padding:.8rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:400;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-text)}.tab-btn-active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.user-profile-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:2rem;display:flex}.user-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:1.5rem;font-size:.95rem;display:flex}.record-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.record-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.record-meta-left{align-items:center;gap:1rem;display:flex}.record-actions{gap:.5rem;display:flex}.record-body-grid{grid-template-columns:1fr 1fr;gap:.5rem;font-size:.95rem;display:grid}.dashboard-welcome{color:var(--color-primary);margin-bottom:2rem}.dashboard-body p{color:var(--color-text-muted);line-height:1.6}.form-section{flex-direction:column;gap:2rem;display:flex}.form-section-title{border-bottom:1px solid var(--color-border);color:var(--color-primary);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem}.slot-container{background-color:var(--color-background);border-radius:8px;padding:1rem}.slot-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.day-toggle-list{flex-wrap:wrap;gap:.5rem;display:flex}.day-toggle-btn{cursor:pointer;border-radius:20px;padding:.4rem .8rem;font-family:inherit;font-size:.85rem;transition:background-color .15s,color .15s}.day-toggle-btn-off{border:1px solid var(--color-border);color:var(--color-text);background-color:#0000}.day-toggle-btn-on{border:1px solid var(--color-primary);background-color:var(--color-primary);color:#fff}.date-override-card{background-color:var(--color-background);border-left:4px solid var(--color-secondary);border-radius:8px;padding:1rem}.filters-bar{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.search-field{flex:300px}.filter-select-wrapper{width:200px}.logo-img{object-fit:contain;display:block}.logo-sm{height:24px}.logo-md{height:32px}.logo-lg{height:48px}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.grid-full-row{grid-column:1/-1}.prescription-item-row{background-color:var(--color-background);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:1rem;display:flex}.prescription-item-name{flex:2 200px;min-width:150px}.prescription-item-schedule{flex:100px;min-width:100px}.prescription-item-days{flex:80px;min-width:80px}.prescription-item-delete{margin-top:1.8rem}.filter-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.filter-bar-grow{flex:300px}.filter-bar-select{width:200px}.search-max-w{max-width:400px}.pre-wrap{white-space:pre-wrap}.record-prescription-list{margin:.5rem 0;padding-left:1.2rem}.checkbox-end{align-self:flex-end;padding-bottom:.5rem}.section-heading-sm{font-size:1.1rem}.day-pill{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:20px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .15s,border-color .15s,color .15s}.day-pill-active{border-color:var(--color-primary);background-color:var(--color-primary);color:#fff}.time-input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.25rem .5rem}.schedule-day-block{background-color:var(--color-background);border-radius:8px;padding:1rem}.date-override-block{background-color:var(--color-background);border-left:4px solid var(--color-secondary);border-radius:8px;padding:1rem}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-lg{width:1.2rem;height:1.2rem}.provider-autofill-badge{color:var(--color-text-muted);background-color:#22c55e14;border:1px solid #22c55e4d;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.provider-autofill-icon{font-size:.85rem}.icon-preview-thumb{object-fit:cover;border-radius:var(--radius-sm,6px);border:1px solid var(--border-color,#e2e8f0);flex-shrink:0;width:48px;height:48px}.visually-hidden-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.items-end{align-items:flex-end}.schedule-ruler{height:1.25rem;margin-bottom:.25rem;position:relative}.schedule-ruler-tick{color:var(--color-text-muted,#64748b);white-space:nowrap;font-size:.7rem;position:absolute;transform:translate(-50%)}.schedule-ruler-tick:first-child{transform:translate(0)}.schedule-ruler-tick:last-child{transform:translate(-100%)}.schedule-track{background-color:var(--color-success-bg,#dcfce7);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-sm,6px);width:100%;height:2.5rem;position:relative;overflow:hidden}.schedule-block{background-color:var(--color-danger,#dc2626);opacity:.85;border-right:1px solid var(--color-surface,#fff);position:absolute;top:0;bottom:0}.schedule-block:hover{opacity:1}.schedule-legend{color:var(--color-text-muted,#64748b);font-size:.8rem}.schedule-swatch{border:1px solid var(--color-border,#e2e8f0);border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.schedule-swatch-free{background-color:var(--color-success-bg,#dcfce7)}.schedule-swatch-booked{background-color:var(--color-danger,#dc2626)}.dashboard-grid-kpis{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}@media (width>=768px){.dashboard-grid-kpis{grid-template-columns:repeat(4,1fr)}}.kpi-card{background-color:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:140px;padding:1.25rem;transition:transform .22s cubic-bezier(.4,0,.2,1),border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.kpi-card:before{content:"";background-color:#0000;width:100%;height:3px;transition:background-color .22s;position:absolute;top:0;left:0}.kpi-card:hover{border-color:var(--color-primary-light);transform:translateY(-4px);box-shadow:0 10px 20px -8px #0000001f,0 4px 6px -2px #0000000d}.kpi-card:hover:before{background-color:var(--color-primary)}.kpi-card-static{cursor:default}.kpi-card-static:hover{border-color:var(--color-border);transform:none;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.kpi-card-static:hover:before{background-color:#0000}.kpi-card-static:hover .kpi-icon-wrapper{transform:none}.kpi-header-row{justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;display:flex}.kpi-card-header{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.07em;font-size:.8rem;font-weight:600}.kpi-icon-wrapper{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s;display:flex}.kpi-card:hover .kpi-icon-wrapper{transform:scale(1.1)}.kpi-icon-bookings{color:var(--color-primary);background-color:#d7b26a1f}.kpi-icon-revenue{color:var(--color-secondary);background-color:#06b6d41f}.kpi-icon-customers{color:#10b981;background-color:#10b9811f}.kpi-icon-providers{color:#6366f1;background-color:#6366f11f}.kpi-card-primary{font-family:var(--sans);color:var(--color-text);letter-spacing:-.02em;margin:.25rem 0 .5rem;font-size:2.25rem;font-weight:800;line-height:1.1}.kpi-card-secondary-row{color:var(--color-text-muted);flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.kpi-card-secondary-row strong{color:var(--color-text);font-weight:600}.kpi-card-badge-row{margin-top:.75rem;display:flex}.pulse-indicator-yellow{vertical-align:middle;background-color:#d97706;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.8s infinite pulse-yellow-glow;display:inline-block;box-shadow:0 0 #d9770666}@keyframes pulse-yellow-glow{0%{transform:scale(.95);box-shadow:0 0 #d97706b3}70%{transform:scale(1);box-shadow:0 0 0 6px #d9770600}to{transform:scale(.95);box-shadow:0 0 #d9770600}}.wallet-strip{box-shadow:var(--shadow);background:linear-gradient(135deg,#6366f1 0%,#06b6d4 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.25rem 1.5rem;transition:filter .2s,transform .2s;display:flex;color:#fff!important}.wallet-strip-static{cursor:default}.wallet-strip-static:hover{filter:none;transform:none}.wallet-strip-details{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.wallet-strip-item{flex-direction:column;display:flex}.wallet-strip-label{opacity:.85;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.wallet-strip-value{font-size:1.25rem;font-weight:700;font-family:var(--sans)}.dashboard-grid-2col{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (width>=992px){.dashboard-grid-2col{grid-template-columns:1fr 1fr}}.chart-container-donut{flex-direction:column;justify-content:center;align-items:center;padding:1rem 0;display:flex;position:relative}@media (width>=576px){.chart-container-donut{flex-direction:row;justify-content:space-around;gap:2rem}}.donut-svg-wrapper{flex-shrink:0;width:180px;height:180px;position:relative}.donut-svg-inner{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-inner-num{font-size:1.75rem;font-weight:700;font-family:var(--sans);color:var(--color-text);line-height:1.1}.donut-inner-label{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;font-size:.7rem}.donut-legend{flex-direction:column;flex:1;gap:.5rem;max-width:280px;display:flex}.donut-legend-item{border-radius:6px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.85rem;transition:background-color .15s;display:flex}.donut-legend-item:hover{background-color:var(--color-background)}.donut-legend-color{border-radius:50%;width:10px;height:10px;margin-right:.5rem;display:inline-block}.donut-legend-label{color:var(--color-text);align-items:center;display:flex}.donut-legend-value{color:var(--color-text-muted);font-weight:600}.category-bars-list{flex-direction:column;gap:1.25rem;padding:.5rem 0;display:flex}.category-bar-row{flex-direction:column;gap:.4rem;display:flex}.category-bar-meta{justify-content:space-between;font-size:.875rem;display:flex}.category-bar-label{color:var(--color-text);font-weight:500}.category-bar-count{color:var(--color-text-muted);font-weight:600}.category-bar-track{background-color:var(--color-border);border-radius:99px;height:8px;overflow:hidden}.category-bar-fill{border-radius:99px;height:100%;transition:width .8s cubic-bezier(.1,1,.1,1)}.top-performers-card{padding:1.5rem}.performer-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.performer-row{border-bottom:1px solid var(--color-border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem .5rem;font-size:.9rem;transition:background-color .15s;display:flex}.performer-row:last-child{border-bottom:none}.performer-row:hover{background-color:var(--color-background)}.performer-meta{flex:1;align-items:center;gap:.75rem;display:flex}.performer-rank{color:var(--color-primary);width:20px;font-weight:600}.performer-avatar{background-color:var(--color-primary-light);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:flex}.performer-name{color:var(--color-text);font-weight:500}.performer-bar-container{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.performer-stat{color:var(--color-text);font-size:.875rem;font-weight:600}.performer-revenue-bar{background-color:var(--color-border);border-radius:2px;width:80px;height:4px;overflow:hidden}.performer-revenue-fill{background-color:var(--color-primary);height:100%}.recent-activity-tabs{margin-bottom:1.5rem}@media (width>=992px){.recent-activity-tabs-header{display:none}}.recent-activity-desktop-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=992px){.recent-activity-desktop-grid{grid-template-columns:1fr 1fr}.recent-activity-latest-full{grid-column:1/-1}}.activity-card{flex-direction:column;min-height:420px;display:flex}.activity-card-body{flex-direction:column;flex:1;justify-content:space-between;display:flex}.activity-list{flex-direction:column;gap:1rem;display:flex}.activity-list-item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;font-size:.85rem;transition:transform .15s;display:flex}.activity-list-item:hover{transform:translate(2px)}.activity-item-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.activity-item-title{color:var(--color-text);font-weight:600}.activity-item-subtitle{color:var(--color-text-muted);font-size:.75rem}.activity-item-actions{gap:.5rem;margin-top:.5rem;display:flex}.activity-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.activity-layout-toggle{gap:.25rem;display:flex}.layout-toggle-btn{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,border-color .15s;display:flex}.layout-toggle-btn:hover{background-color:var(--color-border);color:var(--color-text)}.layout-toggle-btn-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.booking-grid-layout{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width>=992px){.booking-grid-layout{grid-template-columns:repeat(3,1fr)}}@media (width>=1400px){.booking-grid-layout{grid-template-columns:repeat(4,1fr)}}.booking-grid-item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;justify-content:space-between;gap:.5rem;padding:.75rem;font-size:.85rem;transition:transform .15s;display:flex}.booking-grid-item:hover{transform:translateY(-2px)}.activity-card-footer{border-top:1px solid var(--color-border);text-align:center;margin-top:auto;padding-top:1rem}.btn-view-all{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;letter-spacing:.01em;background:0 0;border-radius:20px;padding:.4rem 1.1rem;font-size:.8rem;font-weight:600;transition:background-color .15s,color .15s}.btn-view-all:hover{background-color:var(--color-primary);color:#fff}.schedule-item-upcoming{border-left:4px solid var(--color-primary)!important;background-color:#d7b26a0d!important}.masked-mobile{cursor:pointer;background-color:var(--color-border);color:var(--color-text-muted);font-size:.75rem;font-family:var(--mono);-webkit-user-select:none;user-select:none;border-radius:4px;padding:.1rem .35rem;transition:background-color .15s}.masked-mobile:hover{background-color:var(--color-primary-light);color:#fff}.chart-card{width:100%}.chart-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.chart-tab-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s}.chart-tab-button:hover{color:var(--color-text);background-color:var(--color-background)}.chart-tab-button.active{color:var(--color-primary);background-color:#d7b26a1a;font-weight:600}.trend-svg-container{width:100%;height:240px;position:relative}.trend-svg{width:100%;height:100%;overflow:visible}.chart-path-line{fill:none;stroke-width:3px;stroke-linecap:round;transition:stroke .3s}.chart-grid-line{stroke:var(--color-border);stroke-dasharray:4 4}.chart-tooltip-line{stroke:var(--color-text-muted);stroke-width:1px;pointer-events:none}.chart-marker-dot{cursor:pointer;transition:r .15s}.chart-peak-dot{animation:2s infinite pulse-dot}@keyframes pulse-dot{0%{stroke-width:2px}50%{stroke-width:6px}to{stroke-width:2px}}.chart-interactive-overlay{fill:#0000;cursor:crosshair}.chart-html-tooltip{background-color:var(--color-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);pointer-events:none;z-index:100;border-radius:8px;flex-direction:column;gap:.2rem;margin-top:-10px;padding:.6rem .8rem;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 10px 15px -3px #0000001a}.chart-tooltip-date{color:var(--color-text-muted);font-weight:600}.chart-tooltip-val{color:var(--color-text);font-size:1rem;font-weight:700}.shimmer{background:linear-gradient(90deg, var(--color-background) 25%, var(--color-border) 37%, var(--color-background) 63%);background-size:400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0%}}.skeleton-text{border-radius:4px;height:1rem;margin-bottom:.5rem}.skeleton-title{border-radius:4px;width:60%;height:1.5rem;margin-bottom:1rem}.skeleton-card{border-radius:12px;height:120px}.skeleton-chart{border-radius:12px;width:100%;height:240px}.skeleton-strip{border-radius:12px;width:100%;height:60px;margin-bottom:1.5rem}.freshness-row{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.freshness-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.freshness-dot-live{background-color:#10b981}.freshness-dot-cached{background-color:var(--color-primary)}.refresh-button-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.mini-stat-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.mini-stat-chip{background-color:var(--color-surface);border:1px solid var(--color-border);min-width:140px;box-shadow:var(--shadow);border-radius:8px;flex:1;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.mini-stat-icon-wrapper{width:28px;height:28px;color:var(--color-primary);background-color:#d7b26a1f;border-radius:6px;justify-content:center;align-items:center;display:flex}.mini-stat-label{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.mini-stat-val{color:var(--color-text);font-size:1.2rem;font-weight:700}.status-chip{white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;border-radius:12px;flex-shrink:0;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-block}.status-chip.status-completed{color:#15803d;background-color:#dcfce7;border-color:#86efac}.status-chip.status-confirmed{color:#1d4ed8;background-color:#dbeafe;border-color:#93c5fd}.status-chip.status-cancelled{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.status-chip.status-pending_payment{color:#b45309;background-color:#fef3c7;border-color:#fcd34d}.status-chip.status-pending_approval{color:#92400e;background-color:#fffbeb;border-color:#fbbf24}.status-chip.status-rejected{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.status-chip.status-no_show{color:#4b5563;background-color:#f3f4f6;border-color:#d1d5db}.booking-badge-pending{color:#d97706;background-color:#fef3c7;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.dashboard-page{max-width:1400px;margin:0 auto}.trends-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.trends-range-toggle{gap:.5rem;display:flex}
