@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c-s.11-onw4a9s-o3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8-s.1oj6iblxvm99n.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2-s.p.1q-jjomgjvbjf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.1nzccunaoxsdm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.1wuo3gtslpr33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0ggqn9ig56u4s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_ee6e841f-module__RWuaJG__className{font-family:Fraunces,Fraunces Fallback}.fraunces_ee6e841f-module__RWuaJG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0itc0wjx1mi4q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1gwygi6ipeo67.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0itc0wjx1mi4q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1gwygi6ipeo67.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0itc0wjx1mi4q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1gwygi6ipeo67.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0itc0wjx1mi4q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1gwygi6ipeo67.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Fallback;src:local(Arial);ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.0%;size-adjust:104.87%}.public_sans_103eb269-module__kJUq3a__className{font-family:Public Sans,Public Sans Fallback;font-style:normal}.public_sans_103eb269-module__kJUq3a__variable{--font-public-sans:"Public Sans", "Public Sans Fallback"}
*{box-sizing:border-box}body{margin:0}main{min-height:100dvh;padding:2rem}.login,.dashboard{max-width:32rem;margin:0 auto}.dashboard header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}button{cursor:pointer}.dashboard__button-link{cursor:pointer;text-decoration:none;display:inline-block}.room-loading,.room-error,.room-pin{justify-content:center;align-items:center;height:100dvh;display:flex}.room-pin form{gap:.5rem;margin-top:.75rem;display:flex}.room-shell{height:100dvh;position:relative}.room-shell__back-link{z-index:10;padding:.5rem .75rem;text-decoration:none;display:inline-block;position:absolute;top:1rem;left:1rem}.dashboard__appointments{flex-direction:column;gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.dashboard__appointment{padding:1rem}.dashboard__appointment--ended,.dashboard__appointment--cancelled{opacity:.6}.dashboard__badge{text-transform:uppercase;letter-spacing:.04em;border-radius:.25rem;padding:.1rem .4rem;font-size:.75rem;display:inline-block}.dashboard header p{align-items:center;gap:.75rem;margin:0;display:flex}.dashboard__booking-form{padding:1rem}.dashboard__booking-actions{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard__booking-details{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.dashboard__booking-details label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.availability{margin:0 auto}.availability header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.availability__section{margin-bottom:1.5rem;padding:1rem}.availability__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.availability__form label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.availability__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.availability__item{justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;display:flex}.book,.manage{max-width:32rem;margin:0 auto}.book__layout{flex-direction:column;gap:1.5rem;display:flex}.book__slot-list{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.book__email-form{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.manage__actions{margin-top:1rem}.manage__confirm{margin-top:.75rem}.doctor-theme{--ink:#123249;--text:#3b4750;--strong:#16232f;--muted:#5b6670;--paper:#fafaf8;--sand:#eaf1f6;--tint-green:#eef3ec;--brand:#1b4c73;--brand-dim:#123249;--signal:#4b7561;--signal-dim:#4b7561;--signal-dim-hover:#3b5e4d;--danger:#d8131e;--danger-dim:#c2111b;--green-dim:var(--signal);--line:#e3e7ea;--line-soft:#edeff0;--faint:#8a949c;--font-display:var(--font-fraunces), Georgia, serif;--font-body:var(--font-public-sans), system-ui, sans-serif;--font-ui:var(--font-public-sans), system-ui, sans-serif;--space-1:.5rem;--space-2:.875rem;--space-3:1.5rem;--space-4:2.5rem;--radius-sm:3px;--radius:8px;--radius-pill:3px;--shadow-card-light:none;background:var(--paper);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.7}.doctor-theme .dashboard{max-width:64rem}.doctor-theme a{color:var(--brand)}.doctor-theme h1,.doctor-theme h2,.doctor-theme h3{font-family:var(--font-display);letter-spacing:0;color:var(--ink);margin:0 0 var(--space-1);font-weight:400;line-height:1.15}.doctor-theme h3{font-family:var(--font-ui);color:var(--strong);font-size:1.125rem;font-weight:600;line-height:1.3}.doctor-theme a:focus-visible,.doctor-theme button:focus-visible,.doctor-theme input:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.doctor-theme button{background:var(--brand);color:var(--paper);border-radius:var(--radius-pill);font-family:var(--font-ui);letter-spacing:.01em;border:1px solid #0000;padding:.65rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.2}.doctor-theme button:hover{background:var(--brand-dim)}.doctor-theme .dashboard__button-link{background:var(--brand);color:var(--paper);border-radius:var(--radius-pill);font-family:var(--font-ui);letter-spacing:.01em;border:1px solid #0000;padding:.65rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.2}.doctor-theme .dashboard__button-link:hover{background:var(--brand-dim)}.doctor-theme input{border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-sm);font-family:var(--font-body);background:#fff;padding:.5rem .75rem;font-size:.95rem}.doctor-theme .dashboard__error,.doctor-theme .login__error{color:var(--danger-dim)}.doctor-theme .dashboard__appointment,.doctor-theme .availability__section,.doctor-theme .dashboard__booking-form,.doctor-theme .availability__item{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card-light);background:#fff}.doctor-theme .dashboard__appointment--empty{background:var(--sand);box-shadow:none;justify-content:space-between;align-items:center;gap:var(--space-2);border-style:dashed;display:flex}.doctor-theme .dashboard__appointment-summary{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.doctor-theme .dashboard__appointment-summary>span:nth-child(2){flex:1}.doctor-theme .dashboard__appointment-disclosure{color:var(--brand);font-family:var(--font-ui);width:1em;font-size:.72rem}.doctor-theme .dashboard__appointment-details{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.doctor-theme .dashboard__status-tag{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);color:var(--paper);border:1px solid #0000;padding:.45rem .9rem;font-size:.72rem;font-weight:600;line-height:.975rem;display:inline-block}.doctor-theme .dashboard__status-tag--cancelled{background:var(--danger-dim)}.doctor-theme .dashboard__status-tag--ended{background:var(--green-dim)}.doctor-theme .dashboard__badge{font-family:var(--font-ui);letter-spacing:.14em;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700}.doctor-theme .dashboard__badge--cancelled{background:var(--danger-dim);color:var(--paper)}.doctor-theme .dashboard__hint{font-family:var(--font-ui);color:var(--muted);margin-top:var(--space-1);font-size:.8125rem}.doctor-theme .dashboard__hint--error,.doctor-theme .dashboard__field--invalid{color:var(--danger-dim)}.doctor-theme .dashboard__field--invalid input{border-color:var(--danger-dim)}.doctor-theme .dashboard__appointment-actions{margin-top:var(--space-2)}.doctor-theme .dashboard__appointment-actions--secondary{gap:var(--space-1);display:flex}.doctor-theme .dashboard__button--compact{padding:.45rem .9rem;font-size:.8125rem}.doctor-theme .dashboard__button--secondary{color:var(--brand);border:1px solid var(--brand);background:0 0;padding:.45rem .9rem;font-size:.8125rem}.doctor-theme .dashboard__button--secondary:hover{background:var(--sand)}.doctor-theme .dashboard__button--danger{color:var(--danger-dim);border:1px solid var(--danger-dim);background:0 0;padding:.45rem .9rem;font-size:.8125rem}.doctor-theme .dashboard__button--danger:hover{background:var(--danger-dim);color:var(--paper)}.doctor-theme .dashboard__confirm{margin-top:var(--space-1);padding:var(--space-2);border:1px dashed var(--danger-dim);border-radius:var(--radius-sm);font-size:.85rem}.doctor-theme .book__email-form{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card-light);background:#fff}.doctor-theme .book__slot{color:var(--brand);border:1px solid var(--line);background:#fff}.doctor-theme .book__slot:hover{background:var(--sand)}.doctor-theme .book__slot--selected{background:var(--brand);color:var(--paper);border-color:var(--brand)}.doctor-theme .book__slot--selected:hover{background:var(--brand-dim)}.doctor-theme .book__success{color:var(--brand-dim)}.doctor-theme .book__error{color:var(--danger-dim)}.doctor-theme .manage__cancelled{color:var(--brand-dim)}.doctor-theme .manage__error{color:var(--danger-dim)}.doctor-theme .room-loading,.doctor-theme .room-error,.doctor-theme .room-pin{font-family:var(--font-body)}.doctor-theme .room-pin__error{color:var(--danger-dim)}.doctor-theme .room-shell__back-link{background:var(--brand);color:var(--paper);border-radius:var(--radius-pill);font-family:var(--font-ui);letter-spacing:.01em;border:1px solid #0000;font-size:.9375rem;font-weight:600;line-height:1.2}.doctor-theme .room-shell__back-link:hover{background:var(--brand-dim)}.doctor-theme .room-shell__leave-confirm{z-index:20;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card-light);padding:var(--space-2) var(--space-3);text-align:center;max-width:22rem;font-family:var(--font-body);color:var(--ink);background:#fff;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.doctor-theme .room-shell__leave-confirm p{margin:0 0 var(--space-1)}.doctor-theme .room-shell__leave-confirm p:last-child{margin-bottom:0}.doctor-theme .room-shell__pin-banner{z-index:20;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card-light);padding:var(--space-2) var(--space-3);text-align:center;max-width:22rem;font-family:var(--font-body);color:var(--ink);background:#fff;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.doctor-theme .room-shell__pin-banner p{margin:0 0 var(--space-1)}.doctor-theme .room-shell__pin-banner p:last-child{margin-bottom:0}.doctor-theme .availability{max-width:64rem}.doctor-theme .availability__layout{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:minmax(360px,470px) 1fr;align-items:start;display:grid}@media (max-width:760px){.doctor-theme .availability__layout{grid-template-columns:1fr}}.doctor-theme .availability__overlap-warning{border:1px solid var(--danger-dim);border-radius:var(--radius);padding:var(--space-2);margin-bottom:var(--space-3);background:#fff}.doctor-theme .availability__draft{border:1px dashed var(--line);border-radius:var(--radius);padding:var(--space-2);margin:var(--space-2) 0}.doctor-theme .dashboard__layout{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:minmax(360px,470px) 1fr;align-items:start;display:grid}.doctor-theme .dashboard__calendar-column{gap:var(--space-4);flex-direction:column;display:flex}@media (max-width:760px){.doctor-theme .dashboard__layout{grid-template-columns:1fr}}.doctor-theme .rdp-root{--rdp-accent-color:var(--brand);--rdp-today-color:var(--brand);--rdp-day-width:58px;--rdp-day-height:58px;--rdp-day_button-width:46px;--rdp-day_button-height:46px;--rdp-nav-height:2.5rem;--rdp-nav_button-width:2.75rem;--rdp-nav_button-height:2.25rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2);background:#fff;align-self:center}.doctor-theme .rdp-button_previous,.doctor-theme .rdp-button_next{background:0 0;border:none;border-radius:999px;padding:0}.doctor-theme .rdp-button_previous:hover,.doctor-theme .rdp-button_next:hover{background:var(--sand)}.doctor-theme .rdp-day_button{border-radius:var(--rdp-day_button-border-radius);font-family:var(--font-body);letter-spacing:normal;color:inherit;background:0 0;padding:0;font-size:1rem;font-weight:400;line-height:normal}.doctor-theme .rdp-day_button:not(:disabled):hover{background:var(--sand)}.doctor-theme .cal-day--open{color:var(--ink);font-weight:600}.doctor-theme .cal-day--open .rdp-day_button{background:#1b4c731f;font-weight:600}.doctor-theme .cal-day--open .rdp-day_button:not(:disabled):hover{background:#1b4c7333}.doctor-theme .cal-day--full{color:var(--ink)}.doctor-theme .cal-day--full .rdp-day_button{border:2px solid var(--signal);background:var(--tint-green)}.doctor-theme .cal-day--past{color:var(--muted)}.doctor-theme .cal-day--past .rdp-day_button{background:var(--line-soft)}.doctor-theme .cal-day--none{color:var(--faint)}.doctor-theme .cal-day--appointments .rdp-day_button{position:relative}.doctor-theme .cal-day--appointments .rdp-day_button:after{content:"";background:var(--brand);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:4px;left:50%}.doctor-theme .rdp-today:not(.rdp-outside) .rdp-day_button{-webkit-text-decoration:underline 2px var(--brand);text-decoration:underline 2px var(--brand);text-underline-offset:3px}.doctor-theme .rdp-selected .rdp-day_button{border:2px solid var(--ink)}.doctor-theme .calendar-block{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.doctor-theme .calendar-legend{justify-content:center;gap:var(--space-1) var(--space-2);font-family:var(--font-ui);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;font-size:.8125rem;line-height:1.4;list-style:none;display:flex}.doctor-theme .calendar-legend li{align-items:center;gap:.375rem;display:inline-flex}.doctor-theme .calendar-legend__swatch{box-sizing:border-box;border-radius:50%;width:14px;height:14px;display:inline-block}.doctor-theme .calendar-legend__swatch--open{background:#1b4c731f}.doctor-theme .calendar-legend__swatch--full{border:2px solid var(--signal);background:var(--tint-green)}.doctor-theme .calendar-legend__swatch--past{background:var(--line-soft)}.doctor-theme .calendar-legend__swatch--none{border:1px solid var(--line)}.doctor-theme .calendar-legend__dot{background:var(--brand);border-radius:50%;width:5px;height:5px;margin:0 4.5px;display:inline-block}
