.language-selector{display:flex;gap:10px;margin:10px}.language-selector button{padding:8px 16px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:4px;cursor:pointer;transition:all .3s}.language-selector button.active,.language-selector button:hover{background:#667eea;color:#fff}.login-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.login-form{background:#fff;padding:40px;border-radius:10px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-form h2{margin-bottom:30px;text-align:center;color:#333}.login-button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:transform .2s}.login-button:hover:not(:disabled){transform:translateY(-2px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.week-calendar{padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h3{margin:0;color:#333}.nav-button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s}.nav-button:hover{background:#5568d3}.calendar-grid{display:grid;grid-template-columns:80px repeat(7,1fr);grid-template-rows:50px repeat(18,60px);gap:2px;background:#e0e0e0;border:1px solid #e0e0e0;min-width:fit-content}.time-column,.day-column{display:contents}.time-header{grid-column:1;grid-row:1;background:#667eea;color:#fff;padding:10px;text-align:center;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.day-header{background:#667eea;color:#fff;padding:10px;text-align:center;font-weight:700;font-size:.9rem;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.2}.time-cell{background:#fff;padding:5px;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:.85rem;color:#666;overflow:hidden;position:relative}.time-cell.slot-cell{position:relative;overflow:hidden}.time-cell.slot-cell.available{background:#3b82f6;cursor:pointer;color:#fff;transition:background .2s}.time-cell.slot-cell.available:hover{background:#2563eb;box-shadow:inset 0 0 0 2px #ffffff4d}.time-cell.slot-cell.reserved{background:#ef4444;color:#fff;cursor:not-allowed}.slot-info{font-size:.7rem;color:#333;padding:2px 4px;text-align:center;word-break:break-word;overflow:hidden;text-overflow:ellipsis;width:100%;height:100%;max-width:100%;max-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box}.time-cell.slot-cell.available .slot-info,.time-cell.slot-cell.reserved .slot-info{color:#fff;font-weight:500}.clinic-name{font-size:.75rem;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;width:100%;text-align:center}.reserved-badge{font-size:.65rem;opacity:.9;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.loading{text-align:center;padding:40px;color:#666}.reservation-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.reservation-form{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.reservation-form h2{margin-bottom:20px;color:#333}.slot-info{padding:15px;border-radius:6px;margin-bottom:20px}.slot-info p{margin:5px 0}.slot-registration-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.slot-registration-form{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px}.slot-registration-form h2{margin-bottom:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:10px;justify-content:flex-end}.cancel-button,.submit-button{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:transform .2s}.cancel-button{background:#6c757d;color:#fff}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cancel-button:hover,.submit-button:hover:not(:disabled){transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.app{min-height:100vh;background:#f5f5f5}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.app-header h1{margin:0;font-size:1.5rem}.header-actions{display:flex;gap:15px;align-items:center}.logout-button{padding:8px 16px;background:#fff3;color:#fff;border:2px solid white;border-radius:6px;cursor:pointer;transition:background .3s}.logout-button:hover{background:#ffffff4d}.app-main{padding:20px;max-width:1400px;margin:0 auto}.calendar-actions{margin-bottom:20px}.register-button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:transform .2s}.register-button:hover{transform:translateY(-2px)}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}.user-reservation-page{min-height:100vh;background:#f5f5f5}.page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.page-header h1{margin:0;font-size:1.5rem}.page-main{padding:20px;max-width:1400px;margin:0 auto}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
