@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base);scroll-behavior:smooth}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;background-color:var(--background);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}:root{--primary:#2563EB;--secondary:#6B7280;--accent:#F59E0B;--success:#10B981;--warning:#F59E0B;--error:#EF4444;--sidebar:#FFFFFF;--topbar:#FFFFFF;--background:#F9FAFB;--surface:#FFFFFF;--text:#111827;--textSecondary:#6B7280;--border:#E5E7EB;--primary-light:color-mix(in srgb,var(--primary) 20%,white);--primary-dark:color-mix(in srgb,var(--primary) 20%,black);--primary-transparent:color-mix(in srgb,var(--primary) 10%,transparent);--success-light:color-mix(in srgb,var(--success) 20%,white);--success-dark:color-mix(in srgb,var(--success) 20%,black);--success-transparent:color-mix(in srgb,var(--success) 10%,transparent);--warning-light:color-mix(in srgb,var(--warning) 20%,white);--warning-dark:color-mix(in srgb,var(--warning) 20%,black);--warning-transparent:color-mix(in srgb,var(--warning) 10%,transparent);--error-light:color-mix(in srgb,var(--error) 20%,white);--error-dark:color-mix(in srgb,var(--error) 20%,black);--error-transparent:color-mix(in srgb,var(--error) 10%,transparent);--spacing-base:1rem;--spacing-xs:calc(var(--spacing-base) * 0.25);--spacing-sm:calc(var(--spacing-base) * 0.55);--spacing-md:var(--spacing-base);--spacing-lg:calc(var(--spacing-base) * 1.1);--spacing-xl:calc(var(--spacing-base) * 2);--spacing-2xl:calc(var(--spacing-base) * 3);--border-radius-base:8px;--radius-sm:calc(var(--border-radius-base) * 0.5);--radius-md:var(--border-radius-base);--radius-lg:calc(var(--border-radius-base) * 1.5);--radius-xl:calc(var(--border-radius-base) * 2);--shadow-sm:0 1px 2px 0 color-mix(in srgb,var(--text) 5%,transparent);--shadow-md:0 4px 6px -1px color-mix(in srgb,var(--text) 10%,transparent),0 2px 4px -1px color-mix(in srgb,var(--text) 6%,transparent);--shadow-lg:0 10px 15px -3px color-mix(in srgb,var(--text) 10%,transparent),0 4px 6px -2px color-mix(in srgb,var(--text) 5%,transparent);--shadow-xl:0 20px 25px -5px color-mix(in srgb,var(--text) 10%,transparent),0 10px 10px -5px color-mix(in srgb,var(--text) 5%,transparent);--sidebar-width:280px;--sidebar-collapsed-width:64px;--sidebar-mobile-width:4rem;--sidebar-mobile-sm-width:3.5rem;--topbar-height:70px;--topbar-mobile-height:3.5rem;--topbar-mobile-sm-height:3rem;--font-size-base:16px;--font-size-xs:calc(var(--font-size-base) * 0.75);--font-size-sm:calc(var(--font-size-base) * 0.875);--font-size-md:var(--font-size-base);--font-size-lg:calc(var(--font-size-base) * 1.125);--font-size-xl:calc(var(--font-size-base) * 1.25);--font-size-2xl:calc(var(--font-size-base) * 1.5);--font-size-3xl:calc(var(--font-size-base) * 1.875);--font-size-4xl:calc(var(--font-size-base) * 2.25);--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}.dark{--background:#111827;--surface:#1F2937;--text:#F9FAFB;--textSecondary:#D1D5DB;--border:#374151}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-accent{background-color:var(--accent)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-error{background-color:var(--error)}.border-primary{border-color:var(--primary)}.border-secondary{border-color:var(--secondary)}.border-accent{border-color:var(--accent)}.border-success{border-color:var(--success)}.border-warning{border-color:var(--warning)}.border-error{border-color:var(--error)}.hover\:bg-primary:hover{background-color:var(--primary-light)}.hover\:bg-success:hover{background-color:var(--success-light)}.hover\:bg-warning:hover{background-color:var(--warning-light)}.hover\:bg-error:hover{background-color:var(--error-light)}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--primary-transparent)}.focus\:ring-success:focus{box-shadow:0 0 0 3px var(--success-transparent)}.focus\:ring-warning:focus{box-shadow:0 0 0 3px var(--warning-transparent)}.focus\:ring-error:focus{box-shadow:0 0 0 3px var(--error-transparent)}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex-1{flex:1 1}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.top-0{top:0}.top-4{top:var(--spacing-md)}.right-0{right:0}.right-4{right:var(--spacing-md)}.left-0{left:0}.bottom-0{bottom:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-8{width:2rem}.w-16{width:4rem}.w-56{width:14rem}.h-full{height:100%}.h-auto{height:auto}.h-4{height:1rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.p-2{padding:var(--spacing-sm)}.p-4{padding:var(--spacing-md)}.p-6{padding:var(--spacing-lg)}.p-8{padding:var(--spacing-xl)}.px-2{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-6{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-1{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-2{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-3{padding-top:.75rem;padding-bottom:.75rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.mt-4{margin-top:var(--spacing-md)}.gap-2{gap:var(--spacing-sm)}.gap-4{gap:var(--spacing-md)}.gap-6{gap:var(--spacing-lg)}.space-x-2>*+*{margin-left:var(--spacing-sm)}.space-y-2>*+*{margin-top:var(--spacing-sm)}.space-y-4>*+*{margin-top:var(--spacing-md)}.space-y-6>*+*{margin-top:var(--spacing-lg)}.space-y-8>*+*{margin-top:var(--spacing-xl)}.bg-white{background-color:var(--white)}.bg-gray{background-color:var(--light-gray)}.bg-blue{background-color:var(--blue)}.text-black{color:var(--black)}.text-gray{color:var(--gray)}.text-blue{color:var(--blue)}.text-white{color:var(--white)}.text-red{color:var(--red)}.text-green{color:var(--green)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.tracking-tight{letter-spacing:-.025em}.border{border:1px solid var(--border-gray)}.border-t{border-top:1px solid var(--border-gray)}.border-b{border-bottom:1px solid var(--border-gray)}.border-r{border-right:1px solid var(--border-gray)}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.transition-all{transition:all .15s ease-in-out}.hover\:bg-gray:hover{background-color:var(--light-gray)}.hover\:text-blue:hover{color:var(--blue)}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--blue)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}@media (min-width:769px){.lg\:flex{display:flex}.lg\:hidden{display:none}}@media (max-width:768px){body,html{overflow-x:hidden!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}.flex.h-screen{display:flex!important;flex-direction:row!important;height:auto!important;min-height:100vh!important;width:100vw!important;overflow:hidden!important;position:relative!important}.main-area{height:auto!important;overflow-y:auto!important}.settings-page{height:auto!important;padding:1rem!important}.appointments-page,.dashboard-container{padding:1rem!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}.appointments-filters-content,.dashboard-content-grid,.dashboard-stats-grid{grid-template-columns:1fr!important;gap:1rem!important}}@media (max-width:480px){.appointments-page,.dashboard-container,.settings-page{padding:.75rem!important}.main-content,.main-layout,.sidebar{height:auto!important}.appointments-list-section,.dashboard-card,.dashboard-stat-card{border-radius:8px!important}.dashboard-card-content,.dashboard-stat-content{padding:1rem!important}.appointments-title,.dashboard-title{font-size:1.5rem!important}}.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.mobile-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.no-zoom{font-size:16px!important}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.mobile-only{display:none}.desktop-only{display:block}@media (max-width:768px){.mobile-only{display:block}.desktop-only{display:none}}.mobile-flex-col{display:flex;flex-direction:column}.mobile-flex-row{display:flex;flex-direction:row}@media (max-width:768px){.md\:mobile-flex-col{flex-direction:column}.md\:mobile-flex-row{flex-direction:row}.mobile-p-1{padding:.25rem!important}.mobile-p-2{padding:.5rem!important}.mobile-p-3{padding:.75rem!important}.mobile-p-4{padding:1rem!important}.mobile-m-1{margin:.25rem!important}.mobile-m-2{margin:.5rem!important}.mobile-m-3{margin:.75rem!important}.mobile-m-4{margin:1rem!important}.mobile-gap-1{gap:.25rem!important}.mobile-gap-2{gap:.5rem!important}.mobile-gap-3{gap:.75rem!important}.mobile-gap-4{gap:1rem!important}.mobile-text-xs{font-size:.75rem!important}.mobile-text-sm{font-size:.875rem!important}.mobile-text-base{font-size:1rem!important}.mobile-text-lg{font-size:1.125rem!important}}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-normal);cursor:pointer;border:none;outline:none;text-decoration:none;font-family:inherit}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-primary{background-color:var(--primary);color:white}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-primary:focus{box-shadow:0 0 0 3px var(--primary-transparent)}.btn-secondary{background-color:var(--secondary);color:white}.btn-secondary:hover{background-color:color-mix(in srgb,var(--secondary) 20%,black)}.btn-outline{background-color:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background-color:var(--surface);border-color:var(--primary)}.btn-ghost{background-color:transparent;color:var(--text)}.btn-ghost:hover{background-color:var(--surface)}.btn-link{background-color:transparent;color:var(--primary);text-decoration:underline;text-underline-offset:4px}.btn-link:hover{text-decoration:none;color:var(--primary-dark)}.btn-destructive{background-color:var(--error);color:white}.btn-destructive:hover{background-color:var(--error-dark)}.btn-success{background-color:var(--success);color:white}.btn-success:hover{background-color:var(--success-dark)}.btn-warning{background-color:var(--warning);color:white}.btn-warning:hover{background-color:var(--warning-dark)}.btn-sm{height:2.25rem;padding:0 .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.btn-md{height:2.75rem;padding:0 1.5rem;font-size:var(--font-size-sm)}.btn-lg{height:3rem;padding:0 2rem;border-radius:var(--radius-lg);font-size:var(--font-size-md)}.btn-icon{height:2.75rem;width:2.75rem;padding:0}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width:768px){.btn{min-height:44px!important}.btn-sm{min-height:40px!important}.btn-lg{min-height:48px!important}}.dark .btn-outline{border-color:var(--border);color:var(--text)}.dark .btn-ghost:hover,.dark .btn-outline:hover,.input{background-color:var(--surface)}.input{display:flex;height:3rem;width:100%;border-radius:var(--radius-md);border:1px solid var(--border);padding:0 1rem;font-size:var(--font-size-md);color:var(--text)!important;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-sm)}.input::placeholder{color:var(--textSecondary)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-transparent)}.input:hover{border-color:var(--primary-light)}.input:disabled{cursor:not-allowed;opacity:.6}.input-error,.input-error:focus{border-color:var(--error)!important;box-shadow:0 0 0 3px var(--error-transparent)!important}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-error-message{font-size:var(--font-size-xs);color:var(--error);font-weight:500;margin-top:var(--spacing-xs);line-height:1.2}.label{font-size:var(--font-size-sm);font-weight:500;line-height:1;color:var(--text);margin-bottom:var(--spacing-sm);display:block}.input-container{position:relative;display:flex;align-items:center}.input-with-icon{padding-right:2.5rem}.input-icon-button{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--textSecondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background-color var(--transition-fast);border-radius:var(--radius-sm);padding:.25rem}.input-icon-button:hover{color:var(--text);background-color:var(--surface)}.input-icon-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.input{font-size:16px!important;height:2.5rem!important}}.dark .input{color:#F9FAFB!important}.dark .input::placeholder{color:#D1D5DB!important}.topbar-notifications-list{max-height:18rem;overflow-y:auto}.topbar-no-notifications{padding:1.5rem 1rem;text-align:center;color:var(--gray);font-size:.875rem}.topbar-notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;cursor:pointer;transition:background-color .2s ease-in-out;border-bottom:1px solid rgba(230,230,230,.5)}.topbar-notification-item:hover{background-color:var(--light-gray)}.topbar-notification-item:last-child{border-bottom:none}.topbar-notification-unread{background-color:rgba(79,103,255,.05)}.topbar-notification-unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--blue)}.topbar-notification-type-icon{flex-shrink:0;margin-top:.125rem}.topbar-icon-success{width:1.25rem;height:1.25rem;color:var(--green)}.topbar-icon-info{width:1.25rem;height:1.25rem;color:var(--blue)}.topbar-icon-warning{width:1.25rem;height:1.25rem;color:#eab308}.topbar-icon-error{width:1.25rem;height:1.25rem;color:var(--red)}.topbar-notification-content{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar-notification-title{font-weight:500;color:var(--black);line-height:1.2;margin:0 0 .25rem}.topbar-notification-desc{color:var(--gray);line-height:1.3;margin:0 0 .25rem;word-break:break-word}.topbar-notification-time{font-size:.75rem;color:var(--gray);margin:0}.topbar-notification-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:var(--blue);margin-top:.25rem;flex-shrink:0}.topbar-dropdown-footer{padding:.5rem 1rem;border-top:1px solid var(--border-gray);text-align:center;font-size:.75rem}.topbar-view-all-link{color:var(--blue);text-decoration:none;font-weight:500;transition:color .2s ease-in-out}.topbar-view-all-link:hover{text-decoration:underline;color:rgba(79,103,255,.8)}.notification-new{position:relative}.notification-new:after{content:"";position:absolute;top:.75rem;right:.75rem;width:.5rem;height:.5rem;background-color:var(--blue);border-radius:50%}.notification-fade-in{animation:notificationFadeIn .3s ease-in-out}.notification-fade-out{animation:notificationFadeOut .3s ease-in-out}@keyframes notificationFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes notificationFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.topbar-notifications-list::-webkit-scrollbar{width:4px}.topbar-notifications-list::-webkit-scrollbar-track{background:var(--light-gray);border-radius:2px}.topbar-notifications-list::-webkit-scrollbar-thumb{background:var(--gray);border-radius:2px}.topbar-notifications-list::-webkit-scrollbar-thumb:hover{background:var(--black)}.dark .topbar-notification-item{border-bottom-color:var(--border-gray)}.dark .topbar-notification-unread{background-color:rgba(79,103,255,.1)}.dark .topbar-notification-title{color:var(--black)}.dark .topbar-no-notifications,.dark .topbar-notification-desc,.dark .topbar-notification-time{color:var(--gray)}.dark .topbar-view-all-link{color:var(--blue)}.dark .topbar-dropdown-footer{border-top-color:var(--border-gray)}@media (max-width:768px){.topbar-notifications-dropdown{width:18rem!important;max-width:90vw!important}.topbar-notification-item{padding:1rem .75rem!important;gap:.5rem!important}.topbar-notification-title{font-size:.875rem!important}.topbar-notification-desc{font-size:.8125rem!important}.topbar-notification-time{font-size:.6875rem!important}.topbar-icon-error,.topbar-icon-info,.topbar-icon-success,.topbar-icon-warning{width:1rem!important;height:1rem!important}}@media (max-width:480px){.topbar-notifications-dropdown{width:16rem!important;max-width:95vw!important}.topbar-notification-item{padding:.75rem .5rem!important;flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important}.topbar-notification-type-icon{align-self:flex-start}.topbar-notification-content{width:100%}.topbar-dropdown-footer,.topbar-dropdown-header{padding:.75rem!important}}:root{--calendar-primary:var(--blue);--calendar-background:var(--white);--calendar-border:var(--border-gray);--calendar-text:var(--black);--calendar-muted:var(--gray);--calendar-hover:var(--light-gray)}.calendar-wrapper{width:100%;border:1px solid var(--calendar-border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.calendar-header,.calendar-wrapper{background:var(--calendar-background)}.calendar-header{padding:1.5rem;border-bottom:1px solid var(--calendar-border)}.calendar-title{font-size:1.125rem;font-weight:600;color:var(--calendar-text);margin:0}.calendar-filters{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem;background:var(--calendar-background);border-bottom:1px solid var(--calendar-border)}.calendar-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.calendar-filter-group{display:flex;align-items:center;gap:.5rem}.calendar-filter-label{font-weight:500;white-space:nowrap}.calendar-filter-label,.calendar-select{font-size:.875rem;color:var(--calendar-text)}.calendar-select{padding:.5rem .75rem;border:1px solid var(--calendar-border);border-radius:6px;background:var(--calendar-background);min-width:120px;transition:all .2s ease}.calendar-select:focus{outline:none;border-color:var(--calendar-primary);box-shadow:0 0 0 3px rgba(79,103,255,.1)}.calendar-summary{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:var(--calendar-muted)}.calendar-summary span{white-space:nowrap}.calendar-summary b{color:var(--calendar-text);font-weight:600}.calendar-day-navigation{gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--calendar-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-day-btn,.calendar-day-navigation{display:flex;background:var(--calendar-background);justify-content:center}.calendar-day-btn{min-width:64px;min-height:56px;padding:.5rem;flex-direction:column;align-items:center;border:1px solid var(--calendar-border);border-radius:8px;color:var(--calendar-text);cursor:pointer;transition:all .2s ease;flex-shrink:0;text-decoration:none}.calendar-day-btn:hover{background:var(--calendar-hover);border-color:var(--calendar-primary)}.calendar-day-btn.active{background:var(--calendar-primary);border-color:var(--calendar-primary);color:var(--white);box-shadow:0 2px 8px rgba(79,103,255,.3)}.calendar-day-btn.today{border-width:2px}.calendar-day-btn.today,.calendar-day-btn.today.active{border-color:var(--calendar-primary)}.calendar-day-text{display:flex;flex-direction:column;align-items:center;gap:.125rem}.calendar-day-weekday{font-size:.75rem;font-weight:500;text-transform:capitalize}.calendar-day-number{font-size:1.5rem;font-weight:700;line-height:1}.calendar-content{padding:1.5rem;background:var(--calendar-background)}.calendar-section-title{font-size:1.125rem;font-weight:600;color:var(--calendar-text);margin:0 0 1rem}.calendar-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem}.calendar-slot{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid var(--calendar-border);border-radius:8px;background:var(--calendar-background);transition:all .2s ease}.calendar-slot:hover{background:var(--calendar-hover);border-color:var(--calendar-primary)}.calendar-slot.booked{background:rgba(79,103,255,.05);border-color:rgba(79,103,255,.2)}.calendar-slot-time{font-family:Courier New,monospace;font-size:1rem;font-weight:600;color:var(--calendar-text)}.calendar-slot-info{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:.125rem}.calendar-slot-doctor{font-weight:600;color:var(--calendar-text);font-size:.875rem}.calendar-slot-patient{font-size:.75rem;color:var(--calendar-muted)}.calendar-slot-btn{padding:.375rem .75rem;border:1px solid var(--calendar-border);border-radius:6px;background:var(--calendar-background);color:var(--calendar-text);font-size:.875rem;cursor:pointer;transition:all .2s ease}.calendar-slot-btn:hover{background:var(--calendar-primary);border-color:var(--calendar-primary);color:var(--white)}.calendar-month-grid,.calendar-week-grid{display:grid;grid-gap:.75rem;gap:.75rem}.calendar-week-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.calendar-month-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.calendar-month-day,.calendar-week-day{border:1px solid var(--calendar-border);border-radius:8px;padding:.75rem;background:var(--calendar-background);min-height:120px}.calendar-month-day-header,.calendar-week-day-header{font-weight:600;color:var(--calendar-text);margin-bottom:.5rem;text-align:center}.calendar-month-day-header.today,.calendar-week-day-header.today{color:var(--calendar-primary)}.calendar-month-info,.calendar-week-slot{margin-bottom:.375rem;padding:.25rem;border:1px solid var(--calendar-border);border-radius:4px;font-size:.75rem}.calendar-week-slot.booked{background:rgba(79,103,255,.05);border-color:rgba(79,103,255,.2)}.calendar-date-picker{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.calendar-date-picker-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--calendar-border);border-radius:8px;background:var(--calendar-background);color:var(--calendar-text);font-size:.875rem;cursor:pointer;transition:all .2s ease}.calendar-date-picker-button:hover{background:var(--calendar-hover);border-color:var(--calendar-primary)}.calendar-date-picker-button.active{background:var(--calendar-primary);border-color:var(--calendar-primary);color:var(--white)}.calendar-date-picker-icon{width:1rem;height:1rem}.calendar-view-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--calendar-border);padding-bottom:1rem}.calendar-view-tab{padding:.5rem 1rem;border:1px solid var(--calendar-border);border-radius:6px;background:var(--calendar-background);color:var(--calendar-text);font-size:.875rem;cursor:pointer;transition:all .2s ease}.calendar-view-tab:hover{background:var(--calendar-hover);border-color:var(--calendar-primary)}.calendar-view-tab.active{background:var(--calendar-primary);border-color:var(--calendar-primary);color:var(--white)}@media (max-width:768px){.calendar-header{padding:1rem!important}.calendar-filters{padding:.75rem 1rem!important;gap:.75rem!important}.calendar-filter-row{gap:.5rem!important}.calendar-filter-group,.calendar-filter-row{flex-direction:column!important;align-items:stretch!important}.calendar-filter-group{gap:.25rem!important}.calendar-select{min-width:auto!important;width:100%!important}.calendar-day-navigation{padding:.75rem 1rem!important;gap:.25rem!important}.calendar-day-btn{min-width:48px!important;min-height:48px!important;padding:.25rem!important}.calendar-day-number{font-size:1.25rem!important}.calendar-content{padding:1rem!important}.calendar-slots-grid{grid-template-columns:1fr!important;gap:.5rem!important}.calendar-slot{flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important;padding:1rem!important}.calendar-slot-info{align-items:flex-start!important;text-align:left!important;width:100%!important}.calendar-month-grid,.calendar-week-grid{grid-template-columns:1fr!important;gap:.5rem!important}.calendar-view-tabs{flex-wrap:wrap!important;gap:.25rem!important}.calendar-date-picker{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important}}@media (max-width:480px){.calendar-header{padding:.75rem!important}.calendar-title{font-size:1rem!important}.calendar-day-btn{min-width:40px!important;min-height:40px!important}.calendar-day-weekday{font-size:.625rem!important}.calendar-day-number{font-size:1rem!important}.calendar-slot{padding:.75rem!important}.calendar-slot-time{font-size:.875rem!important}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.modal-entering{animation:modalOverlayFadeIn .2s ease-out}.modal-overlay.modal-exiting{animation:modalOverlayFadeOut .2s ease-out}.modal{background:var(--white);border-radius:12px;padding:0;width:100%;max-width:400px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);position:relative;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal.modal-entering{animation:modalSlideIn .2s ease-out}.modal.modal-exiting{animation:modalSlideOut .2s ease-out}.modal-sm{max-width:320px}.modal-md{max-width:400px}.modal-lg{max-width:600px}.modal-xl{max-width:800px}.modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-gray);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-size:1.125rem;font-weight:600;color:var(--black);margin:0;line-height:1.2}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:none;background:transparent;color:var(--gray);cursor:pointer;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:var(--light-gray);color:var(--black)}.modal-close-icon{width:1rem;height:1rem}.modal-body{padding:1rem 1.5rem;flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:var(--light-gray);border-radius:2px}.modal-body::-webkit-scrollbar-thumb{background:var(--gray);border-radius:2px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--black)}.modal-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-gray);display:flex;gap:.75rem;justify-content:flex-end;flex-shrink:0}.modal-footer.modal-footer-start{justify-content:flex-start}.modal-footer.modal-footer-center{justify-content:center}.modal-footer.modal-footer-between{justify-content:space-between}.modal-field{margin-bottom:1rem}.modal-field:last-child{margin-bottom:0}.modal-label{display:block;font-size:.875rem;font-weight:500;color:var(--black);margin-bottom:.5rem;line-height:1.2}.modal-label.required:after{content:" *";color:var(--red)}.modal-input,.modal-select,.modal-textarea{width:100%;padding:.75rem;border:1px solid var(--border-gray);border-radius:6px;background:var(--white);color:var(--black);font-size:.875rem;transition:all .2s ease;font-family:inherit}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,103,255,.1)}.modal-textarea{resize:vertical;min-height:80px}.modal-error{color:var(--red)}.modal-error,.modal-helper{font-size:.8125rem;margin-top:.25rem;line-height:1.2}.modal-helper{color:var(--gray)}.modal-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn-primary{background:var(--blue);color:var(--white)}.modal-btn-primary:hover:not(:disabled){background:rgba(79,103,255,.9)}.modal-btn-secondary{background:transparent;border:1px solid var(--border-gray);color:var(--black)}.modal-btn-secondary:hover:not(:disabled){background:var(--light-gray);border-color:var(--blue)}.modal-btn-danger{background:var(--red);color:var(--white)}.modal-btn-danger:hover:not(:disabled){background:rgba(239,68,68,.9)}.modal-loading{display:flex;align-items:center;justify-content:center;padding:2rem;gap:.5rem;color:var(--gray);font-size:.875rem}.modal-loading-spinner{width:1.25rem;height:1.25rem;border-top:2px solid var(--border-gray);border:2px solid var(--border-gray);border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}.modal-confirmation{text-align:center}.modal-confirmation-icon{width:3rem;height:3rem;margin:0 auto 1rem;color:var(--red)}.modal-confirmation-icon.success{color:var(--green)}.modal-confirmation-icon.warning{color:#eab308}.modal-confirmation-icon.info{color:var(--blue)}.modal-confirmation-title{font-size:1.125rem;font-weight:600;color:var(--black);margin:0 0 .5rem}.modal-confirmation-message{color:var(--gray);line-height:1.5;margin:0 0 1.5rem}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-10px)}}.dark .modal{background:var(--white)}.dark .modal-footer,.dark .modal-header{border-color:var(--border-gray)}.dark .modal-title{color:var(--black)}.dark .modal-input,.dark .modal-select,.dark .modal-textarea{background:var(--white);border-color:var(--border-gray);color:var(--black)}.dark .modal-label{color:var(--black)}.dark .modal-helper{color:var(--gray)}@media (max-width:768px){.modal-overlay{padding:.5rem!important}.modal{max-width:100%!important;max-height:95vh!important;margin:0!important}.modal-header{padding:1rem!important}.modal-body{padding:.75rem 1rem!important}.modal-footer{padding:1rem!important;flex-direction:column!important;gap:.5rem!important}.modal-btn{width:100%!important;justify-content:center!important}.modal-footer.modal-footer-between{flex-direction:column-reverse!important}.modal-input,.modal-select,.modal-textarea{font-size:16px!important}}@media (max-width:480px){.modal-overlay{padding:.25rem!important}.modal{border-radius:8px!important}.modal-title{font-size:1rem!important}.modal-header{padding:.75rem!important}.modal-body{padding:.5rem .75rem!important}.modal-footer{padding:.75rem!important}}.forgot-password-form{width:100%;max-width:400px;margin:0 auto}.forgot-password-header{text-align:center;margin-bottom:2rem}.forgot-password-title{font-size:1.5rem;font-weight:600;color:var(--black);margin-bottom:.5rem;line-height:1.2}.forgot-password-subtitle{color:var(--gray);font-size:.875rem;line-height:1.4;margin:0}.forgot-password-form-content{display:flex;flex-direction:column;gap:1.5rem}.forgot-password-form .form-input{width:100%;padding:.75rem;border:1px solid var(--border-gray);border-radius:6px;background:var(--white);color:var(--black);font-size:16px;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.forgot-password-form .form-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,103,255,.1)}.forgot-password-form .form-input::placeholder{color:var(--gray);opacity:.7}.forgot-password-form .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--black);margin-bottom:.5rem;line-height:1.2}.forgot-password-form .btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;font-family:inherit;text-decoration:none}.forgot-password-form .btn-primary{background:var(--blue);color:var(--white)}.forgot-password-form .btn-primary:hover:not(:disabled){background:rgba(79,103,255,.9);transform:translateY(-1px)}.forgot-password-form .btn-primary:active{transform:translateY(0)}.forgot-password-form .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-error{color:var(--red);font-size:.8125rem;margin-top:-.5rem;margin-bottom:.5rem;padding:.5rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:4px;line-height:1.2}.forgot-password-form .btn-secondary{background:transparent;border:1px solid var(--border-gray);color:var(--black)}.forgot-password-form .btn-secondary:hover:not(:disabled){background:var(--light-gray);border-color:var(--blue)}.forgot-password-success{text-align:center;padding:2rem 0;margin-bottom:2rem}.success-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:rgba(34,197,94,.1);border-radius:50%;margin:0 auto 1rem}.success-icon svg{width:2rem;height:2rem;color:var(--green)}.success-message{color:var(--gray);font-size:.875rem;line-height:1.4;margin:0}.success-message strong{color:var(--black);font-weight:600}.forgot-password-actions{display:flex;flex-direction:column;gap:.75rem}.forgot-password-footer{text-align:center;margin-top:1.5rem}.forgot-password-back{font-size:.875rem;color:var(--gray);margin:0;line-height:1.4}.link{color:var(--blue);text-decoration:none;font-weight:500;transition:all .2s ease}.link:hover{color:rgba(79,103,255,.8);text-decoration:underline}.link:focus{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentcolor;margin-right:.5rem}.btn-full{width:100%;justify-content:center}@media (max-width:768px){.forgot-password-form{max-width:100%;padding:0 1rem}.forgot-password-header{margin-bottom:1.5rem}.forgot-password-title{font-size:1.25rem}.forgot-password-subtitle{font-size:.8125rem}.forgot-password-success{padding:1.5rem 0;margin-bottom:1.5rem}.success-icon{width:3rem;height:3rem}.success-icon svg{width:2rem;height:2rem}}@media (max-width:480px){.forgot-password-title{font-size:1.125rem}.forgot-password-subtitle{font-size:.75rem}.forgot-password-form-content{gap:1.25rem}.success-message{font-size:.8125rem}}.reset-password-form{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.reset-password-header{text-align:center;margin-bottom:var(--spacing-md)}.reset-password-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text);margin:0 0 var(--spacing-sm) 0;line-height:1.2}.reset-password-subtitle{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0;line-height:1.5}.reset-password-form form{display:flex;flex-direction:column;gap:var(--spacing-md)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:3rem;width:100%}.password-toggle{position:absolute;right:var(--spacing-sm);background:transparent;border:none;cursor:pointer;color:var(--textSecondary);padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-normal)}.password-toggle:hover{color:var(--text);background:var(--background)}.password-toggle:active{transform:scale(.95)}.reset-password-form .form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text);background:var(--surface);transition:all var(--transition-normal);box-sizing:border-box}.reset-password-form .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-transparent)}.reset-password-form .form-input::placeholder{color:var(--textSecondary)}.reset-password-form .form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text);margin-bottom:var(--spacing-xs);display:block}.reset-password-form .btn-block{width:100%}.reset-password-form .btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal);border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none}.reset-password-form .btn-primary{background:var(--primary);color:white}.reset-password-form .btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.reset-password-form .btn-primary:active{transform:translateY(0)}.reset-password-form .btn:disabled{opacity:.6;cursor:not-allowed}.reset-password-footer{text-align:center;margin-top:var(--spacing-md)}.back-to-login{font-size:var(--font-size-sm);color:var(--primary);text-decoration:none;font-weight:500;transition:color var(--transition-normal)}.back-to-login:hover{color:var(--primary-dark);text-decoration:underline}.reset-password-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl)}.loading-spinner{width:3rem;height:3rem;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.reset-password-loading p{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0}.reset-password-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center}.error-icon{width:4rem;height:4rem;background:var(--error-transparent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--error)}.error-icon svg{width:2rem;height:2rem}.error-title{font-size:var(--font-size-xl);font-weight:700;color:var(--text);margin:0}.error-message{font-size:var(--font-size-sm);max-width:400px}.error-hint,.error-message{color:var(--textSecondary);margin:0}.error-hint{font-size:var(--font-size-xs);font-style:italic}.error-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-width:300px;margin-top:var(--spacing-md)}.error-actions .btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.error-actions .btn-primary{background:var(--primary);color:white;border:none}.error-actions .btn-primary:hover{background:var(--primary-dark)}.error-actions .btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.error-actions .btn-secondary:hover{background:var(--background);border-color:var(--primary)}.reset-password-form .form-error{background:var(--error-transparent);border:1px solid var(--error);color:var(--error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-top:calc(var(--spacing-md) * -.5)}.reset-password-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--warning);color:white;border:none;border-radius:20px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reset-password-btn:hover{background:var(--warning-dark,#d97706);transform:translateY(-1px);box-shadow:0 2px 8px rgba(245,158,11,.3)}.reset-password-btn:active{transform:translateY(0)}.reset-password-btn-icon{width:16px;height:16px}.doctor-modal-header-actions,.patient-modal-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.reset-password-confirmation{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reset-password-confirmation-content{background:var(--card);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);max-width:500px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideInResetPassword .3s ease-out}@keyframes slideInResetPassword{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.reset-password-confirmation-text{margin-bottom:var(--spacing-lg)}.reset-password-confirmation-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text);margin:0 0 var(--spacing-sm) 0}.reset-password-confirmation-subtitle{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0 0 var(--spacing-md) 0;line-height:1.5}.reset-password-confirmation-subtitle strong{color:var(--primary);font-weight:600}.reset-password-confirmation-user{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0;padding:var(--spacing-sm);background:var(--background);border-radius:var(--border-radius);border-left:3px solid var(--warning)}.reset-password-confirmation-user strong{color:var(--text);font-weight:600}.reset-password-confirmation-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.reset-password-cancel-btn,.reset-password-confirm-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:20px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.reset-password-cancel-btn{background:var(--background);color:var(--text);border:1px solid var(--border)}.reset-password-cancel-btn:hover:not(:disabled){background:var(--hover);border-color:var(--textSecondary)}.reset-password-confirm-btn{background:var(--warning);color:white}.reset-password-confirm-btn:hover:not(:disabled){background:var(--warning-dark,#d97706);transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,158,11,.3)}.reset-password-confirm-btn:active:not(:disabled){transform:translateY(0)}.reset-password-cancel-btn:disabled,.reset-password-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.reset-password-icon{width:16px;height:16px}.reset-password-icon.spinning{animation:spinResetPassword 1s linear infinite}@keyframes spinResetPassword{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.reset-password-title{font-size:var(--font-size-xl)}.reset-password-subtitle{font-size:var(--font-size-xs)}.reset-password-form{gap:var(--spacing-md)}.error-actions{max-width:100%}.reset-password-btn{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.reset-password-btn-icon{width:14px;height:14px}.reset-password-confirmation-content{padding:var(--spacing-lg);max-width:calc(100% - var(--spacing-lg) * 2)}.reset-password-confirmation-actions{flex-direction:column}.reset-password-cancel-btn,.reset-password-confirm-btn{width:100%;justify-content:center}}@media (prefers-color-scheme:dark){.reset-password-confirmation{background:rgba(0,0,0,.8)}.reset-password-cancel-btn{background:var(--card-dark,#1f2937);border-color:var(--border-dark,#374151)}.reset-password-cancel-btn:hover:not(:disabled){background:var(--hover-dark,#374151)}}.doctor-inline-header-actions,.patient-inline-header-actions{display:flex;justify-content:flex-end;padding:var(--spacing-md);border-bottom:1px solid var(--border);background:var(--surface)}.reset-password-section{margin-top:var(--spacing-xl)}.reset-password-divider{height:1px;background:var(--border);margin-bottom:var(--spacing-lg)}.reset-password-container{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:var(--spacing-lg)}.reset-password-info h4{font-size:var(--font-size-md);font-weight:600;color:var(--text);margin:0 0 var(--spacing-xs) 0}.reset-password-info p{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0}@media (max-width:768px){.reset-password-container{flex-direction:column;align-items:flex-start}.reset-password-btn{width:100%}}.toast-container{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:24rem;width:100%;padding:0;margin:0;pointer-events:none}@media (max-width:640px){.toast-container{top:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:none;width:auto}.toast{width:100%;max-width:none}}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-sm);min-height:4rem;width:100%;max-width:100%;box-sizing:border-box;pointer-events:auto;transition:all var(--transition-normal);position:relative;overflow:hidden}.toast,.toast.toast-enter{transform:translateX(0);opacity:1}.toast.toast-exit{transform:translateX(100%);opacity:0}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.toast.toast-success:before{background:var(--success)}.toast.toast-error:before{background:var(--error)}.toast.toast-warning:before{background:var(--warning)}.toast.toast-info:before{background:var(--primary)}.toast-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-top:.125rem}.toast-success .toast-icon{background:var(--success-transparent);color:var(--success)}.toast-error .toast-icon{background:var(--error-transparent);color:var(--error)}.toast-warning .toast-icon{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.toast-info .toast-icon{background:var(--primary-transparent);color:var(--primary)}.toast-icon svg{width:1rem;height:1rem}.toast-content{flex:1 1;min-width:0;padding-top:.125rem}.toast-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text);margin:0 0 var(--spacing-xs) 0;line-height:1.25}.toast-description{font-size:var(--font-size-sm);color:var(--textSecondary);margin:0;line-height:1.4;word-wrap:break-word}.toast-close{flex-shrink:0;width:1.5rem;height:1.5rem;border:none;background:none;color:var(--textSecondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast);margin-top:.125rem;padding:0}.toast-close:hover{background:var(--surface);color:var(--text)}.toast-close-icon{width:.875rem;height:.875rem}.toast-progress{position:absolute;bottom:0;left:0;height:2px;background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:0 0 var(--radius-lg) var(--radius-lg);width:100%;overflow:hidden}.toast-progress-bar{height:100%;width:100%;border-radius:inherit;transition:transform linear;transform-origin:left}.toast-success .toast-progress-bar{background:var(--success)}.toast-error .toast-progress-bar{background:var(--error)}.toast-warning .toast-progress-bar{background:var(--warning)}.toast-info .toast-progress-bar{background:var(--primary)}.toast:focus-within{outline:2px solid var(--primary);outline-offset:2px}.toast-close:focus{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .15s ease-in-out}.toast-progress-bar{transition:none}}@media (prefers-contrast:high){.toast{border-width:2px}.toast:before{width:6px}.toast-icon{border:1px solid}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.theme-settings{width:100%}.theme-settings-header{margin-bottom:var(--spacing-xl);text-align:center}.theme-settings-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--text);margin-bottom:var(--spacing-sm)}.theme-settings-header p{color:var(--textSecondary);font-size:var(--font-size-sm)}.theme-settings-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.theme-option-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal)}.theme-option-group:hover{border-color:var(--primary);box-shadow:0 4px 12px var(--primary-transparent)}.theme-option-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--text);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border)}.theme-option-icon{color:var(--primary);width:1.25rem;height:1.25rem}.theme-option-choices{display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-option-choice{position:relative;display:flex;align-items:center;padding:var(--spacing-md);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:var(--surface)}.theme-option-choice:hover{transform:translateY(-1px)}.theme-option-choice.active,.theme-option-choice:hover{border-color:var(--primary);background:var(--primary-transparent)}.theme-option-choice.active{box-shadow:0 0 0 3px var(--primary-transparent)}.theme-option-radio{position:absolute;opacity:0;pointer-events:none}.theme-option-content{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.theme-option-header{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-option-label{font-weight:600;color:var(--text);font-size:var(--font-size-md)}.theme-option-description{color:var(--textSecondary);font-size:var(--font-size-sm);line-height:1.4;margin-left:1.75rem}.theme-settings-info{background:var(--primary-transparent);border:1px solid var(--primary);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.theme-settings-info p{color:var(--text);font-size:var(--font-size-sm);line-height:1.5;margin:0}.theme-settings-info strong{color:var(--primary)}.theme-option-preview{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);background:var(--primary);color:white;font-size:var(--font-size-sm);font-weight:600;margin-right:var(--spacing-md);flex-shrink:0;transition:all var(--transition-normal)}.theme-option-choice[data-option=fontSize] .theme-option-preview{font-size:var(--font-size-xs)}.theme-option-choice[data-option=fontSize][data-value=small] .theme-option-preview{font-size:12px}.theme-option-choice[data-option=fontSize][data-value=medium] .theme-option-preview{font-size:14px}.theme-option-choice[data-option=fontSize][data-value=large] .theme-option-preview{font-size:16px}.theme-option-choice[data-option=borderRadius] .theme-option-preview{border-radius:var(--radius-sm)}.theme-option-choice[data-option=borderRadius][data-value=small] .theme-option-preview{border-radius:4px}.theme-option-choice[data-option=borderRadius][data-value=medium] .theme-option-preview{border-radius:8px}.theme-option-choice[data-option=borderRadius][data-value=large] .theme-option-preview{border-radius:12px}.theme-option-choice:hover .theme-option-preview{transform:scale(1.1);background:var(--primary-dark)}.theme-option-choice.active:before{content:"✓";position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:var(--primary);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;box-shadow:0 2px 8px var(--primary-transparent)}@media (max-width:768px){.theme-settings-content{grid-template-columns:1fr;gap:var(--spacing-md)}.theme-option-group{padding:var(--spacing-md)}.theme-option-choice{padding:var(--spacing-sm)}}@media (max-width:480px){.theme-settings-header h3{font-size:var(--font-size-lg)}.theme-option-title{font-size:var(--font-size-md)}.theme-option-choice{padding:var(--spacing-sm)}.theme-option-description{margin-left:1.5rem}}.color-customizer{width:100%}.color-customizer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border)}.color-customizer-title{display:flex;align-items:center;gap:var(--spacing-sm)}.color-customizer-title h3{font-size:var(--font-size-xl);font-weight:600;color:var(--text);margin:0}.color-customizer-icon{color:var(--primary);width:1.5rem;height:1.5rem}.color-customizer-controls{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.color-preview-btn,.color-reset-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.color-preview-btn:hover,.color-reset-btn:hover{border-color:var(--primary);background:var(--primary-transparent);transform:translateY(-1px)}.color-preview-btn.active{border-color:var(--primary);background:var(--primary);color:white}.color-reset-btn:hover{border-color:var(--warning);background:var(--warning-transparent)}.color-customizer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--spacing-xl);gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.color-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal)}.color-group:hover{border-color:var(--primary);box-shadow:0 4px 12px var(--primary-transparent)}.color-group-header{margin-bottom:var(--spacing-lg)}.color-group-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text);margin:0 0 var(--spacing-sm) 0}.color-group-description{color:var(--textSecondary);font-size:var(--font-size-xs);line-height:1.4;margin:0}.color-inputs{gap:var(--spacing-lg)}.color-input-group,.color-inputs{display:flex;flex-direction:column}.color-input-group{gap:var(--spacing-sm)}.color-label{display:flex;flex-direction:column;gap:var(--spacing-xs)}.color-name{font-weight:600;color:var(--text);font-size:var(--font-size-sm)}.color-description{color:var(--textSecondary);font-size:var(--font-size-xs);line-height:1.4}.color-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.color-input{width:3rem;height:3rem;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:transparent}.color-input:hover{border-color:var(--primary);transform:scale(1.05)}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.color-hex-input{flex:1 1;padding:var(--spacing-sm);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--font-size-sm);font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all var(--transition-normal)}.color-hex-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-transparent)}.color-hex-input:invalid{border-color:var(--error);box-shadow:0 0 0 3px var(--error-transparent)}.color-input-text-wrapper{position:relative;flex:1 1;display:flex;align-items:center}.color-validation-icon{position:absolute;right:var(--spacing-sm);color:var(--error);pointer-events:none}.color-customizer-actions{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.color-save-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--primary);color:white;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-width:200px}.color-save-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-transparent)}.color-save-btn:disabled{background:var(--textSecondary);cursor:not-allowed;opacity:.6}.color-feedback-message,.color-preview-notice{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--success-transparent);border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);font-size:var(--font-size-sm);font-weight:500}.color-feedback-message{margin-bottom:var(--spacing-md);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.color-preview{position:relative;width:100%;height:120px;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);overflow:hidden;border:2px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.1)}@media (max-width:768px){.color-customizer-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.color-customizer-controls{width:100%;justify-content:space-between}.color-customizer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}.color-group{padding:var(--spacing-md)}.color-input-wrapper{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.color-input{width:4rem;height:4rem}}@media (max-width:480px){.color-customizer-title h3{font-size:var(--font-size-lg)}.color-preview-btn,.color-reset-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.color-save-btn{min-width:100%;padding:var(--spacing-md)}}