.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--color-1) 0%,var(--color-2) 25%,var(--color-3) 50%,var(--color-4) 75%,var(--color-5) 100%)}.login-card{background:var(--white);border-radius:15px;padding:40px;max-width:450px;width:100%;box-shadow:0 10px 40px #2d6b854d}.login-header{text-align:center;margin-bottom:30px}.login-logo{height:100px;width:auto;margin-bottom:20px}.login-header h2{color:var(--color-5);font-size:1.8rem;margin-bottom:10px}.login-header p{color:var(--color-4);font-size:1rem}.login-form{margin-top:30px}.login-error{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid #dc3545;font-size:.9rem}.login-button{width:100%;padding:12px;font-size:1rem;margin-top:10px}.login-button:disabled{opacity:.6;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;width:100%;max-width:100%}:root{--color-1: #E6F3F7;--color-2: #C8E5ED;--color-3: #7EC8D9;--color-4: #4A9DB8;--color-5: #2D6B85;--white: #FFFFFF;--text-dark: #1a1a1a;--text-light: #FFFFFF}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:linear-gradient(135deg,var(--color-1) 0%,var(--color-2) 25%,var(--color-3) 50%,var(--color-4) 75%,var(--color-5) 100%);min-height:100vh;color:var(--text-dark)}#root{min-height:100vh}.app-container{max-width:1400px;margin:0 auto;padding:20px;width:100%;box-sizing:border-box;overflow-x:hidden}.header{background:var(--white);border-radius:15px;padding:20px;margin-bottom:30px;box-shadow:0 4px 15px #2d6b8533;display:flex;align-items:center;gap:20px}.logo{height:80px;width:auto}.header h1{color:var(--color-5);font-size:2rem;font-weight:600}.nav-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.tab-button{padding:12px 24px;border:none;border-radius:8px;background:var(--white);color:var(--color-5);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2d6b851a}.tab-button:hover{background:var(--color-2);transform:translateY(-2px);box-shadow:0 4px 12px #2d6b8533}.tab-button.active{background:var(--color-4);color:var(--white)}.content-card{background:var(--white);border-radius:15px;padding:30px;box-shadow:0 4px 15px #2d6b8533;margin-bottom:20px}.section-title{color:var(--color-5);font-size:1.8rem;margin-bottom:20px;border-bottom:3px solid var(--color-3);padding-bottom:10px}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--color-4);color:var(--white)}.btn-primary:hover{background:var(--color-5);transform:translateY(-2px);box-shadow:0 4px 12px #2d6b854d}.btn-secondary{background:var(--color-3);color:var(--white)}.btn-secondary:hover{background:var(--color-4)}.btn-success{background:#28a745;color:var(--white)}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545;color:var(--white)}.btn-danger:hover{background:#c82333}.btn-warning{background:#ffc107;color:var(--text-dark)}.btn-warning:hover{background:#e0a800}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--color-5);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--color-2);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.table-container{overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;background:var(--white)}thead{background:var(--color-4);color:var(--white)}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--color-2)}tbody tr:hover{background:var(--color-1)}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.alert-info{background:var(--color-2);color:var(--color-5);border-left:4px solid var(--color-4)}.alert-warning{background:#fff3cd;color:#856404;border-left:4px solid #ffc107}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.service-card{background:var(--color-1);border:2px solid var(--color-2);border-radius:10px;padding:20px;transition:all .3s ease}.service-card:hover{border-color:var(--color-4);transform:translateY(-3px);box-shadow:0 6px 20px #2d6b8533}.service-card h3{color:var(--color-5);margin-bottom:10px}.service-price{font-size:1.5rem;font-weight:700;color:var(--color-4);margin:10px 0}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.appointment-card{background:var(--white);border:2px solid var(--color-3);border-radius:10px;padding:20px;transition:all .3s ease}.appointment-card.today{border-color:var(--color-4);background:var(--color-1);box-shadow:0 4px 15px #2d6b854d}.appointment-card h3{color:var(--color-5);margin-bottom:10px}.appointment-info{margin:8px 0;color:var(--text-dark)}.appointment-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.stat-card{background:linear-gradient(135deg,var(--color-3) 0%,var(--color-4) 100%);color:var(--white);padding:25px;border-radius:10px;text-align:center}.stat-card h3{font-size:2rem;margin-bottom:5px}.stat-card p{opacity:.9;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--white);border-radius:15px;padding:30px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{color:var(--color-5)}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-5);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--color-4)}.services-selection-container{max-height:350px;overflow-y:auto;border:2px solid var(--color-2);border-radius:10px;padding:15px;background:var(--white);display:flex;flex-direction:column;gap:10px}.service-option{display:flex;align-items:center;gap:12px;padding:12px 15px;border:2px solid var(--color-2);border-radius:8px;background:var(--white);cursor:pointer;transition:all .3s ease}.service-option:hover{border-color:var(--color-3);background:var(--color-1);transform:translate(3px);box-shadow:0 2px 8px #2d6b851a}.service-option.selected{border-color:var(--color-4);background:linear-gradient(135deg,var(--color-1) 0%,var(--color-2) 100%);box-shadow:0 4px 12px #2d6b8533}.service-checkbox{flex-shrink:0}.service-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-4)}.service-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:15px}.service-name{font-weight:500;color:var(--color-5);font-size:1rem}.service-price{font-weight:600;color:var(--color-4);font-size:1rem;white-space:nowrap}.service-selection-summary{margin-top:12px;padding:10px 15px;border-radius:8px;background:var(--color-1);text-align:center;font-size:.9rem}.service-warning{color:#dc3545;font-weight:500}.service-success{color:var(--color-4);font-weight:500}.service-total{color:var(--color-5);font-weight:600;margin-left:5px}.services-selection-container::-webkit-scrollbar{width:8px}.services-selection-container::-webkit-scrollbar-track{background:var(--color-1);border-radius:10px}.services-selection-container::-webkit-scrollbar-thumb{background:var(--color-3);border-radius:10px}.services-selection-container::-webkit-scrollbar-thumb:hover{background:var(--color-4)}@media (max-width: 768px){.app-container{padding:10px}.header{flex-direction:column;text-align:center;padding:15px;margin-bottom:15px}.logo{height:60px}.header h1{font-size:1.3rem}.nav-tabs{justify-content:center;gap:5px;margin-bottom:15px}.tab-button{padding:8px 12px;font-size:.85rem}.content-card{padding:15px}.section-title{font-size:1.3rem}.form-row,.appointments-grid,.services-grid{grid-template-columns:1fr;gap:15px}.service-info{flex-direction:column;align-items:flex-start;gap:5px}.service-price{font-size:.9rem}.modal-content{padding:20px;margin:10px;max-height:95vh}.services-selection-container{max-height:250px}}.agenda-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;width:100%;box-sizing:border-box}.agenda-view-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.calendar-container{background:var(--white);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 4px 15px #2d6b851a;width:100%;box-sizing:border-box;overflow-x:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--color-2)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekday{text-align:center;font-weight:600;color:var(--color-5);padding:10px;font-size:.9rem;text-transform:uppercase}.calendar-day{aspect-ratio:1;background:var(--color-1);border:2px solid var(--color-2);border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;position:relative}.calendar-day:hover{border-color:var(--color-3);background:var(--color-2);transform:translateY(-2px);box-shadow:0 4px 12px #2d6b8533}.calendar-day.other-month{opacity:.3;cursor:not-allowed}.calendar-day.other-month:hover{transform:none;border-color:var(--color-2);background:var(--color-1)}.calendar-day.today{background:linear-gradient(135deg,var(--color-2) 0%,var(--color-3) 100%);border-color:var(--color-4);font-weight:700}.calendar-day.selected{background:linear-gradient(135deg,var(--color-3) 0%,var(--color-4) 100%);border-color:var(--color-5);color:var(--white);font-weight:700}.calendar-day.has-appointments{border-color:var(--color-4);background:var(--color-2)}.calendar-day.selected .calendar-day-number,.calendar-day.selected .calendar-day-count{color:var(--white)}.calendar-day-number{font-size:1.2rem;font-weight:600;color:var(--color-5);margin-bottom:4px}.calendar-day-count{font-size:.75rem;color:var(--color-4);font-weight:500;text-align:center;margin-top:4px;background:#ffffffb3;padding:2px 6px;border-radius:10px;width:100%}.calendar-day.selected .calendar-day-count{background:#ffffff4d}@media (max-width: 768px){.calendar-container{padding:10px;margin-bottom:15px;overflow-x:hidden}.calendar-header{flex-wrap:wrap;gap:8px;justify-content:center;padding-bottom:10px;margin-bottom:15px}.calendar-header h3{font-size:1rem;width:100%;text-align:center;margin:8px 0}.calendar-header button{font-size:.8rem;padding:5px 10px;white-space:nowrap}.calendar-grid{gap:3px;width:100%;box-sizing:border-box}.calendar-weekday{font-size:.65rem;padding:5px 1px;font-weight:600;text-overflow:ellipsis;overflow:hidden}.calendar-day{min-height:45px;padding:3px 1px;border-width:1px;min-width:0;overflow:hidden}.calendar-day-number{font-size:.85rem;margin-bottom:1px;line-height:1.1}.calendar-day-count{font-size:.55rem;padding:1px 2px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:100%}}@media (max-width: 480px){.app-container{padding:8px}.header{padding:12px;margin-bottom:12px}.logo{height:50px}.header h1{font-size:1.1rem}.nav-tabs{gap:4px;margin-bottom:12px}.tab-button{padding:6px 10px;font-size:.75rem}.content-card{padding:12px}.section-title{font-size:1.1rem}.calendar-container{padding:8px;margin-bottom:12px}.calendar-header{padding-bottom:8px;margin-bottom:12px;gap:6px}.calendar-header h3{font-size:.9rem;margin:6px 0}.calendar-header button{font-size:.7rem;padding:4px 8px}.calendar-grid{gap:2px}.calendar-weekday{font-size:.6rem;padding:4px 0}.calendar-day{min-height:40px;padding:2px 0;border-radius:5px}.calendar-day-number{font-size:.75rem;margin-bottom:0}.calendar-day-count{font-size:.5rem;padding:1px 2px;border-radius:4px;display:none}.calendar-day.has-appointments .calendar-day-count{display:block;font-size:.45rem}.agenda-header-controls{flex-direction:column;align-items:stretch;gap:12px}.agenda-header-controls .section-title{width:100%;text-align:center}.agenda-view-buttons{width:100%;justify-content:stretch;flex-wrap:wrap;gap:6px}.agenda-view-buttons button{flex:1;min-width:calc(50% - 3px);font-size:.8rem;padding:8px 12px}.appointment-card{padding:15px}.appointment-actions{flex-direction:column;gap:8px}.appointment-actions button{width:100%}.modal-content{padding:15px;margin:5px;max-height:98vh}.modal-header h2{font-size:1.2rem}.btn{padding:8px 16px;font-size:.85rem}.services-selection-container{max-height:200px;padding:10px}.service-option{padding:10px 12px}.service-name{font-size:.9rem}.service-price{font-size:.85rem}}*{max-width:100%}body,html{overflow-x:hidden}
