: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}}.login-container{max-width:360px;margin:80px auto;padding:32px 24px;background:#fff;border-radius:18px;box-shadow:0 6px 32px #3c3c5a14;display:flex;flex-direction:column;align-items:center}.login-container h1{margin-bottom:24px;color:#3a3a5a;font-size:2.1rem;font-weight:700;letter-spacing:1px}.login-container form{display:flex;flex-direction:column;width:100%}.login-container input[type=email]{padding:12px 10px;margin-bottom:18px;border:1px solid #d3d7ea;border-radius:6px;font-size:1rem;outline:none;transition:border .2s;background:#f6f8fd}.login-container input[type=email]:focus{border:1.5px solid #75aaff;background:#f2f7ff}.login-container input[type=password]{padding:12px 10px;margin-bottom:18px;border:1px solid #d3d7ea;border-radius:6px;font-size:1rem;outline:none;transition:border .2s;background:#f6f8fd}.login-container input[type=password]:focus{border:1.5px solid #75aaff;background:#f2f7ff}.login-container button{padding:12px 0;background:linear-gradient(90deg,#478aff,#61e5ff);color:#fff;font-weight:600;font-size:1.1rem;border:none;border-radius:6px;cursor:pointer;transition:background .2s;margin-top:4px}.login-container button:hover{background:linear-gradient(90deg,#397cdf,#50c3e6)}@media (max-width: 480px){.login-container{margin:30px 8px;padding:18px 6px;max-width:96vw}.login-container h1{font-size:1.5rem}}.register-container{max-width:500px;margin:0 auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center;direction:rtl}.register-container h1{margin-bottom:1.5rem;color:#333;font-size:2rem}.register-container form{display:flex;flex-direction:column;gap:1rem}.register-container input{padding:12px 16px;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.register-container input:focus{border-color:#4a90e2;outline:none}.register-container button{padding:12px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}.register-container button:hover{background-color:#3a80d2}.register-container button:disabled{background-color:#a0c0e8;cursor:not-allowed}.error-message{color:#e74c3c;margin-bottom:1rem;padding:8px;background-color:#fdeaea;border-radius:4px}.login-link{margin-top:1.5rem;font-size:.9rem}.login-link a{color:#4a90e2;text-decoration:none;font-weight:700}.login-link a:hover{text-decoration:underline}@media (max-width: 600px){.register-container{padding:1.5rem;margin:0 1rem}}.dashboard-container{max-width:900px;margin:40px auto;padding:32px 24px;background:#fff;border-radius:18px;box-shadow:0 6px 32px #3c3c5a14;display:flex;flex-direction:column;align-items:stretch;direction:rtl}.dashboard-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:30px}.dashboard-container h1{font-size:2.1rem;font-weight:700;color:#3a3a5a;margin:0}.logout-button{background:#f2f7ff;color:#3a3a5a;border:1px solid #d3d7ea;border-radius:6px;padding:8px 16px;font-size:.9rem;cursor:pointer;transition:all .2s}.logout-button:hover{background:#e8f0ff;color:#1756e2}.dashboard-container h2{font-size:1.15rem;margin:18px 0 10px;color:#23407a;font-weight:600}.share-link{width:100%;background:#f6f8fd;border-radius:10px;padding:20px;margin-bottom:30px;box-shadow:0 1px 6px #2248b80d}.share-link h3{margin-top:0;margin-bottom:12px;font-size:1.1rem;color:#3a3a5a}.link-container{display:flex;gap:8px}.link-container input{flex-grow:1;padding:10px;border:1px solid #d3d7ea;border-radius:6px;font-size:.9rem;background:#fff}.link-container button{background:linear-gradient(90deg,#478aff,#61e5ff);color:#fff;border:none;border-radius:6px;padding:0 16px;cursor:pointer;font-size:.9rem;transition:background .2s}.link-container button:hover{background:linear-gradient(90deg,#397cdf,#50c3e6)}.availability-form{display:flex;flex-direction:column;width:100%;background:#f2f7ff;border-radius:10px;padding:24px;margin-bottom:30px;box-shadow:0 1px 6px #2248b817}.form-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.9rem;color:#3a3a5a;font-weight:500}.input-group input[type=datetime-local]{padding:10px;border-radius:6px;border:1px solid #d3d7ea;background:#fff;font-size:1rem;outline:none;transition:border .2s}.input-group input[type=datetime-local]:focus{border:1.5px solid #75aaff;background:#f2f7ff}.availability-form button{background:linear-gradient(90deg,#478aff,#61e5ff);color:#fff;border:none;border-radius:6px;padding:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;align-self:flex-start}.availability-form button:hover{background:linear-gradient(90deg,#397cdf,#50c3e6)}.availability-form button:disabled{background:linear-gradient(90deg,#a0c0e8,#b0e0f0);cursor:not-allowed}.dashboard-columns{display:flex;width:100%;gap:30px;margin-bottom:30px;justify-content:space-between}.dashboard-column{flex:1;min-width:0;display:flex;flex-direction:column}.appointments-section,.availability-list{width:100%;background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 6px #2248b80d;height:100%;flex:1;display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.appointments-section h2,.availability-list h2{margin-top:0;margin-bottom:0;color:#3a3a5a}.appointments-list,.availability-list ul{width:100%;padding:0;margin:0;list-style:none;flex:1;overflow-y:auto;max-height:350px}.availability-list li{background:#f6f8fd;padding:16px;margin-bottom:12px;border-radius:8px;box-shadow:0 1px 4px #2248b80a;font-size:1rem;color:#3a3a5a;transition:transform .2s,box-shadow .2s}.availability-list li:hover{transform:translateY(-2px);box-shadow:0 4px 8px #2248b814}.appointment-item{background:#f6f8fd;padding:16px;margin-bottom:12px;border-radius:8px;box-shadow:0 1px 4px #2248b80a;transition:transform .2s,box-shadow .2s}.appointment-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #2248b814}.appointment-details{display:flex;flex-direction:column;gap:8px}.appointment-time,.appointment-visitor,.appointment-email{display:flex;align-items:center;gap:8px}.detail-label{font-weight:600;color:#23407a;min-width:60px}.detail-value{color:#3a3a5a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.refresh-button{background:#f2f7ff;color:#3a3a5a;border:1px solid #d3d7ea;border-radius:6px;padding:6px 12px;font-size:.9rem;cursor:pointer;transition:all .2s}.refresh-button:hover{background:#e8f0ff;color:#1756e2}.refresh-button:disabled{background:#f0f0f0;color:#a0a0a0;cursor:not-allowed}.no-appointments{text-align:center;padding:20px;color:#6b7280;font-style:italic}.loading,.no-slots{text-align:center;padding:20px;color:#6b7280}@media (max-width: 600px){.dashboard-container{margin:20px 10px;padding:20px 15px;max-width:calc(100% - 20px)}.dashboard-header{flex-direction:column;gap:15px;align-items:flex-start}.dashboard-container h1{font-size:1.5rem}.form-inputs{gap:10px}.link-container{flex-direction:column}.availability-form,.availability-list,.appointments-section,.share-link{padding:15px}.section-header{flex-direction:column;align-items:flex-start;gap:10px}.appointment-time,.appointment-visitor,.appointment-email{flex-direction:column;align-items:flex-start;gap:4px}.dashboard-columns{flex-direction:column;gap:15px}}.book-container{max-width:90%;margin:40px auto;padding:32px 24px;background:#fff;border-radius:18px;box-shadow:0 6px 32px #3c3c5a14;display:flex;flex-direction:column;align-items:center;direction:rtl}.book-container h1{margin-bottom:24px;color:#3a3a5a;font-size:2.1rem;font-weight:700}.book-container h2{font-size:1.3rem;margin:0 0 16px;color:#3a3a5a;font-weight:600}.loading{text-align:center;padding:20px;color:#6b7280;font-size:1.1rem}.no-slots{background:#f6f8fd;border-radius:10px;padding:24px;text-align:center;color:#6b7280;margin-top:16px;box-shadow:0 1px 4px #2248b80a}.calendar-view{width:100%}.days-columns{display:flex;flex-direction:row;gap:16px;overflow-x:auto;padding-bottom:16px;margin-top:24px;width:100%}.day-column{min-width:240px;flex:1;background:#f9faff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #2248b80d}.date-header{color:#3a3a5a;font-size:1.2rem;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb;font-weight:600;text-align:center;display:flex;flex-direction:column}.date-number{font-size:.9rem;color:#6b7280;margin-top:4px;font-weight:400}.time-slots{width:100%;padding:0;margin:0;list-style:none;max-height:400px;overflow-y:auto}.slot-item{display:flex;justify-content:space-between;align-items:center;background:#f6f8fd;margin-bottom:12px;padding:16px;border-radius:8px;font-size:1rem;color:#3a3a5a;box-shadow:0 1px 4px #2248b80a;transition:all .2s}.slot-item:hover{background:#f2f7ff;box-shadow:0 2px 8px #2248b814}.slot-time{font-weight:500}.book-button{background:linear-gradient(90deg,#478aff,#61e5ff);color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.book-button:hover{background:linear-gradient(90deg,#397cdf,#50c3e6)}.book-button:disabled{background:linear-gradient(90deg,#a0c0e8,#b0e0f0);cursor:not-allowed}@media (max-width: 768px){.book-container{margin:20px 10px;padding:20px 15px;max-width:calc(100% - 20px)}.book-container h1{font-size:1.5rem;margin-bottom:16px}.book-container h2{font-size:1.2rem}.days-columns{flex-direction:column;gap:24px}.day-column{min-width:auto;width:100%;padding:12px}.date-header{font-size:1.1rem;margin-bottom:12px}.slot-item{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.book-button{width:100%;padding:10px}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
