*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:48px 40px;width:100%;max-width:440px;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.login-header p{color:#64748b;font-size:16px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{padding:12px 16px;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;color:#991b1b;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}.success-message{padding:12px 16px;background:#d1fae5;border:1px solid #6ee7b7;border-radius:10px;color:#065f46;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:14px}.remember-me{display:flex;align-items:center;gap:8px;cursor:pointer;color:#475569}.remember-me input[type=checkbox]{width:18px;height:18px;cursor:pointer}.forgot-password{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.forgot-password:hover{color:#764ba2}.login-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.login-button:active{transform:translateY(0)}.login-footer{margin-top:24px;text-align:center}.login-footer p{color:#64748b;font-size:14px;margin:0}.register-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.register-link:hover{color:#764ba2}.social-login{display:flex;flex-direction:column;gap:12px}@media(max-width:480px){.login-card{padding:36px 28px}.login-header h1{font-size:28px}.form-options{flex-direction:column;gap:12px;align-items:flex-start}}.warning-message{padding:12px 16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;color:#92400e;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:48px 40px;width:100%;max-width:440px;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}.register-header{text-align:center;margin-bottom:32px}.register-header h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.register-header p{color:#64748b;font-size:16px;margin:0}.register-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#334155}.form-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s ease;background:#fff;color:#1e293b}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group input::placeholder{color:#94a3b8}.terms{font-size:14px}.terms label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:#475569;line-height:1.5}.terms input[type=checkbox]{margin-top:3px;width:18px;height:18px;cursor:pointer;flex-shrink:0}.terms-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.terms-link:hover{color:#764ba2;text-decoration:underline}.register-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.register-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.register-button:active{transform:translateY(0)}.register-footer{margin-top:24px;text-align:center}.register-footer p{color:#64748b;font-size:14px;margin:0}.login-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.login-link:hover{color:#764ba2}.divider{position:relative;text-align:center;margin:32px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0}.divider span{position:relative;background:#fffffffa;padding:0 16px;color:#94a3b8;font-size:14px}.social-register{display:flex;flex-direction:column;gap:12px}.social-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#334155;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.social-button:hover{border-color:#cbd5e1;background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.social-button span{font-size:20px}@media(max-width:480px){.register-card{padding:36px 28px}.register-header h1{font-size:28px}}.error-message,.success-message{padding:12px 16px;border-radius:10px;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}.error-message{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.success-message{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.customer-management{width:100%}.customers-table{width:100%;border-collapse:collapse;background:#fff}.customers-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.customers-table th{padding:16px 20px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.customers-table th:first-child{border-top-left-radius:16px;text-align:center;width:60px}.customers-table th:last-child{border-top-right-radius:16px;width:120px}.customers-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .3s ease}.customers-table tbody tr:last-child{border-bottom:none}.customers-table tbody tr:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);transform:scale(1.01);box-shadow:0 2px 8px #0000000d}.customers-table td{padding:16px 20px;font-size:15px;color:#333}.customers-table td:first-child{text-align:center;font-weight:600;color:#999}.customer-name{font-weight:600;color:#667eea}.phone{font-weight:500;color:#11998e;font-family:Courier New,monospace}.age{color:#764ba2;font-weight:500;text-align:center}.address{color:#666;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{color:#999;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;font-family:inherit;transition:all .3s ease;box-sizing:border-box;resize:vertical}.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media(max-width:768px){.customers-table th,.customers-table td{padding:12px 10px;font-size:13px}.customers-table th:first-child,.customers-table td:first-child{width:40px}.address,.note{max-width:100px}}.calendar-by-date{width:100%}.date-filter{display:flex;gap:16px;align-items:flex-end;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:#333;font-size:14px}.filter-group input[type=date]{padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;transition:all .3s ease;background:#fff}.filter-group input[type=date]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-filter{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-filter:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-today{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #11998e4d}.btn-today:hover{transform:translateY(-2px);box-shadow:0 6px 16px #11998e66}.bookings-by-date{display:flex;flex-direction:column;gap:32px}.date-group{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014}.date-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.date-header h3{margin:0;font-size:20px;font-weight:700}.booking-count{background:#fff3;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:600}.bookings-list{padding:16px;display:flex;flex-direction:column;gap:12px}.booking-card{display:flex;gap:20px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;transition:all .3s ease;border-left:4px solid #667eea}.booking-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.booking-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000d}.time-icon{font-size:24px;margin-bottom:4px}.time-text{font-size:18px;font-weight:700;color:#667eea}.booking-details{flex:1;display:flex;flex-direction:column;gap:12px}.customer-info h4{margin:0 0 4px;font-size:18px;font-weight:700;color:#333}.customer-info .phone{margin:0;font-size:14px;color:#666;font-weight:500}.service-info{display:flex;flex-direction:column;gap:4px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:#fff;border-radius:8px}.service-name{margin:0;font-size:13px;font-weight:600;color:#667eea;line-height:1.2}.service-price{margin:0;font-size:13px;font-weight:700;color:#f5576c;font-family:Courier New,monospace;line-height:1.2}.booking-note{display:flex;gap:8px;align-items:flex-start;padding:10px 16px;background:#fff9;border-radius:8px}.note-icon{font-size:16px}.note-text{font-size:14px;color:#666;font-style:italic;line-height:1.5}.booking-status{display:flex;align-items:center}.status-badge{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.status-pending{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#d63031}.status-confirmed{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff}.status-completed{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff}.status-cancelled{background:linear-gradient(135deg,#fab1a0,#e17055);color:#fff}.status-default{background:#dfe6e9;color:#2d3436}.status-badge.clickable{cursor:pointer;transition:all .3s ease}.status-badge.clickable:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003;filter:brightness(1.1)}@media(max-width:768px){.date-filter{flex-direction:column;align-items:stretch}.btn-filter{width:100%}.date-header{flex-direction:column;align-items:flex-start;gap:12px}.booking-card{flex-direction:column;gap:16px}.booking-time{flex-direction:row;justify-content:flex-start;min-width:auto;width:100%}.time-icon{margin-bottom:0;margin-right:8px}.service-info{flex-direction:column;align-items:flex-start;gap:8px}.booking-status{width:100%}.status-badge{width:100%;text-align:center}}.btn-create-booking{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #11998e4d}.btn-create-booking:hover{transform:translateY(-2px);box-shadow:0 4px 12px #11998e66}.header-actions{display:flex;gap:12px;align-items:center}.modal-large{max-width:700px;max-height:90vh;overflow-y:auto}.customer-suggestions{margin-top:8px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.suggestion-item{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;transition:all .3s ease;border-bottom:1px solid #f0f0f0}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#667eea1a}.suggestion-item .customer-name{font-weight:600;color:#333}.suggestion-item .customer-phone{color:#666;font-size:14px}.btn-new-customer,.btn-cancel-new-customer{margin-top:12px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-new-customer{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.btn-new-customer:hover{transform:translateY(-2px);box-shadow:0 4px 12px #11998e4d}.btn-cancel-new-customer{background:#e0e0e0;color:#666}.btn-cancel-new-customer:hover{background:#d0d0d0}.services-checkbox-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.service-checkbox-item{position:relative;display:inline-flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border:2px solid #e0e0e0;border-radius:25px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.service-checkbox-item:hover{border-color:#667eea;background:#667eea0d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-checkbox-item.checked{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.service-checkbox-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{position:relative;width:20px;height:20px;border:2px solid #667eea;border-radius:4px;background:#fff;transition:all .3s ease}.service-checkbox-item.checked .checkbox-custom{background:#fff;border-color:#fff}.service-checkbox-item.checked .checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#667eea;font-size:14px;font-weight:700}.service-label{display:flex;flex-direction:column;gap:4px}.service-checkbox-item .service-name{font-weight:600;font-size:14px;color:#333}.service-checkbox-item.checked .service-name{color:#fff}.service-checkbox-item .service-price{font-size:13px;font-weight:700;color:#f5576c}.service-checkbox-item.checked .service-price{color:#ffffffe6}.help-text{display:block;margin-top:8px;font-size:13px;color:#666;font-style:italic}@media(max-width:768px){.modal-large{max-width:95%;max-height:85vh}.header-actions{width:100%;flex-direction:column-reverse}.btn-create-booking{width:100%}.booking-count{width:100%;text-align:center}}.booking-actions{display:flex;gap:8px;align-items:center}.btn-edit,.btn-delete{background:#fff;border:2px solid #e0e0e0;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-edit:hover{border-color:#667eea;background:#667eea1a;transform:scale(1.1)}.btn-delete:hover{border-color:#f5576c;background:#f5576c1a;transform:scale(1.1)}.input-disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.modal-small{max-width:500px}.confirm-question{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.booking-info-confirm{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;padding:16px;margin:16px 0}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.5)}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:#666}.info-row .value{font-weight:700;color:#333}.warning-text{color:#f5576c;font-weight:600;font-size:14px;margin-top:16px;text-align:center}.btn-delete-confirm{background:linear-gradient(135deg,#f5576c,#e74c3c);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-delete-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-complete{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-complete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00b89466}.btn-complete:disabled{opacity:.6;cursor:not-allowed;transform:none}.revenue-container{padding:20px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 8px 24px #667eea4d;transition:transform .3s ease}.summary-card:hover{transform:translateY(-4px)}.summary-card.total{background:linear-gradient(135deg,#11998e,#38ef7d)}.summary-card.bookings{background:linear-gradient(135deg,#f5576c,#f093fb)}.card-icon{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.card-content h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#ffffffe6}.card-content .amount,.card-content .count{margin:0;font-size:32px;font-weight:700;color:#fff}.revenue-list{display:flex;flex-direction:column;gap:16px}.revenue-item{background:#fff;border-radius:16px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.revenue-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.date-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#333}.date-info .booking-count{font-size:14px;color:#999}.revenue-amount{font-size:28px;font-weight:700;color:#11998e;font-family:Courier New,monospace}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:16px}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.revenue-item{flex-direction:column;align-items:flex-start;gap:12px}.revenue-amount{font-size:24px}}.home-layout{display:flex;min-height:100vh;background:#f5f7fa}.sidebar{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:4px 0 20px #0000001a;display:flex;flex-direction:column;transition:all .3s ease;position:relative;z-index:100}.sidebar.open{width:280px}.sidebar.closed{width:80px}.sidebar-header{padding:24px 20px;border-bottom:2px solid rgba(102,126,234,.1);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-header h2{font-size:20px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden}.sidebar.closed .sidebar-header h2{opacity:0}.toggle-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.toggle-btn:hover{background:#ffffff4d;transform:scale(1.1)}.sidebar-nav{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#333;font-size:16px;font-weight:500;text-align:left;width:100%}.nav-item .icon{font-size:24px;min-width:24px;display:flex;align-items:center;justify-content:center}.nav-item .text{white-space:nowrap;overflow:hidden}.sidebar.closed .nav-item{justify-content:center}.nav-item:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);transform:translate(4px)}.nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.nav-item.active:hover{transform:translate(0) scale(1.02)}.sidebar-footer{padding:20px 12px;border-top:2px solid rgba(102,126,234,.1)}.logout-btn{display:flex;align-items:center;gap:16px;padding:14px 16px;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#fff;font-size:16px;font-weight:600;text-align:left;width:100%;box-shadow:0 4px 12px #f5576c4d}.logout-btn .icon{font-size:24px;min-width:24px}.logout-btn .text{white-space:nowrap;overflow:hidden}.sidebar.closed .logout-btn{justify-content:center}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f5576c66}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.content-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 32px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;justify-content:space-between}.content-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.user-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;border-radius:20px;font-weight:600;box-shadow:0 4px 12px #667eea4d}.user-name{font-size:14px}.content-body{flex:1;padding:0;overflow-y:auto}.content-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:32px;box-shadow:0 10px 40px #00000026;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-section h2{font-size:32px;font-weight:700;margin-bottom:16px;color:#333}.content-section p{font-size:18px;color:#666;margin-bottom:24px}.user-info{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;padding:24px;margin-top:24px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1)}.info-item:last-child{border-bottom:none}.info-item .label{font-weight:600;color:#333;font-size:16px}.info-item .value{color:#666;font-size:14px;font-family:Courier New,monospace;background:#fffc;padding:6px 12px;border-radius:8px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.loading{text-align:center;font-size:24px;color:#fff;font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.sidebar.open{position:fixed;left:0;top:0;bottom:0;z-index:1000}.sidebar.closed{width:60px}.content-header{padding:16px 20px}.content-header h1{font-size:22px}.user-badge{padding:8px 16px;font-size:12px}.content-body{padding:0%}.content-section{padding:10px 5px}.content-section h2{font-size:24px}.info-item{flex-direction:column;align-items:flex-start;gap:8px}.info-item .value{max-width:100%}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{margin:0}.header-actions{display:flex;gap:12px}.btn-add{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #11998e4d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px #11998e66}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.error-box{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-weight:500;box-shadow:0 4px 12px #ff6b6b4d}.table-loading{text-align:center;padding:60px 20px}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-loading p{color:#666;font-size:16px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{font-size:20px;margin-bottom:8px}.empty-state small{font-size:14px;color:#bbb}.table-container{overflow-x:auto;border-radius:16px;box-shadow:0 4px 20px #00000014}.services-table{width:100%;border-collapse:collapse;background:#fff}.services-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.services-table th{padding:16px 20px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.services-table th:first-child{border-top-left-radius:16px;text-align:center;width:80px}.services-table th:last-child{border-top-right-radius:16px}.services-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .3s ease}.services-table tbody tr:last-child{border-bottom:none}.services-table tbody tr:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);transform:scale(1.01);box-shadow:0 2px 8px #0000000d}.services-table td{padding:16px 20px;font-size:15px;color:#333}.services-table td:first-child{text-align:center;font-weight:600;color:#999}.service-name{font-weight:600;color:#667eea}.price{font-weight:700;color:#f5576c;font-family:Courier New,monospace}.duration{color:#764ba2;font-weight:500}.quantity{font-weight:600;color:#4caf50}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-direction:column}.btn-add,.btn-primary{width:100%}.table-container{border-radius:12px}.services-table th,.services-table td{padding:12px 10px;font-size:13px}.services-table th:first-child,.services-table td:first-child{width:50px}}.actions{display:flex;gap:8px;justify-content:center}.btn-edit,.btn-delete{background:none;border:none;font-size:20px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s ease}.btn-edit:hover{background:#667eea1a;transform:scale(1.2)}.btn-delete:hover{background:#f5576c1a;transform:scale(1.2)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-small{max-width:400px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 32px;border-bottom:2px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px 24px 0 0}.modal-header h3{margin:0;font-size:24px;font-weight:700;color:#fff}.modal-close{background:#fff3;border:none;color:#fff;font-size:24px;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:32px}.modal-body p{margin:0 0 16px;font-size:16px;color:#333}.warning-text{color:#f5576c;font-weight:600;font-size:14px}.modal-footer{padding:20px 32px;border-top:2px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-text{display:block;color:#f5576c;font-size:13px;margin-top:6px;font-weight:500}.btn-cancel,.btn-save,.btn-delete-confirm{padding:12px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#666}.btn-cancel:hover{background:#d0d0d0;transform:translateY(-2px)}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-delete-confirm{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 4px 12px #f5576c4d}.btn-delete-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #f5576c66}.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.modal-content{width:95%;max-width:none;margin:20px}.modal-header,.modal-body,.modal-footer{padding:20px}.modal-header h3{font-size:20px}.modal-footer{flex-direction:column}.btn-cancel,.btn-save,.btn-delete-confirm{width:100%}.actions{gap:4px}.btn-edit,.btn-delete{font-size:18px;padding:6px 10px}}.submenu-tabs{display:flex;gap:12px;margin-bottom:32px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.submenu-tab{background:transparent;border:none;padding:14px 28px;font-size:16px;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;position:relative;bottom:-2px}.submenu-tab:hover{color:#667eea;background:#667eea0d}.submenu-tab.active{color:#667eea;border-bottom-color:#667eea;background:#667eea0d}.submenu-content{animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.submenu-content h2{font-size:28px;font-weight:700;margin-bottom:12px;color:#333}.submenu-content>p{font-size:16px;color:#666;margin-bottom:32px}.coming-soon{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;padding:60px 40px;text-align:center;margin-top:40px}.coming-soon p{font-size:24px;font-weight:600;color:#667eea;margin:0}@media(max-width:768px){.submenu-tabs{gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.submenu-tab{padding:12px 20px;font-size:14px;white-space:nowrap}.submenu-content h2{font-size:22px}.submenu-content>p{font-size:14px}.coming-soon{padding:40px 20px}.coming-soon p{font-size:18px}}
