:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-height:100vh}*{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;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:20px}.page-container{min-height:100vh;padding:20px;max-width:600px;margin:0 auto}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.btn-primary{background-color:#1a1a1a;color:#fff;border:none}.btn-primary:hover{background-color:#6b7280;transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.btn-secondary{background-color:#1a1a1a;color:#fff}.btn-secondary:hover{background-color:#6b7280}.btn-danger{background-color:#1a1a1a;color:#fff;border:none}.btn-danger:hover{background-color:#6b7280;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.input-group{margin-bottom:16px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.input-group input,.input-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s ease}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#1a1a1a}.input-group textarea{resize:vertical;min-height:80px}.day-list{display:flex;flex-direction:column;gap:12px}.day-item{padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#fff}.day-item:hover{border-color:#6b7280;transform:translateY(-2px);box-shadow:0 4px 12px #6b728033}.day-item.selected{border-color:#1a1a1a;background-color:#f3f4f6}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:16px}.time-slot{padding:12px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:all .3s ease;font-weight:600}.time-slot:hover{border-color:#6b7280;background-color:#f3f4f6}.time-slot.selected{border-color:#1a1a1a;background-color:#1a1a1a;color:#fff}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:16px;border-radius:8px;margin-bottom:20px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:16px;border-radius:8px;margin-bottom:20px}.loading{text-align:center;padding:40px;color:#666}.loading-spinner-overlay{position:fixed;inset:0;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner-container{display:flex;align-items:center;justify-content:center}.loading-spinner-circle{width:200px;height:200px;position:relative;display:flex;align-items:center;justify-content:center}.loading-spinner-circle:before{content:"";position:absolute;width:200px;height:200px;border:4px solid #e0e0e0;border-top-color:#1a1a1a;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.loading-spinner-line-1{font-size:28px;font-weight:700;color:#1a1a1a;letter-spacing:3px;text-transform:uppercase;margin-bottom:4px}.loading-spinner-line-2{font-size:16px;font-weight:600;color:#1a1a1a;letter-spacing:2px;text-transform:uppercase}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-item{padding:16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff}.appointment-item h4{margin-bottom:8px;color:#333}.appointment-item p{margin:4px 0;color:#666}.empty-state{text-align:center;padding:40px;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:linear-gradient(135deg,#a8e6cf,#b4dee7);padding:32px 24px;border-radius:16px;box-shadow:0 4px 20px #a8e6cf4d;text-align:center;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.stat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #a8e6cf66}.stat-card h3{font-size:42px;color:#2c5f41;margin:0 0 12px;font-weight:700;position:relative;z-index:1}.stat-card p{color:#1a7a5c;margin:0;font-size:15px;font-weight:600;position:relative;z-index:1;text-transform:uppercase;letter-spacing:.5px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.logout-btn{width:auto;padding:8px 16px}.cancel-form{display:flex;gap:8px}.cancel-input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px}.cancel-btn{width:auto}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e0e0e0}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:600;color:#666;transition:all .3s ease}.tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}.config-form{display:flex;flex-direction:column;gap:16px}.day-config{padding:16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff}.day-config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.day-config-header label{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.day-config-content{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-container{border-radius:12px;padding:24px 16px;margin-bottom:24px;width:100%;overflow:hidden;box-sizing:border-box;background:transparent}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 8px}.calendar-header h2{margin:0;color:#333;font-size:20px;font-weight:600}.calendar-nav-btn{background:transparent;border:none;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#666;font-weight:300}.calendar-nav-btn:hover{background:#f5f5f5;color:#333}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:12px;width:100%;box-sizing:border-box;padding:0 4px}.calendar-weekday{text-align:center;font-weight:500;color:#999;font-size:13px;padding:8px 4px;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;width:100%;box-sizing:border-box;position:relative;padding:4px;min-height:280px}.calendar-week-bar{position:absolute;left:4px;right:4px;background:#ffffffb3;border-radius:12px;box-shadow:0 1px 4px #00000014;z-index:0;pointer-events:none}.calendar-week-bar:nth-of-type(1){top:0;height:calc((100% / 6) + 2px)}.calendar-week-bar:nth-of-type(2){top:calc(100% / 6);height:calc((100% / 6) + 2px)}.calendar-week-bar:nth-of-type(3){top:calc(2 * 100% / 6);height:calc((100% / 6) + 2px)}.calendar-week-bar:nth-of-type(4){top:50%;height:calc((100% / 6) + 2px)}.calendar-week-bar:nth-of-type(5){top:calc(4 * 100% / 6);height:calc((100% / 6) + 2px)}.calendar-week-bar:nth-of-type(6){top:calc(5 * 100% / 6);height:calc((100% / 6) + 2px)}.calendar-day{aspect-ratio:1;border:none;border-radius:0;padding:8px 4px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;z-index:1}.calendar-day-other-month{opacity:.2;cursor:default}.calendar-day-other-month .calendar-day-number{color:#ccc}.calendar-day-past{opacity:.4;cursor:not-allowed}.calendar-day-past .calendar-day-number{color:#bbb}.calendar-day-selectable{cursor:pointer}.calendar-day-selectable:hover .calendar-day-number{color:#333}.calendar-day-configured{cursor:pointer}.calendar-day-configured .calendar-day-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#4a90e2;color:#fff;font-weight:600;box-shadow:0 2px 4px #4a90e24d;transition:all .2s ease}.calendar-day-configured:hover .calendar-day-number{transform:scale(1.1);box-shadow:0 3px 6px #4a90e266}.calendar-day-selected .calendar-day-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#4caf50;color:#fff;font-weight:600;box-shadow:0 2px 6px #4caf5066;position:relative;z-index:2}.calendar-day-number{font-weight:500;font-size:15px;color:#333;transition:all .2s ease}.calendar-day-slots{display:none}.appointments-days-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.appointment-day-item{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.appointment-day-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#4a90e2;opacity:0;transition:opacity .2s ease}.appointment-day-item:hover{border-color:#4a90e2;box-shadow:0 2px 8px #4a90e21a;transform:translateY(-1px)}.appointment-day-item:hover:before{opacity:1}.appointment-day-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.appointment-day-date{display:flex;flex-direction:column;gap:4px;flex:1}.appointment-day-date-main{font-size:16px;font-weight:600;color:#333}.appointment-day-date-full{font-size:13px;color:#666;text-transform:capitalize}.appointment-day-count{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.appointment-day-count-number{font-size:24px;font-weight:700;color:#4a90e2;line-height:1}.appointment-day-count-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.available-day-item:before{background:#4caf50}.available-day-item:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf501a}.available-day-item:hover:before{opacity:1}.appointment-day-count-number.available-count{color:#4caf50}.appointments-modal-content{max-width:450px;padding:0;overflow:hidden}.appointments-modal-content .modal-header{padding:20px 24px;border-bottom:1px solid #f0f0f0;margin-bottom:0}.appointments-modal-content .modal-header h3{font-size:18px;font-weight:600;color:#333;margin:0;text-transform:capitalize}.appointments-modal-list{padding:8px;max-height:60vh;overflow-y:auto}.appointment-modal-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:8px;transition:background .2s ease;cursor:default}.appointment-modal-item:hover{background:#f8f9fa}.appointment-modal-item:not(:last-child){margin-bottom:4px}.appointment-modal-info{display:flex;align-items:center;gap:16px;flex:1;transition:opacity .2s ease}.appointment-modal-info:hover{opacity:.8}.appointment-modal-time{font-size:14px;font-weight:600;color:#4a90e2;min-width:80px;text-align:left}.appointment-modal-name{font-size:15px;font-weight:500;color:#333;flex:1}.appointment-modal-cancel-btn{background:transparent;border:1px solid #e0e0e0;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#999;padding:0;flex-shrink:0}.appointment-modal-cancel-btn:hover{background:#f5f5f5;border-color:#1a1a1a;color:#1a1a1a;transform:scale(1.05)}.appointment-modal-cancel-btn:active{transform:scale(.95)}.appointment-modal-cancel-btn svg{width:16px;height:16px}.appointments-modal-list::-webkit-scrollbar{width:6px}.appointments-modal-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.appointments-modal-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.appointments-modal-list::-webkit-scrollbar-thumb:hover{background:#999}.available-modal-list{padding:16px}.available-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.available-slot-item{background:#f0f7ff;border:1px solid #4A90E2;border-radius:8px;padding:12px;text-align:center;font-size:14px;font-weight:600;color:#4a90e2;transition:all .2s ease;cursor:default}.available-slot-item:hover{background:#e0efff;transform:translateY(-1px);box-shadow:0 2px 4px #4a90e233}.appointment-details-modal{max-width:500px;padding:0}.appointment-details-content{padding:24px}.appointment-detail-item{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid #f0f0f0}.appointment-detail-item:last-of-type{border-bottom:none}.appointment-detail-label{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.appointment-detail-value{font-size:16px;font-weight:500;color:#333;word-break:break-word}.appointment-detail-value.appointment-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:18px;font-weight:700;color:#4a90e2;letter-spacing:1px;padding:8px 12px;background:#f0f7ff;border-radius:6px;display:inline-block;width:fit-content}.appointment-details-actions{padding:16px 24px;border-top:1px solid #f0f0f0;margin-top:8px}.cancel-confirm-modal{max-width:480px;padding:0;text-align:center}.cancel-confirm-icon{display:flex;justify-content:center;align-items:center;margin:32px auto 24px;animation:pulse-scale .3s ease-out}@keyframes pulse-scale{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.cancel-confirm-header{padding:0 32px 24px}.cancel-confirm-header h3{font-size:24px;font-weight:700;color:#333;margin:0 0 8px}.cancel-confirm-subtitle{font-size:14px;color:#999;margin:0;font-weight:400}.cancel-confirm-info{background:#f8f9fa;border-radius:12px;padding:20px;margin:0 24px 24px;text-align:left}.cancel-confirm-info-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e9ecef}.cancel-confirm-info-item:last-child{border-bottom:none;padding-bottom:0}.cancel-confirm-info-item:first-child{padding-top:0}.cancel-confirm-info-label{font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.cancel-confirm-info-value{font-size:15px;font-weight:500;color:#333;text-align:right}.cancel-confirm-info-value.cancel-code-small{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:16px;font-weight:700;color:#4a90e2;letter-spacing:1px;padding:4px 10px;background:#f0f7ff;border-radius:6px}.cancel-confirm-actions{display:flex;gap:12px;padding:20px 24px 24px;border-top:1px solid #f0f0f0}.cancel-confirm-btn-cancel,.cancel-confirm-btn-confirm{flex:1;padding:14px 24px;font-size:15px;font-weight:600;border-radius:8px;transition:all .2s ease;border:none;cursor:pointer}.cancel-confirm-btn-cancel{background:#f0f0f0;color:#666}.cancel-confirm-btn-cancel:hover{background:#e0e0e0;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.cancel-confirm-btn-confirm{background:#1a1a1a;color:#fff}.cancel-confirm-btn-confirm:hover{background:#6b7280;transform:translateY(-1px);box-shadow:0 4px 12px #1a1a1a4d}.cancel-confirm-btn-confirm:active{transform:translateY(0)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:100%;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;color:#333}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-buttons{display:flex;gap:12px;margin-top:24px}.modal-buttons button{width:auto;flex:1}.confirmation-container{min-height:100vh;max-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#a8e6cf,#b4dee7);overflow:hidden}.confirmation-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:420px;width:100%;padding:28px;position:relative;overflow:hidden}.confirmation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a8e6cf,#b4dee7)}.confirmation-header{text-align:center;margin-bottom:20px}.confirmation-checkmark{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#a8e6cf,#b4dee7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;margin:0 auto 12px;box-shadow:0 4px 15px #a8e6cf66}.confirmation-header h1{color:#333;font-size:22px;font-weight:600;margin:0;letter-spacing:-.5px}.confirmation-divider{height:1px;background:linear-gradient(90deg,transparent 0%,#e0e0e0 50%,transparent 100%);margin:18px 0}.confirmation-content{display:flex;flex-direction:column;gap:12px}.confirmation-field{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f9f9f9;border-radius:10px;border-left:3px solid #b4dee7}.confirmation-label{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.confirmation-value{font-size:15px;font-weight:500;color:#333}.confirmation-code-section{text-align:center;padding:20px 16px;background:linear-gradient(135deg,#f0f9f6,#e8f4f7);border-radius:12px;border:2px dashed #b4dee7;margin-top:8px}.confirmation-code-label{display:block;font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.confirmation-code{font-size:28px;font-weight:700;letter-spacing:3px;color:#2c5f41;background:#fff;padding:16px 24px;border-radius:10px;display:inline-block;margin-bottom:8px;box-shadow:0 4px 12px #00000014;font-family:Courier New,monospace}.confirmation-code-hint{display:block;font-size:11px;color:#888;font-style:italic}.confirmation-footer{margin-top:20px;text-align:center}.confirmation-footer .btn{padding:10px 20px;font-size:14px}.booking-wizard{max-width:900px}.wizard-header{margin-bottom:40px}.wizard-steps{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:32px;position:relative;padding:0 20px}.wizard-steps:before{content:"";position:absolute;top:28px;left:15%;right:15%;height:4px;background:linear-gradient(90deg,#e5e7eb,#d1d5db,#e5e7eb);z-index:0;border-radius:4px;box-shadow:inset 0 2px 4px #0000000d}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1;background:transparent;padding:0 12px;cursor:default}.wizard-step-number{width:52px;height:52px;border-radius:50%;background:#f3f4f6;border:3px solid #e5e7eb;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.wizard-step.active .wizard-step-number{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-color:#1a1a1a;color:#fff;box-shadow:0 6px 20px #1a1a1a4d;transform:scale(1.1)}.wizard-step.active .wizard-step-number:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #6b7280;opacity:.3;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.1}}.wizard-step.completed .wizard-step-number{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;box-shadow:0 4px 16px #10b9814d}.wizard-step.completed .wizard-step-number:before{content:"✓";position:absolute;font-size:28px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.wizard-step span{font-size:13px;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.wizard-step.active span{color:#1a1a1a;font-weight:700;font-size:14px}.wizard-step.completed span{color:#10b981;font-weight:600}.wizard-step-content{animation:fadeIn .3s ease;padding:32px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-back{background:none;border:none;color:#1a1a1a;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;transition:color .3s ease}.btn-back:hover{color:#6b7280}.public-calendar-list{margin:0 auto}.empty-calendar{padding:40px 20px;text-align:center}.calendar-month-group{margin-bottom:32px}.calendar-month-title{font-size:18px;font-weight:600;color:#333;margin-bottom:16px;text-align:center}.available-dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.available-date-card{padding:16px;border:2px solid transparent;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100px;position:relative;box-shadow:0 2px 4px #0000000d}.available-date-card:disabled{cursor:not-allowed;opacity:.7}.available-date-available{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-color:#c8e6c9;color:#2e7d32}.available-date-available:hover{background:linear-gradient(135deg,#c8e6c9,#e8f5e9);border-color:#a8e6cf;transform:translateY(-2px);box-shadow:0 4px 12px #a8e6cf4d}.available-date-full{background:linear-gradient(135deg,#ffebee,#fce4ec);border-color:#ffcdd2;color:#c62828}.available-date-day{font-size:28px;font-weight:700;margin-bottom:4px;line-height:1}.available-date-name{font-size:12px;font-weight:500;text-transform:capitalize;margin-bottom:8px;opacity:.8}.available-date-slots,.available-date-full-text{font-size:11px;font-weight:600;background:#ffffffb3;padding:4px 8px;border-radius:12px;margin-top:auto}.time-slots-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:24px}.time-slot-modern{padding:16px;border:2px solid #e0e0e0;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#fff);cursor:pointer;text-align:center;transition:all .3s ease;font-weight:600;font-size:16px;color:#333;box-shadow:0 2px 4px #0000000d}.time-slot-modern:hover{border-color:#6b7280;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);transform:translateY(-2px);box-shadow:0 4px 12px #6b72804d}.time-slot-modern.selected{border-color:#1a1a1a;background:#1a1a1a;color:#fff;box-shadow:0 4px 16px #1a1a1a66;transform:scale(1.05)}.input-group-modern{margin-bottom:24px}.input-group-modern label{display:block;margin-bottom:8px;font-weight:500;color:#666;font-size:14px;letter-spacing:.1px}.input-group-modern input{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff;color:#333}.input-group-modern input:focus{outline:none;border-color:#1a1a1a;border-width:2px;box-shadow:0 0 0 3px #1a1a1a1a}.input-group-modern input::placeholder{color:#bbb}@media(max-width:767px){.page-container{padding:16px;max-width:100%}.card{padding:16px;margin-bottom:16px}.page-container h1{font-size:20px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-header h1{font-size:18px;margin-bottom:0}.logout-btn{width:100%;padding:10px}.tabs{flex-wrap:wrap;gap:4px;overflow-x:auto;padding-bottom:8px}.tab{padding:10px 16px;font-size:14px;min-width:auto;flex:1}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-card h3{font-size:24px}.appointment-item{padding:12px}.appointment-item h4{font-size:16px}.appointment-item p{font-size:14px;margin:3px 0}.appointments-days-list{gap:10px}.appointment-day-item{padding:14px;border-radius:10px}.appointment-day-content{gap:12px}.appointment-day-date-main{font-size:15px}.appointment-day-date-full{font-size:12px}.appointment-day-count-number{font-size:22px}.appointment-day-count-label{font-size:10px}.appointments-modal-content{max-width:100%;border-radius:20px 20px 0 0;max-height:85vh}.appointments-modal-content .modal-header{padding:16px 20px}.appointments-modal-content .modal-header h3{font-size:16px}.appointments-modal-list{padding:4px 8px;max-height:calc(85vh - 70px)}.appointment-modal-item{padding:14px 12px;gap:12px}.appointment-modal-info{gap:12px}.appointment-modal-time{font-size:13px;min-width:70px}.appointment-modal-name{font-size:14px}.appointment-modal-cancel-btn{width:28px;height:28px}.appointment-modal-cancel-btn svg{width:14px;height:14px}.appointment-details-modal{max-width:100%;border-radius:20px 20px 0 0}.appointment-details-content{padding:20px 16px}.appointment-detail-item{padding:12px 0}.appointment-detail-label{font-size:11px}.appointment-detail-value{font-size:15px}.appointment-detail-value.appointment-code{font-size:16px;padding:6px 10px}.appointment-details-actions{padding:12px 16px}.cancel-confirm-modal{max-width:100%;border-radius:20px 20px 0 0}.cancel-confirm-icon{margin:24px auto 20px}.cancel-confirm-icon svg{width:56px;height:56px}.cancel-confirm-header{padding:0 24px 20px}.cancel-confirm-header h3{font-size:20px}.cancel-confirm-subtitle{font-size:13px}.cancel-confirm-info{padding:16px;margin:0 20px 20px}.cancel-confirm-info-item{padding:8px 0;flex-direction:column;align-items:flex-start;gap:4px}.cancel-confirm-info-label{font-size:12px}.cancel-confirm-info-value{font-size:14px;text-align:left}.cancel-confirm-info-value.cancel-code-small{font-size:14px;padding:4px 8px}.cancel-confirm-actions{flex-direction:column;gap:10px;padding:16px 20px 20px}.cancel-confirm-btn-cancel,.cancel-confirm-btn-confirm{width:100%;padding:12px}.available-slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.available-slot-item{padding:10px;font-size:13px}.cancel-form{flex-direction:column;gap:12px}.cancel-btn{width:100%}.calendar-container{padding:16px 8px;margin:0 -16px 24px;width:calc(100% + 32px)}.calendar-header{padding:0 8px;margin-bottom:16px}.calendar-header h2{font-size:18px}.calendar-nav-btn{width:32px;height:32px;font-size:20px}.calendar-weekdays{gap:0;padding:0 4px;margin-bottom:8px}.calendar-weekday{font-size:11px;padding:6px 2px;letter-spacing:.3px}.calendar-grid{gap:0;padding:2px 4px;min-height:240px}.calendar-week-bar{left:6px;right:6px;border-radius:10px}.calendar-day{padding:6px 2px}.calendar-day-number{font-size:14px}.calendar-day-configured .calendar-day-number{width:28px;height:28px;font-size:13px}.calendar-day-selected .calendar-day-number{width:32px;height:32px;font-size:14px}.modal-overlay{padding:10px;align-items:flex-end}.modal-content{max-width:100%;border-radius:16px 16px 0 0;padding:20px;max-height:90vh;overflow-y:auto}.modal-header h3{font-size:18px}.modal-buttons{flex-direction:column}.modal-buttons button{width:100%}.day-config-content{grid-template-columns:1fr}.day-config{padding:12px}.wizard-steps{gap:16px;padding:0 10px}.wizard-step-number{width:44px;height:44px;font-size:16px}.wizard-step span{font-size:11px}.wizard-steps:before{left:10%;right:10%;top:22px}.time-slots-modern{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.time-slot-modern{padding:12px;font-size:14px}.available-dates-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.available-date-card{padding:12px;min-height:85px}.available-date-day{font-size:24px}.available-date-name{font-size:11px}.calendar-month-title{font-size:16px;margin-bottom:12px}}@media(min-width:768px){.time-slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.time-slots-modern{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.page-container{max-width:800px}.confirmation-card{padding:28px;max-width:420px}}
