@import url('fonts.css');

:root {
    --primary: #635bff;
    --primary-dark: #5048e5;
    --ink: #182035;
    --muted: #7c8497;
    --canvas: #f6f7fb;
    --border: #e8ebf2;
    --sidebar: #151a2d;
    --sidebar-muted: #9199b1;
    --shadow: 0 10px 35px rgba(27, 35, 58, .06);
}

/* Holiday & leave management */
.holiday-panel,.holiday-form-card{overflow:hidden}.holiday-filters{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.65rem;grid-template-columns:minmax(240px,1fr) 190px 160px auto auto;padding:1.15rem 1.3rem}.holiday-search{position:relative}.holiday-search i{color:#9299aa;left:.85rem;position:absolute;top:.7rem}.holiday-search input{padding-left:2.3rem}.bulk-toolbar{align-items:center;background:#fafbfc;border-bottom:1px solid var(--border);display:flex;gap:.65rem;padding:.65rem 1.3rem}.bulk-toolbar span{color:var(--muted);font-size:.7rem;margin-right:auto}.bulk-toolbar .form-select{max-width:160px}.holiday-table{margin:0;min-width:1050px}.holiday-table th{color:#9298a9;font-size:.61rem;letter-spacing:.04em;padding:.8rem 1rem;text-transform:uppercase}.holiday-table td{color:#535b6d;font-size:.7rem;padding:.95rem 1rem;vertical-align:middle}.holiday-table td strong,.holiday-table td small{display:block}.holiday-table td strong{color:#303748}.holiday-table td small{color:#949aaa;font-size:.6rem;margin-top:.15rem}.type-badge,.status-pill{border-radius:20px;display:inline-flex;font-size:.6rem;font-weight:700;padding:.35rem .55rem}.type-badge{background:#f0efff;color:#6259dd}.status-pill{align-items:center;gap:.35rem}.status-pill i{border-radius:50%;height:6px;width:6px}.status-active{background:#eaf8f3;color:#15805e}.status-active i{background:#18a879}.status-inactive{background:#f1f2f5;color:#777e8e}.status-inactive i{background:#989eaa}.action-button{align-items:center;background:#f5f6f8;border:0;border-radius:8px;color:#596174;display:inline-flex;height:31px;justify-content:center;margin-left:.25rem;width:31px}.action-button.danger{color:#d74f61}.holiday-pagination{border-top:1px solid var(--border);padding:1rem 1.3rem}.holiday-empty{padding:3.5rem;text-align:center}.holiday-empty span{align-items:center;background:#f0efff;border-radius:16px;color:var(--primary);display:inline-flex;font-size:1.5rem;height:60px;justify-content:center;width:60px}.holiday-empty h3{font-size:.9rem;margin:.9rem 0 .35rem}.holiday-empty p{color:var(--muted);font-size:.7rem}.holiday-form-card{margin:0 auto;max-width:1050px}.holiday-form-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr);padding:1.4rem}.holiday-form-grid .span-2{grid-column:span 2}.holiday-form-grid .span-3{grid-column:span 3}.form-field .form-label{color:#4b5365;font-size:.67rem;font-weight:700}.form-field .form-label span{color:#a2a7b3;font-weight:500}.holiday-switches{align-items:center;background:#fafbfc;border:1px solid var(--border);border-radius:10px;display:flex;min-height:42px;padding:.65rem .8rem}.form-field.is-disabled{opacity:.48}.holiday-form-actions{background:#fafbfc;border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;padding:1rem 1.4rem}
@media(max-width:991.98px){.holiday-filters{grid-template-columns:1fr 1fr}.holiday-search{grid-column:span 2}.holiday-form-grid{grid-template-columns:1fr 1fr}.holiday-form-grid .span-3{grid-column:span 2}}
@media(max-width:575.98px){.holiday-filters{grid-template-columns:1fr}.holiday-search{grid-column:auto}.holiday-form-grid{grid-template-columns:1fr}.holiday-form-grid .span-2,.holiday-form-grid .span-3{grid-column:auto}.holiday-form-actions{flex-wrap:wrap}.holiday-form-actions .btn-primary{width:100%}}

/* Team management */
.team-panel{overflow:hidden}.team-filters{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.65rem;grid-template-columns:minmax(280px,1fr) 160px 170px auto auto;padding:1.15rem 1.3rem}.team-search{position:relative}.team-search i{color:#9299aa;left:.85rem;position:absolute;top:.7rem}.team-search input{padding-left:2.3rem}.team-table{margin:0;min-width:1050px}.team-table th{color:#9298a9;font-size:.61rem;letter-spacing:.04em;padding:.8rem 1rem;text-transform:uppercase}.team-table td{color:#535b6d;font-size:.68rem;padding:.85rem 1rem;vertical-align:middle}.team-table td>strong,.team-table td>small{display:block}.team-table td>small{color:#969cab}.team-identity{align-items:center;display:flex;gap:.7rem}.team-identity img,.team-identity>span{border-radius:11px;height:40px;object-fit:cover;width:40px}.team-identity>span{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-weight:800;justify-content:center}.team-identity strong,.team-identity small{display:block}.team-identity small{color:#9399aa;font-size:.59rem}.employee-code{background:#f3f4f7;border-radius:7px;color:#525a6d;font-size:.61rem;font-weight:700;padding:.35rem .48rem}.metric-chip{background:#edf7ff;border-radius:20px;color:#297bb2;font-size:.6rem;font-weight:700;padding:.35rem .55rem}.team-form-layout{align-items:start;display:grid;gap:1.2rem;grid-template-columns:245px minmax(0,1fr)}.team-form-nav{padding:1.3rem;position:sticky;top:85px}.team-form-avatar{align-items:center;background:#efeeff;border-radius:14px;color:var(--primary);display:flex;font-size:1.4rem;height:52px;justify-content:center;width:52px}.team-form-nav h2{font-size:.9rem;margin:1rem 0 .35rem}.team-form-nav p{color:var(--muted);font-size:.63rem;line-height:1.6}.team-form-nav a{border-radius:8px;color:#60687a;display:block;font-size:.65rem;font-weight:600;padding:.55rem .65rem}.team-form-nav a:hover{background:#f2f1ff;color:var(--primary)}.team-form-content{display:grid;gap:1.2rem}.team-form-section{overflow:hidden}.team-form-section>header{border-bottom:1px solid var(--border);padding:1.1rem 1.3rem}.team-form-section>header h2{font-size:.82rem;margin:0 0 .2rem}.team-form-section>header p{color:var(--muted);font-size:.62rem;margin:0}.team-fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1.3rem}.team-fields .span-2{grid-column:span 2}.team-switch{align-items:center;background:#fafbfc;border:1px solid var(--border);border-radius:10px;display:flex;padding:.65rem}.staff-schedule{padding:.8rem 1.3rem}.staff-schedule-row{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.55rem;grid-template-columns:90px 25px 1fr 1fr 75px 1fr 1fr;padding:.65rem 0}.staff-schedule-row strong,.staff-schedule-row label{font-size:.63rem}.service-selector{display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr);padding:1.3rem}.service-selector label{align-items:center;border:1px solid var(--border);border-radius:10px;display:flex;gap:.7rem;padding:.8rem}.service-selector strong,.service-selector small{display:block}.service-selector strong{font-size:.68rem}.service-selector small{color:var(--muted);font-size:.58rem}.team-form-actions{display:flex;gap:.6rem;justify-content:flex-end}.staff-profile-hero{align-items:center;display:flex;gap:1rem;margin-bottom:1rem;padding:1.3rem}.profile-photo img,.profile-photo span{border-radius:16px;height:72px;object-fit:cover;width:72px}.profile-photo span{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-size:1.2rem;font-weight:800;justify-content:center}.staff-profile-hero h2{font-size:1.05rem;margin:.45rem 0 .2rem}.staff-profile-hero p{color:var(--muted);font-size:.66rem;margin:0}.profile-metrics{align-items:center;display:flex;gap:1.3rem;margin-left:auto}.profile-metrics>span{color:var(--muted);font-size:.61rem;text-align:center}.profile-metrics>span strong{color:#333b4d;display:block;font-size:.88rem}.profile-tabs{background:#fff;border:1px solid var(--border);border-radius:12px;gap:.15rem;margin-bottom:1rem;overflow:auto;padding:.45rem}.profile-tabs button{background:transparent;border:0;border-radius:8px;color:#687084;font-size:.62rem;font-weight:700;padding:.55rem .7rem;white-space:nowrap}.profile-tabs button.active{background:#efeeff;color:var(--primary)}.profile-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.profile-card{padding:1.3rem}.profile-card h3{font-size:.8rem;margin-bottom:1rem}.profile-card>p{color:var(--muted);font-size:.68rem;line-height:1.7}.profile-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.profile-card dt,.profile-card dd{border-bottom:1px solid var(--border);font-size:.65rem;margin:0;padding:.65rem 0}.profile-card dt{color:var(--muted);font-weight:500}.profile-card dd{color:#3d4557;font-weight:700;text-align:right}.detail-grid{grid-template-columns:160px 1fr!important}.profile-list>div{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.7rem;padding:.75rem 0}.profile-list>div:last-child{border-bottom:0}.profile-list>div>span:last-child{color:#555e70;font-size:.65rem;margin-left:auto}.profile-list strong,.profile-list small{display:block}.profile-list strong{font-size:.67rem}.profile-list small{color:var(--muted);font-size:.59rem;margin-top:.15rem}.profile-list-icon{align-items:center;background:#f1f0ff;border-radius:9px;color:var(--primary);display:flex;height:35px;justify-content:center;width:35px}.profile-card-head{align-items:center;display:flex;justify-content:space-between}.leave-form{background:#fafbfc;border-radius:10px;display:grid;gap:.55rem;grid-template-columns:1fr 1fr 1fr 1fr 1.5fr auto;margin-bottom:1rem;padding:.8rem}
@media(max-width:1199.98px){.team-form-layout{grid-template-columns:1fr}.team-form-nav{display:none}.staff-schedule-row{grid-template-columns:80px 25px 1fr 1fr}.staff-schedule-row label{grid-column:1/3}.service-selector{grid-template-columns:1fr}.leave-form{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:767.98px){.team-filters{grid-template-columns:1fr 1fr}.team-search{grid-column:span 2}.team-fields{grid-template-columns:1fr}.team-fields .span-2{grid-column:auto}.staff-profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-metrics{margin-left:0;width:100%}.profile-grid{grid-template-columns:1fr}.staff-schedule-row{grid-template-columns:70px 25px 1fr}.staff-schedule-row .form-control{grid-column:span 1}.leave-form{grid-template-columns:1fr}.team-form-actions .btn-primary{flex:1}}

/* Service categories */
.category-panel{overflow:hidden}.category-filters{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.6rem;grid-template-columns:minmax(230px,1fr) 145px 165px 155px auto auto;padding:1.1rem 1.25rem}.category-search{position:relative}.category-search i{color:#9299aa;left:.85rem;position:absolute;top:.7rem}.category-search input{padding-left:2.3rem}.category-table{margin:0;min-width:1120px}.category-table th{color:#9298a9;font-size:.59rem;letter-spacing:.04em;padding:.8rem .9rem;text-transform:uppercase}.category-table td{color:#535b6d;font-size:.67rem;padding:.85rem .9rem;vertical-align:middle}.category-identity{align-items:center;display:flex;gap:.65rem}.category-identity>span{align-items:center;background:#efeeff;border-radius:10px;color:var(--primary);display:flex;font-size:.9rem;height:39px;justify-content:center;width:39px}.category-identity strong,.category-identity small{display:block}.category-identity strong{color:#333b4c}.category-identity small{color:#969cac;font-size:.58rem}.category-table code{background:#f5f6f8;border-radius:6px;color:#5c6477;font-size:.6rem;padding:.3rem .42rem}.category-star{color:#dfa124}.category-form-card{margin:0 auto;max-width:900px;overflow:hidden}.category-form-grid{display:grid;gap:1.1rem;grid-template-columns:1fr 1fr;padding:1.4rem}.category-form-grid .span-2{grid-column:span 2}.category-icon-input{display:grid;gap:.55rem;grid-template-columns:42px 1fr}.category-icon-input>span{align-items:center;background:#efeeff;border-radius:9px;color:var(--primary);display:flex;justify-content:center}.form-hint{color:var(--muted);display:block;font-size:.58rem;margin-top:.35rem}.category-toggle{background:#fafbfc;border:1px solid var(--border);border-radius:11px;padding:.8rem}.category-toggle>small{color:var(--muted);display:block;font-size:.57rem;line-height:1.5;margin-top:.4rem}.category-form-actions{background:#fafbfc;border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;padding:1rem 1.4rem}.category-detail-grid{display:grid;gap:1rem;grid-template-columns:1fr 260px;margin-bottom:1rem}.category-detail-hero{align-items:flex-start;display:flex;gap:1rem;padding:1.4rem}.category-detail-icon{align-items:center;background:#efeeff;border-radius:16px;color:var(--primary);display:flex;flex:0 0 66px;font-size:1.45rem;height:66px;justify-content:center}.category-detail-hero h2{font-size:1rem;margin:.65rem 0 .25rem}.category-detail-hero code{color:#707789;font-size:.63rem}.category-detail-hero p{color:var(--muted);font-size:.67rem;line-height:1.7;margin:1rem 0 0}.category-service-count{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:1.3rem;text-align:center}.category-service-count>span{align-items:center;background:#eaf8f3;border-radius:12px;color:#16835f;display:flex;font-size:1.1rem;height:46px;justify-content:center;width:46px}.category-service-count strong{font-size:1.4rem;margin-top:.65rem}.category-service-count p{font-size:.68rem;font-weight:700;margin:.1rem 0}.category-service-count small{color:var(--muted);font-size:.56rem;line-height:1.5}.category-info-card{overflow:hidden}.category-info-card dl{display:grid;grid-template-columns:220px 1fr;margin:0;padding:0 1.3rem}.category-info-card dt,.category-info-card dd{border-bottom:1px solid var(--border);font-size:.66rem;margin:0;padding:.85rem 0}.category-info-card dt{color:var(--muted);font-weight:500}.category-info-card dd{color:#3e4658;font-weight:700}.action-button:disabled{cursor:not-allowed;opacity:.4}
@media(max-width:1199.98px){.category-filters{grid-template-columns:1fr 1fr 1fr}.category-search{grid-column:span 2}.category-detail-grid{grid-template-columns:1fr 220px}}
@media(max-width:767.98px){.category-filters{grid-template-columns:1fr 1fr}.category-search{grid-column:span 2}.category-form-grid{grid-template-columns:1fr}.category-form-grid .span-2{grid-column:auto}.category-detail-grid{grid-template-columns:1fr}.category-info-card dl{grid-template-columns:130px 1fr}}
@media(max-width:479.98px){.category-filters{grid-template-columns:1fr}.category-search{grid-column:auto}.category-form-actions{flex-wrap:wrap}.category-form-actions .btn-primary{width:100%}.category-detail-hero{flex-direction:column}}

/* Services management */
.services-panel{overflow:hidden}.services-filters{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.55rem;grid-template-columns:minmax(210px,1fr) 150px 125px 130px 140px auto auto;padding:1.1rem 1.2rem}.services-search{position:relative}.services-search i{color:#9299aa;left:.85rem;position:absolute;top:.7rem}.services-search input{padding-left:2.3rem}.services-table{margin:0;min-width:1450px}.services-table th{color:#9298a9;font-size:.57rem;letter-spacing:.04em;padding:.75rem .7rem;text-transform:uppercase}.services-table td{color:#535b6d;font-size:.64rem;padding:.8rem .7rem;vertical-align:middle}.service-identity{align-items:center;display:flex;gap:.6rem}.service-identity img,.service-identity>span{border-radius:10px;height:42px;object-fit:cover;width:48px}.service-identity>span{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-size:.9rem;justify-content:center}.service-identity strong,.service-identity small{display:block}.service-identity strong{color:#323a4b}.service-identity small{color:#969cac;font-size:.56rem}.old-price{color:#9aa0ad;display:block;font-size:.55rem;text-decoration:line-through}.drag-handle{background:transparent;border:0;color:#a0a6b3;cursor:grab;padding:.3rem}.services-table tr.is-dragging{background:#f1f0ff;opacity:.65}.service-form-layout{align-items:start;display:grid;gap:1.2rem;grid-template-columns:235px minmax(0,1fr)}.service-form-aside{padding:1.2rem;position:sticky;top:85px}.service-image-preview{align-items:center;background:#f5f5fa;border:1px dashed #cfd3dd;border-radius:13px;color:#9298aa;display:flex;flex-direction:column;height:145px;justify-content:center;overflow:hidden}.service-image-preview img{height:100%;object-fit:cover;width:100%}.service-image-preview i{font-size:1.4rem}.service-image-preview span{font-size:.6rem;margin-top:.4rem}.service-form-aside h2{font-size:.86rem;margin:1rem 0 .3rem}.service-form-aside p{color:var(--muted);font-size:.61rem;line-height:1.6}.service-form-aside nav a{border-radius:8px;color:#626a7d;display:block;font-size:.63rem;font-weight:700;padding:.5rem .6rem}.service-form-aside nav a:hover{background:#efeeff;color:var(--primary)}.service-form-content{display:grid;gap:1.1rem}.service-form-section{overflow:hidden}.service-form-section>header{border-bottom:1px solid var(--border);padding:1.05rem 1.25rem}.service-form-section>header h2{font-size:.8rem;margin:0 0 .2rem}.service-form-section>header p{color:var(--muted);font-size:.6rem;margin:0}.service-fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1.25rem}.service-fields.four{grid-template-columns:repeat(4,1fr)}.service-fields .span-2{grid-column:span 2}.remove-image{color:#d14d5f;display:block;font-size:.61rem;margin-top:.5rem}.color-field{display:grid;gap:.5rem;grid-template-columns:45px 1fr}.color-field input[type=color]{background:#fff;border:1px solid var(--border);border-radius:8px;height:39px;padding:.2rem;width:45px}.service-toggle{align-items:center;background:#fafbfc;border:1px solid var(--border);border-radius:10px;display:flex;padding:.7rem}.service-staff-select{padding:1.25rem}.select2-container--default .select2-selection--multiple{border:1px solid var(--border);border-radius:9px;min-height:42px;padding:.2rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:var(--primary);box-shadow:0 0 0 .18rem rgba(99,91,255,.1)}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#efeeff;border:0;color:#5149c5;font-size:.62rem;padding:.25rem .45rem}.service-form-actions{display:flex;gap:.6rem;justify-content:flex-end}.service-detail-hero{align-items:center;display:flex;gap:1.2rem;margin-bottom:1rem;padding:1.3rem}.service-detail-hero>img,.service-detail-placeholder{border-radius:15px;height:125px;object-fit:cover;width:150px}.service-detail-placeholder{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-size:1.8rem;justify-content:center}.service-detail-copy{flex:1}.service-detail-copy h2{font-size:1.05rem;margin:.6rem 0 .2rem}.service-detail-copy code{color:#737a8b;font-size:.61rem}.service-detail-copy>p{color:var(--muted);font-size:.65rem;margin:.7rem 0}.service-detail-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.service-detail-badges>span:not(.status-pill){background:#f5f6f8;border-radius:20px;color:#687084;font-size:.59rem;padding:.35rem .55rem}.service-price-card{align-items:flex-end;background:#171c2f;border-radius:13px;color:#fff;display:flex;flex-direction:column;min-width:190px;padding:1rem}.service-price-card small{color:#aeb4c7;font-size:.57rem}.service-price-card del{color:#9299ac;font-size:.65rem}.service-price-card strong{font-size:1.15rem;margin:.15rem 0}.service-price-card span{color:#f2bd52;font-size:.59rem}.service-detail-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 310px}.service-detail-grid>div{display:grid;gap:1rem}.service-detail-card{overflow:hidden}.service-detail-card dl{display:grid;grid-template-columns:200px 1fr;margin:0;padding:0 1.25rem}.service-detail-card dt,.service-detail-card dd{border-bottom:1px solid var(--border);font-size:.64rem;margin:0;padding:.75rem 0}.service-detail-card dt{color:var(--muted);font-weight:500}.service-detail-card dd{color:#41495b;font-weight:700}.color-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d9dce4;display:inline-block;height:14px;margin-right:.4rem;vertical-align:middle;width:14px}.assigned-staff-grid{display:grid;gap:.7rem;grid-template-columns:1fr 1fr;padding:1.2rem}.assigned-staff-grid>div{align-items:center;border:1px solid var(--border);border-radius:10px;display:flex;gap:.6rem;padding:.65rem}.assigned-staff-grid img,.assigned-staff-grid>div>span{border-radius:9px;height:36px;object-fit:cover;width:36px}.assigned-staff-grid>div>span{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-size:.62rem;font-weight:800;justify-content:center}.assigned-staff-grid strong,.assigned-staff-grid small{display:block}.assigned-staff-grid strong{font-size:.64rem}.assigned-staff-grid small{color:var(--muted);font-size:.56rem}.service-counts{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1rem;padding:1rem}.service-counts>div{text-align:center}.service-counts>div+div{border-left:1px solid var(--border)}.service-counts span{color:var(--primary)}.service-counts strong,.service-counts small{display:block}.service-counts strong{font-size:1.1rem;margin:.25rem 0}.service-counts small{color:var(--muted);font-size:.55rem}.service-activity{overflow:hidden}.service-activity>header{border-bottom:1px solid var(--border);padding:1rem}.service-activity>header h2{font-size:.76rem;margin:0}.service-activity>header p{color:var(--muted);font-size:.57rem;margin:.2rem 0 0}.service-activity>div{padding:0 1rem}.service-activity article{display:flex;gap:.6rem;padding:.8rem 0;position:relative}.service-activity article+article{border-top:1px solid var(--border)}.service-activity article>span{align-items:center;background:#efeeff;border-radius:8px;color:var(--primary);display:flex;flex:0 0 30px;height:30px;justify-content:center}.service-activity article strong{font-size:.62rem}.service-activity article p{color:#687084;font-size:.57rem;margin:.15rem 0}.service-activity article small{color:#a0a5b1;font-size:.52rem}
@media(max-width:1399.98px){.services-filters{grid-template-columns:1fr 1fr 1fr 1fr}.services-search{grid-column:span 2}.service-fields.four{grid-template-columns:1fr 1fr}.service-detail-grid{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:991.98px){.service-form-layout{grid-template-columns:1fr}.service-form-aside{display:none}.service-detail-hero{align-items:flex-start;flex-wrap:wrap}.service-price-card{align-items:flex-start;width:100%}.service-detail-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.services-filters{grid-template-columns:1fr 1fr}.services-search{grid-column:span 2}.service-fields,.service-fields.four{grid-template-columns:1fr}.service-fields .span-2{grid-column:auto}.service-detail-card dl{grid-template-columns:130px 1fr}.assigned-staff-grid{grid-template-columns:1fr}}
@media(max-width:479.98px){.services-filters{grid-template-columns:1fr}.services-search{grid-column:auto}.service-detail-hero{flex-direction:column}.service-detail-hero>img,.service-detail-placeholder{width:100%}.service-form-actions{flex-wrap:wrap}.service-form-actions .btn-primary{width:100%}}

/* Appointment management */
.appointments-panel{overflow:hidden}.appointment-filters{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.55rem;grid-template-columns:minmax(210px,1fr) 135px 145px 150px 140px 140px auto auto;padding:1.1rem 1.2rem}.appointment-search{position:relative}.appointment-search i{color:#9299aa;left:.85rem;position:absolute;top:.7rem}.appointment-search input{padding-left:2.3rem}.appointments-table{margin:0;min-width:1350px}.appointments-table th{color:#9298a9;font-size:.57rem;letter-spacing:.04em;padding:.75rem .75rem;text-transform:uppercase}.appointments-table td{color:#535b6d;font-size:.63rem;padding:.85rem .75rem;vertical-align:middle}.appointments-table td>strong,.appointments-table td>small{display:block}.appointments-table td>small{color:#969cac;font-size:.55rem;max-width:170px}.appointment-status{border-radius:20px;display:inline-flex;font-size:.56rem;font-weight:800;padding:.35rem .55rem;white-space:nowrap}.status-pending{background:#fff5df;color:#a66d0c}.status-confirmed{background:#e8f4fc;color:#2378ad}.status-checked_in{background:#efeeff;color:#554bc8}.status-in_progress{background:#f3ebff;color:#7841b6}.status-completed{background:#eaf8f3;color:#147b5b}.status-cancelled,.status-rejected{background:#fdecef;color:#b33f50}.status-no_show{background:#eff1f4;color:#697180}.booking-wizard{display:grid;gap:1rem}.booking-steps{background:#fff;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:repeat(5,1fr);padding:.55rem}.booking-steps button{align-items:center;background:transparent;border:0;border-radius:9px;color:#8b92a3;display:flex;font-size:.62rem;font-weight:700;gap:.45rem;justify-content:center;padding:.55rem}.booking-steps button span{align-items:center;background:#eff1f5;border-radius:50%;display:flex;height:24px;justify-content:center;width:24px}.booking-steps button.active{background:#efeeff;color:var(--primary)}.booking-steps button.active span,.booking-steps button.complete span{background:var(--primary);color:#fff}.booking-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 280px}.booking-content{display:grid;gap:0}.booking-step{display:none;overflow:hidden}.booking-step.active{display:block}.booking-step>header{border-bottom:1px solid var(--border);padding:1.15rem 1.3rem}.booking-step>header h2{font-size:.82rem;margin:0 0 .2rem}.booking-step>header p{color:var(--muted);font-size:.61rem;margin:0}.booking-mode{display:flex;gap:.7rem;padding:1.2rem 1.3rem 0}.booking-mode label{border:1px solid var(--border);border-radius:9px;font-size:.63rem;font-weight:700;padding:.65rem .8rem}.booking-fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1.2rem 1.3rem}.booking-fields .span-2{grid-column:span 2}.booking-service-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;padding:1.2rem}.booking-service-grid>label{align-items:center;border:1px solid var(--border);border-radius:11px;display:flex;gap:.7rem;padding:.8rem;position:relative}.booking-service-grid>label:has(input:checked){background:#f7f6ff;border-color:#9a94f1}.booking-service-grid>label>input{position:absolute;right:.7rem;top:.7rem}.service-check-icon{align-items:center;background:#efeeff;border-radius:9px;color:var(--primary);display:flex;height:38px;justify-content:center;width:38px}.booking-service-grid strong,.booking-service-grid small,.booking-service-grid b{display:block}.booking-service-grid strong{font-size:.66rem}.booking-service-grid small{color:var(--muted);font-size:.56rem}.booking-service-grid b{color:#353d4f;font-size:.62rem;margin-top:.2rem}.booking-staff-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);padding:1.2rem}.booking-staff-grid label{align-items:center;border:1px solid var(--border);border-radius:11px;display:flex;gap:.6rem;padding:.75rem;position:relative}.booking-staff-grid label:has(input:checked){background:#f7f6ff;border-color:#918af0}.booking-staff-grid input{position:absolute;right:.6rem;top:.6rem}.booking-staff-grid img,.booking-staff-grid label>span{border-radius:9px;height:38px;object-fit:cover;width:38px}.booking-staff-grid label>span{align-items:center;background:#efeeff;color:var(--primary);display:flex;font-size:.6rem;font-weight:800;justify-content:center}.booking-staff-grid strong,.booking-staff-grid small{display:block}.booking-staff-grid strong{font-size:.64rem}.booking-staff-grid small{color:var(--muted);font-size:.55rem}.booking-date{align-items:end;display:grid;gap:.7rem;grid-template-columns:minmax(180px,300px) auto;padding:1.2rem}.booking-slots{display:flex;flex-wrap:wrap;gap:.55rem;padding:0 1.2rem 1.2rem}.booking-slot{background:#fff;border:1px solid var(--border);border-radius:8px;color:#525a6c;font-size:.62rem;font-weight:700;padding:.55rem .7rem}.booking-slot:hover,.booking-slot.active{background:var(--primary);border-color:var(--primary);color:#fff}.booking-empty{color:var(--muted);padding:1.5rem;text-align:center;width:100%}.booking-empty i{font-size:1.2rem}.booking-empty p{font-size:.62rem;margin:.4rem 0}.slot-loading,.calendar-loading{display:flex;gap:.5rem;padding:1rem}.slot-loading span,.calendar-loading span{animation:skeleton 1.2s infinite;background:#eceef3;border-radius:7px;height:36px;width:90px}@keyframes skeleton{50%{opacity:.45}}.booking-actions{display:flex;gap:.6rem;justify-content:flex-end;padding-top:1rem}.booking-summary{padding:1.2rem;position:sticky;top:85px}.booking-summary h2{font-size:.8rem;margin-bottom:1rem}.booking-summary>div{display:flex;font-size:.62rem;justify-content:space-between;padding:.55rem 0}.booking-summary>div span{color:var(--muted)}.booking-summary hr{border-color:var(--border)}.booking-summary .booking-total{border-top:1px solid var(--border);font-size:.75rem;margin-top:.4rem;padding-top:.85rem}.booking-summary>small{background:#eaf8f3;border-radius:8px;color:#177b5c;display:block;font-size:.55rem;line-height:1.5;margin-top:1rem;padding:.65rem}.calendar-shell{overflow:hidden;padding:1.2rem}.calendar-shell>header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calendar-shell>header h2{font-size:.82rem;margin:0}.calendar-shell>header p{color:var(--muted);font-size:.6rem;margin:.2rem 0}.calendar-shell>header>div:last-child{display:flex;gap:.5rem}.fc{font-family:'DM Sans',sans-serif}.fc .fc-toolbar-title{font-size:1rem}.fc .fc-button{background:#635bff;border-color:#635bff;font-size:.65rem}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:#555d70;font-size:.62rem;text-decoration:none}.fc-event{border-radius:5px;font-size:.57rem;padding:.15rem}.appointment-hero{align-items:center;display:flex;gap:1rem;margin-bottom:1rem;padding:1.2rem}.appointment-hero-icon{align-items:center;background:#efeeff;border-radius:14px;color:var(--primary);display:flex;font-size:1.25rem;height:56px;justify-content:center;width:56px}.appointment-hero h2{font-size:.95rem;margin:.55rem 0 .15rem}.appointment-hero p{color:var(--muted);font-size:.62rem;margin:0}.appointment-status-form{display:grid;gap:.5rem;grid-template-columns:140px 190px auto;margin-left:auto}.appointment-detail-layout{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 310px}.appointment-detail-layout>div{display:grid;gap:1rem}.appointment-detail-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.appointment-card{padding:1.2rem}.appointment-card h3,.payment-summary h3,.appointment-timeline h3{font-size:.76rem;margin:0 0 .9rem}.appointment-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.appointment-card dt,.appointment-card dd{border-bottom:1px solid var(--border);font-size:.61rem;margin:0;padding:.55rem 0}.appointment-card dt{color:var(--muted);font-weight:500}.appointment-card dd{font-weight:700;text-align:right}.appointment-services>div{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.6rem;padding:.65rem 0}.appointment-services>div>span{align-items:center;background:#efeeff;border-radius:8px;color:var(--primary);display:flex;height:34px;justify-content:center;width:34px}.appointment-services strong,.appointment-services small{display:block}.appointment-services strong{font-size:.63rem}.appointment-services small{color:var(--muted);font-size:.54rem}.appointment-services b{font-size:.63rem;margin-left:auto}.appointment-notes{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.appointment-notes strong{font-size:.62rem}.appointment-notes p{color:var(--muted);font-size:.59rem;line-height:1.6}.payment-summary{padding:1.1rem}.payment-summary>div{display:flex;font-size:.61rem;justify-content:space-between;padding:.5rem 0}.payment-summary>div span{color:var(--muted)}.payment-summary .payment-total{border-top:1px solid var(--border);font-size:.72rem;margin-top:.4rem;padding-top:.8rem}.payment-summary>small{color:var(--muted);display:block;font-size:.53rem;line-height:1.5;margin-top:.7rem}.appointment-timeline{margin-top:1rem;padding:1.1rem}.appointment-timeline article{display:flex;gap:.7rem;padding:0 0 1rem;position:relative}.appointment-timeline article>i{background:var(--primary);border:3px solid #e5e3ff;border-radius:50%;height:12px;margin-top:.2rem;width:12px}.appointment-timeline article strong{font-size:.61rem}.appointment-timeline article p{color:#697184;font-size:.56rem;margin:.15rem 0}.appointment-timeline article small{color:#9ba1ae;font-size:.51rem}.appointment-print{background:#fff;color:#222;font-family:Arial,sans-serif;padding:2rem}.appointment-print main{margin:auto;max-width:750px}.appointment-print header{border-bottom:2px solid #222;display:flex;justify-content:space-between}.appointment-print section{border-bottom:1px solid #ddd;padding:1rem 0}.appointment-print h1{font-size:1.5rem}.appointment-print h2{font-size:.9rem}.appointment-print p{font-size:.75rem;line-height:1.6}.appointment-print footer{text-align:right;padding:1rem 0}
@media(max-width:1399.98px){.appointment-filters{grid-template-columns:1fr 1fr 1fr 1fr}.appointment-search{grid-column:span 2}.booking-layout{grid-template-columns:minmax(0,1fr) 240px}.booking-staff-grid{grid-template-columns:1fr 1fr}}
@media(max-width:991.98px){.booking-layout,.appointment-detail-layout{grid-template-columns:1fr}.booking-summary{position:static}.appointment-hero{align-items:flex-start;flex-wrap:wrap}.appointment-status-form{margin-left:0;width:100%}.calendar-shell>header{align-items:flex-start;gap:.7rem;flex-direction:column}}
@media(max-width:767.98px){.appointment-filters{grid-template-columns:1fr 1fr}.appointment-search{grid-column:span 2}.booking-steps button{font-size:0}.booking-service-grid,.booking-staff-grid,.booking-fields{grid-template-columns:1fr}.booking-fields .span-2{grid-column:auto}.appointment-detail-grid{grid-template-columns:1fr}.appointment-status-form{grid-template-columns:1fr}.appointment-notes{grid-template-columns:1fr}}
@media(max-width:479.98px){.appointment-filters{grid-template-columns:1fr}.appointment-search{grid-column:auto}.booking-date{grid-template-columns:1fr}.booking-steps{overflow:auto}.booking-steps button{min-width:45px}.calendar-shell{padding:.7rem}}
@media print{.appointment-print{padding:0}.appointment-print main{max-width:none}}

* { box-sizing: border-box; }
body { color: var(--ink); font-family: 'DM Sans', sans-serif; font-size: .925rem; }
h1, h2, h3, h4, .brand { font-family: 'Manrope', sans-serif; }
a { color: var(--primary); text-decoration: none; }
.btn { border-radius: 10px; font-weight: 600; padding: .65rem 1rem; }
.btn-primary { background: var(--primary); border-color: var(--primary); box-shadow: 0 6px 15px rgba(99, 91, 255, .2); }
.btn-primary:hover, .btn-primary:focus { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-outline-secondary { border-color: var(--border); color: #555d70; }
.form-control, .form-select { border-color: var(--border); border-radius: 10px; min-height: 46px; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(99, 91, 255, .12); }
.form-label { color: #444c60; font-weight: 600; margin-bottom: .45rem; }
.eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.auth-body { background: #fff; min-height: 100vh; }
.auth-shell { display: grid; grid-template-columns: minmax(360px, 42%) 1fr; min-height: 100vh; }
.auth-visual { background: linear-gradient(150deg, rgba(28, 34, 60, .97), rgba(64, 55, 155, .95)), radial-gradient(circle at top right, #766fff, transparent 55%); color: #fff; display: flex; flex-direction: column; overflow: hidden; padding: 3rem 4rem; position: relative; }
.auth-visual::after { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ''; height: 540px; position: absolute; right: -280px; top: 15%; width: 540px; }
.brand { align-items: center; color: var(--ink); display: inline-flex; font-size: 1.16rem; font-weight: 800; gap: .7rem; }
.brand:hover { color: inherit; }
.brand-light { color: #fff; }
.brand-mark { align-items: center; background: var(--primary); border-radius: 10px; display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.auth-visual-content { margin: auto 0; max-width: 530px; position: relative; z-index: 1; }
.auth-visual-content .eyebrow { color: #b9b5ff; }
.auth-visual h1 { font-size: clamp(2.7rem, 4.5vw, 4.4rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.05; margin: 1.3rem 0 1.5rem; }
.auth-visual-content > p { color: #c9ccda; font-size: 1.08rem; line-height: 1.8; max-width: 440px; }
.auth-proof { display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 2rem; }
.auth-proof span { color: #dfe1ec; font-weight: 500; }
.auth-proof i { color: #8c85ff; margin-right: .4rem; }
.auth-copyright { color: #80879e; font-size: .78rem; margin: 0; }
.auth-panel { align-items: center; display: flex; justify-content: center; padding: 3rem; }
.auth-card { max-width: 450px; width: 100%; }
.auth-heading { margin-bottom: 2rem; }
.auth-heading h2 { font-size: 2rem; font-weight: 800; letter-spacing: -.04em; margin: .7rem 0 .6rem; }
.auth-heading p { color: var(--muted); margin: 0; }
.input-icon-wrap { position: relative; }
.input-icon-wrap > i { color: #9299aa; left: 1rem; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.input-icon-wrap > i + .form-control { padding-left: 2.75rem; }
.auth-form .btn-lg { min-height: 51px; }
.auth-switch { color: var(--muted); margin: 1.75rem 0 0; text-align: center; }
.auth-switch a { font-weight: 700; }

.dashboard-body { background: var(--canvas); min-height: 100vh; }
.app-shell { display: flex; min-height: 100vh; }
.app-sidebar { background: var(--sidebar); color: #fff; display: flex; flex-direction: column; flex: 0 0 260px; height: 100vh; left: 0; padding: 1.5rem 1rem; position: fixed; top: 0; width: 260px; z-index: 1040; }
.sidebar-header { align-items: center; display: flex; justify-content: space-between; padding: 0 .65rem 1.8rem; }
.sidebar-close { background: none; border: 0; color: #fff; display: none; }
.sidebar-nav { flex: 1; overflow-y: auto; }
.nav-label { color: #636c86; display: block; font-size: .66rem; font-weight: 700; letter-spacing: .12em; padding: 1.3rem .85rem .6rem; text-transform: uppercase; }
.sidebar-nav .nav-link { align-items: center; border-radius: 9px; color: var(--sidebar-muted); display: flex; font-weight: 500; gap: .8rem; margin-bottom: .25rem; padding: .72rem .85rem; }
.sidebar-nav .nav-link i { font-size: 1.05rem; width: 20px; }
.sidebar-nav .nav-link.active { background: rgba(99, 91, 255, .16); color: #fff; }
.sidebar-nav .nav-link.active i { color: #8e88ff; }
.sidebar-nav .nav-link.disabled { cursor: default; opacity: .72; }
.soon { background: rgba(255,255,255,.09); border-radius: 12px; font-size: .58rem; margin-left: auto; padding: .2rem .45rem; text-transform: uppercase; }
.sidebar-help { align-items: center; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; color: inherit; display: flex; gap: .7rem; padding: .85rem; text-decoration: none; }
.sidebar-help:hover { background: rgba(255,255,255,.09); color: inherit; }
.sidebar-help > span { align-items: center; background: rgba(99,91,255,.25); border-radius: 8px; display: flex; height: 34px; justify-content: center; width: 34px; }
.sidebar-help div { flex: 1; }
.sidebar-help strong { font-size: .78rem; }
.sidebar-help p { color: #7f879e; font-size: .68rem; margin: .1rem 0 0; }
.sidebar-help > i { color: #6f7790; }
.app-main { display: flex; flex-direction: column; margin-left: 260px; min-height: 100vh; width: calc(100% - 260px); }
.top-navbar { align-items: center; background: #fff; border-bottom: 1px solid var(--border); display: flex; height: 74px; justify-content: space-between; padding: 0 2rem; position: sticky; top: 0; z-index: 1020; }
.sidebar-toggle { display: none !important; }
.nav-icon { align-items: center; background: transparent; border: 0; border-radius: 9px; color: #60687b; display: inline-flex; font-size: 1.1rem; height: 40px; justify-content: center; position: relative; width: 40px; }
.nav-icon:hover { background: var(--canvas); }
.navbar-search { align-items: center; color: #9ba1b0; display: flex; gap: .6rem; }
.navbar-search input { border: 0; color: var(--ink); outline: 0; width: 220px; }
.navbar-search kbd { background: #f2f3f7; border: 1px solid var(--border); color: #8990a1; font-family: inherit; font-size: .64rem; }
.navbar-actions, .user-menu { align-items: center; display: flex; }
.navbar-actions { gap: .7rem; }
.notification-dot { background: #f15c6d; border: 2px solid #fff; border-radius: 50%; height: 8px; position: absolute; right: 8px; top: 7px; width: 8px; }
.navbar-divider { background: var(--border); height: 30px; width: 1px; }
.user-menu { background: none; border: 0; gap: .65rem; padding: .3rem; text-align: left; }
.avatar { align-items: center; background: linear-gradient(145deg, #665eff, #8875e8); border-radius: 10px; color: #fff; display: inline-flex; font-size: .72rem; font-weight: 700; height: 39px; justify-content: center; width: 39px; }
.avatar img, .profile-avatar img { border-radius: inherit; height: 100%; object-fit: cover; width: 100%; }
.user-copy { display: flex; flex-direction: column; min-width: 100px; }
.user-copy strong { font-size: .8rem; }
.user-copy small, .dropdown-user small { color: var(--muted); font-size: .68rem; }
.user-menu > i { color: #9aa0af; font-size: .7rem; }
.dropdown-menu { border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow); padding: .5rem; }
.notification-menu { min-width: 300px; }
.dropdown-heading { align-items: center; display: flex; justify-content: space-between; padding: .65rem; }
.dropdown-heading span { color: var(--muted); font-size: .7rem; }
.notification-empty { color: var(--muted); padding: 2rem; text-align: center; }
.notification-empty i { font-size: 1.5rem; }
.notification-empty p { margin: .5rem 0 0; }
.user-dropdown { min-width: 245px; }
.dropdown-user { align-items: center; display: flex; gap: .7rem; padding: .65rem; }
.dropdown-user div { display: flex; flex-direction: column; }
.dropdown-item { border-radius: 7px; font-size: .82rem; padding: .55rem .65rem; }
.dropdown-item i { margin-right: .5rem; }
.page-content { flex: 1; padding: 2rem; }
.page-header { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 1.8rem; }
.breadcrumb { font-size: .72rem; margin-bottom: .6rem; }
.breadcrumb-item a { color: var(--muted); }
.page-header h1 { font-size: 1.7rem; font-weight: 800; letter-spacing: -.035em; margin: 0 0 .35rem; }
.page-header p { color: var(--muted); margin: 0; }
.page-actions { display: flex; gap: .6rem; }
.stats-grid { display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 1rem; }
.stat-card, .panel { background: #fff; border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); }
.stat-card { align-items: center; display: grid; gap: .75rem; grid-template-columns: auto 1fr; min-height: 132px; padding: 1.15rem; position: relative; }
.stat-icon { align-items: center; border-radius: 10px; display: flex; font-size: 1.15rem; height: 42px; justify-content: center; width: 42px; }
.stat-icon-primary, .quick-icon.primary { background: #efeeff; color: var(--primary); }
.stat-icon-info, .quick-icon.info { background: #eaf6ff; color: #2992d4; }
.stat-icon-success, .quick-icon.success { background: #e9f8f2; color: #13a474; }
.stat-icon-warning, .quick-icon.warning { background: #fff5df; color: #dc941e; }
.stat-icon-danger { background: #ffedf0; color: #e55365; }
.stat-card p { color: var(--muted); font-size: .72rem; margin: 0 0 .2rem; }
.stat-card h3 { font-size: 1.35rem; font-weight: 800; margin: 0; }
.stat-trend { bottom: .75rem; color: #a2a7b4; font-size: .61rem; position: absolute; right: .85rem; }
.dashboard-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr); margin-bottom: 1rem; }
.panel { min-width: 0; }
.panel-header { align-items: center; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; padding: 1.2rem 1.35rem; }
.panel-header h2 { font-size: .95rem; font-weight: 800; margin: 0 0 .25rem; }
.panel-header p { color: var(--muted); font-size: .7rem; margin: 0; }
.panel-header .form-select { min-height: 34px; width: auto; }
.panel-header .btn-link { font-size: .72rem; padding: .3rem; }
.chart-legend { display: flex; gap: 1.3rem; justify-content: flex-end; padding: 1rem 1.35rem 0; }
.chart-legend span { color: var(--muted); font-size: .68rem; }
.legend-dot { border-radius: 50%; display: inline-block; height: 7px; margin-right: .35rem; width: 7px; }
.legend-dot.primary { background: var(--primary); }
.legend-dot.success { background: #13a474; }
.chart-wrap { height: 265px; padding: .8rem 1.25rem 1.3rem; }
.empty-state { color: var(--muted); padding: 2.2rem 1rem; text-align: center; }
.empty-state > span { align-items: center; background: #f1f2f8; border-radius: 50%; color: #969daf; display: inline-flex; font-size: 1.2rem; height: 48px; justify-content: center; margin-bottom: .8rem; width: 48px; }
.empty-state h4 { color: #4a5264; font-size: .82rem; font-weight: 700; margin: 0 0 .3rem; }
.empty-state p { font-size: .7rem; margin: 0; }
.upcoming-panel .empty-state { padding-top: 4rem; }
.lower-grid { grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr); }
.table { margin: 0; }
.table > :not(caption) > * > * { border-color: var(--border); padding: .85rem 1.25rem; }
.table thead th { background: #fafbfc; color: #8a91a2; font-size: .65rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.table tbody td { font-size: .78rem; }
.recent-panel .empty-state { padding: 1.6rem; }
.quick-actions { padding: .5rem; }
.quick-actions button { align-items: center; background: #fff; border: 0; border-radius: 9px; display: flex; gap: .7rem; padding: .75rem; text-align: left; width: 100%; }
.quick-actions button:hover { background: #f8f9fc; }
.quick-icon { align-items: center; border-radius: 9px; display: flex; height: 36px; justify-content: center; width: 36px; }
.quick-actions button > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; }
.quick-actions strong { color: #424a5c; font-size: .76rem; }
.quick-actions small { color: var(--muted); font-size: .65rem; }
.quick-actions button > i { color: #b3b7c2; font-size: .7rem; }
.app-footer { color: var(--muted); display: flex; font-size: .68rem; justify-content: space-between; padding: 1rem 2rem 1.5rem; }
.footer-dot { background: #c2c6d0; border-radius: 50%; display: inline-block; height: 3px; margin: 0 .4rem; vertical-align: middle; width: 3px; }
.sidebar-overlay { display: none; }

.account-body { background: var(--canvas); min-height: 100vh; }
.account-navbar { align-items: center; background: #fff; border-bottom: 1px solid var(--border); display: flex; height: 76px; justify-content: space-between; padding: 0 max(1.25rem, calc((100vw - 1180px) / 2)); }
.account-user, .account-profile-link { align-items: center; display: flex; }
.account-user { gap: .8rem; }
.account-profile-link { color: var(--ink); gap: .65rem; }
.account-profile-link > span:nth-child(2) { display: flex; flex-direction: column; }
.account-profile-link strong { font-size: .8rem; }
.account-profile-link small { color: var(--muted); font-size: .68rem; }
.account-content { margin: 0 auto; max-width: 1180px; min-height: calc(100vh - 132px); padding: 2.5rem 1.25rem; }
.account-page-header { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 1.75rem; }
.account-page-header h1 { font-size: 1.8rem; font-weight: 800; letter-spacing: -.04em; margin: .5rem 0 .35rem; }
.account-page-header p { color: var(--muted); margin: 0; }
.account-footer { color: var(--muted); font-size: .7rem; padding: 1rem; text-align: center; }
.account-dashboard-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
.account-welcome-card { align-items: center; display: flex; gap: 1rem; padding: 1.5rem; }
.account-card-icon { align-items: center; background: #efeeff; border-radius: 12px; color: var(--primary); display: flex; font-size: 1.35rem; height: 52px; justify-content: center; width: 52px; }
.account-welcome-card h2 { font-size: 1rem; font-weight: 800; margin: 0 0 .3rem; }
.account-welcome-card p { color: var(--muted); margin: 0; }
.permission-chips { display: flex; flex-wrap: wrap; gap: .55rem; padding: 1.25rem; }
.permission-chips span { background: #effaf6; border-radius: 20px; color: #16835f; font-size: .72rem; font-weight: 600; padding: .45rem .7rem; }
.profile-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.profile-form { padding: 1.35rem; }
.profile-photo-row { align-items: center; display: grid; gap: 1rem; grid-template-columns: auto 1fr; margin-bottom: 1.25rem; }
.profile-photo-row small { color: var(--muted); display: block; font-size: .68rem; margin-top: .35rem; }
.profile-avatar { align-items: center; background: linear-gradient(145deg, #665eff, #8875e8); border-radius: 16px; color: #fff; display: flex; font-size: 1.2rem; font-weight: 700; height: 76px; justify-content: center; width: 76px; }
.profile-form-actions { border-top: 1px solid var(--border); margin-top: 1.4rem; padding-top: 1.2rem; text-align: right; }
.security-badge { align-items: center; background: #effaf6; border-radius: 10px; color: #13a474; display: flex; height: 40px; justify-content: center; width: 40px; }
.password-guidance { align-items: center; background: #f5f6fa; border-radius: 9px; color: var(--muted); display: flex; font-size: .7rem; gap: .55rem; padding: .7rem; }
.error-body { align-items: center; background: radial-gradient(circle at top, #f0efff, var(--canvas) 52%); display: flex; justify-content: center; min-height: 100vh; padding: 1.5rem; }
.error-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); max-width: 520px; padding: 3rem; position: relative; text-align: center; width: 100%; }
.error-code { color: #eeeff5; font-family: 'Manrope', sans-serif; font-size: 6rem; font-weight: 800; left: 0; line-height: 1; position: absolute; right: 0; top: 1.2rem; }
.error-icon { align-items: center; background: #efeeff; border-radius: 50%; color: var(--primary); display: inline-flex; font-size: 1.6rem; height: 64px; justify-content: center; margin: 2.5rem 0 1.3rem; position: relative; width: 64px; }
.error-card h1 { font-size: 1.7rem; font-weight: 800; }
.error-card p { color: var(--muted); line-height: 1.7; margin: .7rem auto 1.5rem; }

@media (max-width: 1200px) {
    .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .app-sidebar { transform: translateX(-100%); transition: transform .25s ease; }
    .app-main { margin-left: 0; width: 100%; }
    .sidebar-open .app-sidebar { transform: translateX(0); }
    .sidebar-open .sidebar-overlay { background: rgba(13, 18, 34, .55); display: block; inset: 0; position: fixed; z-index: 1030; }
    .sidebar-close, .sidebar-toggle { display: inline-flex !important; }
    .dashboard-grid, .lower-grid { grid-template-columns: 1fr; }
    .profile-grid, .account-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .auth-shell { grid-template-columns: 1fr; }
    .auth-visual { display: none; }
    .auth-panel { min-height: 100vh; padding: 2rem 1.25rem; }
    .top-navbar { padding: 0 1rem; }
    .navbar-search, .user-copy, .user-menu > i, .navbar-divider { display: none; }
    .page-content { padding: 1.25rem 1rem; }
    .page-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .page-actions { width: 100%; }
    .page-actions .btn { flex: 1; }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-footer { align-items: center; flex-direction: column; gap: .4rem; }
    .account-navbar { padding: 0 1rem; }
    .account-profile-link > span:nth-child(2) { display: none; }
    .account-page-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

/* Authentication and role dashboard readability */
.auth-card h1,.account-page-header h1{font-size:clamp(1.7rem,2.4vw,2.05rem)}.auth-card p,.account-page-header p{font-size:.94rem}.auth-card label{font-size:.86rem}.auth-card .form-control{font-size:.94rem}.auth-card small,.account-body small{font-size:.78rem}.account-body{font-size:1rem}.account-navbar{min-height:72px}.account-profile-link strong{font-size:.9rem}.account-page-header .eyebrow{font-size:.78rem}.account-content .panel-header h2{font-size:1.08rem}.account-content .panel-header p{font-size:.84rem}.account-content .table th{font-size:.75rem}.account-content .table td{font-size:.86rem}.account-content .stat-card p{font-size:.84rem}.account-content .stat-card h3{font-size:1.5rem}.nav-icon{font-size:1rem;height:40px;width:40px}

@media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr; }
    .page-actions { flex-direction: column; }
}

/* Super Admin dashboard */
.dashboard-welcome { align-items: center; background: linear-gradient(118deg, #171d32 0%, #28235d 62%, #5148c8 100%); border-radius: 16px; box-shadow: 0 16px 38px rgba(29, 28, 74, .16); color: #fff; display: flex; justify-content: space-between; margin-bottom: 1.2rem; overflow: hidden; padding: 1.65rem 1.8rem; position: relative; }
.dashboard-welcome::after { border: 1px solid rgba(255, 255, 255, .1); border-radius: 50%; content: ''; height: 250px; position: absolute; right: -70px; top: -120px; width: 250px; }
.welcome-eyebrow { color: #bcb8ff; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.welcome-eyebrow i { margin-right: .35rem; }
.dashboard-welcome h2 { font-size: 1.45rem; font-weight: 800; letter-spacing: -.03em; margin: .5rem 0 .25rem; }
.dashboard-welcome p { color: #c6cada; margin: 0; }
.welcome-meta { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; position: relative; z-index: 1; }
.welcome-meta span { background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .08); border-radius: 20px; color: #e5e6ef; font-size: .67rem; padding: .38rem .7rem; }
.welcome-meta i { color: #aaa5ff; margin-right: .3rem; }
.stats-grid-eight { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1.5rem; }
.stats-grid-eight .stat-card { min-height: 126px; }
.stat-icon-purple, .quick-action-icon.purple { background: #f2edff; color: #805bda; }
.stat-icon-cyan { background: #e8f9fa; color: #1897a2; }
.stat-icon-orange { background: #fff1e6; color: #e57b32; }
.stat-trend.positive { color: #149269; }
.stat-trend.negative { color: #e55365; }
.stat-trend.warning { color: #db7b27; }
.section-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: .8rem; }
.section-heading h2 { font-size: .95rem; font-weight: 800; margin: 0 0 .2rem; }
.section-heading p { color: var(--muted); font-size: .7rem; margin: 0; }
.quick-action-section { margin-bottom: 1.5rem; }
.quick-action-grid { display: grid; gap: .8rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.quick-action-card { align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 13px; box-shadow: 0 6px 20px rgba(27, 35, 58, .035); display: grid; gap: .65rem; grid-template-columns: auto 1fr auto; min-width: 0; padding: .9rem; text-align: left; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.quick-action-card:hover { border-color: #d5d2ff; box-shadow: 0 10px 28px rgba(50, 43, 130, .08); transform: translateY(-2px); }
.quick-action-card > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.quick-action-card strong { color: #353d50; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-action-card small { color: var(--muted); font-size: .58rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-action-card > i { color: #b2b7c5; font-size: .65rem; }
.quick-action-icon { align-items: center; border-radius: 9px; display: flex; height: 35px; justify-content: center; width: 35px; }
.quick-action-icon.primary { background: #efeeff; color: var(--primary); }
.quick-action-icon.success { background: #e9f8f2; color: #13a474; }
.quick-action-icon.info { background: #eaf6ff; color: #2992d4; }
.quick-action-icon.warning { background: #fff5df; color: #dc941e; }
.quick-action-icon.danger { background: #ffedf0; color: #e55365; }
.charts-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.75fr) minmax(310px, .8fr); margin-bottom: 1rem; }
.chart-card-full { grid-column: 1 / -1; }
.panel-period { background: #f5f6fa; border-radius: 8px; color: var(--muted); font-size: .65rem; font-weight: 600; padding: .45rem .6rem; }
.panel-period i { margin-right: .3rem; }
.panel-icon { align-items: center; background: #f2f3f8; border-radius: 9px; color: #858ca0; display: flex; height: 36px; justify-content: center; width: 36px; }
.dashboard-chart { height: 300px; padding: 1.2rem 1.3rem; position: relative; }
.doughnut-chart { height: 235px; margin: 0 auto; max-width: 290px; padding-bottom: .5rem; }
.revenue-chart { height: 260px; }
.chart-empty { align-items: center; background: rgba(255, 255, 255, .9); color: var(--muted); display: flex; flex-direction: column; gap: .45rem; inset: 1.2rem; justify-content: center; pointer-events: none; position: absolute; }
.chart-empty i { color: #bec2cf; font-size: 1.6rem; }
.chart-empty span { font-size: .7rem; }
.status-chart-legend { display: grid; gap: .4rem .8rem; grid-template-columns: 1fr 1fr; padding: .6rem 1.2rem 1.2rem; }
.status-chart-legend span { align-items: center; color: var(--muted); display: flex; font-size: .64rem; }
.status-chart-legend strong { color: var(--ink); margin-left: auto; }
.legend-swatch { border-radius: 3px; height: 7px; margin-right: .4rem; width: 7px; }
.swatch-0 { background: #e8a126; }.swatch-1 { background: #2992d4; }.swatch-2 { background: #13a474; }.swatch-3 { background: #e55365; }.swatch-4 { background: #8b91a3; }
.appointments-panel { margin-bottom: 1rem; }
.appointments-header { align-items: flex-end; }
.table-tools { align-items: center; display: flex; gap: .5rem; }
.table-search { align-items: center; border: 1px solid var(--border); border-radius: 9px; color: #9ba1b0; display: flex; gap: .5rem; min-width: 310px; padding: 0 .75rem; }
.table-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 .18rem rgba(99, 91, 255, .1); }
.table-search input { border: 0; font-size: .73rem; height: 36px; outline: 0; width: 100%; }
.table-tools .form-select { font-size: .7rem; min-height: 38px; width: 92px; }
.table-tools .btn { font-size: .7rem; padding: .52rem .7rem; }
.dashboard-table { min-width: 1050px; }
.dashboard-table > :not(caption) > * > * { padding-bottom: .78rem; padding-top: .78rem; }
.appointment-id { color: var(--primary); font-size: .72rem; font-weight: 700; }
.table-person { align-items: center; display: flex; gap: .55rem; }
.table-person > span { align-items: center; background: #efeeff; border-radius: 8px; color: var(--primary); display: flex; font-size: .65rem; font-weight: 700; height: 32px; justify-content: center; width: 32px; }
.table-person div { display: flex; flex-direction: column; }
.table-person strong { color: #3f4759; font-size: .72rem; }
.table-person small { color: var(--muted); font-size: .6rem; }
.service-list { display: inline-block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-badge { align-items: center; border-radius: 20px; display: inline-flex; font-size: .62rem; font-weight: 700; gap: .35rem; padding: .33rem .55rem; white-space: nowrap; }
.status-dot { background: currentColor; border-radius: 50%; height: 5px; width: 5px; }
.status-warning { background: #fff6e4; color: #c78115; }.status-info { background: #eaf6ff; color: #2782bd; }.status-success { background: #e9f8f2; color: #13855f; }.status-danger { background: #ffedf0; color: #d84a5c; }.status-secondary { background: #f0f1f4; color: #747b8d; }
.table-action { align-items: center; background: #f5f6fa; border: 0; border-radius: 7px; color: #727a8e; display: inline-flex; height: 31px; justify-content: center; width: 31px; }
.table-action:hover { background: #efeeff; color: var(--primary); }
.table-footer { align-items: center; border-top: 1px solid var(--border); color: var(--muted); display: flex; font-size: .68rem; justify-content: space-between; padding: .8rem 1.2rem; }
.table-footer .pagination { margin: 0; }
.table-footer .page-link { border-color: var(--border); color: #60687a; font-size: .68rem; }
.table-footer .active > .page-link { background: var(--primary); border-color: var(--primary); color: #fff; }
.dashboard-widgets-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr) minmax(260px, .72fr); }
.live-badge, .health-label { align-items: center; background: #effaf6; border-radius: 20px; color: #16835f; display: inline-flex; font-size: .62rem; font-weight: 700; gap: .35rem; padding: .35rem .55rem; }
.live-badge i, .health-label i { background: #16a373; border-radius: 50%; height: 6px; width: 6px; }
.schedule-timeline { padding: .4rem 1.2rem 1rem; }
.schedule-item { align-items: center; display: grid; gap: .8rem; grid-template-columns: 48px 10px 1fr auto; min-height: 80px; position: relative; }
.schedule-item:not(:last-child)::after { background: var(--border); bottom: -10px; content: ''; left: 56px; position: absolute; top: 48px; width: 1px; }
.schedule-item time { color: #444c60; font-size: .72rem; font-weight: 700; text-align: right; }
.schedule-item time small { color: var(--muted); display: block; font-size: .53rem; }
.timeline-marker { background: var(--primary); border: 3px solid #e9e7ff; border-radius: 50%; height: 10px; position: relative; width: 10px; z-index: 1; }
.schedule-item > div strong { color: #3e4658; font-size: .73rem; }
.schedule-item > div p { color: var(--muted); font-size: .65rem; margin: .15rem 0; }
.schedule-item > div small { color: #979dad; font-size: .58rem; }
.activity-timeline { padding: .65rem 1.15rem 1rem; }
.activity-item { display: flex; gap: .7rem; padding: .55rem 0; }
.activity-icon { align-items: center; border-radius: 9px; display: flex; flex: 0 0 34px; height: 34px; justify-content: center; }
.activity-icon.primary { background: #efeeff; color: var(--primary); }.activity-icon.danger { background: #ffedf0; color: #e55365; }.activity-icon.warning { background: #fff5df; color: #dc941e; }.activity-icon.success { background: #e9f8f2; color: #13a474; }.activity-icon.info { background: #eaf6ff; color: #2992d4; }
.activity-item > div { min-width: 0; }
.activity-item strong { color: #41495b; font-size: .7rem; }
.activity-item p { color: var(--muted); font-size: .63rem; margin: .1rem 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-item small { color: #a0a5b2; font-size: .56rem; }
.system-list { padding: .7rem 1.2rem 1rem; }
.system-list > div { align-items: center; border-bottom: 1px solid #f0f1f5; display: flex; justify-content: space-between; padding: .68rem 0; }
.system-list > div:last-child { border: 0; }
.system-list span { color: var(--muted); font-size: .66rem; }
.system-list strong { align-items: center; color: #495164; display: inline-flex; font-size: .66rem; font-weight: 700; }
.system-dot { border-radius: 50%; height: 6px; margin-right: .4rem; width: 6px; }
.system-dot.healthy { background: #13a474; }.system-dot.warning { background: #e8a126; }.system-dot.error { background: #e55365; }

@media (max-width: 1399.98px) {
    .quick-action-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dashboard-widgets-grid { grid-template-columns: 1fr 1fr; }
    .system-panel { grid-column: 1 / -1; }
    .system-list { display: grid; gap: 0 2rem; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1199.98px) {
    .stats-grid-eight { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .charts-grid { grid-template-columns: 1fr; }
    .chart-card-full { grid-column: auto; }
    .appointments-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .table-tools { width: 100%; }
    .table-search { flex: 1; min-width: 0; }
}

@media (max-width: 767.98px) {
    .dashboard-welcome { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .welcome-meta { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
    .stats-grid-eight { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quick-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-widgets-grid { grid-template-columns: 1fr; }
    .system-panel { grid-column: auto; }
    .system-list { display: block; }
    .table-tools { align-items: stretch; flex-wrap: wrap; }
    .table-search { flex-basis: 100%; }
    .table-footer { align-items: flex-start; flex-direction: column; gap: .7rem; }
}

@media (max-width: 479.98px) {
    .stats-grid-eight, .quick-action-grid { grid-template-columns: 1fr; }
    .dashboard-chart { height: 250px; padding-left: .7rem; padding-right: .7rem; }
    .schedule-item { gap: .55rem; grid-template-columns: 42px 10px 1fr; }
    .schedule-item > .status-badge { display: none; }
    .schedule-item:not(:last-child)::after { left: 50px; }
}

/* Business Hours module */
.business-hours-summary { align-items: center; background: linear-gradient(115deg, #171d32, #29265f); border-radius: 15px; box-shadow: 0 14px 34px rgba(27, 31, 69, .13); color: #fff; display: grid; gap: 1.1rem; grid-template-columns: auto 1fr auto; margin-bottom: 1.2rem; overflow: hidden; padding: 1.35rem 1.5rem; position: relative; }
.business-hours-summary::after { border: 1px solid rgba(255, 255, 255, .08); border-radius: 50%; content: ''; height: 200px; position: absolute; right: -80px; top: -105px; width: 200px; }
.summary-icon { align-items: center; background: rgba(99, 91, 255, .28); border: 1px solid rgba(255, 255, 255, .08); border-radius: 13px; color: #b8b4ff; display: flex; font-size: 1.35rem; height: 54px; justify-content: center; width: 54px; }
.business-hours-summary .eyebrow { color: #aaa5ff; }
.business-hours-summary h2 { font-size: 1rem; font-weight: 800; margin: .35rem 0 .2rem; }
.business-hours-summary p { color: #b8bdce; font-size: .72rem; margin: 0; }
.summary-note { align-items: center; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; display: flex; gap: .6rem; padding: .7rem .85rem; position: relative; z-index: 1; }
.summary-note > i { color: #aaa5ff; }
.summary-note span { color: #bfc3d2; font-size: .62rem; line-height: 1.5; }
.summary-note strong { color: #fff; font-weight: 700; }
.schedule-editor { overflow: hidden; }
.schedule-editor-header { padding: 1.25rem 1.4rem; }
.schedule-security { align-items: center; background: #effaf6; border-radius: 20px; color: #16835f; display: inline-flex; font-size: .63rem; font-weight: 700; gap: .35rem; padding: .4rem .6rem; }
.schedule-column-headings { background: #fafbfc; border-bottom: 1px solid var(--border); color: #9298a9; display: grid; font-size: .6rem; font-weight: 700; gap: .8rem; grid-template-columns: minmax(150px, 1.2fr) 95px minmax(118px, .85fr) 22px minmax(118px, .85fr) 130px minmax(230px, 1.3fr); letter-spacing: .04em; padding: .7rem 1.35rem; text-transform: uppercase; }
.business-day-row { align-items: center; border-bottom: 1px solid var(--border); display: grid; gap: .8rem; grid-template-columns: minmax(150px, 1.2fr) 95px minmax(118px, .85fr) 22px minmax(118px, .85fr) 130px minmax(230px, 1.3fr); min-height: 96px; padding: .8rem 1.35rem; transition: background-color .18s ease, opacity .18s ease; }
.business-day-row:last-child { border-bottom: 0; }
.business-day-row.is-enabled { background: #fff; }
.business-day-row.is-closed { background: #fafbfc; }
.day-identity { align-items: center; display: flex; gap: .75rem; }
.day-icon { align-items: center; background: #efeeff; border-radius: 10px; color: var(--primary); display: flex; flex: 0 0 39px; height: 39px; justify-content: center; }
.is-closed .day-icon { background: #eff1f5; color: #979ead; }
.day-identity h3 { color: #3d4557; font-size: .78rem; font-weight: 800; margin: 0 0 .15rem; }
.day-identity div > span { color: #15946a; font-size: .6rem; font-weight: 600; }
.is-closed .day-identity div > span { color: #979dac; }
.premium-switch { align-items: center; display: flex; gap: .4rem; margin: 0; min-height: auto; padding-left: 2.7rem; }
.premium-switch .form-check-input { cursor: pointer; height: 1.35rem; margin-left: -2.7rem; margin-top: 0; width: 2.35rem; }
.premium-switch .form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
.premium-switch .form-check-label { color: #555d70; cursor: pointer; font-size: .67rem; font-weight: 700; }
.premium-switch-small { padding-left: 2.45rem; }
.premium-switch-small .form-check-input { height: 1.15rem; margin-left: -2.45rem; width: 2rem; }
.premium-switch-small .form-check-label { align-items: center; display: flex; gap: .3rem; white-space: nowrap; }
.time-field-group label { color: #8b92a3; display: none; font-size: .58rem; font-weight: 600; margin-bottom: .3rem; }
.time-input { align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 9px; display: flex; min-height: 39px; padding: 0 .55rem; transition: border-color .18s ease, box-shadow .18s ease; }
.time-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 .18rem rgba(99, 91, 255, .1); }
.time-input i { color: #a0a6b5; font-size: .75rem; margin-right: .35rem; }
.time-input input { background: transparent; border: 0; color: #454d60; font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 600; min-width: 0; outline: 0; width: 100%; }
.time-input:has(input:disabled) { background: #f2f3f6; opacity: .65; }
.time-separator { color: #b5bac6; font-size: .68rem; text-align: center; }
.lunch-times { align-items: center; display: grid; gap: .45rem; grid-template-columns: 1fr auto 1fr; opacity: .5; }
.lunch-times.is-active { opacity: 1; }
.lunch-times > span { color: #a1a7b4; font-size: .6rem; }
.schedule-error { color: #d94b5d; display: block; font-size: .57rem; line-height: 1.25; margin-top: .25rem; }
.schedule-actions { align-items: center; background: #fafbfc; border-top: 1px solid var(--border); display: flex; justify-content: space-between; padding: 1.1rem 1.35rem; }
.schedule-actions > div:first-child { align-items: center; color: var(--muted); display: flex; font-size: .64rem; gap: .45rem; }
.schedule-actions > div:first-child i { color: #d79324; }
.schedule-buttons { display: flex; gap: .6rem; }

@media (max-width: 1399.98px) {
    .schedule-column-headings, .business-day-row { grid-template-columns: minmax(130px, 1fr) 85px minmax(108px, .8fr) 18px minmax(108px, .8fr) 112px minmax(205px, 1.25fr); gap: .55rem; }
}

@media (max-width: 1199.98px) {
    .schedule-column-headings { display: none; }
    .business-days-list { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; padding: 1rem; }
    .business-day-row { border: 1px solid var(--border); border-radius: 12px; gap: .8rem; grid-template-columns: 1fr auto; padding: 1rem; }
    .business-day-row:last-child { border-bottom: 1px solid var(--border); }
    .day-switch { justify-self: end; }
    .time-field-group label { display: block; }
    .time-field-group:not(.compact) { grid-column: span 1; }
    .time-separator { display: none; }
    .lunch-toggle { align-items: center; border-top: 1px solid var(--border); display: flex; grid-column: 1 / -1; min-height: 38px; padding-top: .65rem; }
    .lunch-times { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
    .business-hours-summary { align-items: flex-start; grid-template-columns: auto 1fr; }
    .summary-note { grid-column: 1 / -1; width: 100%; }
    .business-days-list { grid-template-columns: 1fr; }
    .schedule-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .schedule-buttons { width: 100%; }
    .schedule-buttons .btn { flex: 1; }
}

@media (max-width: 479.98px) {
    .business-hours-summary { grid-template-columns: 1fr; }
    .summary-icon { height: 44px; width: 44px; }
    .summary-note { grid-column: auto; }
    .business-days-list { padding: .65rem; }
    .business-day-row { grid-template-columns: 1fr auto; }
    .schedule-buttons { flex-direction: column-reverse; }
    .lunch-times { align-items: end; }
}
.customer-list-panel{overflow:hidden}.customer-filters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(120px,1fr)) auto auto;gap:12px;padding:22px;border-bottom:1px solid var(--border-color)}.customer-search{position:relative}.customer-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.customer-search input{padding-left:40px}.customer-table td{vertical-align:middle}.customer-table td>small,.customer-identity small{display:block;color:var(--muted);margin-top:3px}.customer-identity{display:flex;align-items:center;gap:12px;min-width:190px}.customer-identity>img,.customer-identity>span{width:42px;height:42px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,#635bff,#8b85ff);color:#fff;font-weight:800}.customer-form-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.customer-form-aside{position:sticky;top:94px;text-align:center;padding:28px}.customer-photo-preview{width:150px;height:150px;border-radius:32px;background:#f1f3ff;margin:0 auto 20px;display:grid;place-items:center;overflow:hidden;color:#635bff}.customer-photo-preview img{width:100%;height:100%;object-fit:cover}.customer-photo-preview i{font-size:44px}.customer-photo-preview span{font-size:12px}.customer-form-aside h2{font-size:22px}.customer-form-aside p{color:var(--muted)}.customer-form-content{display:grid;gap:22px}.customer-form-section{padding:26px}.customer-form-section header{margin-bottom:22px}.customer-form-section header h2{font-size:19px;margin:0}.customer-form-section header p{color:var(--muted);margin:6px 0 0}.customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.customer-fields .span-2{grid-column:span 2}.customer-toggle{display:flex;align-items:end;padding:12px 0}.customer-profile-hero{padding:28px;display:flex;align-items:center;gap:22px}.customer-profile-photo{width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,#635bff,#8b85ff);overflow:hidden;display:grid;place-items:center;color:#fff;font-size:28px;font-weight:800}.customer-profile-photo img{width:100%;height:100%;object-fit:cover}.customer-profile-hero h2{margin:8px 0 4px}.customer-profile-hero p{margin:0;color:var(--muted)}.customer-profile-hero .profile-metrics{margin-left:auto}.customer-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:22px 0}.customer-stat{padding:20px;display:flex;gap:14px;align-items:center}.customer-stat>i{width:42px;height:42px;border-radius:13px;background:#f1f3ff;color:#635bff;display:grid;place-items:center;font-size:19px}.customer-stat span{display:block;color:var(--muted);font-size:12px}.customer-stat strong{display:block;font-size:18px;margin-top:2px}.customer-tabs{overflow:hidden}.customer-tabs>nav{display:flex;overflow-x:auto;border-bottom:1px solid var(--border-color);padding:0 20px}.customer-tabs>nav button{border:0;background:none;padding:18px 15px;white-space:nowrap;color:var(--muted);font-weight:600;border-bottom:2px solid transparent}.customer-tabs>nav button.active{color:#635bff;border-color:#635bff}.customer-tab-pane{display:none;padding:24px}.customer-tab-pane.active{display:block}.customer-overview-grid,.customer-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.customer-overview-grid article{border:1px solid var(--border-color);border-radius:18px;padding:22px}.customer-overview-grid h3,.customer-admin-grid h3{font-size:17px}.customer-overview-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-overview-grid dt,.customer-personal dt{color:var(--muted);font-size:12px}.customer-overview-grid dd,.customer-personal dd{font-weight:600;margin:2px 0 0}.customer-personal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.customer-personal>div{padding:16px;border:1px solid var(--border-color);border-radius:14px}.customer-service-cloud{display:flex;gap:12px;flex-wrap:wrap}.customer-service-cloud span{padding:12px 16px;border-radius:14px;background:#f5f6fa}.customer-service-cloud b{margin-left:8px;color:#635bff}.customer-empty{text-align:center;color:var(--muted);padding:34px}.customer-notes{background:#fffbea;border:1px solid #f7e8a4;border-radius:16px;padding:22px}.customer-admin-grid{margin-top:22px}.customer-admin-grid>section{padding:24px}.customer-admin-grid form,.customer-password-form{display:grid;gap:12px}.customer-print{background:#fff;color:#202338;padding:30px}.customer-print main{max-width:1100px;margin:auto}.customer-print table{width:100%;border-collapse:collapse}.customer-print th,.customer-print td{padding:12px;border-bottom:1px solid #ddd;text-align:left}
@media(max-width:1199px){.customer-filters{grid-template-columns:repeat(3,1fr)}.customer-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.customer-form-layout{grid-template-columns:1fr}.customer-form-aside{position:static}.customer-fields,.customer-overview-grid,.customer-admin-grid,.customer-personal{grid-template-columns:1fr}.customer-fields .span-2{grid-column:auto}.customer-profile-hero{align-items:flex-start;flex-wrap:wrap}.customer-profile-hero .profile-metrics{margin-left:0;width:100%}.customer-stat-grid,.customer-filters{grid-template-columns:1fr}.customer-tab-pane{padding:16px}}
@media print{.customer-print{padding:0}.customer-print table{font-size:11px}}
.payment-list-panel{overflow:hidden}.payment-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(6,minmax(120px,1fr)) auto auto;gap:12px;padding:22px;border-bottom:1px solid #e9ebf2}.payment-search{position:relative}.payment-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#85889a}.payment-search input{padding-left:40px}.payment-table td{vertical-align:middle}.payment-table td>small{display:block;color:#85889a;margin-top:3px}.payment-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700;background:#eef0f6;color:#626678}.payment-status.status-paid{background:#e8f8ef;color:#17864b}.payment-status.status-partially_paid,.payment-status.status-pending{background:#fff6dd;color:#a36d00}.payment-status.status-refunded,.payment-status.status-partially_refunded{background:#e9f4ff;color:#2072ad}.payment-status.status-failed,.payment-status.status-cancelled{background:#ffebee;color:#c53b4c}.payment-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.payment-form-section{padding:28px}.payment-form-section header{margin-bottom:22px}.payment-form-section header h2{font-size:20px}.payment-form-section header p{color:#85889a}.payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.payment-fields .span-2{grid-column:span 2}.payment-summary{position:sticky;top:94px;padding:25px}.payment-summary h2{font-size:19px;margin-bottom:20px}.payment-summary>div{display:flex;justify-content:space-between;padding:10px 0;color:#717487}.payment-summary>div strong{color:#26293a}.payment-summary-total{font-size:17px}.payment-summary small{display:block;background:#f2f8ff;color:#3974a3;padding:12px;border-radius:12px;margin-top:15px}.payment-hero{display:flex;align-items:center;gap:28px;padding:28px}.payment-number{font-size:12px;font-weight:800;color:#635bff;letter-spacing:.05em}.payment-hero h2{font-size:30px;margin:7px 0}.payment-hero p{color:#85889a;margin:0}.payment-hero>.payment-status{margin-left:auto}.payment-balance{padding-left:25px;border-left:1px solid #e9ebf2}.payment-balance span{display:block;color:#85889a;font-size:12px}.payment-balance strong{font-size:20px}.payment-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:22px;margin-top:22px}.payment-detail-grid>div,.payment-detail-grid>aside{display:grid;gap:22px;align-content:start}.payment-card{padding:24px}.payment-card h3{font-size:17px;margin-bottom:18px}.payment-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-card dt{color:#85889a}.payment-card dd{font-weight:600;margin:0}.payment-card form{display:grid;gap:12px}.payment-timeline{display:grid;gap:0}.payment-timeline article{display:grid;grid-template-columns:16px 1fr;gap:12px;padding-bottom:18px;position:relative}.payment-timeline article>span{width:10px;height:10px;background:#635bff;border-radius:50%;margin-top:5px}.payment-timeline article:not(:last-child):before{content:"";position:absolute;left:4px;top:15px;bottom:0;border-left:1px solid #dfe2ec}.payment-timeline p{margin:3px 0;color:#717487}.payment-timeline small{color:#9a9dad}.payment-print{background:#fff;color:#202338;padding:30px}.payment-print main{max-width:1100px;margin:auto}.payment-print table{width:100%;border-collapse:collapse}.payment-print th,.payment-print td{padding:12px;border-bottom:1px solid #ddd;text-align:left}
@media(max-width:1199px){.payment-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.payment-form-layout,.payment-detail-grid{grid-template-columns:1fr}.payment-summary{position:static}.payment-fields{grid-template-columns:1fr}.payment-fields .span-2{grid-column:auto}.payment-filters{grid-template-columns:1fr}.payment-hero{align-items:flex-start;flex-wrap:wrap}.payment-hero>.payment-status{margin-left:0}.payment-balance{border-left:0;padding-left:0;width:100%}}
@media print{.payment-print{padding:0}.payment-print table{font-size:10px}}
.invoice-list{overflow:hidden}.invoice-filters{display:grid;grid-template-columns:minmax(230px,2fr) repeat(5,minmax(120px,1fr)) auto auto;gap:12px;padding:22px}.invoice-table td{vertical-align:middle}.invoice-status{display:inline-flex;padding:7px 11px;border-radius:99px;background:#eef0f6;color:#5e6376;font-size:12px;font-weight:700}.invoice-status.status-paid{background:#e7f8ee;color:#168549}.invoice-status.status-partially_paid,.invoice-status.status-sent,.invoice-status.status-overdue{background:#fff3d8;color:#9b6800}.invoice-status.status-void,.invoice-status.status-cancelled{background:#ffeaed;color:#bf3347}.invoice-status.status-refunded{background:#e8f4ff;color:#1c72ae}.invoice-form{display:grid;gap:22px}.invoice-form-card{padding:26px}.invoice-form-card>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.invoice-form-card h2{font-size:19px}.invoice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.invoice-items td{vertical-align:middle}.invoice-items td:first-child{min-width:280px}.invoice-items td:first-child{display:grid;gap:8px}.invoice-items input{min-width:90px}.invoice-totals{margin-left:auto;width:min(360px,100%);padding:20px}.invoice-totals>div{display:flex;justify-content:space-between;padding:7px}.invoice-totals .grand{font-size:19px;border-top:1px solid #ddd;margin-top:8px;padding-top:14px}.invoice-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:22px}.invoice-detail-layout>aside{display:grid;gap:22px;align-content:start}.invoice-preview{padding:38px}.invoice-preview-head{display:flex;justify-content:space-between;border-bottom:2px solid #635bff;padding-bottom:22px}.invoice-preview-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.invoice-preview-head h2{margin:0}.invoice-preview-head p{grid-column:2;color:#85889a}.invoice-preview-head>div:last-child{text-align:right;display:grid;gap:5px}.invoice-preview-head>div:last-child>span{font-size:25px;font-weight:800}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:32px 0}.invoice-parties>div>span{font-size:11px;text-transform:uppercase;color:#85889a}.invoice-parties>div>strong{display:block;font-size:17px;margin:6px 0}.invoice-parties p{color:#707487;line-height:1.7}.invoice-parties dl{display:grid;grid-template-columns:1fr 1fr;gap:9px}.invoice-parties dt{color:#85889a}.invoice-parties dd{font-weight:600}.invoice-preview-items thead{background:#635bff;color:#fff}.invoice-preview-footer{display:grid;grid-template-columns:1fr 320px;gap:35px;margin-top:25px}.invoice-preview-footer dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-preview-footer dd{text-align:right;font-weight:600}.invoice-preview-footer .grand{font-size:17px;border-top:1px solid #ddd;padding-top:10px}.qr-placeholder{display:flex;align-items:center;gap:10px;color:#8b8e9e;margin-top:20px}.qr-placeholder i{font-size:40px}.invoice-side-card{padding:22px}.invoice-side-card h3{font-size:17px}.invoice-side-card form{display:grid;gap:10px;margin-bottom:12px}.invoice-payment{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.invoice-payment small{display:block;color:#85889a}.invoice-print{background:white;padding:25px}.invoice-print main{max-width:1000px;margin:auto}
@media(max-width:1199px){.invoice-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.invoice-filters,.invoice-fields,.invoice-detail-layout,.invoice-parties,.invoice-preview-footer{grid-template-columns:1fr}.invoice-preview{padding:20px}.invoice-preview-head{flex-direction:column;gap:20px}.invoice-preview-head>div:last-child{text-align:left}}
.report-filter-panel{padding:22px}.report-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:20px 0}.report-kpi{padding:19px;display:flex;align-items:center;gap:14px}.report-kpi>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eff0ff;color:#635bff;font-size:19px}.report-kpi .tone-success{background:#e7f8ee;color:#168549}.report-kpi .tone-danger{background:#ffeaed;color:#bf3347}.report-kpi .tone-warning{background:#fff3d8;color:#9b6800}.report-kpi .tone-info{background:#e8f4ff;color:#1c72ae}.report-kpi small{display:block;color:#85889a}.report-kpi strong{display:block;font-size:19px;margin-top:3px}.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-chart{padding:22px}.report-chart header,.report-table header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.report-chart h2,.report-table h2{font-size:17px;margin:0}.report-chart header span,.report-table header p{font-size:12px;color:#85889a}.report-chart [data-report-chart]{height:300px}.report-empty{display:grid;place-items:center;min-height:120px;color:#9295a5;text-align:center}.report-empty i{font-size:35px}.report-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.report-table{padding:22px;overflow:hidden}.report-table td{vertical-align:middle}.report-table td small{display:block;color:#85889a}.future-metric{padding:5px 8px;border-radius:99px;background:#f0f1f5;color:#777b8e;font-size:11px}.financial-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.financial-summary>div{padding:16px;border:1px solid #eaebf1;border-radius:14px}.financial-summary span{display:block;color:#85889a;font-size:12px}.financial-summary strong{font-size:18px}.coupon-report{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.coupon-report>span{padding:10px 13px;background:#f5f6fa;border-radius:12px}.coupon-report strong{margin-right:8px}
@media(max-width:1199px){.report-filters{grid-template-columns:repeat(3,1fr)}.report-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.report-filters,.report-kpis,.report-chart-grid,.report-table-grid,.financial-summary{grid-template-columns:1fr}.report-chart [data-report-chart]{height:250px}}
.nav-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:20px;background:#ef476f;color:#fff;font-size:11px;display:grid;place-items:center}.communication-hero{padding:24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#635bff,#827cff);color:#fff}.communication-hero>div{display:flex;align-items:center;gap:16px}.communication-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#efefff;color:#635bff;font-size:20px}.communication-hero .communication-icon{background:#ffffff26;color:#fff}.communication-hero strong{font-size:28px}.communication-hero p{margin:0;color:#ffffffbf}.notification-filter{padding:20px;margin:20px 0}.notification-filter form{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto auto;gap:12px}.search-field{position:relative}.search-field i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9295a5}.search-field input{padding-left:40px}.bulk-toolbar{display:flex;gap:10px;margin-bottom:12px}.bulk-toolbar .form-select{max-width:180px}.notification-list{overflow:hidden}.notification-list td{vertical-align:middle}.notification-unread{background:#f7f7ff}.notification-title{display:flex;align-items:center;gap:11px;color:inherit;min-width:280px}.notification-title>span:nth-child(2){display:grid}.notification-title small,.table-subtitle{display:block;color:#85889a}.notification-type-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#efefff;color:#635bff;flex:0 0 auto}.notification-type-icon.large{width:58px;height:58px;border-radius:18px;font-size:24px}.notification-unread-dot{width:8px;height:8px;background:#635bff;border-radius:50%;margin-left:auto}.channel-badge,.status-pill{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:700;background:#f0f1f5;color:#65697b}.channel-email{background:#e8f4ff;color:#1c72ae}.channel-database{background:#efefff;color:#635bff}.status-sent{background:#e7f8ee;color:#168549}.status-queued{background:#fff3d8;color:#9b6800}.status-failed{background:#ffeaed;color:#bf3347}.communication-empty{padding:55px;text-align:center;color:#85889a}.communication-empty i{font-size:38px}.communication-empty h3{font-size:18px;color:#343747;margin:12px 0 5px}.notification-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:22px}.notification-message,.notification-metadata{padding:30px}.notification-message>small{display:block;margin-top:22px;color:#635bff;font-weight:700;text-transform:uppercase}.notification-message h2{font-size:26px;margin:8px 0 15px}.notification-message p{line-height:1.8;color:#666a7c;white-space:pre-line}.notification-metadata h2,.settings-channel-card h2,.placeholder-help h2{font-size:18px}.notification-metadata>div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid #ececf2}.notification-metadata span{font-size:12px;color:#85889a}.delivery-error p{color:#bf3347}.settings-channel-card{max-width:850px;padding:26px}.settings-channel-card header{border-bottom:1px solid #ececf2;padding-bottom:18px}.settings-channel-card header p,.placeholder-help p{color:#85889a}.channel-setting{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #ececf2}.channel-setting small{display:block;color:#85889a}.settings-channel-card footer,.form-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:22px}.template-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.template-form-grid>section,.placeholder-help{padding:26px}.placeholder-help{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.placeholder-help code{padding:7px 10px;border-radius:8px;background:#f3f4fa;color:#635bff}.notification-nav-item{display:flex!important;gap:10px;padding:11px 16px!important}.notification-nav-item span{display:grid}.notification-nav-item small{color:#85889a}.notification-view-all{display:block;text-align:center;padding:12px;border-top:1px solid #ececf2;font-weight:700}.loading-skeleton{background:linear-gradient(90deg,#f0f1f5 25%,#fafafa 50%,#f0f1f5 75%);background-size:200% 100%;animation:skeleton 1.5s infinite}@keyframes skeleton{to{background-position:-200% 0}}
@media(max-width:1199px){.notification-filter form{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.notification-filter form,.notification-detail-grid,.template-form-grid{grid-template-columns:1fr}.communication-hero{align-items:flex-start;gap:18px;flex-direction:column}.channel-setting{grid-template-columns:auto 1fr}.channel-setting .form-switch{grid-column:2}.notification-list table{min-width:1100px}}
.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.settings-tabs{padding:12px;position:sticky;top:84px;display:grid;gap:4px}.settings-tab{border:0;background:transparent;border-radius:10px;padding:11px 13px;color:#666e81;display:flex;align-items:center;gap:11px;text-align:left;font-weight:600}.settings-tab:hover,.settings-tab.active{background:#efefff;color:var(--primary)}.settings-tab i{font-size:16px}.settings-content{min-width:0}.settings-section{padding:28px}.settings-section>header{border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:24px}.settings-section>header h2{font-size:20px;margin:0 0 5px}.settings-section>header p{color:var(--muted);margin:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid .span-2{grid-column:span 2}.setting-field input[type=color]{padding:7px;height:46px}.settings-switches{border:1px solid var(--border);border-radius:14px;margin-top:22px;overflow:hidden}.setting-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border)}.setting-switch:last-child{border-bottom:0}.setting-switch strong,.setting-switch small{display:block}.setting-switch small{color:var(--muted);margin-top:3px}.settings-save{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:25px;padding-top:20px}.settings-save>span{color:var(--muted);font-size:12px}.settings-save>span i{color:#13a474}.settings-test-email{border-top:1px solid var(--border);margin-top:25px;padding-top:20px}.settings-test-email>div{display:flex;gap:10px}.settings-test-email input{max-width:400px}.system-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.system-info-grid>div{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fafbfc}.system-info-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.system-info-grid strong{font-size:15px}.maintenance-actions{display:grid;gap:10px}.maintenance-action{width:100%;border:1px solid var(--border);border-radius:13px;background:#fff;padding:16px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;text-align:left;color:#42495c}.maintenance-action>i:first-child{width:44px;height:44px;border-radius:12px;background:#efefff;color:var(--primary);display:grid;place-items:center;font-size:18px}.maintenance-action strong,.maintenance-action small{display:block}.maintenance-action small{color:var(--muted);margin-top:3px}.maintenance-action:hover{border-color:#aaa5ff;background:#fafaff}.theme-dark{--canvas:#111525;--ink:#edf0f7;--border:#34394a;background:#111525}.theme-dark .app-main,.theme-dark .page-content{background:#111525}.theme-dark .panel{background:#1b2031;color:#edf0f7}.theme-dark .form-control,.theme-dark .form-select{background:#202638;border-color:#3a4051;color:#edf0f7}.sidebar-light .app-sidebar{background:#fff;color:#343a4b}.sidebar-light .brand-light,.sidebar-light .nav-link{color:#555d70}.sidebar-brand .app-sidebar{background:var(--primary)}
@media(max-width:991px){.settings-layout{grid-template-columns:1fr}.settings-tabs{position:static;display:flex;overflow:auto}.settings-tab{flex:0 0 auto}.settings-tab span{white-space:nowrap}.system-info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.settings-grid,.system-info-grid{grid-template-columns:1fr}.settings-grid .span-2{grid-column:auto}.settings-section{padding:20px}.settings-save{align-items:flex-start;flex-direction:column;gap:14px}.settings-save .btn{width:100%}.settings-test-email>div{flex-direction:column}}
.planner{position:relative}.planner-toolbar{padding:16px;margin-bottom:18px;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:13px}.planner-search{position:relative}.planner-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.planner-search input{padding-left:40px}.planner-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.planner-actions{display:flex;gap:8px}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.planner-calendar-card{overflow:hidden}.planner-calendar-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;border-bottom:1px solid var(--border)}.planner-view-tabs{display:flex;background:#f3f4f8;border-radius:10px;padding:4px}.planner-view-tabs button{border:0;background:transparent;border-radius:8px;padding:8px 12px;color:#6a7182;font-weight:600}.planner-view-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 3px 10px #20253c12}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:7px;height:7px;border-radius:50%}.planner-calendar-card #businessCalendar{padding:18px}.planner-loading{display:flex;gap:8px;padding:14px 18px}.planner-loading span{height:8px;border-radius:5px;background:#e9eaf0;animation:skeleton 1.2s infinite}.planner-loading span:nth-child(1){width:25%}.planner-loading span:nth-child(2){width:40%}.planner-loading span:nth-child(3){width:20%}.planner-sidebar{display:grid;gap:16px;align-content:start}.planner-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);padding:10px}.planner-stat-grid div{padding:12px}.planner-stat-grid span,.planner-stat-grid strong{display:block}.planner-stat-grid span{color:var(--muted);font-size:11px}.planner-stat-grid strong{font-size:21px}.planner-side-card{overflow:hidden}.planner-side-card>header{display:flex;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.planner-side-card h3{font-size:15px;margin:0}.planner-side-card header span{font-size:12px;color:var(--muted)}.planner-agenda a{display:grid;grid-template-columns:65px 1fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);color:inherit}.planner-agenda time{font-size:11px;color:var(--primary);font-weight:700}.planner-agenda strong,.planner-agenda small,.planner-upcoming strong,.planner-upcoming small{display:block}.planner-agenda small,.planner-upcoming small{color:var(--muted);font-size:11px}.planner-upcoming a{display:flex;align-items:center;gap:12px;padding:11px 16px;color:inherit}.planner-upcoming>a>span{width:38px;height:42px;border-radius:10px;background:#efefff;color:var(--primary);display:grid;place-items:center;font-weight:800;line-height:1}.planner-upcoming>a>span small{font-size:9px}.planner-payment{display:flex;align-items:center;gap:13px;padding:17px}.planner-payment>span{width:42px;height:42px;border-radius:12px;background:#e7f8ee;color:#168549;display:grid;place-items:center}.planner-payment small,.planner-payment strong{display:block}.planner-empty{padding:25px;text-align:center;color:var(--muted)}.resource-timeline{padding:18px}.resource-timeline>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.resource-timeline h2{font-size:17px}.resource-timeline select{max-width:220px}.resource-lane{display:grid;grid-template-columns:180px 1fr;min-height:90px;border:1px solid var(--border);border-bottom:0}.resource-lane:last-child{border-bottom:1px solid var(--border)}.resource-lane>header{padding:15px;background:#f8f9fb;border-right:1px solid var(--border)}.resource-lane>header span,.resource-lane>header small{display:block;text-transform:capitalize}.resource-lane>header small{color:var(--muted);margin-top:4px}.resource-lane>div{display:flex;gap:8px;padding:10px;overflow:auto}.resource-event{min-width:180px;border-left:4px solid var(--primary);border-radius:9px;background:#f6f6ff;padding:10px;cursor:pointer}.resource-event time,.resource-event strong,.resource-event small{display:block}.resource-event time{font-size:10px;color:var(--primary)}.resource-event small{color:var(--muted)}.resource-event[draggable=true]{cursor:grab}.planner-drawer{position:fixed;z-index:1080;right:-440px;top:0;bottom:0;width:min(420px,100%);background:#fff;box-shadow:-20px 0 50px #17203324;transition:right .25s;overflow:auto}.planner-drawer.open{right:0}.planner-drawer>header{position:sticky;top:0;background:#fff;z-index:2;display:flex;justify-content:space-between;padding:22px;border-bottom:1px solid var(--border)}.planner-drawer h2{font-size:20px;margin:3px 0}.planner-drawer header small{color:var(--muted)}.planner-drawer header button{border:0;background:#f3f4f7;border-radius:9px;width:36px;height:36px}.drawer-content{padding:22px}.drawer-content>section{padding:18px 0;border-bottom:1px solid var(--border)}.drawer-content h3{font-size:13px;text-transform:uppercase;color:var(--muted)}.drawer-content section>a,.drawer-content section>strong{display:block}.drawer-content [data-update-staff]{margin-top:10px}.drawer-content [data-drawer-services],.drawer-content [data-drawer-payments]{display:grid;gap:8px}.drawer-content [data-drawer-services]>span,.drawer-content [data-drawer-payments]>span{padding:10px;border-radius:9px;background:#f7f8fa}.drawer-content [data-drawer-payments] small{display:block;color:var(--muted)}.drawer-content footer{display:flex;gap:10px;padding-top:20px}.drawer-loading{height:160px;margin:22px;border-radius:14px}.planner-drawer-overlay{display:none;position:fixed;z-index:1070;inset:0;background:#171b2b66}.drawer-open .planner-drawer-overlay{display:block}.theme-dark .planner-drawer,.theme-dark .planner-drawer>header{background:#1b2031}.theme-dark .planner-view-tabs,.theme-dark .resource-lane>header,.theme-dark .resource-event{background:#252b3e}.theme-dark .planner-view-tabs button.active{background:#343b50}.fc .fc-event{cursor:pointer}.fc .fc-bg-event{opacity:.35}

/* Readability and premium UI refinement */
.dashboard-body {
    font-size: 1rem;
    line-height: 1.55;
}
.dashboard-body .page-content {
    padding: 2rem clamp(1rem, 2vw, 2.25rem);
}
.dashboard-body .page-header {
    margin-bottom: 2rem;
}
.dashboard-body .page-header h1 {
    font-size: clamp(1.75rem, 2.2vw, 2.15rem);
}
.dashboard-body .page-header p {
    font-size: .95rem;
}
.dashboard-body .breadcrumb,
.dashboard-body .breadcrumb a {
    font-size: .82rem;
}
.dashboard-body .sidebar-nav .nav-link {
    font-size: .92rem;
    min-height: 46px;
    padding: .78rem .9rem;
}
.dashboard-body .sidebar-section-label {
    font-size: .72rem;
    letter-spacing: .08em;
}
.dashboard-body .top-navbar {
    min-height: 72px;
}
.dashboard-body .btn {
    font-size: .9rem;
    min-height: 42px;
    padding: .66rem 1rem;
}
.dashboard-body .form-label,
.dashboard-body label {
    font-size: .86rem;
}
.dashboard-body .form-control,
.dashboard-body .form-select {
    font-size: .92rem;
    min-height: 46px;
}
.dashboard-body .form-text,
.dashboard-body .form-hint,
.dashboard-body .invalid-feedback,
.dashboard-body .schedule-error {
    font-size: .78rem;
    line-height: 1.5;
}
.dashboard-body .panel,
.dashboard-body .stat-card {
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(27, 35, 58, .07);
}
.dashboard-body .panel-header {
    padding: 1.3rem 1.45rem;
}
.dashboard-body .panel-header h2,
.dashboard-body .section-heading h2 {
    font-size: 1.08rem;
}
.dashboard-body .panel-header p,
.dashboard-body .section-heading p {
    font-size: .84rem;
}
.dashboard-body .stat-card {
    min-height: 142px;
    padding: 1.3rem;
}
.dashboard-body .stat-card p {
    font-size: .86rem;
}
.dashboard-body .stat-card h3 {
    font-size: 1.55rem;
}
.dashboard-body .stat-trend {
    font-size: .76rem;
}
.dashboard-body .quick-action-card {
    border-radius: 16px;
    min-height: 82px;
    padding: 1rem;
    text-decoration: none;
}
.dashboard-body .quick-action-card strong {
    font-size: .88rem;
}
.dashboard-body .quick-action-card small {
    font-size: .75rem;
    margin-top: .12rem;
}
.dashboard-body .quick-action-icon {
    border-radius: 11px;
    height: 42px;
    width: 42px;
}
.dashboard-body .table {
    --bs-table-bg: transparent;
}
.dashboard-body .table thead th,
.dashboard-body [class$="-table"] th {
    font-size: .75rem;
    letter-spacing: .045em;
    padding: .95rem 1rem;
    white-space: nowrap;
}
.dashboard-body .table tbody td,
.dashboard-body [class$="-table"] td {
    font-size: .86rem;
    line-height: 1.45;
    padding: 1rem;
}
.dashboard-body .table small,
.dashboard-body [class$="-table"] small {
    font-size: .76rem;
    line-height: 1.4;
    margin-top: .15rem;
}
.dashboard-body .status-pill,
.dashboard-body .status-badge,
.dashboard-body .type-badge,
.dashboard-body .metric-chip,
.dashboard-body .employee-code,
.dashboard-body .channel-badge,
.dashboard-body .invoice-status {
    font-size: .74rem;
    padding: .4rem .65rem;
}
.dashboard-body .table-action,
.dashboard-body .action-button {
    border-radius: 9px;
    height: 36px;
    width: 36px;
}
.dashboard-body .table-footer,
.dashboard-body .table-footer .page-link {
    font-size: .82rem;
}
.dashboard-body .booking-steps button {
    font-size: .8rem;
}
.dashboard-body .booking-step header h2 {
    font-size: 1.15rem;
}
.dashboard-body .booking-step header p,
.dashboard-body .booking-summary span,
.dashboard-body .booking-summary small {
    font-size: .84rem;
}
.dashboard-body .booking-service-grid strong,
.dashboard-body .booking-staff-grid strong {
    font-size: .9rem;
}
.dashboard-body .booking-service-grid small,
.dashboard-body .booking-staff-grid small {
    font-size: .78rem;
}
.dashboard-body .booking-slot {
    font-size: .88rem;
    min-height: 44px;
}
.dashboard-body .schedule-item time,
.dashboard-body .schedule-item > div strong,
.dashboard-body .activity-item strong,
.dashboard-body .system-list span,
.dashboard-body .system-list strong {
    font-size: .84rem;
}
.dashboard-body .schedule-item time small,
.dashboard-body .schedule-item > div p,
.dashboard-body .schedule-item > div small,
.dashboard-body .activity-item p,
.dashboard-body .activity-item small {
    font-size: .76rem;
}
.dashboard-body small {
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .dashboard-body .page-content {
        padding: 1.25rem .9rem;
    }
    .dashboard-body .page-header {
        margin-bottom: 1.4rem;
    }
    .dashboard-body .page-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .dashboard-body .panel-header {
        align-items: flex-start;
        gap: .8rem;
        padding: 1.1rem;
    }
    .dashboard-body .table tbody td,
    .dashboard-body [class$="-table"] td {
        padding: .85rem;
    }
}
@media(max-width:1399px){.planner-layout{grid-template-columns:minmax(0,1fr) 270px}.planner-calendar-card>header{align-items:flex-start;flex-direction:column}}@media(max-width:1100px){.planner-layout{grid-template-columns:1fr}.planner-sidebar{grid-template-columns:repeat(2,1fr)}.planner-stat-grid,.planner-payment{grid-column:span 2}}@media(max-width:767px){.planner-toolbar{grid-template-columns:1fr}.planner-filters{grid-template-columns:1fr 1fr}.planner-actions{overflow:auto}.planner-sidebar{grid-template-columns:1fr}.planner-stat-grid,.planner-payment{grid-column:auto}.planner-view-tabs{overflow:auto;max-width:100%}.calendar-legend{display:none}.resource-lane{grid-template-columns:120px 1fr}.planner-calendar-card #businessCalendar{padding:8px}}@media(max-width:479px){.planner-filters{grid-template-columns:1fr}.planner-actions .btn{white-space:nowrap}.planner-drawer{width:100%}}
/* Release accessibility baseline: preserve hierarchy without sacrificing legibility. */
body {
    font-size: 15px;
}

body small,
body .small,
body .form-text,
body .text-muted,
body .nav-label,
body .user-copy small,
body .dropdown-user small,
body .table small,
body .panel-header p {
    font-size: max(.8125rem, 1em);
    line-height: 1.45;
}

body .btn,
body .form-control,
body .form-select,
body .dropdown-item,
body .nav-link,
body table {
    font-size: .875rem;
}

body i.bi {
    font-size: max(1em, .875rem);
    line-height: 1;
}

body .btn,
body .nav-icon,
body .sidebar-toggle,
body .sidebar-close,
body .action-button,
body .table-action {
    min-height: 2.5rem;
}

body :focus-visible {
    outline: 3px solid rgba(102, 87, 217, .32);
    outline-offset: 2px;
}
