@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");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}html,body,#root{min-height:100%}body{scroll-behavior:smooth;background:#f8f4ed;margin:0}*{box-sizing:border-box}::selection{color:#2c2a24;background:#3f6f5a40}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}button,a,input,textarea,select{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 #3f6f5a66}50%{box-shadow:0 0 0 8px #3f6f5a00}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}main{animation:.5s cubic-bezier(.4,0,.2,1) fadeIn}button,a,input[type=button],input[type=submit]{cursor:pointer}input:focus,textarea:focus,select:focus{outline:none}.MuiButton-root,.MuiIconButton-root,.MuiMenuItem-root{min-width:44px;min-height:44px}.MuiInputBase-root,.MuiSelect-select{min-height:44px}.MuiInputBase-input{min-height:24px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#3f6f5a0d}::-webkit-scrollbar-thumb{background:#3f6f5a4d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#3f6f5a80}.customer-shell,.staff-shell{background:linear-gradient(#fffdf8 0%,#f8f4ed 42%,#f3eadb 100%)}.staff-shell .MuiContainer-root{max-width:1320px}.clinic-calendar{--fc-border-color:#3f6f5a1f;--fc-today-bg-color:#c8943814;--fc-neutral-bg-color:#fafaf8;--fc-page-bg-color:#fff;color:#2c2a24}.clinic-calendar .fc{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.clinic-calendar .fc-toolbar{background:#fafaf8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px}.clinic-calendar .fc-toolbar-title{color:#2c2a24;min-width:150px;font-size:1.3rem;font-weight:800}.clinic-calendar .fc-button{color:#3f6f5a;text-transform:none;background:#fff;border:1.5px solid #3f6f5a40;border-radius:10px;min-height:auto;padding:8px 16px;font-size:.875rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a}.clinic-calendar .fc-button:hover{background:#f5f9f7;border-color:#3f6f5a;transform:translateY(-1px)}.clinic-calendar .fc-button-primary:not(:disabled).fc-button-active,.clinic-calendar .fc-button-primary:not(:disabled):active{color:#fff;background:linear-gradient(135deg,#3f6f5a 0%,#2d5142 100%);border-color:#3f6f5a;box-shadow:0 6px 16px #3f6f5a40}.clinic-calendar .fc-col-header-cell{background:linear-gradient(135deg,#fbefd8 0%,#fdf6f0 100%);border-color:#3f6f5a1a;padding:12px 4px;font-weight:700}.clinic-calendar .fc-resource{font-weight:800}.clinic-calendar .fc-event{border:0;border-radius:10px;padding:6px 10px;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 2px 6px #3f6f5a1f}.clinic-calendar .fc-event:hover{transform:translateY(-3px);box-shadow:0 8px 16px #3f6f5a2e}.clinic-calendar .fc-event-title{font-size:.875rem;font-weight:700}.clinic-calendar .fc-event-time{opacity:.9;font-size:.8rem;font-weight:600}.clinic-calendar .fc-timegrid-slot{vertical-align:middle;border-color:#3f6f5a14;height:40px}.clinic-calendar .fc-timegrid-slot .fc-timegrid-slot-label{color:#64748b;font-size:.8rem;font-weight:500}.clinic-calendar .fc-daygrid-day-number,.clinic-calendar .fc-daygrid-day-frame{background:#fff}.clinic-calendar .fc-today{background-color:#c8943814!important}.clinic-calendar .fc-daygrid-day.fc-day-today{background:linear-gradient(135deg,#c894381f 0%,#c894380f 100%)}.clinic-calendar .fc-highlight{border:1px dashed #3f6f5a40;background-color:#3f6f5a1f!important}.clinic-calendar .fc-timegrid-slot.fc-highlight{background-color:#3f6f5a26!important}.clinic-calendar .fc-timegrid-now-indicator-line{border-width:2px;border-color:#d97706}.clinic-calendar .fc-timegrid-slot.fc-business-hours{border-bottom-color:#0596691a;position:relative;background:linear-gradient(135deg,#10b98114 0%,#0596690f 100%)!important}.clinic-calendar .fc-timegrid-slot.fc-business-hours:before{content:"";opacity:0;background:linear-gradient(#10b9814d,#0596691a);width:3px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.clinic-calendar .fc-timegrid-slot.fc-business-hours:hover:before{opacity:1}.clinic-calendar .fc-timegrid-slot:not(.fc-business-hours){background-color:#ef444405;background-image:linear-gradient(45deg,#ef44440a 25%,#0000 25%),linear-gradient(-45deg,#ef44440a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ef44440a 75%),linear-gradient(-45deg,#0000 75%,#ef44440a 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-bottom-color:#ef444414}.clinic-calendar .fc-timegrid-slot:not(.fc-business-hours):after{content:"";opacity:0;background:#ef44444d;border-radius:50%;width:6px;height:6px;transition:opacity .2s;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.clinic-calendar .fc-timegrid-slot:not(.fc-business-hours):hover:after{opacity:1}.clinic-calendar .fc-event.appointment-event{box-shadow:0 2px 8px #06b6d433;background-color:#06b6d4!important;border-color:#0891b2!important}.clinic-calendar .fc-event.blocked-time-event{box-shadow:0 2px 8px #ea580c33;background-color:#ea580c!important;border-color:#c2410c!important}.clinic-calendar .fc-event.time-off-event{box-shadow:0 2px 8px #9333ea33;background-color:#9333ea!important;border-color:#7e22ce!important}.clinic-calendar .fc-timegrid-slot:not(.fc-business-hours){background-image:linear-gradient(-45deg,#ef444408 25%,#0000 25% 50%,#ef444408 50% 75%,#0000 75%,#0000);background-size:20px 20px}.clinic-calendar{overflow-x:auto}.clinic-calendar .fc{min-width:680px}.admin-appointment-calendar .fc{min-width:max(760px, calc((var(--therapist-count,1) * 150px) + 90px))}.admin-appointment-calendar .fc-timegrid-event .fc-event-main{overflow:hidden}.admin-appointment-calendar .fc-event-title,.admin-appointment-calendar .fc-event-time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.therapist-calendar{width:100%;max-width:100%;overflow-x:hidden}.therapist-calendar .fc{width:100%;min-width:0;font-size:.92rem}.therapist-calendar .fc-timegrid-axis{width:48px}.therapist-calendar .fc-event{padding:3px 6px}.therapist-calendar .fc-bg-event.working-hours-background{opacity:1}.booking-calendar{max-width:100%}.booking-calendar .fc{min-width:100%;font-size:.95rem}.booking-calendar .fc-button{padding:6px 12px;font-size:.9rem}.booking-calendar .fc-col-header-cell{color:#3f6f5a;background:linear-gradient(#fbefd8 0%,#fdf9f1 100%);padding:12px 4px;font-weight:700}.booking-calendar .fc-daygrid-day,.booking-calendar .fc-timegrid-cell{transition:all .2s cubic-bezier(.4,0,.2,1)}.booking-calendar .fc-daygrid-day:hover,.booking-calendar .fc-timegrid-cell:hover{background-color:#3f6f5a0d}.booking-calendar .fc-daygrid-day.fc-day-today{background-color:#c894381f}.booking-calendar .fc-timegrid-slot{height:22px}.booking-calendar .fc-timegrid-slot.fc-business-hours,.booking-calendar .fc-timegrid-slot:not(.fc-business-hours){border-bottom-color:#3f6f5a14;background:#fff!important}.booking-calendar .fc-timegrid-slot.fc-business-hours:before,.booking-calendar .fc-timegrid-slot:not(.fc-business-hours):after{display:none}.booking-calendar .fc-bg-event.bookable-hours-background{opacity:1}.booking-calendar .fc-event{cursor:pointer;box-shadow:0 2px 8px #0000001f}.booking-calendar .fc-event:hover{box-shadow:0 4px 16px #0003}@media (width<=768px){.clinic-calendar .fc-toolbar{gap:8px;padding:10px}.clinic-calendar .fc-toolbar-title{font-size:1.1rem}.clinic-calendar .fc-button{padding:6px 12px;font-size:.8rem}.clinic-calendar .fc-timegrid-slot{height:36px}.clinic-calendar .fc-col-header-cell{padding:8px 2px;font-size:.85rem}.clinic-calendar .fc-event{padding:4px 6px;font-size:.75rem}.clinic-calendar .fc{min-width:auto}.therapist-calendar .fc{min-width:0;font-size:.82rem}.clinic-calendar .fc-toolbar{flex-direction:column;align-items:flex-start}.clinic-calendar .fc-toolbar-chunk{max-width:100%}.therapist-calendar .fc-toolbar{gap:8px}.therapist-calendar .fc-toolbar-title{font-size:.98rem}.therapist-calendar .fc-button{border-radius:8px;padding:5px 8px;font-size:.78rem}.therapist-calendar .fc-timegrid-slot{height:30px}.booking-calendar .fc-timegrid-slot{height:20px}.therapist-calendar .fc-timegrid-axis{width:38px}}@media (width<=480px){.clinic-calendar .fc-toolbar{flex-direction:column;align-items:stretch}.clinic-calendar .fc-toolbar-title{text-align:center;margin-bottom:8px}.clinic-calendar .fc-button{flex:1}.clinic-calendar .fc-daygrid-day-number{font-size:.85rem}}@media (width<=600px){.clinic-calendar{overflow-x:hidden}.clinic-calendar .fc{width:100%;min-width:0;font-size:.78rem}.admin-appointment-calendar{overflow-x:auto}.admin-appointment-calendar .fc{min-width:min(560px, calc((var(--therapist-count,1) * 112px) + 72px))}.clinic-calendar .fc-toolbar{gap:8px}.clinic-calendar .fc-toolbar-title{font-size:.9rem;line-height:1.2}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:2px solid #3f6f5a}@media (prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}.page-transition{animation:.4s cubic-bezier(.4,0,.2,1) fadeIn}}.skeleton-shimmer{background:linear-gradient(90deg,#fff0 0%,#fff3 20%,#ffffff80 60%,#fff0) 0 0/200% 100%;animation:2s infinite shimmer}.card-enter{animation:.4s cubic-bezier(.34,1.56,.64,1) slideInUp}a{color:#3f6f5a;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}a:hover{color:#2d5142}a:focus-visible{outline-offset:2px;outline:2px solid #3f6f5a}@media print{@page{margin:2cm}body{background:#fff}a{text-decoration:underline}}@media (width<=480px){.clinic-calendar .fc-button{border-radius:8px;min-height:44px;padding:5px 8px;font-size:.74rem}.clinic-calendar .fc-timegrid-slot,.booking-calendar .fc-timegrid-slot,.therapist-calendar .fc-timegrid-slot{height:26px}.clinic-calendar .fc-timegrid-axis,.therapist-calendar .fc-timegrid-axis{width:34px;font-size:.7rem}.clinic-calendar .fc-event{border-radius:6px;padding:2px 4px;font-size:.72rem;line-height:1.2}.booking-calendar .fc-col-header-cell{padding:8px 2px}.booking-calendar .fc-timegrid-slot{height:18px}}@media (width<=400px){.clinic-calendar .fc-toolbar-chunk{flex-wrap:wrap;gap:4px;display:flex}.clinic-calendar .fc-toolbar-title{font-size:.84rem}.clinic-calendar .fc-button{min-height:44px;padding:4px 7px}}
