*{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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.app-container,.public-view{max-width:1200px;margin:0 auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000004d}.public-container{position:relative;max-width:1200px;margin:0 auto}.btn-admin-access{position:absolute;top:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#ffffffe6;color:#667eea;font-size:24px;box-shadow:0 4px 12px #0000001a;z-index:1000;transition:all .3s}.btn-admin-access:hover{background:#667eea;color:#fff;transform:rotate(90deg) scale(1.1)}.demo-badge{position:absolute;top:20px;left:20px;background:#ff6b6b;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:700;z-index:1000;box-shadow:0 4px 12px #ff6b6b4d}.btn-delete-all{width:100%;background:#ff4757;color:#fff;padding:15px;font-size:16px;margin-top:15px}.btn-delete-all:hover{background:#e34}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.header-public{text-align:center;margin-bottom:30px}.header-public h1{color:#667eea;font-size:2.5em;margin-bottom:10px}.header-public p{color:#666;font-size:1.2em}button{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:16px;transition:all .3s}.btn-logout,.btn-cancel{background:#ff4757;color:#fff}.btn-logout:hover,.btn-cancel:hover{background:#ee5a6f;transform:translateY(-2px)}.btn-config,.btn-save{background:#667eea;color:#fff}.btn-config:hover,.btn-save:hover{background:#5568d3;transform:translateY(-2px)}.login-container{max-width:400px;margin:50px auto}.login-box{background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 60px #0000004d;text-align:center}.login-box h3{margin-bottom:20px;color:#667eea}.login-box input{width:100%;padding:12px;margin:15px 0;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.btn-public,.btn-admin{width:100%;margin:10px 0;padding:15px;font-size:18px}.btn-public{background:#667eea;color:#fff}.btn-admin{background:#48c774;color:#fff}.calendar-section{margin:30px 0}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.week-navigation button{background:#667eea;color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-day{padding:20px;text-align:center;border-radius:12px;cursor:pointer;transition:all .3s;border:2px solid #e0e0e0}.calendar-day.workday{background:#f8f9ff;border-color:#667eea}.calendar-day.workday:hover{background:#667eea;color:#fff;transform:translateY(-5px)}.calendar-day.selected{background:#667eea;color:#fff}.calendar-day.disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.day-name{font-size:12px;text-transform:uppercase;margin-bottom:5px}.day-number{font-size:24px;font-weight:700}.time-selection{margin:30px 0}.time-selection h3{margin-bottom:20px;color:#333}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.time-slot{padding:15px;background:#f8f9ff;border:2px solid #667eea;color:#667eea;font-weight:700}.time-slot:hover:not(:disabled){background:#667eea;color:#fff}.time-slot.selected{background:#667eea;color:#fff}.time-slot.unavailable{background:#f5f5f5;border-color:#ccc;color:#ccc;cursor:not-allowed}.booking-form{margin:30px 0;padding:30px;background:#f8f9ff;border-radius:12px}.booking-form h3{margin-bottom:20px;color:#333}.booking-form input{width:100%;padding:15px;margin:10px 0;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.btn-book{width:100%;background:#48c774;color:#fff;padding:15px;font-size:18px;margin-top:15px}.btn-book:hover{background:#3ead66;transform:translateY(-2px)}.success-message{text-align:center;padding:40px}.success-message h2{color:#48c774;margin-bottom:20px;font-size:2.5em}.calendar-buttons{display:flex;gap:15px;justify-content:center;margin-top:30px;flex-wrap:wrap}.btn-calendar{padding:15px 30px;background:#667eea;color:#fff;text-decoration:none;border-radius:8px;transition:all .3s}.btn-calendar:hover{background:#5568d3;transform:translateY(-2px)}.admin-dashboard{padding:20px}.admin-header-buttons{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.btn-delete-old{background:#ff6b6b;color:#fff;padding:12px 24px}.btn-delete-old:hover{background:#ee5a52;transform:translateY(-2px)}.appointments-list{display:grid;gap:20px;margin-top:20px}.appointment-card{background:#f8f9ff;padding:20px;border-radius:12px;border-left:5px solid #667eea}.appointment-card.accepted{border-left-color:#48c774;background:#f0fdf4}.appointment-card.rejected{border-left-color:#ff4757;background:#fef2f2}.appointment-card.past{opacity:.6;background:#f5f5f5}.apt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.status-badge{padding:5px 15px;border-radius:20px;font-size:14px;font-weight:700}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.accepted{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.apt-details p{margin:8px 0;color:#666}.apt-actions{display:flex;gap:10px;margin-top:15px}.btn-accept{background:#48c774;color:#fff;flex:1}.btn-reject{background:#ff4757;color:#fff;flex:1}.btn-whatsapp{width:100%;background:#25d366;color:#fff;margin-top:15px}.no-appointments{text-align:center;color:#999;padding:40px;font-size:1.2em}.admin-config{padding:20px}.config-section{margin:30px 0;padding:20px;background:#f8f9ff;border-radius:12px}.config-section h3{margin-bottom:15px;color:#667eea}.config-section label{display:block;margin:15px 0 5px;color:#333;font-weight:700}.config-section input,.config-section select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.day-checkbox{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-radius:8px;cursor:pointer}.day-checkbox input{width:auto;cursor:pointer}.config-buttons{display:flex;gap:15px;margin-top:30px}.config-buttons button{flex:1;padding:15px;font-size:18px}@media (max-width: 768px){.calendar-grid{grid-template-columns:repeat(3,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.calendar-buttons{flex-direction:column}}
