@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.sidebar{background:var(--color-sidebar);bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;position:fixed;top:0;width:var(--sidebar-width);z-index:100}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:24px 12px 16px}.nav-section{margin-bottom:8px}.nav-section-label{color:#ffffff59;display:block;font-size:11px;font-weight:600;letter-spacing:1px;padding:8px 12px 6px;text-transform:uppercase}.nav-item{align-items:center;border-radius:var(--radius-sm);color:#ffffffa6;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;text-decoration:none;transition:all .15s}.nav-item:hover{background:var(--color-sidebar-hover);color:#ffffffe6}.nav-item.active{background:var(--color-primary);color:#fff}.nav-item svg{flex-shrink:0;opacity:.7}.nav-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid #ffffff14;gap:12px;justify-content:space-between;padding:16px}.sidebar-footer,.user-info{align-items:center;display:flex}.user-info{gap:10px;min-width:0}.user-avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column;min-width:0}.sidebar-footer .user-name{color:#ffffffd9;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#fff6;font-size:11px;text-transform:capitalize}.logout-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:#fff6;cursor:pointer;flex-shrink:0;padding:8px;transition:all .15s}.logout-btn:hover{background:#ffffff1a;color:#fffc}.sidebar-toggle{align-items:center;background:var(--color-sidebar);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:none;font-size:20px;height:40px;justify-content:center;left:16px;position:fixed;top:16px;width:40px;z-index:200}.sidebar-overlay{display:none}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:flex}.sidebar-overlay{background:#0006;display:block;inset:0;position:fixed;z-index:99}}.login-container{align-items:center;background:linear-gradient(135deg,#4f46e5,#1e293b);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:48px 40px;width:100%}.login-box h1{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:6px;text-align:center}.login-box h2{color:#64748b;font-size:15px;font-weight:400;margin-bottom:36px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#1e293b;display:block}.form-group input{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:all .15s;width:100%}.form-group input:focus{border-color:#4f46e5}button[type=submit]{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:all .15s;width:100%}button[type=submit]:hover{background:#4338ca;box-shadow:0 4px 12px #4f46e54d}button[type=submit]:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}@media (max-width:768px){.login-container{padding:16px}.login-box{padding:36px 28px}.login-box h1{font-size:24px}.login-box h2{font-size:14px;margin-bottom:28px}.form-group input{font-size:14px;padding:11px 12px}button[type=submit]{font-size:14px;padding:11px}}.booking-calendar.franz-theme{margin:0 auto;max-width:1100px;min-height:100vh;padding:32px}.page-header{align-items:flex-start;background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:24px;margin-bottom:24px;padding:24px}.page-logo{flex-shrink:0;height:auto;width:120px}.page-description{flex:1 1}.page-description h1{color:var(--color-text);font-size:22px;font-weight:700;margin:0 0 10px}.page-description p{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:0 0 8px}.page-description p:last-child{margin-bottom:0}.page-description p.notice{background:#fef3c7;border-radius:var(--radius-sm);color:#92400e;font-size:13px;margin-top:12px;padding:10px 16px}.training-limits-info{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.limit-badge{align-items:center;background:#e0e7ff;border-radius:20px;color:#3730a3;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 14px}.limit-badge.peak{background:#fef3c7;color:#92400e}.studio-header{margin-bottom:16px;padding:8px 20px;text-align:center}.studio-location{color:var(--color-text-secondary);font-size:13px;font-weight:400;margin:0}.date-navigation{align-items:center;background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 24px}.current-date{flex:1 1;text-align:center}.current-date h2{color:var(--color-text);font-size:22px;font-weight:700;margin:0 0 8px}.nav-button{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .15s}.nav-button:hover{background:var(--color-primary-hover)}.today-button{background:#0000;border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .15s}.today-button:hover{background:var(--color-primary);color:#fff}.calendar-toggle{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:18px;margin-right:12px;padding:6px 12px;transition:all .15s}.calendar-toggle:hover{background:var(--color-primary);border-color:var(--color-primary)}.month-calendar{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:16px;padding:20px}.month-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.month-title{color:var(--color-text);font-size:18px;font-weight:600;text-transform:capitalize}.month-nav-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:16px;height:32px;transition:all .15s;width:32px}.month-nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.month-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.weekday-label{color:var(--color-text-secondary);font-size:12px;font-weight:600;padding:8px 0;text-align:center;text-transform:uppercase}.day-cell{align-items:center;aspect-ratio:1;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;transition:all .15s}.day-cell:hover{background:#f1f5f9}.day-cell.other-month{color:#cbd5e1}.day-cell.today{background:#e0e7ff;color:var(--color-primary);font-weight:700}.day-cell.selected{font-weight:700}.day-cell.selected,.day-cell.selected.today{background:var(--color-primary);color:#fff}.toast-message{animation:slideUp .3s ease-out;border-radius:var(--radius-md);bottom:24px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:600;left:50%;padding:14px 28px;position:fixed;transform:translateX(-50%);z-index:1000}.toast-message.error{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger)}.toast-message.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.error-banner,.success-banner{border-radius:var(--radius-sm);font-size:14px;font-weight:500;margin-bottom:24px;padding:14px 20px;text-align:center}.success-banner{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.timeline{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.time-slot,.timeline{background:var(--color-card)}.time-slot{align-items:center;border-bottom:1px solid var(--color-border);border-left:3px solid #0000;display:flex;gap:20px;padding:14px 20px;transition:all .15s}.time-slot:last-child{border-bottom:none}.time-slot:hover{background:#f8fafc}.time-slot.clickable{cursor:pointer}.time-slot.clickable:hover{background:#f1f5f9}.time-slot.clickable:hover,.time-slot.exists{border-left-color:var(--color-primary)}.time-slot.peak{background:#fffbeb;border-left-color:#f59e0b}.time-slot.peak .time-label:after{background:#fef3c7;border-radius:8px;color:#92400e;content:"Peak";display:inline-block;font-size:10px;font-weight:700;margin-left:6px;padding:1px 6px;vertical-align:middle}.time-slot.full{border-left-color:#cbd5e1;opacity:.55}.time-slot.my-booking{background:#f0fdf4;border-left-color:var(--color-success)}.time-slot.on-waitlist{background:#fffbeb;border-left-color:var(--color-warning)}.time-slot.unavailable{border-left-color:#0000;opacity:.3}.time-label{color:var(--color-text);font-size:16px;font-weight:700;min-width:70px}.slot-positions{display:flex;flex:1 1;gap:10px}.position{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:8px;min-width:110px;padding:8px 14px;position:relative;transition:all .15s}.position.booked{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.position.is-me{background:var(--color-success);border-color:var(--color-success);color:#fff}.position.free{background:#f8fafc;border:1px dashed #cbd5e1}.position-number{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:13px;font-weight:700;height:24px;justify-content:center;width:24px}.position.free .position-number{background:#e2e8f0;color:var(--color-text-secondary)}.position-name{flex:1 1;font-size:13px;font-weight:500}.position.free .position-name{color:#94a3b8;font-style:italic}.gender-badge{align-items:center;border-radius:50%;box-shadow:0 1px 3px #0003;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;position:absolute;right:-7px;top:-7px;width:18px}.gender-badge.male{background:#3b82f6}.gender-badge.female{background:#ec4899}.gender-badge.other{background:#8b5cf6}.slot-status{display:flex;justify-content:flex-end;min-width:130px}.booked-badge{background:var(--color-success);color:#fff}.booked-badge,.full-badge{border-radius:20px;font-size:13px;font-weight:600;padding:8px 16px}.full-badge{background:#e2e8f0;color:var(--color-text-secondary)}.waitlist-badge{background:#fef3c7;border-radius:20px;color:#92400e}.waitlist-badge,.waitlist-button{font-size:13px;font-weight:600;padding:8px 16px}.waitlist-button{background:var(--color-warning);border:none;border-radius:20px;color:#fff;cursor:pointer;transition:all .15s}.waitlist-button:hover{background:#d97706}.available-hint{background:#0000;border-radius:20px;color:var(--color-primary);font-size:12px;font-weight:600;opacity:.7;padding:8px 16px}.slot-unavailable{color:#94a3b8;flex:1 1;font-size:13px;font-style:italic}.time-slot.past{background:#f8fafc;border-left-color:#e2e8f0;opacity:.35;pointer-events:none}.time-slot.past .position{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}.time-slot.past .position.booked{background:#94a3b8;border-color:#94a3b8}.time-slot.past .time-label{color:#94a3b8}.time-slot.current-slot{background:linear-gradient(90deg,#fffbeb,#fff);border-left:4px solid var(--color-warning);position:relative}.time-slot.current-slot:before{background:var(--color-warning);border-radius:10px;color:#fff;content:"JETZT";font-size:10px;font-weight:700;left:90px;letter-spacing:1px;padding:2px 8px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}@media (max-width:1024px){.time-slot{flex-wrap:wrap}.slot-positions{order:2;width:100%}.slot-status{justify-content:stretch;order:3;width:100%}.available-hint,.booked-badge,.full-badge{text-align:center;width:100%}}@media (max-width:768px){.booking-calendar.franz-theme{padding:60px 16px 20px}.page-header{align-items:center;flex-direction:column;text-align:center}.page-logo{width:100px}.page-description h1{font-size:18px}.date-navigation{flex-direction:column;gap:16px;padding:16px}.nav-button{width:100%}.slot-positions{flex-direction:column;gap:6px}.position{width:100%}.current-date h2{font-size:18px}.toast-message{left:16px;right:16px;text-align:center;transform:none}}.my-bookings{margin:0 auto;max-width:1100px;min-height:100vh;padding:32px}.my-bookings h2{color:var(--color-text);font-size:26px;font-weight:700;margin:0 0 24px;text-align:center}.week-navigation{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;margin-bottom:20px;padding:14px 20px}.week-label,.week-navigation{align-items:center;display:flex}.week-label{font-size:16px;font-weight:600;gap:12px}.today-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:500;padding:5px 14px;transition:all .15s}.today-btn:hover{background:#f1f5f9;border-color:var(--color-primary);color:var(--color-primary)}.nav-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .15s}.nav-btn:hover{background:#f1f5f9;border-color:var(--color-primary);color:var(--color-primary)}.week-calendar{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:20px}.day-column{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-height:120px;overflow:hidden}.day-column.today{box-shadow:0 0 0 2px var(--color-primary),var(--shadow-sm)}.day-column.past{opacity:.45}.day-header{background:#f8fafc;border-bottom:1px solid var(--color-border);padding:12px 8px;text-align:center}.day-column.today .day-header{background:var(--color-primary);color:#fff}.day-name{display:block;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.day-number{display:block;font-size:20px;font-weight:700}.day-bookings{display:flex;flex-direction:column;gap:6px;padding:8px}.no-booking{color:#cbd5e1;font-size:14px;padding:8px;text-align:center}.time-group{align-items:center;background:#f0fdf4;border-left:3px solid var(--color-success);border-radius:var(--radius-sm);display:flex;font-size:13px;gap:6px;padding:6px 8px}.time-group.multiple{background:linear-gradient(90deg,#f0fdf4,#ecfdf5);border-left-width:4px}.group-time{color:#065f46;font-weight:600}.group-count{background:var(--color-success);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.cancel-group-btn{background:#0000;border:none;color:var(--color-danger);cursor:pointer;font-size:16px;font-weight:700;height:20px;line-height:1;margin-left:auto;opacity:.5;padding:0;transition:opacity .15s;width:20px}.cancel-group-btn:hover{opacity:1}.bookings-summary{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);font-size:14px;padding:14px;text-align:center}.bookings-summary p{margin:0}.loading{padding:60px}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:var(--color-danger);font-weight:500;margin-bottom:20px;padding:14px 20px;text-align:center}@media (max-width:768px){.my-bookings{padding:60px 16px 20px}.my-bookings h2{font-size:22px;margin-bottom:16px}.week-calendar{gap:6px;grid-template-columns:1fr}.day-column{align-items:center;border-radius:var(--radius-sm);display:grid;grid-template-columns:90px 1fr;min-height:auto}.day-column.past:not(.today){display:none}.day-header{align-items:center;background:#f8fafc;border-bottom:none;border-right:1px solid var(--color-border);display:flex;flex-direction:column;justify-content:center;padding:12px 8px}.day-column.today .day-header,.day-header{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.day-name{font-size:11px}.day-number{font-size:18px}.day-bookings{flex-direction:row;flex-wrap:wrap;gap:6px;padding:10px 12px}.time-group{padding:6px 10px}.group-time,.time-group{font-size:14px}.cancel-group-btn{font-size:16px;height:22px;width:22px}.week-navigation{flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 16px}.week-label{font-size:15px;justify-content:center;order:-1;width:100%}.nav-btn{font-size:13px;padding:6px 12px}.no-booking{color:#94a3b8;font-size:13px}}.admin-dashboard{margin:0 auto;max-width:1200px;min-height:100vh;padding:32px}.admin-dashboard h1{color:var(--color-text);font-size:26px;font-weight:700;margin-bottom:24px}.admin-message{border-radius:var(--radius-sm);font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 20px}.admin-message.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.admin-message.error{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger)}.admin-tabs{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:6px;margin-bottom:24px;padding:4px}.admin-tabs button{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s}.admin-tabs button.active{background:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff}.admin-tabs button:hover:not(.active){background:#f1f5f9;color:var(--color-text)}.admin-section{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:28px}.admin-section h2{color:var(--color-text);font-size:20px;font-weight:600;margin-bottom:20px}.dashboard-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:30px}.stat-card{background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;text-align:center}.stat-value{color:var(--color-primary);font-size:32px;font-weight:700;margin-bottom:4px}.stat-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.popular-times{display:flex;flex-direction:column;gap:8px}.popular-time-row{align-items:center;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:14px 16px}.popular-time{color:var(--color-text);font-size:15px;font-weight:600}.popular-count{color:var(--color-text-secondary);font-size:13px}.client-stats-table{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.client-stats-header{background:#f8fafc;color:var(--color-text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.client-stats-header,.client-stats-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:12px 16px}.client-stats-row{border-bottom:1px solid var(--color-border);font-size:14px}.client-stats-row:last-child{border-bottom:none}.client-stats-row:hover{background:#f8fafc}.client-stats-row .stat-number{color:var(--color-primary);font-weight:600}.settings-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:800px}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--color-text);font-size:13px;font-weight:600;margin-bottom:6px}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;padding:10px 12px;transition:border-color .15s}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.bookings-filter{background:#f8fafc;border-radius:var(--radius-md);display:flex;gap:6px;margin-bottom:20px;padding:4px;width:-webkit-fit-content;width:fit-content}.bookings-filter button{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s}.bookings-filter button.active{background:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff}.bookings-filter button:hover:not(.active){background:#e2e8f0;color:var(--color-text)}.bookings-table{display:flex;flex-direction:column;gap:6px}.booking-row{grid-gap:12px;align-items:center;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;font-size:14px;gap:12px;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;padding:12px 16px}.booking-row:hover{background:#f1f5f9}.booking-col{color:var(--color-text);font-size:14px}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.confirmed{background:#ecfdf5;color:#065f46}.status-badge.cancelled{background:#f1f5f9;color:var(--color-text-secondary)}.client-form{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:2fr 2fr 1.5fr 1fr 1fr 1fr 1fr;margin-bottom:30px}.client-form input,.client-form select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;padding:10px 12px}.client-form input:focus,.client-form select:focus{border-color:var(--color-primary);outline:none}.clients-table{border:1px solid var(--color-border);border-collapse:initial;border-radius:var(--radius-sm);border-spacing:0;overflow:hidden;width:100%}.clients-table thead th{background:#e2e8f0;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.clients-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.clients-table thead th.sortable:hover{color:var(--color-primary)}.clients-table tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px;padding:10px 16px;vertical-align:middle}.clients-table tbody tr:last-child td{border-bottom:none}.clients-table tbody tr:hover{background:#f1f5f9}.clients-table tbody tr.editing td{background:#fff;padding:20px}.role-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.role-badge.admin{background:#eef2ff;color:var(--color-primary)}.role-badge.client{background:#f1f5f9;color:var(--color-text-secondary)}.gender-symbol{font-size:15px;font-weight:700;margin-left:6px}.gender-symbol.male{color:#3b82f6}.gender-symbol.female{color:#ec4899}.gender-symbol.other{color:#8b5cf6}.client-edit-form{width:100%}.client-edit-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.client-edit-row.restrictions-row{border-top:1px solid var(--color-border);padding-top:16px}.client-edit-form .form-group{display:flex;flex-direction:column}.client-edit-form .form-group label{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.client-edit-form .form-group input,.client-edit-form .form-group select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;padding:10px 12px}.client-edit-form .form-group input:focus,.client-edit-form .form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.checkbox-group label{align-items:center;color:var(--color-text)!important;cursor:pointer;display:flex!important;font-size:14px!important;gap:8px;text-transform:none!important}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.client-edit-actions{border-top:1px solid var(--color-border);display:flex;gap:10px;padding-top:16px}.restrictions-info{display:flex;flex-wrap:wrap;gap:6px}.restriction-badge{background:#fef3c7;border-radius:12px;color:#92400e;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.clients-table .col-checkbox{text-align:center;width:30px}.clients-table .col-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.clients-table .col-actions{white-space:nowrap}.clients-table .col-actions .btn-delete,.clients-table .col-actions .btn-edit{font-size:12px;padding:5px 10px}.clients-table .col-actions{display:flex;gap:6px}.csv-mapping{background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:16px;padding:16px}.csv-mapping-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.csv-mapping-header h4{color:var(--color-text);font-size:15px;margin:0}.csv-header-toggle{align-items:center;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:13px;gap:6px}.csv-header-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.csv-mapping-table{border-collapse:collapse;font-size:14px;width:100%}.csv-mapping-table th{background:#e2e8f0;color:var(--color-text-secondary);font-size:12px;font-weight:600;padding:8px 12px;text-align:left;text-transform:uppercase}.csv-mapping-table td{border-bottom:1px solid var(--color-border);padding:8px 12px}.csv-preview-cell{color:var(--color-text-secondary);font-size:13px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-mapping-table select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;padding:6px 10px;width:100%}.csv-mapping-table select:focus{border-color:var(--color-primary);outline:none}.csv-mapping-hint{color:#c53030;font-size:13px;font-weight:500;margin-bottom:0;margin-top:10px}.csv-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);margin-top:16px;max-height:200px;overflow-y:auto;padding:16px}.csv-errors-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.csv-errors h4{color:var(--color-danger);font-size:14px;margin:0}.csv-errors ul{margin:0;padding-left:20px}.csv-errors li{color:#991b1b;font-size:13px;margin-bottom:4px}.btn-delete,.btn-edit,.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:#f1f5f9;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:#e2e8f0}.btn-delete{background:var(--color-danger);color:#fff}.btn-delete:hover{background:#dc2626}.btn-edit{background:#0000;border:1px solid var(--color-primary);color:var(--color-primary)}.btn-edit:hover{background:var(--color-primary);color:#fff}.studio-form{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.studio-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.studio-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;padding:10px 12px}.studio-form input:focus{border-color:var(--color-primary);outline:none}.studios-table{display:flex;flex-direction:column;gap:6px}.studio-row{grid-gap:12px;align-items:center;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:12px;grid-template-columns:1.5fr 2fr 1.5fr 2fr;padding:12px 16px}.studio-row:hover{background:#f1f5f9}.studio-row.editing{background:#fff;grid-template-columns:1fr;padding:20px}.studio-col{color:var(--color-text);font-size:14px}.studio-actions{display:flex;gap:8px;justify-content:flex-end}.studio-edit-form{width:100%}.studio-edit-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.studio-edit-actions{border-top:1px solid var(--color-border);display:flex;gap:10px;padding-top:16px}.schedule-editor{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:16px;padding:20px}.schedule-editor h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 16px}.schedule-day{border-bottom:1px solid var(--color-border);margin-bottom:12px;padding-bottom:12px}.schedule-day:last-of-type{border-bottom:none}.schedule-day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.day-name{color:var(--color-text);font-size:14px;font-weight:600}.btn-add-block{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius-sm);color:#065f46;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .15s}.btn-add-block:hover{background:#d1fae5}.schedule-empty{color:var(--color-text-secondary);font-size:12px;font-style:italic;padding:4px 0}.schedule-block{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.schedule-block input[type=time]{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;padding:6px 8px}.schedule-block input[type=time]:focus{border-color:var(--color-primary);outline:none}.schedule-separator{color:var(--color-text-secondary);font-size:14px}.schedule-field{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;gap:4px}.schedule-field input[type=number]{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;padding:6px 8px}.schedule-field input[type=number]:focus{border-color:var(--color-primary);outline:none}.schedule-peak{cursor:pointer}.schedule-peak input[type=checkbox]{cursor:pointer;height:16px;width:16px}.btn-remove-block{background:#0000;border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;transition:all .15s}.btn-remove-block:hover{background:var(--color-danger);color:#fff}.schedule-save{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.csv-upload-form{align-items:center;display:flex;gap:12px;margin-bottom:30px}.csv-file-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1 1;font-size:14px;max-width:300px;padding:10px}.loading{padding:40px;text-align:center}@media (max-width:1024px){.clients-table{display:block;overflow-x:auto}.booking-row{gap:8px}.booking-row,.client-form,.settings-form{grid-template-columns:1fr}}@media (max-width:768px){.admin-dashboard{padding:60px 16px 20px}.admin-dashboard h1{font-size:22px}.admin-tabs{flex-wrap:wrap}.admin-section{padding:20px}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.client-stats-header,.client-stats-row{font-size:12px;grid-template-columns:2fr 1fr 1fr;padding:10px 12px}}.faq-page{margin:0 auto;max-width:800px;padding:32px}.faq-header{margin-bottom:32px}.faq-header h1{color:var(--color-text);font-size:22px;font-weight:700;margin:0 0 10px}.faq-header p{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:0}.faq-section{margin-bottom:32px}.faq-section h2{border-bottom:2px solid var(--color-primary);color:var(--color-text);display:inline-block;font-size:16px;font-weight:700;margin:0 0 12px;padding-bottom:8px}.faq-list{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{align-items:center;background:#0000;border:none;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:space-between;padding:16px 20px;text-align:left;transition:background .15s;width:100%}.faq-item.open .faq-question,.faq-question:hover{background:#f8fafc}.faq-chevron{color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s}.faq-chevron.rotated{transform:rotate(180deg)}.faq-answer{animation:fadeIn .2s ease-out;padding:0 20px 16px}.faq-answer p{color:var(--color-text-secondary);font-size:14px;line-height:1.7;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.faq-page{padding:60px 16px 20px}.faq-header h1{font-size:18px}.faq-question{font-size:13px;padding:14px 16px}.faq-answer{padding:0 16px 14px}}*{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width:260px;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-bg:#f1f5f9;--color-sidebar:#1e293b;--color-sidebar-hover:#334155;--color-card:#fff;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-secondary:#64748b;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-lg:0 4px 6px #00000012,0 2px 4px #0000000f}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--color-bg);color:#1e293b;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.App,.app-layout{min-height:100vh}.app-layout{display:flex}.main-content{background:#f1f5f9;background:var(--color-bg);flex:1 1;margin-left:260px;margin-left:var(--sidebar-width);min-height:100vh}.loading{align-items:center;color:#64748b;color:var(--color-text-secondary);display:flex;font-size:16px;font-weight:500;justify-content:center;min-height:400px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){.main-content{margin-left:0}}
/*# sourceMappingURL=main.4da7138c.css.map*/