@import"https://fonts.googleapis.com/css2?family=Heebo:wght@400;600;700;800&display=swap";:root{color:#172033;background:#eef3f8;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at top left,rgba(74,144,226,.18),transparent 34rem),linear-gradient(135deg,#f7fbff,#e7eef6)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{position:relative;min-height:100vh}.app-shell[data-language=hebrew]{font-family:Heebo,Segoe UI,Arial,sans-serif}.language-select{position:fixed;top:1rem;right:1rem;z-index:25;display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid rgba(130,148,174,.28);border-radius:999px;background:#ffffffeb;box-shadow:0 .75rem 1.75rem #2033541f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-shell[dir=rtl] .language-select{right:auto;left:1rem}.language-select span{color:#4a6383;font-size:.82rem;font-weight:800}.language-select select{width:auto;min-width:8rem;padding:.45rem .65rem;border-radius:999px}.topbar-language-select{display:none}.startup-screen,.login-screen{display:grid;min-height:100vh;place-items:center;padding:5rem 1rem 1rem}.brand-logo{display:block;width:min(11rem,58vw);height:auto;margin:0 auto 1.25rem;object-fit:contain}.brand-logo-large{width:min(14rem,64vw)}.login-brand-logo{width:min(8.25rem,44vw)}.eyebrow{margin:0 0 .35rem;color:#4a6383;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-card{width:min(100%,28rem);padding:2rem;border:1px solid rgba(130,148,174,.28);border-radius:1.75rem;background:#ffffffe0;box-shadow:0 1.5rem 4rem #20335429;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card h1,.calendar-topbar h1,.modal-header h2{margin:0;color:#172033}.login-copy{margin:.75rem 0 1.5rem;color:#52657d;line-height:1.55}.login-secure-note{margin:.15rem 0 0;text-align:center}.login-form,.appointment-form{display:grid;gap:1rem}label{display:grid;gap:.4rem;color:#34445c;font-weight:700}input,select,textarea{width:100%;border:1px solid #ccd7e4;border-radius:.85rem;background:#fff;color:#172033;outline:none;padding:.85rem .95rem;transition:border-color .15s ease,box-shadow .15s ease}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb24}.field-help{color:#667a92;font-size:.82rem;font-weight:600}.error-text{color:#dc2626}.phone-input-grid{display:grid;grid-template-columns:minmax(6rem,.45fr) minmax(0,1fr);direction:ltr;gap:.65rem}.otp-input-grid{display:grid;gap:.65rem}.request-code-button{display:none}.desktop-otp-help{display:block}.primary-button,.secondary-button,.danger-button,.icon-button{border:0;border-radius:.85rem;font-weight:800}.primary-button{padding:.9rem 1.15rem;color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);box-shadow:0 .75rem 1.5rem #2563eb38}.secondary-button{padding:.85rem 1rem;color:#1e3a5f;background:#e7eef8}.danger-button{padding:.85rem 1rem;color:#fff;background:#dc2626}.icon-button{width:2.5rem;height:2.5rem;color:#4a6383;background:#eef3f8;font-size:1.1rem}.calendar-shell{display:grid;gap:1rem;width:min(100%,90rem);margin:0 auto;padding:5rem 1rem 1rem}.calendar-topbar,.filters-card,.calendar-card{border:1px solid rgba(130,148,174,.26);border-radius:1.35rem;background:#ffffffeb;box-shadow:0 1rem 2.25rem #2033541a}.calendar-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem}.calendar-topbar-actions{display:flex;align-items:center;gap:.75rem}.mobile-menu-button,.mobile-menu-panel{display:none}.filters-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.calendar-card{overflow:hidden;padding:.75rem}.view-switcher{display:flex;gap:.65rem;justify-content:flex-end;padding:.25rem .25rem .9rem}.view-switcher button{padding:.7rem 1rem}.list-view-header{padding:.75rem .75rem 1rem}.list-view-header h2{margin:0}.appointment-list{display:grid;gap:.75rem}.appointment-list-item{display:grid;gap:.35rem;width:100%;padding:1rem;border:1px solid #d9e2ee;border-radius:1rem;background:#fff;color:#172033;text-align:start;box-shadow:0 .75rem 1.5rem #20335414}.appointment-list-item:hover,.appointment-list-item:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 .2rem #2563eb24}.appointment-list-item strong{font-size:1.05rem}.appointment-list-time{color:#2563eb;font-weight:900}.empty-list-state{display:grid;min-height:14rem;place-items:center;color:#52657d;font-weight:800}.loading-state{display:grid;min-height:24rem;place-items:center;color:#52657d;font-weight:700}.fc{--fc-border-color: #d9e2ee;--fc-button-bg-color: #2563eb;--fc-button-border-color: #2563eb;--fc-button-active-bg-color: #1745a3;--fc-button-active-border-color: #1745a3;--fc-event-bg-color: #2563eb;--fc-event-border-color: #1d4ed8;--fc-today-bg-color: rgba(20, 184, 166, .12)}.fc .fc-toolbar{gap:.75rem;flex-wrap:wrap}.app-shell[dir=rtl] .fc{direction:rtl}.fc .fc-toolbar-title{font-size:clamp(1.05rem,2.4vw,1.45rem)}.fc .fc-button{border-radius:.7rem;font-weight:800;text-transform:capitalize}.fc .fc-event{border-radius:.55rem;padding:.1rem .2rem}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#0f172a8a}.appointment-modal{width:min(100%,44rem);max-height:min(92vh,54rem);overflow:auto;border-radius:1.4rem;background:#fff;box-shadow:0 2rem 5rem #0f172a47}.confirm-modal{width:min(100%,28rem);overflow:hidden;border-radius:1.4rem;background:#fff;box-shadow:0 2rem 5rem #0f172a47}.share-modal{width:min(100%,30rem);overflow:hidden;border-radius:1.4rem;background:#fff;box-shadow:0 2rem 5rem #0f172a47}.modal-header,.modal-actions{display:flex;align-items:center;gap:.75rem;justify-content:space-between}.modal-header{position:sticky;top:0;z-index:1;padding:1.25rem;border-bottom:1px solid #e2e8f0;background:#fff}.appointment-form{padding:1.25rem}.reminder-sent-banner{display:grid;gap:.25rem;margin:1rem 1.25rem 0;padding:1rem 1.1rem;border:2px solid #16a34a;border-radius:1rem;background:#dcfce7;color:#14532d;box-shadow:0 .8rem 1.8rem #16a34a24}.reminder-sent-banner strong{font-size:1.18rem;font-weight:900}.reminder-sent-banner span{font-size:.95rem;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.modal-actions{padding-top:.5rem}.confirm-modal-body{padding:1.25rem;color:#334155;font-weight:700;line-height:1.6}.confirm-modal-body p{margin:0}.confirm-modal-actions{padding:0 1.25rem 1.25rem}.share-modal-body{display:grid;gap:1rem;padding:1.25rem}.share-modal-body strong{padding:.85rem 1rem;border:1px solid #d9e2ee;border-radius:.85rem;background:#f8fafc;color:#172033;direction:ltr;font-size:1.05rem;text-align:center}.share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.share-actions a{display:grid;place-items:center;text-align:center;text-decoration:none}.session-duration-copy{margin:0;color:#52657d;font-weight:700;line-height:1.55}.session-duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.modal-spacer{flex:1}.toast-host{position:fixed;right:1rem;bottom:1rem;z-index:30;display:grid;gap:.75rem;width:min(24rem,calc(100vw - 2rem))}.toast{padding:.9rem 1rem;border-radius:1rem;color:#fff;font-weight:800;box-shadow:0 1rem 2rem #0f172a3d}.toast-success{background:#059669}.toast-error{background:#dc2626}.toast-info{background:#2563eb}.pwa-update-banner{position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:31;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(42rem,calc(100vw - 2rem));margin:0 auto;padding:1rem;border:1px solid rgba(130,148,174,.28);border-radius:1.1rem;background:#fffffff5;box-shadow:0 1rem 2.5rem #0f172a38;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pwa-update-banner strong,.pwa-update-banner span{display:block}.pwa-update-banner strong{color:#172033}.pwa-update-banner span{margin-top:.25rem;color:#52657d;font-weight:600}.pwa-update-actions{display:flex;flex:0 0 auto;gap:.6rem}.pwa-update-actions .primary-button,.pwa-update-actions .secondary-button{padding:.7rem .95rem}.back-to-top-button{position:fixed;right:1rem;bottom:5.5rem;z-index:18;display:grid;width:3rem;height:3rem;place-items:center;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);font-size:1.35rem;font-weight:900;box-shadow:0 1rem 2rem #2563eb47}.app-shell[dir=rtl] .back-to-top-button{right:auto;left:1rem}@media(max-width:760px){.calendar-shell{gap:.45rem;max-width:100vw;padding:.45rem;overflow-x:hidden}.language-select{left:.75rem;right:.75rem;justify-content:space-between}.otp-input-grid{grid-template-columns:minmax(0,1fr) auto}.request-code-button{display:block;padding:.65rem .75rem;white-space:nowrap}.desktop-otp-help{display:none}.app-shell[dir=rtl] .language-select{left:.75rem;right:.75rem}.app-shell[data-authenticated=true]>.language-select{display:none}.topbar-language-select{position:static;display:none;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar-language-select select{min-width:4.8rem;max-width:5.8rem;padding:.5rem .6rem;border-radius:.65rem;font-size:.85rem}.form-grid{grid-template-columns:1fr}.calendar-topbar,.filters-card,.calendar-card{border-radius:.9rem;box-shadow:0 .45rem 1.1rem #20335414}.calendar-topbar{align-items:center;flex-direction:row;gap:.45rem;padding:.45rem .55rem}.calendar-topbar>div:first-child{min-width:0;flex:1}.calendar-topbar .eyebrow,.topbar-language-select span{display:none}.calendar-topbar h1{overflow:hidden;font-size:clamp(.95rem,4vw,1.1rem);text-overflow:ellipsis;white-space:nowrap}.calendar-topbar-actions{position:relative;flex:0 0 auto;flex-direction:row;gap:.4rem;justify-content:flex-end}.calendar-topbar .secondary-button{padding:.55rem .65rem;font-size:.85rem}.calendar-topbar-actions .secondary-button{width:auto}.desktop-logout-button{display:none}.mobile-menu-button{display:inline-grid;width:2.35rem;height:2.35rem;place-items:center;gap:.2rem;padding:.5rem;border:0;border-radius:.75rem;background:#e7eef8}.mobile-menu-button span{display:block;width:1.05rem;height:.12rem;border-radius:999px;background:#1e3a5f}.mobile-menu-panel{position:fixed;top:0;bottom:0;inset-inline-end:0;z-index:28;display:grid;align-content:start;gap:1rem;width:80vw;max-width:24rem;padding:1rem;border:1px solid rgba(130,148,174,.3);border-block:0;border-inline-end:0;border-radius:1.1rem 0 0 1.1rem;background:#fff;box-shadow:-1rem 0 2.25rem #0f172a2e;touch-action:pan-y}.mobile-menu-enter-active,.mobile-menu-leave-active{transition:opacity .22s ease,transform .22s ease}.mobile-menu-enter-from,.mobile-menu-leave-to{opacity:0;transform:translate(100%)}.app-shell[dir=rtl] .mobile-menu-panel{border-inline-start:1px solid rgba(130,148,174,.3);border-inline-end:0;border-radius:0 1.1rem 1.1rem 0;box-shadow:1rem 0 2.25rem #0f172a2e}.app-shell[dir=rtl] .mobile-menu-enter-from,.app-shell[dir=rtl] .mobile-menu-leave-to{transform:translate(-100%)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.mobile-menu-header strong{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-header .icon-button{flex:0 0 auto;width:2.25rem;height:2.25rem}.mobile-menu-panel label{gap:.3rem}.mobile-menu-panel label span,.hour-cycle-setting>span{color:#34445c;font-size:.78rem;font-weight:800;line-height:1}.mobile-menu-panel select,.mobile-menu-panel button{width:100%}.mobile-menu-panel select{padding:.6rem .7rem;border-radius:.7rem;font-size:.9rem}.hour-cycle-setting{display:grid;gap:.45rem}.hour-cycle-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;border:1px solid #ccd7e4;border-radius:999px;background:#eef3f8;color:#52657d;font-weight:900}.hour-cycle-switch span{padding:.5rem .65rem;border-radius:999px;text-align:center}.hour-cycle-switch .active{color:#fff;background:#2563eb;box-shadow:0 .45rem 1rem #2563eb2e}.pwa-update-banner{align-items:stretch;flex-direction:column}.pwa-update-actions{justify-content:stretch}.pwa-update-actions button{flex:1}.filters-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.5rem}.filters-card label{min-width:0;gap:.25rem}.filters-card label span{font-size:.75rem;line-height:1}.filters-card select{min-width:0;padding:.55rem .6rem;border-radius:.65rem;font-size:.85rem}.calendar-card{padding:.45rem;overflow-x:hidden}.fc .fc-toolbar{align-items:center;flex-direction:column;gap:.45rem}.fc .fc-toolbar-chunk{display:flex;max-width:100%;flex-wrap:wrap;gap:.35rem;justify-content:center}.fc .fc-toolbar-chunk:empty{display:none}.fc .fc-button-group{max-width:100%;flex-wrap:wrap;gap:.25rem}.fc .fc-button-group .fc-button{border-radius:.7rem}.fc .fc-toolbar-title{font-size:clamp(.95rem,5vw,1.15rem);line-height:1.2;text-align:center}.fc .fc-button{padding:.45rem .6rem;font-size:.84rem;line-height:1.15}.view-switcher{justify-content:stretch;gap:.4rem;padding:.1rem .1rem .45rem}.view-switcher button{flex:1;padding:.55rem .65rem;font-size:.85rem}.back-to-top-button{bottom:1rem;width:2.65rem;height:2.65rem;font-size:1.15rem}.modal-actions{align-items:stretch;flex-direction:column}.modal-actions button,.modal-spacer{width:100%}}
