@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--primary-green: #4ade80;--primary-teal: #e1ffc2;--primary-blue: #3b82f6;--secondary-blue:#ecf9ff;--light-green: #dcfce7;--light-blue: #dbeafe;--soft-mint: #f0fdf4;--medical-white: #ffffff;--text-dark: #1f2937;--text-medium: #6b7280;--text-light: #9ca3af;--accent-teal: #14b8a6;--background-light: #f8fafc;--border-light: #e2e8f0;--shadow-soft: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .1);--shadow-strong: rgba(0, 0, 0, .15);--font-family-primary: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--spacing-5xl: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop: 1200px;--breakpoint-large: 1440px;--container-mobile: 100%;--container-tablet: 768px;--container-desktop: 1200px;--container-large: 1400px;--dashboard-color-1: #A0F9FA;--dashboard-color-2: #A6FFAA;--dashboard-color-3: #E7FBCE;--dashboard-color-4: #E6FFFF;--dashboard-color-5: #D5FEA7;--dashboard-color-6: #C3E2FF;--color-primary: var(--dashboard-color-2);--color-primary-light: var(--dashboard-color-3);--color-primary-dark: #22c55e;--color-secondary: var(--dashboard-color-1);--color-accent: var(--dashboard-color-5);--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #dc2626;--color-info: var(--dashboard-color-6);--color-info-light: var(--dashboard-color-4);--color-info-dark: #2563eb;--color-white: var(--medical-white);--color-background-light: var(--background-light);--color-border: var(--border-light);--color-text: var(--text-dark);--color-text-secondary: var(--text-medium);--color-text-light: var(--text-light);--border-radius: var(--radius-md);--border-radius-lg: var(--radius-lg);--border-radius-xl: var(--radius-xl);--shadow-sm: 0 1px 2px 0 var(--shadow-soft);--shadow-md: 0 4px 6px -1px var(--shadow-medium);--shadow-lg: 0 10px 15px -3px var(--shadow-strong);--color-background: var(--background-light);--color-background-secondary: #f1f5f9;--color-text-primary: var(--text-dark);--color-text-tertiary: #d1d5db}[data-theme=dark]{--dashboard-color-1: #0891b2;--dashboard-color-2: #22c55e;--dashboard-color-3: #16a34a;--dashboard-color-4: #2563eb;--dashboard-color-5: #84cc16;--dashboard-color-6: #3b82f6;--color-primary: var(--dashboard-color-2);--color-primary-light: #4ade80;--color-primary-dark: #16a34a;--color-secondary: var(--dashboard-color-1);--color-accent: var(--dashboard-color-5);--color-info: var(--dashboard-color-6);--color-info-light: #60a5fa;--color-info-dark: #2563eb;--background-light: #0f172a;--color-background-light: #0f172a;--color-background: #0f172a;--color-background-secondary: #1e293b;--medical-white: #1e293b;--color-white: #1e293b;--text-dark: #f8fafc;--text-medium: #94a3b8;--text-light: #64748b;--color-text: #f8fafc;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-light: #64748b;--color-text-tertiary: #475569;--border-light: #334155;--color-border: #334155;--shadow-soft: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%;scroll-behavior:auto}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-dark);font-weight:var(--font-weight-normal);background-color:var(--medical-white);overflow-x:hidden;width:100%;max-width:100vw}#root,.app{overflow-x:hidden;width:100%}h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-dark);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-dark);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-dark);margin-bottom:var(--spacing-md)}h4{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--text-dark);margin-bottom:var(--spacing-sm)}h5{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--text-dark);margin-bottom:var(--spacing-sm)}h6{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--text-dark);margin-bottom:var(--spacing-sm)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-medium);margin-bottom:var(--spacing-md)}.medical-headline{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-dark)}.medical-subheadline{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--text-medium)}.medical-body{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-medium)}.medical-caption{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-light)}@media(max-width:768px){h1,.medical-headline{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}h4,.medical-subheadline{font-size:var(--font-size-lg)}.medical-body{font-size:var(--font-size-base)}}.app{min-height:100vh;background-color:var(--medical-white)}.container{max-width:var(--container-desktop);margin:0 auto;padding:0 var(--spacing-xl);width:100%}.section{padding:var(--spacing-5xl) 0}.section-alt{padding:var(--spacing-5xl) 0;background-color:var(--background-light)}.section-title{font-size:var(--font-size-4xl);text-align:center;margin-bottom:var(--spacing-sm);color:var(--text-dark);font-weight:var(--font-weight-bold)}.section-subtitle{text-align:center;color:var(--text-medium);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-3xl);max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:768px){.container{padding:0 var(--spacing-md)}}.margin-none{margin:0}.margin-xs{margin:var(--spacing-xs)}.margin-sm{margin:var(--spacing-sm)}.margin-md{margin:var(--spacing-md)}.margin-lg{margin:var(--spacing-lg)}.margin-xl{margin:var(--spacing-xl)}.margin-2xl{margin:var(--spacing-2xl)}.margin-top-none{margin-top:0}.margin-top-xs{margin-top:var(--spacing-xs)}.margin-top-sm{margin-top:var(--spacing-sm)}.margin-top-md{margin-top:var(--spacing-md)}.margin-top-lg{margin-top:var(--spacing-lg)}.margin-top-xl{margin-top:var(--spacing-xl)}.margin-top-2xl{margin-top:var(--spacing-2xl)}.margin-bottom-none{margin-bottom:0}.margin-bottom-xs{margin-bottom:var(--spacing-xs)}.margin-bottom-sm{margin-bottom:var(--spacing-sm)}.margin-bottom-md{margin-bottom:var(--spacing-md)}.margin-bottom-lg{margin-bottom:var(--spacing-lg)}.margin-bottom-xl{margin-bottom:var(--spacing-xl)}.margin-bottom-2xl{margin-bottom:var(--spacing-2xl)}.padding-none{padding:0}.padding-xs{padding:var(--spacing-xs)}.padding-sm{padding:var(--spacing-sm)}.padding-md{padding:var(--spacing-md)}.padding-lg{padding:var(--spacing-lg)}.padding-xl{padding:var(--spacing-xl)}.padding-2xl{padding:var(--spacing-2xl)}.padding-top-none{padding-top:0}.padding-top-xs{padding-top:var(--spacing-xs)}.padding-top-sm{padding-top:var(--spacing-sm)}.padding-top-md{padding-top:var(--spacing-md)}.padding-top-lg{padding-top:var(--spacing-lg)}.padding-top-xl{padding-top:var(--spacing-xl)}.padding-top-2xl{padding-top:var(--spacing-2xl)}.padding-bottom-none{padding-bottom:0}.padding-bottom-xs{padding-bottom:var(--spacing-xs)}.padding-bottom-sm{padding-bottom:var(--spacing-sm)}.padding-bottom-md{padding-bottom:var(--spacing-md)}.padding-bottom-lg{padding-bottom:var(--spacing-lg)}.padding-bottom-xl{padding-bottom:var(--spacing-xl)}.padding-bottom-2xl{padding-bottom:var(--spacing-2xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.font-weight-normal{font-weight:var(--font-weight-normal)}.font-weight-medium{font-weight:var(--font-weight-medium)}.font-weight-semibold{font-weight:var(--font-weight-semibold)}.font-weight-bold{font-weight:var(--font-weight-bold)}.font-size-xs{font-size:var(--font-size-xs)}.font-size-sm{font-size:var(--font-size-sm)}.font-size-base{font-size:var(--font-size-base)}.font-size-lg{font-size:var(--font-size-lg)}.font-size-xl{font-size:var(--font-size-xl)}.font-size-2xl{font-size:var(--font-size-2xl)}.font-size-3xl{font-size:var(--font-size-3xl)}.font-size-4xl{font-size:var(--font-size-4xl)}.font-size-5xl{font-size:var(--font-size-5xl)}.line-height-tight{line-height:var(--line-height-tight)}.line-height-normal{line-height:var(--line-height-normal)}.line-height-relaxed{line-height:var(--line-height-relaxed)}.line-height-loose{line-height:var(--line-height-loose)}.text-color-dark{color:var(--text-dark)}.text-color-medium{color:var(--text-medium)}.text-color-light{color:var(--text-light)}.text-color-primary-green{color:var(--primary-green)}.text-color-primary-blue{color:var(--primary-blue)}.text-color-accent-teal{color:var(--accent-teal)}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-transform-uppercase{text-transform:uppercase}.text-transform-lowercase{text-transform:lowercase}.text-transform-capitalize{text-transform:capitalize}.text-transform-none{text-transform:none}.display-block{display:block}.display-inline{display:inline}.display-inline-block{display:inline-block}.display-flex{display:flex}.display-inline-flex{display:inline-flex}.display-grid{display:grid}.display-none{display:none}.flex-direction-row{flex-direction:row}.flex-direction-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-content-start{justify-content:flex-start}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-end{align-items:flex-end}.align-items-stretch{align-items:stretch}.align-items-baseline{align-items:baseline}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.width-full{width:100%}.width-auto{width:auto}.width-fit-content{width:fit-content}.width-max-content{width:max-content}.width-min-content{width:min-content}.height-full{height:100%}.height-auto{height:auto}.height-fit-content{height:fit-content}.height-max-content{height:max-content}.height-min-content{height:min-content}.overflow-visible{overflow:visible}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.z-index-0{z-index:0}.z-index-10{z-index:10}.z-index-20{z-index:20}.z-index-30{z-index:30}.z-index-40{z-index:40}.z-index-50{z-index:50}.z-index-100{z-index:100}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-visible:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}.focus-ring:focus{outline:2px solid var(--primary-green);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--text-dark);color:var(--medical-white);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;border-radius:var(--radius-sm);z-index:1000;font-weight:var(--font-weight-medium)}.skip-link:focus{top:6px}@media(prefers-contrast:high){.high-contrast-border{border:2px solid currentColor}.high-contrast-background{background-color:var(--medical-white);color:var(--text-dark)}}@media(prefers-reduced-motion:reduce){.respect-motion-preference,.respect-motion-preference *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.cta-button{background-color:var(--primary-green);color:var(--medical-white);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}.cta-button:hover{background-color:var(--accent-teal);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-medium)}.primary-button{background-color:var(--primary-green);color:var(--medical-white);border:none;padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all .3s ease;box-shadow:0 2px 8px #4ade8033;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}.primary-button:hover{background-color:var(--accent-teal);transform:translateY(-2px);box-shadow:0 6px 20px #4ade804d}.secondary-button{background-color:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue);padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all .3s ease;box-shadow:0 2px 8px #3b82f61a;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}.secondary-button:hover{background-color:var(--primary-blue);color:var(--medical-white);transform:translateY(-1px);box-shadow:0 4px 16px #3b82f633}.add-patient-btn,.schedule-btn,.generate-report-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.add-patient-btn:hover,.schedule-btn:hover,.generate-report-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.filter-select,.date-range-selector select{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);cursor:pointer}.navbar{background-color:var(--medical-white);box-shadow:0 2px 4px var(--shadow-soft);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border-light)}.nav-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);max-width:1200px;margin:0 auto}.logo h2{color:var(--text-dark);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:color .3s ease;margin:0}.logo h2:hover{color:var(--primary-green)}.nav-links{display:flex;list-style:none;gap:var(--spacing-xl);align-items:center;margin:0;padding:0}.nav-links a{text-decoration:none;color:var(--text-medium);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);font-family:var(--font-family-primary);transition:color .3s ease;padding:var(--spacing-sm) 0}.nav-links a:hover{color:var(--primary-green)}.nav-actions-bottom .user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:all .3s ease;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark);border:1px solid var(--border-light);background:var(--medical-white)}.nav-actions-bottom .user-menu-trigger:hover{background-color:#4ade801a;border-color:var(--primary-green)}.nav-actions-bottom .user-name{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark)}.nav-login-button{background:linear-gradient(135deg,var(--primary-green),var(--accent-teal));border:none;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all .3s ease}.nav-login-button:hover{background:linear-gradient(135deg,var(--accent-teal),#0d9488);transform:translateY(-1px);box-shadow:0 4px 12px #4ade804d}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:all .3s ease;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark)}.user-menu-trigger:hover{background-color:#4ade801a}.user-name{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark)}.user-menu-container{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s ease}.user-menu-container:hover{background-color:#4ade801a}.nav-link-home{color:var(--primary-blue)!important}.nav-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.nav-actions-top,.nav-actions-bottom{display:flex;gap:var(--spacing-md);align-items:center}.download-link{text-decoration:none;color:var(--text-medium);font-size:var(--font-size-sm);transition:color .3s ease}.download-link:hover{color:var(--primary-green)}.contact-button{background:transparent;border:1px solid var(--primary-blue);color:var(--text-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all .3s ease;text-decoration:none}.contact-button:hover{border-color:var(--primary-green);color:var(--primary-green)}.login-button{background:inherit;border:none;color:#000;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all .3s ease}.login-button:hover{background:var(--primary-green-dark, #22c55e);transform:translateY(-1px)}.appointment-button{background:linear-gradient(135deg,#ccfa99,#acfba0);border:none;color:var(--text-dark);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all .3s ease}.appointment-button:hover{background:var(--primary-green-dark, #9cd857);transform:translateY(-1px)}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-sm)}.hamburger{display:flex;flex-direction:column;gap:3px}.hamburger span{width:20px;height:2px;background:var(--text-dark);transition:all .3s ease}.mobile-user-menu,.mobile-login-menu{display:none}@media(max-width:768px){.nav-content{padding:var(--spacing-md)}.logo h2{font-size:var(--font-size-lg)}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--medical-white);flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);box-shadow:0 4px 6px var(--shadow-soft);border-top:1px solid var(--border-light)}.nav-links-mobile-open{display:flex}.mobile-user-menu,.mobile-login-menu{display:block}.mobile-user-menu{border-top:1px solid var(--border-light);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.mobile-user-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:#4ade800d;border-radius:var(--radius-md)}.mobile-user-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.mobile-user-name{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-dark)}.mobile-user-type{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-medium)}.mobile-user-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-dashboard-btn,.mobile-logout-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease;width:100%;justify-content:flex-start}.mobile-dashboard-btn{background:linear-gradient(135deg,var(--primary-green),var(--accent-teal));color:#fff}.mobile-dashboard-btn:hover{background:linear-gradient(135deg,var(--accent-teal),#0d9488);transform:translateY(-1px)}.mobile-logout-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.mobile-logout-btn:hover{background:#ef444426;border-color:#ef4444}.mobile-login-menu{border-top:1px solid var(--border-light);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.mobile-login-btn{background:linear-gradient(135deg,var(--primary-green),var(--accent-teal));border:none;color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all .3s ease;width:100%}.mobile-login-btn:hover{background:linear-gradient(135deg,var(--accent-teal),#0d9488);transform:translateY(-1px)}.nav-actions-bottom .user-menu-trigger{display:none}.nav-actions{gap:var(--spacing-xs);flex-direction:row;align-items:center}.nav-actions-top{display:none}.nav-actions-bottom{gap:var(--spacing-xs);flex-wrap:wrap}.nav-actions .download-link{display:none}.contact-button,.appointment-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);white-space:nowrap}.nav-actions-bottom .nav-login-button{display:none}.mobile-menu-toggle{display:block;margin-left:var(--spacing-sm)}.hamburger-open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-open span:nth-child(2){opacity:0}.hamburger-open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}}@media(max-width:480px){.nav-content{padding:var(--spacing-sm) var(--spacing-md)}.logo h2{font-size:var(--font-size-base)}.nav-actions-bottom{gap:4px}.contact-button,.appointment-button{padding:6px 8px;font-size:11px}.mobile-user-info{padding:var(--spacing-sm);gap:var(--spacing-sm)}.mobile-user-name{font-size:var(--font-size-sm)}.mobile-user-type{font-size:var(--font-size-xs)}.mobile-dashboard-btn,.mobile-logout-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}}.hero{background:var(--medical-white);padding:var(--spacing-3xl) 0;display:flex;align-items:center;min-height:600px}.hero-container{width:80%;max-width:2200px;margin:0 auto;padding:0 var(--spacing-lg)}.hero-carousel{position:relative;width:100%;min-height:500px}.hero-card{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transition:opacity .6s ease-in-out,visibility .6s ease-in-out}.hero-card.active{position:relative;opacity:1;visibility:visible}.hero-card{background:linear-gradient(to right,#a0f9fa,#a6ffaa);border-radius:var(--radius-xl);padding:var(--spacing-md);box-shadow:0 20px 60px #0000001a;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);align-items:center;max-width:1800px;width:100%;margin:0 auto;min-height:500px}.hero-content-wrapper{background:var(--medical-white);border-radius:var(--radius-lg);padding:var(--spacing-3xl) var(--spacing-2xl);display:flex;flex-direction:column;justify-content:center;flex:1;height:100%}.hero-content{text-align:center}.hero-icon{margin-bottom:var(--spacing-lg);display:flex;justify-content:center;align-items:center}.hero-icon img{width:50px;height:50px;object-fit:contain}.hero-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xl);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--text-dark)}.hero-subtitle{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2xl);color:var(--text-medium);line-height:var(--line-height-relaxed)}.hero-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;margin-bottom:var(--spacing-xl)}.hero-cta-button{border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease;flex:1;min-width:160px;max-width:200px;white-space:nowrap}.hero-cta-button.primary{background:linear-gradient(135deg,#ccfa99,#acfba0);color:#000;box-shadow:0 4px 15px #4ade804d}.hero-cta-button.primary:hover{background:linear-gradient(135deg,#cdfa999f,#acfba0ab);transform:translateY(-2px);box-shadow:0 6px 20px #4ade8066}.hero-cta-button.secondary{background:#fff;color:var(--primary-green);border:2px solid var(--primary-green)}.hero-cta-button.secondary:hover{background:var(--primary-green);color:#fff;transform:translateY(-2px)}.patient-testimonials{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.patient-avatars{display:flex;margin-right:var(--spacing-sm)}.avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--medical-white);margin-left:-8px;object-fit:cover}.avatar:first-child{margin-left:0}.testimonial-text{font-size:var(--font-size-sm);color:var(--text-medium);font-weight:var(--font-weight-medium)}.hero-image{display:flex;justify-content:center;align-items:center;position:relative;padding:var(--spacing-md);height:100%;flex:1;overflow:visible;border-radius:var(--radius-lg)}.hero-main-image{width:100%;height:100%;max-height:500px;border-radius:var(--radius-lg);object-fit:contain;display:block}.hero-image-overlay{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:#ffffff7e;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);max-width:500px;width:85%;box-shadow:0 8px 32px #00000026,inset 0 1px 1px #fffc;border:1px solid rgba(255,255,255,.6)}.overlay-icon{background:var(--primary-green);border-radius:var(--radius-md);padding:var(--spacing-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.overlay-icon img{width:35px;height:35px;object-fit:contain;filter:brightness(0) invert(1)}.overlay-text{font-size:var(--font-size-sm);color:#1a1a1a;line-height:1.4;margin:0;font-weight:var(--font-weight-medium);text-shadow:0 1px 2px rgba(255,255,255,.5)}.hero-dots{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-2xl);position:relative}.hero-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--primary-green);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.hero-dot:hover{background:#4ade8080}.hero-dot.active{background:var(--primary-green);width:32px;border-radius:6px}@media(max-width:768px){.hero{padding:var(--spacing-2xl) 0;min-height:auto}.hero-container{width:90%;padding:0 var(--spacing-md)}.hero-carousel{min-height:auto}.hero-card{grid-template-columns:1fr;gap:var(--spacing-lg);padding:var(--spacing-md);min-height:auto}.hero-content-wrapper{order:2;padding:var(--spacing-xl)}.hero-content{text-align:center}.hero-image{order:1;padding:var(--spacing-sm);height:auto}.hero-main-image{max-height:280px}.hero-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.hero-subtitle{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.hero-buttons{margin-bottom:var(--spacing-lg)}.hero-cta-button{min-width:140px;max-width:180px;padding:var(--spacing-sm) var(--spacing-lg);white-space:nowrap}.patient-testimonials{justify-content:center}.hero-image-overlay{bottom:15px;padding:var(--spacing-sm);width:90%}.overlay-icon{width:45px;height:45px;padding:var(--spacing-sm)}.overlay-icon img{width:25px;height:25px}.overlay-text{font-size:var(--font-size-xs)}}@media(min-width:769px)and (max-width:1024px){.hero-container{width:85%}.hero-card{min-height:450px}.hero-title{font-size:var(--font-size-3xl);line-height:1.2}.hero-main-image{max-height:400px}}@media(min-width:1025px){.hero{min-height:650px}.hero-carousel{min-height:550px}.hero-card{padding:var(--spacing-lg);gap:var(--spacing-lg);max-width:2000px;min-height:550px}.hero-content-wrapper{padding:var(--spacing-4xl) var(--spacing-3xl)}.hero-title{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-2xl)}.hero-subtitle{font-size:var(--font-size-xl)}.hero-icon img{width:60px;height:60px}.hero-main-image{max-height:550px}.hero-buttons{margin-bottom:var(--spacing-2xl)}.hero-cta-button{min-width:180px;max-width:220px;padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);white-space:nowrap}}.features{padding:var(--spacing-5xl) 0;background-color:var(--background-light);position:relative}.features:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-green),transparent)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.medical-service-card{background:linear-gradient(145deg,var(--medical-white) 0%,var(--soft-mint) 100%);padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:left;box-shadow:0 8px 32px var(--shadow-soft);border:1px solid var(--border-light);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.medical-service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-green),var(--accent-teal));transform:scaleX(0);transition:transform .4s ease}.medical-service-card:hover:before{transform:scaleX(1)}.medical-service-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px var(--shadow-medium);border-color:var(--primary-green);background:linear-gradient(145deg,var(--medical-white) 0%,var(--light-green) 100%)}.medical-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg);color:var(--primary-green);display:flex;align-items:center;justify-content:flex-start;width:60px;height:60px;background:linear-gradient(135deg,var(--light-green),var(--soft-mint));border-radius:var(--radius-lg);border:2px solid var(--primary-green);transition:all .3s ease}.medical-service-card:hover .medical-icon{background:linear-gradient(135deg,var(--primary-green),var(--accent-teal));color:var(--medical-white);transform:scale(1.1);box-shadow:0 4px 16px #4ade804d}.service-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--text-dark);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.service-description{color:var(--text-medium);line-height:var(--line-height-relaxed);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.service-features{list-style:none;padding:0;margin:0}.service-feature-item{display:flex;align-items:center;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-medium);line-height:var(--line-height-normal)}.feature-bullet{color:var(--primary-green);font-weight:var(--font-weight-bold);margin-right:var(--spacing-sm);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:var(--light-green);border-radius:50%;flex-shrink:0}.medical-service-card:hover .feature-bullet{background-color:var(--primary-green);color:var(--medical-white);transform:scale(1.1)}.feature-card{background-color:var(--medical-white);padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center;box-shadow:0 4px 6px var(--shadow-soft);border:1px solid var(--border-light);transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--light-green)}.feature-icon{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-md);color:var(--primary-green)}.feature-card h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--text-dark);font-weight:var(--font-weight-semibold)}.feature-card p{color:var(--text-medium);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}@media(max-width:768px){.features-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.medical-service-card{padding:var(--spacing-lg)}}@media(min-width:769px)and (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2xl)}}@media(min-width:1025px){.features-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-3xl)}}.about{padding:var(--spacing-5xl) 0;background:var(--medical-white);position:relative}.about-container{width:80%;max-width:2200px;margin:0 auto;padding:0 var(--spacing-lg)}.about-header{text-align:left;margin-bottom:var(--spacing-3xl);padding-left:var(--spacing-lg);width:80%;max-width:2200px;margin-left:auto;margin-right:auto}.section-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--spacing-md);display:block}.about-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0}.highlight-years{background:linear-gradient(to right,#cafa99,#75b8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-main-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-3xl);align-items:start}.about-left-column{display:flex;flex-direction:column;justify-content:flex-end;height:100%}.about-right-column{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.about-row-1{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl);align-items:stretch}.blue-info-card{background:var(--secondary-blue);padding:var(--spacing-3xl);border-radius:var(--radius-xl);text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;height:100%}.blue-info-card:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background-image:url(/About/backgroundTooth.webp);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.6;z-index:0;pointer-events:none;display:block}.blue-info-card>*{position:relative;z-index:1}.card-icon{margin-bottom:var(--spacing-lg);display:flex;justify-content:center;align-items:center}.card-icon img{width:50px;height:50px;object-fit:contain}.card-text{color:var(--text-dark);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg) 0}.about-learn-more-btn{display:inline-block;margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:var(--primary-green);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--radius-lg);transition:all .3s ease;cursor:pointer}.about-learn-more-btn:hover{background:#22c55e;transform:translateY(-2px);box-shadow:0 4px 12px #4ade804d}.ct-scan-image{height:100%}.ct-scan-image img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-medium)}.about-row-2{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-xl);align-items:stretch}.lorem-text p{color:var(--text-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0}.professional-image{height:100%}.professional-image img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-medium)}.green-info-card{background:var(--light-green);padding:var(--spacing-2xl);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;height:100%}.small-images{display:grid;grid-template-columns:auto auto;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);justify-content:flex-end;align-self:flex-end}.small-images img{width:150px;height:120px;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 4px 16px var(--shadow-soft)}.green-card-text{color:var(--text-dark);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;text-align:right;align-self:flex-end}@media(max-width:768px){.about-header{text-align:center}.about-title{font-size:var(--font-size-3xl)}.about-main-grid{grid-template-columns:1fr;gap:var(--spacing-2xl)}.about-left-column{order:2}.about-right-column{order:1}.about-row-1,.about-row-2{grid-template-columns:1fr;gap:var(--spacing-xl)}.ct-scan-image img,.professional-image img{height:250px}.small-images{grid-template-columns:1fr}.small-images img{height:120px}}@media(min-width:769px)and (max-width:1024px){.about-title{font-size:var(--font-size-4xl)}.about-main-grid{grid-template-columns:1fr}.about-left-column{margin-bottom:var(--spacing-2xl)}}.about-page{background:var(--medical-white);min-height:100vh}.about-page-header{background:linear-gradient(135deg,#e0f7fa,#e8f5e9);padding:var(--spacing-5xl) 0 10rem}.about-page-container{width:90%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.header-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center}.header-text-content{text-align:left}.header-lottie-animation{width:100%;height:auto;display:flex;align-items:center;justify-content:center}.about-page-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:var(--spacing-md)}.about-page-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-xl) 0}.about-page-subtitle{font-size:var(--font-size-base);color:var(--text-medium);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg) 0}.about-page-contact-info{margin-top:var(--spacing-xl)}.contact-email{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .3s ease}.contact-email:hover{color:var(--primary-green)}.about-page-image-section{padding:0;background:transparent;margin-top:-5rem;position:relative;z-index:10}.ct-scan-image-wrapper{width:100%;max-width:1200px;margin:0 auto;display:flex;justify-content:center}.about-ct-scan-image{width:100%;height:auto;max-height:500px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:0 12px 40px #00000026}.about-page-story{padding:var(--spacing-5xl) 0 0;background:var(--medical-white)}.story-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:var(--spacing-2xl)}.story-top-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-3xl);margin-bottom:var(--spacing-3xl);align-items:start}.story-heading-column{padding-right:var(--spacing-lg)}.story-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0}.story-text-column{padding-left:var(--spacing-lg)}.story-description{font-size:var(--font-size-base);color:var(--text-medium);line-height:var(--line-height-relaxed);margin:0;text-align:right}.story-extended-section{background:linear-gradient(135deg,#f0fdf4,#f1f8f4);padding:var(--spacing-5xl) 0;width:100%;margin-top:var(--spacing-3xl)}.story-extended-container{width:90%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-3xl);align-items:start}.story-image-placeholder{min-height:300px}.story-extended-text{font-size:var(--font-size-base);color:var(--text-medium);line-height:2;margin:0;text-align:justify}.about-page-main-content{padding:var(--spacing-4xl) 0 var(--spacing-5xl);background:linear-gradient(135deg,#f0f9ff,#f1f8f4)}.main-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:start;margin-bottom:var(--spacing-4xl)}.main-content-text{display:flex;align-items:center}.content-paragraph{font-size:var(--font-size-base);color:var(--text-medium);line-height:var(--line-height-relaxed);margin:0}.main-content-image{width:100%;display:flex;justify-content:center;align-items:center}.ct-scan-image{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:0 12px 40px #00000026}.bottom-text-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.bottom-text-column{background:var(--medical-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000014}.bottom-text-column .content-paragraph{font-size:var(--font-size-sm)}@media(max-width:768px){.about-page-header{padding:var(--spacing-3xl) 0 var(--spacing-2xl)}.header-content-grid{grid-template-columns:1fr;gap:var(--spacing-2xl)}.header-text-content{text-align:center}.about-page-title{font-size:var(--font-size-3xl)}.about-page-subtitle{font-size:var(--font-size-sm);text-align:left}.header-lottie-animation{max-width:300px;margin:0 auto}.about-ct-scan-image{max-height:300px}.story-label{text-align:center}.story-top-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.story-heading-column,.story-text-column{padding:0;text-align:center}.story-title{font-size:var(--font-size-2xl)}.story-description{font-size:var(--font-size-sm);text-align:left}.story-extended-section{padding:var(--spacing-3xl) 0}.story-extended-container{grid-template-columns:1fr}.story-image-placeholder{display:none}.story-extended-text{font-size:var(--font-size-sm)}.main-content-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.bottom-text-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}}@media(min-width:769px)and (max-width:1024px){.header-content-grid{grid-template-columns:1fr;gap:var(--spacing-2xl)}.header-lottie-animation{max-width:400px;margin:0 auto}.about-page-title{font-size:var(--font-size-4xl)}.about-ct-scan-image{max-height:400px}.story-top-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.story-heading-column,.story-text-column{padding:0}.story-title{font-size:var(--font-size-3xl)}.story-extended-section{padding:var(--spacing-4xl) 0}.story-extended-container{grid-template-columns:1fr}.story-image-placeholder{display:none}.main-content-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.bottom-text-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.bottom-text-column:last-child{grid-column:1 / -1}}@media(min-width:1025px){.about-page-title{font-size:var(--font-size-5xl)}.story-title{font-size:var(--font-size-4xl)}.about-ct-scan-image{max-height:600px}}.services-page{background:var(--medical-white);min-height:100vh}.services-page-container{width:90%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.services-page-header{padding:var(--spacing-5xl) 0;background:var(--medical-white)}.services-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4xl);align-items:center}.services-page-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:var(--spacing-md)}.services-page-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-xl) 0}.highlight-text{color:var(--primary-green)}.services-page-description{font-size:var(--font-size-base);color:var(--text-medium);line-height:var(--line-height-relaxed);max-width:500px}.header-image-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--spacing-lg)}.header-image-top{grid-column:1 / -1;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.icon-placeholder{display:flex;gap:var(--spacing-sm);align-items:center;justify-content:center}.service-icon-img{width:60px;height:60px;object-fit:contain}.icon-circle{width:40px;height:40px;border-radius:50%;background:#e0f2fe;border:2px dashed var(--primary-blue)}.header-image-text{font-size:var(--font-size-sm);color:var(--text-medium);line-height:1.6}.header-image-bottom-left,.header-image-bottom-right{height:250px;border-radius:var(--radius-lg);overflow:hidden}.header-img{width:100%;height:100%;object-fit:cover}.header-image-bottom-right{grid-column:2;grid-row:1 / span 2;height:100%;min-height:400px}.header-image-grid{grid-template-columns:1fr 1.5fr;grid-template-rows:auto 1fr}.header-image-top{grid-column:1;grid-row:1}.header-image-bottom-left{grid-column:1;grid-row:2;height:200px}.header-image-bottom-right{grid-column:2;grid-row:1 / span 2;height:100%}.services-list-section{padding:var(--spacing-5xl) 0}.services-header-flex{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl)}.services-section-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-dark);margin:0;flex-shrink:0}.services-section-subtitle{font-size:var(--font-size-sm);color:var(--text-medium);margin:0;max-width:600px;line-height:var(--line-height-relaxed)}.services-grid-fullwidth{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);width:100%}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.service-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);padding:var(--spacing-2xl);display:flex;flex-direction:column;transition:all .3s ease}.service-card:hover{box-shadow:0 10px 30px #0000000d;transform:translateY(-5px)}.highlight-card{background:#ecfccb;border-color:#d9f99d}.service-card:nth-child(2){background:#e0f2fe;border-color:#bae6fd}.service-card-header{margin-bottom:var(--spacing-xl)}.service-card-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dark);display:block;margin-bottom:var(--spacing-md)}.service-icon-wrapper{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000d}.service-card-icon{width:28px;height:28px;object-fit:contain}.service-card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-dark);margin-bottom:var(--spacing-md)}.service-card-description{font-size:var(--font-size-sm);color:var(--text-medium);line-height:1.6;margin-bottom:var(--spacing-2xl);flex-grow:1}.service-explore-link{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-dark);text-decoration:none}.arrow-icon{transition:transform .2s ease}.service-explore-link:hover .arrow-icon{transform:translate(2px,-2px)}.service-detail-page{background:var(--medical-white);min-height:100vh;padding:var(--spacing-4xl) 0}.detail-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl)}.back-button{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease}.back-button:hover{background:#f3f4f6}.detail-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-dark)}.sub-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.sub-service-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid #e5e7eb;transition:all .3s ease}.sub-service-card:hover{box-shadow:0 10px 30px #00000014}.sub-service-image-wrapper{height:200px;overflow:hidden}.sub-service-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.sub-service-card:hover .sub-service-image{transform:scale(1.05)}.sub-service-content{padding:var(--spacing-lg)}.sub-service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.sub-service-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-dark)}.sub-service-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-dark)}.sub-service-description{font-size:var(--font-size-xs);color:var(--text-medium);line-height:1.6;margin-bottom:var(--spacing-lg)}.book-now-btn{width:100%;padding:var(--spacing-sm) 0;background:#bbf7d0;color:#14532d;border:none;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .2s ease}.book-now-btn:hover{background:#86efac}@media(max-width:1024px){.services-grid,.services-grid-fullwidth,.sub-services-grid{grid-template-columns:repeat(2,1fr)}.services-page-title{font-size:var(--font-size-4xl)}.services-header-flex{flex-direction:column;gap:var(--spacing-md)}}@media(max-width:768px){.services-header-grid{grid-template-columns:1fr;gap:var(--spacing-2xl)}.header-image-grid{grid-template-columns:1fr;grid-template-rows:auto}.header-image-top,.header-image-bottom-left,.header-image-bottom-right{grid-column:1;grid-row:auto;height:auto;min-height:200px}.services-grid,.services-grid-fullwidth,.sub-services-grid{grid-template-columns:1fr}.services-page-title{font-size:var(--font-size-3xl)}.services-header-flex{flex-direction:column;gap:var(--spacing-sm)}}.services{padding:var(--spacing-5xl) 0;background:linear-gradient(135deg,#fff,#d5fea7 94%);position:relative;display:flex;justify-content:center;align-items:center}.services-card{background:var(--medical-white);border-radius:var(--radius-xl);padding:var(--spacing-4xl);box-shadow:0 20px 60px #0000001a;display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--spacing-4xl);align-items:center;max-width:1600px;width:95%;margin:0 auto}.services-header{padding-right:var(--spacing-xl);display:flex;flex-direction:column;justify-content:center;text-align:center}.services .section-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--spacing-md);display:block}.services-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-lg) 0}.highlight-text{background:linear-gradient(to right,#75b8f9,#cafa99);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.services-description{color:var(--text-dark);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl)}.highlight-services{background:linear-gradient(to right,#75b8f9,#cafa99);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.services-container{display:flex;justify-content:center;align-items:center}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);max-width:600px;width:100%}.service-card{padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--shadow-soft);transition:all .3s ease;min-height:200px;display:flex;flex-direction:column;gap:16px}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px var(--shadow-medium)}.blue-card{background:#e6ffff;color:var(--text-dark)}.white-card{background:var(--medical-white);color:var(--text-dark);position:relative;border-radius:12px;overflow:hidden}.white-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#e1ffc2,#e6ffff);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.white-card>*{position:relative;z-index:1}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.service-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:1px;opacity:.8}.green-card{background:#e7fbce;color:#000}.service-icon{opacity:.7}.service-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-tight)}.service-availability{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);opacity:.9}.green-card .service-availability{color:var(--text-dark)}.service-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 16px;opacity:.9;flex:1}.green-card .service-description{color:var(--text-dark)}@media(max-width:768px){.services{padding:var(--spacing-4xl) 0}.services-card{grid-template-columns:1fr;gap:var(--spacing-3xl);padding:var(--spacing-2xl);width:90%}.services-header{padding-right:0;text-align:center}.services-title{font-size:var(--font-size-3xl)}.services-grid{grid-template-columns:1fr;max-width:none}.service-card{padding:var(--spacing-lg);min-height:auto}}@media(min-width:769px)and (max-width:1024px){.services-card{gap:var(--spacing-3xl);padding:var(--spacing-3xl)}.services-title{font-size:var(--font-size-4xl)}}.service-book-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:auto;align-self:flex-start;box-shadow:0 4px 12px #3b82f64d}.service-book-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.service-book-btn:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.services-cta-button{background:linear-gradient(135deg,#ccfa99,#abfba1);color:#000;border:none;border-radius:12px;padding:16px 32px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #acfba14d}.services-cta-button:hover{background:linear-gradient(135deg,#abfba1,#9deb93);transform:translateY(-2px);box-shadow:0 6px 24px #acfba166}.services-cta-button:active{transform:translateY(0);box-shadow:0 2px 12px #acfba14d}.matters{padding:var(--spacing-5xl) 0;background:var(--medical-white);position:relative}.matters-container{width:80%;max-width:2200px;margin:0 auto;padding:0 var(--spacing-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-5xl);align-items:center}.matters-content{padding-right:var(--spacing-2xl)}.matters .section-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--spacing-lg);display:block}.matters-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-2xl) 0}.highlight-dental{background:linear-gradient(to right,#cafa99,#75b8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.matters-description{color:var(--text-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0;max-width:600px}.matters-diagram{display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.circular-diagram{position:relative;width:500px;height:500px;max-width:100%;display:flex;justify-content:center;align-items:center}.center-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid var(--medical-white);box-shadow:0 8px 32px var(--shadow-medium);z-index:10}.center-image img{width:100%;height:100%;object-fit:cover}.orbit-ring{position:absolute;top:50%;left:50%;border:1px solid var(--primary-green);border-radius:50%;opacity:.4;z-index:1}.orbit-1{width:250px;height:250px;transform:translate(-50%,-50%);border:1px solid var(--primary-blue)}.orbit-2{width:350px;height:350px;transform:translate(-50%,-50%)}.orbit-3{width:450px;height:450px;transform:translate(-50%,-50%);border:1px solid var(--primary-blue)}.circular-diagram:after{transform:translate(-50%,-100%) rotate(150deg)}.benefit-label{position:absolute;background:var(--medical-white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--shadow-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark);white-space:nowrap;z-index:5}.benefit-1,.benefit-3,.benefit-6{background:var(--primary-green);color:#fff}.benefit-2,.benefit-4,.benefit-5{background:var(--light-blue);color:var(--text-dark)}.benefit-1{top:8%;left:50%;transform:translate(-50%)}.benefit-2{top:20%;right:8%;transform:translateY(-50%)}.benefit-3{right:2%;top:50%;transform:translateY(-50%)}.benefit-4{bottom:20%;right:12%;transform:translateY(50%)}.benefit-5{bottom:8%;left:50%;transform:translate(-50%)}.benefit-6{left:8%;top:50%;transform:translateY(-50%)}.benefit-label:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--shadow-medium)}@media(max-width:768px){.matters{padding:var(--spacing-4xl) 0}.matters-container{grid-template-columns:1fr;gap:var(--spacing-3xl);width:90%;padding:0 var(--spacing-sm)}.matters-content{padding-right:0;text-align:center}.matters-title{font-size:var(--font-size-2xl)}.matters-diagram{padding:0 var(--spacing-sm)}.circular-diagram{width:100%;max-width:350px;height:350px;margin:0 auto}.circle-border{width:280px;height:280px}.center-image{width:80px;height:80px}.benefit-label{font-size:10px;padding:6px 10px;white-space:normal;max-width:100px;text-align:center;line-height:1.2}.orbit-1{width:180px;height:180px}.orbit-2{width:250px;height:250px}.orbit-3{width:320px;height:320px}.benefit-1{top:5%;left:50%;transform:translate(-50%)}.benefit-2{top:20%;right:2%;transform:translateY(-50%)}.benefit-3{right:0%;top:50%;transform:translateY(-50%)}.benefit-4{bottom:20%;right:5%;transform:translateY(50%)}.benefit-5{bottom:5%;left:50%;transform:translate(-50%)}.benefit-6{left:2%;top:50%;transform:translateY(-50%)}}@media(min-width:769px)and (max-width:1024px){.matters-container{gap:var(--spacing-4xl);width:85%}.matters-title{font-size:var(--font-size-4xl)}.circular-diagram{width:400px;height:400px}.circle-border{width:320px;height:320px}}@media(min-width:1025px){.matters-container{max-width:2000px}.matters-title{font-size:var(--font-size-5xl)}.circular-diagram{width:550px;height:550px}.orbit-1{width:280px;height:280px}.orbit-2{width:400px;height:400px}.orbit-3{width:500px;height:500px}.center-image{width:140px;height:140px}}.blog{padding:var(--spacing-5xl) 0;background:#e1ffc2;position:relative}.blog-container{width:80%;max-width:2200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-4xl)}.blog-header{text-align:left;max-width:900px}.blog-main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.blog .section-label{color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--spacing-lg);display:block}.blog-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-xl) 0}.blog-subtitle{color:var(--text-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl);max-width:700px}.blog-cta-button{background:inherit;color:var(--text-dark);border:1px solid #000000;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease}.blog-cta-button:hover{background:var(--primary-green);color:#fff;border-color:var(--primary-green);transform:translateY(-2px)}.blog-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.blog-card{background:inherit;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 8px 32px var(--shadow-medium);transition:all .3s ease;display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px var(--shadow-strong)}.blog-image{width:100%;height:350px;overflow:hidden}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.blog-content{display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-lg);flex-grow:1}.blog-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-dark);line-height:var(--line-height-tight);margin:0 0 var(--spacing-sm) 0}.blog-description{color:var(--text-medium);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-md) 0;flex-grow:1}.blog-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.author-info{display:flex;align-items:center;gap:var(--spacing-sm)}.author-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-green)}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dark)}.blog-date{font-size:var(--font-size-xs);color:var(--text-medium)}@media(max-width:768px){.blog{padding:var(--spacing-4xl) var(--spacing-md)}.blog-container{gap:var(--spacing-3xl);width:90%;padding:0 var(--spacing-md)}.blog-header{max-width:100%}.blog-main-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.blog-title{font-size:var(--font-size-3xl)}.blog-cards{grid-template-columns:1fr;gap:var(--spacing-lg)}.blog-content{padding:var(--spacing-md)}.blog-meta{flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}}@media(min-width:769px)and (max-width:1024px){.blog-container{width:85%}.blog-title{font-size:var(--font-size-4xl)}.blog-cards{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media(min-width:1025px){.blog-container{max-width:2000px}.blog-title{font-size:var(--font-size-5xl)}.blog-header{max-width:1000px}.blog-cards{gap:var(--spacing-2xl)}.blog-image{height:400px}}.blog-loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.1rem;color:var(--text-secondary);grid-column:1 / -1}.blog-card{cursor:pointer;transition:all .3s ease}.blog-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.blog-card:hover .blog-card-title{color:var(--primary-color)}.blog-card:hover .blog-image img{transform:scale(1.05)}.blog-image{overflow:hidden}.blog-image img{transition:transform .3s ease}.testimonials{padding:var(--spacing-5xl) 0;background:linear-gradient(135deg,var(--background-light) 0%,var(--soft-mint) 50%,var(--background-light) 100%);position:relative}.testimonials:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-green),transparent)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.testimonial-card{background:linear-gradient(145deg,var(--medical-white) 0%,var(--soft-mint) 100%);padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:0 8px 32px var(--shadow-soft);border:1px solid var(--border-light);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.testimonial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-green),var(--accent-teal));transform:scaleX(0);transition:transform .4s ease}.testimonial-card:hover:before{transform:scaleX(1)}.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px var(--shadow-medium);border-color:var(--primary-green);background:linear-gradient(145deg,var(--medical-white) 0%,var(--light-green) 100%)}.star-rating{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);justify-content:flex-start}.star{color:#fbbf24;font-size:var(--font-size-lg);transition:all .3s ease}.testimonial-card:hover .star{transform:scale(1.1)}.testimonial-content{margin-bottom:var(--spacing-lg)}.testimonial-text{color:var(--text-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);font-style:italic;margin-bottom:var(--spacing-md);position:relative}.testimonial-text:before{content:'"';font-size:var(--font-size-4xl);color:var(--primary-green);position:absolute;top:-var(--spacing-md);left:-var(--spacing-sm);font-family:serif;opacity:.3}.treatment-type{background:linear-gradient(135deg,var(--light-blue) 0%,var(--soft-mint) 100%);color:var(--primary-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--primary-blue);display:inline-block;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.testimonial-card:hover .treatment-type{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-teal) 100%);color:var(--medical-white);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f633}.patient-info{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.patient-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--light-green) 0%,var(--light-blue) 100%);display:flex;justify-content:center;align-items:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary-green);border:2px solid var(--primary-green);flex-shrink:0;transition:all .3s ease}.testimonial-card:hover .patient-avatar{transform:scale(1.1);box-shadow:0 4px 16px #4ade804d;border-color:var(--accent-teal)}.patient-details{flex:1}.patient-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-dark);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.patient-location{font-size:var(--font-size-sm);color:var(--text-light);line-height:var(--line-height-normal)}@media(max-width:768px){.testimonials-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.testimonial-card{padding:var(--spacing-lg)}.testimonial-text{font-size:var(--font-size-base)}}@media(min-width:769px)and (max-width:1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2xl)}}@media(min-width:1025px){.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-3xl)}}.contact{padding:var(--spacing-5xl) 0;background-color:var(--background-light)}.contact-form{max-width:600px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.contact-form input,.contact-form textarea,.contact-form select{padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);width:100%;font-family:var(--font-family-primary);color:var(--text-dark);background-color:var(--medical-white);transition:all .3s ease}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #4ade801a}.contact-form textarea{margin-bottom:var(--spacing-md);resize:vertical;min-height:120px}.contact-form select{cursor:pointer}.contact .primary-button{width:100%;padding:var(--spacing-md) var(--spacing-2xl)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-dark);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.form-error{color:#ef4444;font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-error:before{content:"⚠";font-size:var(--font-size-base)}.form-success{color:var(--primary-green);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-success:before{content:"✓";font-size:var(--font-size-base)}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-4xl);padding:var(--spacing-3xl);background:linear-gradient(135deg,var(--medical-white) 0%,var(--soft-mint) 100%);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.contact-info-item{text-align:center;padding:var(--spacing-lg);background:linear-gradient(145deg,var(--medical-white) 0%,var(--light-green) 100%);border-radius:var(--radius-lg);border:1px solid var(--primary-green);transition:all .3s ease}.contact-info-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-medium);border-color:var(--accent-teal)}.contact-info-icon{font-size:var(--font-size-3xl);color:var(--primary-green);margin-bottom:var(--spacing-md);display:flex;justify-content:center;align-items:center;width:60px;height:60px;background:linear-gradient(135deg,var(--light-green),var(--soft-mint));border-radius:50%;margin:0 auto var(--spacing-md);border:2px solid var(--primary-green);transition:all .3s ease}.contact-info-item:hover .contact-info-icon{background:linear-gradient(135deg,var(--primary-green),var(--accent-teal));color:var(--medical-white);transform:scale(1.1)}.contact-info-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-dark);margin-bottom:var(--spacing-sm)}.contact-info-details{color:var(--text-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.emergency-contact{margin-top:var(--spacing-2xl);padding:var(--spacing-xl);background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;border-radius:var(--radius-lg);text-align:center}.emergency-contact h4{color:#dc2626;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.emergency-contact h4:before{content:"🚨";font-size:var(--font-size-2xl)}.emergency-contact p{color:#7f1d1d;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:0}@media(max-width:768px){.form-row{grid-template-columns:1fr}.contact-info{grid-template-columns:1fr;gap:var(--spacing-lg);padding:var(--spacing-lg)}.contact-form{max-width:100%}}@media(min-width:769px)and (max-width:1024px){.contact-info{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2xl)}}@media(min-width:1025px){.contact-info{grid-template-columns:repeat(3,1fr);gap:var(--spacing-3xl)}}.footer{background:#f8fafc;padding:80px 0 0;position:relative;overflow:hidden}.footer{background:linear-gradient(to bottom,#f4fbff,#e4feff);padding:80px 0 0;position:relative;overflow:hidden}.footer-container{max-width:1200px;width:90%;margin:0 auto;position:relative;z-index:10}.flower-container{display:flex;justify-content:center;align-items:center;margin:60px 0 40px;position:relative}.flower-petals{position:relative;width:1000px;height:250px;display:flex;justify-content:center;align-items:flex-start}.petal{position:absolute;background:#fff;border:2px solid #e2e8f0;border-bottom:none;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center;box-shadow:0 -4px 12px #0000001a;transition:transform .3s ease;padding:40px;width:200px;height:180px;overflow:hidden}.petal-image{width:70%;height:70%;object-fit:contain;opacity:.9}.petal-1{left:20px;top:160px;transform:rotate(-55deg);transform-origin:center bottom}.petal-2{left:180px;top:60px;transform:rotate(-28deg);transform-origin:center bottom;border:1px solid var(--primary-blue)}.petal-3{left:50%;top:20px;transform:translate(-50%) rotate(0);transform-origin:center bottom;border:1px solid var(--primary-green)}.petal-4{right:180px;top:60px;transform:rotate(28deg);transform-origin:center bottom;border:1px solid var(--primary-blue)}.petal-5{right:20px;top:160px;transform:rotate(55deg);transform-origin:center bottom}.petal-1:hover{transform:rotate(-55deg) translateY(-10px) scale(1.05);box-shadow:0 -8px 20px #00000026}.petal-2:hover{transform:rotate(-28deg) translateY(-10px) scale(1.05);box-shadow:0 -8px 20px #00000026}.petal-3:hover{transform:translate(-50%) rotate(0) translateY(-10px) scale(1.05);box-shadow:0 -8px 20px #00000026}.petal-4:hover{transform:rotate(28deg) translateY(-10px) scale(1.05);box-shadow:0 -8px 20px #00000026}.petal-5:hover{transform:rotate(55deg) translateY(-10px) scale(1.05);box-shadow:0 -8px 20px #00000026}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px;position:relative;z-index:10}.logo-section{display:flex;flex-direction:column;gap:24px}.footer-logo{font-size:18px;font-weight:700;color:#1a202c;margin:0;letter-spacing:1px}.footer-address{color:#4a5568;font-size:14px;line-height:1.6}.footer-address p{margin:0 0 4px}.footer-contact{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:8px;color:#3182ce;font-size:14px;font-weight:500}.contact-icon{font-size:16px}.footer-section h4{font-size:14px;font-weight:700;color:#1a202c;margin:0 0 20px;text-transform:uppercase;letter-spacing:1px}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.footer-links a{color:#4a5568;text-decoration:none;font-size:14px;transition:color .3s ease}.footer-links a:hover{color:#3182ce}.social-links{display:flex;gap:12px}.social-link{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;text-decoration:none}.facebook{background:#3b82f6;color:#fff}.instagram{background:#ec4899;color:#fff}.social-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.footer-semicircle{position:relative;margin-top:-80px;z-index:5}.semicircle-content{background:#fff;border-bottom:none;border-radius:400px 400px 0 0;padding:50px 60px 80px;text-align:center;position:relative;max-width:800px;margin:0 auto}.semicircle-content:before{content:"";position:absolute;bottom:-2px;left:-2px;right:-2px;height:200px;background:#fff;border-radius:400px 400px 0 0;z-index:-1}.copyright{color:#4a5568;font-size:13px;margin:0 0 8px;font-weight:500;line-height:1.5}.designed-by{color:#718096;font-size:12px;margin:0}@media(max-width:768px){.footer{padding:60px 20px 40px}.footer-content{grid-template-columns:1fr;gap:40px;text-align:center;margin-bottom:40px}.footer-address,.footer-contact{text-align:center}.social-links{justify-content:center}.flower-container{margin:40px 0 20px}.flower-petals{width:500px;height:150px}.petal{width:120px;height:100px;padding:25px}.petal-1{left:30px;top:80px;transform:rotate(-45deg)}.petal-2{left:100px;top:30px;transform:rotate(-22deg)}.petal-3{left:50%;top:10px;transform:translate(-50%) rotate(0)}.petal-4{right:100px;top:30px;transform:rotate(22deg)}.petal-5{right:30px;top:80px;transform:rotate(45deg)}.petal-image{width:60%;height:60%}.footer-semicircle{margin-top:-25px}.semicircle-content{max-width:400px;padding:30px 40px 60px;border-radius:200px 200px 0 0}.semicircle-content:before{border-radius:200px 200px 0 0;height:80px}.copyright{font-size:12px}.designed-by{font-size:10px}}@media(min-width:769px)and (max-width:1024px){.footer-content{grid-template-columns:2fr 1fr 1fr;gap:40px}.flower-petals{width:650px;height:180px}.petal{width:150px;height:120px;padding:30px}.petal-1{left:40px;top:90px;transform:rotate(-48deg)}.petal-2{left:140px;top:35px;transform:rotate(-24deg)}.petal-3{left:50%;top:15px;transform:translate(-50%) rotate(0)}.petal-4{right:140px;top:35px;transform:rotate(24deg)}.petal-5{right:40px;top:90px;transform:rotate(48deg)}.petal-image{width:65%;height:65%}.footer-semicircle{margin-top:-30px}.semicircle-content{max-width:500px;padding:35px 50px 70px;border-radius:250px 250px 0 0}.semicircle-content:before{border-radius:250px 250px 0 0;height:90px}}.dashboard{display:flex;min-height:100vh;background-color:var(--color-background-light)}.dashboard-main{flex:1;display:flex;flex-direction:column;transition:margin-left .3s ease}.dashboard-main.sidebar-collapsed{margin-left:0}.dashboard-sidebar{width:280px;background:var(--color-white);border-right:1px solid var(--color-border);position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(0);transition:transform .3s ease;display:flex;flex-direction:column}.dashboard-sidebar.collapsed{transform:translate(-280px)}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--color-border)}.sidebar-logo h3{color:var(--color-primary);margin:0 0 .25rem;font-size:1.25rem}.sidebar-logo span{color:var(--color-text-secondary);font-size:.875rem}.sidebar-nav{flex:1;padding:1rem 0}.nav-menu{list-style:none;padding:0;margin:0}.nav-item{display:flex;align-items:center;width:100%;padding:.75rem 1.5rem;border:none;background:none;color:var(--color-text);text-decoration:none;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.nav-item:hover{background-color:var(--color-background-light);color:var(--color-primary)}.nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary)}.nav-icon{margin-right:.75rem;font-size:1.125rem}.nav-label{font-weight:500}.sidebar-footer{padding:1rem;border-top:1px solid var(--color-border)}.logout-btn{display:flex;align-items:center;width:100%;padding:.75rem;border:none;background:none;color:var(--color-error);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.logout-btn:hover{background-color:var(--color-error-light)}.dashboard-header{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;margin-left:280px;transition:margin-left .3s ease}.sidebar-collapsed .dashboard-header{margin-left:0}.header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger{display:flex;flex-direction:column;width:20px;height:15px;justify-content:space-between}.hamburger span{display:block;height:2px;background:var(--color-text);transition:all .3s ease}.page-title{margin:0;font-size:1.5rem;color:var(--color-text)}.header-right{display:flex;align-items:center;gap:1rem}.search-box{display:flex;align-items:center;background:var(--color-background-light);border-radius:var(--border-radius);padding:.5rem}.search-input{border:none;background:none;outline:none;padding:.25rem .5rem;width:200px}.search-btn{background:none;border:none;cursor:pointer;padding:.25rem}.notification-btn{position:relative;background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.5rem}.notification-badge{position:absolute;top:0;right:0;background:var(--color-error);color:#fff;border-radius:50%;width:18px;height:18px;font-size:.75rem;display:flex;align-items:center;justify-content:center}.user-profile{display:flex;align-items:center;gap:.5rem}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-light)}.user-name{font-weight:500;color:var(--color-text)}.dashboard-content{flex:1;padding:2rem;margin-left:280px;transition:margin-left .3s ease;overflow-y:auto}.sidebar-collapsed .dashboard-content{margin-left:0}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-background-light)}.dashboard-layout .dashboard-content{margin-left:0;padding:0}.section-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.section-header h2{margin:0;color:var(--color-text)}.section-header p{margin:.5rem 0 0;color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border);display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2rem;background:var(--color-primary-light);padding:.75rem;border-radius:var(--border-radius)}.stat-content h3{margin:0;font-size:1.75rem;color:var(--color-text)}.stat-content p{margin:.25rem 0;color:var(--color-text-secondary);font-size:.875rem}.stat-change{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--border-radius)}.stat-change.positive{background:var(--color-success-light);color:var(--color-success)}.stat-change.negative{background:var(--color-error-light);color:var(--color-error)}.dashboard-widgets{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.widget{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.widget h3{margin:0 0 1rem;color:var(--color-text)}.appointments-list{display:flex;flex-direction:column;gap:.75rem}.appointment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-background-light);border-radius:var(--border-radius)}.appointment-info strong{display:block;color:var(--color-text)}.appointment-info span{color:var(--color-text-secondary);font-size:.875rem}.appointment-time{color:var(--color-primary);font-weight:500}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.action-btn{padding:.75rem;background:var(--color-primary-light);color:var(--color-primary);border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.action-btn:hover{background:var(--color-primary);color:#fff}@media(max-width:768px){.dashboard-sidebar{transform:translate(-280px)}.dashboard-sidebar.open{transform:translate(0)}.dashboard-header,.dashboard-content{margin-left:0}.sidebar-toggle{display:block}.stats-grid,.dashboard-widgets{grid-template-columns:1fr}.search-input{width:150px}.header-actions{gap:.5rem}.user-name{display:none}}.patients-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.patients-table{background:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);overflow:hidden}.patients-table table{width:100%;border-collapse:collapse}.patients-table th,.patients-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.patients-table th{background:var(--color-background-light);font-weight:600;color:var(--color-text)}.status{padding:.25rem .75rem;border-radius:var(--border-radius);font-size:.875rem;font-weight:500}.status.active{background:var(--color-success-light);color:var(--color-success)}.status.inactive{background:var(--color-error-light);color:var(--color-error)}.action-buttons{display:flex;gap:.5rem}.btn-view,.btn-edit,.btn-delete,.btn-download,.btn-share,.btn-cancel{padding:.375rem .75rem;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-view{background:var(--color-primary-light);color:var(--color-primary)}.btn-edit{background:var(--color-warning-light);color:var(--color-warning)}.btn-delete,.btn-cancel{background:var(--color-error-light);color:var(--color-error)}.btn-download,.btn-share{background:var(--color-info-light);color:var(--color-info)}.date-input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--border-radius)}.view-btn{padding:.5rem 1rem;border:1px solid var(--color-border);background:var(--color-white);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.view-btn.active,.view-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.appointments-calendar{background:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);padding:1.5rem;margin-bottom:2rem}.appointment-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-background-light);border-radius:var(--border-radius);border-left:4px solid var(--color-primary)}.appointment-time{font-weight:600;color:var(--color-primary);min-width:80px}.appointment-details h4{margin:0 0 .25rem;color:var(--color-text)}.appointment-details p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.appointment-status{padding:.25rem .75rem;border-radius:var(--border-radius);font-size:.75rem;font-weight:500;margin-top:.5rem;display:inline-block}.appointment-status.confirmed{background:var(--color-success-light);color:var(--color-success)}.appointment-status.pending{background:var(--color-warning-light);color:var(--color-warning)}.appointment-status.cancelled{background:var(--color-error-light);color:var(--color-error)}.appointment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border);text-align:center}.stat-label{color:var(--color-text-secondary);font-size:.875rem}.reports-controls{margin-bottom:2rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{padding:.75rem 1.5rem;border:none;background:var(--color-background-light);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.tab.active,.tab:hover{background:var(--color-primary);color:#fff}.search-export{display:flex;justify-content:space-between;align-items:center;gap:1rem}.export-btn{padding:.75rem 1.5rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.export-btn:hover{background:var(--color-success-dark)}.reports-summary{margin-top:2rem}.summary-card{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.summary-stats{display:flex;justify-content:space-around;margin-top:1rem}.summary-item{text-align:center}.summary-item .number{display:block;font-size:1.5rem;font-weight:700;color:var(--color-primary)}.summary-item .label{color:var(--color-text-secondary);font-size:.875rem}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.chart-container,.metrics-container,.insights-container{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.chart-placeholder{height:200px;background:var(--color-background-light);border-radius:var(--border-radius);display:flex;align-items:end;justify-content:center;padding:1rem}.chart-bars{display:flex;align-items:end;gap:1rem;height:100%}.chart-bar{display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar{width:30px;background:var(--color-primary);border-radius:var(--border-radius) var(--border-radius) 0 0;min-height:20px}.bar-label{font-size:.75rem;color:var(--color-text-secondary)}.revenue-chart{display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center}.revenue-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-white);border-radius:var(--border-radius)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric-card{text-align:center;padding:1rem;background:var(--color-background-light);border-radius:var(--border-radius)}.metric-value{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.metric-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.metric-change{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--border-radius)}.insights-list{display:flex;flex-direction:column;gap:1rem}.insight-item{display:flex;gap:1rem;padding:1rem;background:var(--color-background-light);border-radius:var(--border-radius)}.insight-icon{font-size:1.5rem}.insight-content h4{margin:0 0 .5rem;color:var(--color-text)}.insight-content p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.settings-tabs .tab{border-bottom:2px solid transparent;border-radius:0;background:none}.settings-tabs .tab.active{border-bottom-color:var(--color-primary);background:none;color:var(--color-primary)}.settings-content{background:var(--color-white);padding:2rem;border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.profile-form{max-width:500px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem}.save-btn{padding:.75rem 2rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.save-btn:hover{background:var(--color-primary-dark)}.settings-group{display:flex;flex-direction:column;gap:1.5rem}.setting-item{padding:1rem;background:var(--color-background-light);border-radius:var(--border-radius)}.setting-item label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.setting-item p{margin:.5rem 0 0 1.5rem;color:var(--color-text-secondary);font-size:.875rem}.security-options,.system-options{display:flex;flex-direction:column;gap:1.5rem}.security-item{padding:1.5rem;background:var(--color-background-light);border-radius:var(--border-radius)}.security-item h4{margin:0 0 .5rem;color:var(--color-text)}.security-item p{margin:0 0 1rem;color:var(--color-text-secondary)}.change-password-btn,.enable-2fa-btn,.manage-sessions-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.change-password-btn:hover,.enable-2fa-btn:hover,.manage-sessions-btn:hover{background:var(--color-primary-dark)}.patients-section,.appointments-section,.analytics-section,.services-section{display:flex;flex-direction:column;gap:1.5rem}.add-service-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.services-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.services-tabs .tab{padding:.75rem 1.5rem;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.services-tabs .tab:hover{color:var(--color-text)}.services-tabs .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.services-content{flex:1}.services-controls,.billing-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.services-table,.billing-table{background:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);overflow:hidden}.services-table table,.billing-table table{width:100%;border-collapse:collapse}.services-table th,.services-table td,.billing-table th,.billing-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.services-table th,.billing-table th{background:var(--color-background-light);font-weight:600;color:var(--color-text)}.service-info strong{color:var(--color-text)}.service-info p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.btn-toggle{padding:.375rem .75rem;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-activate{background:var(--color-success-light);color:var(--color-success)}.btn-deactivate{background:var(--color-warning-light);color:var(--color-warning)}.btn-mark-paid{padding:.375rem .75rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-mark-paid:hover:not(:disabled){background:var(--color-success-dark)}.service-form textarea{resize:vertical;min-height:80px}.status.paid{background:var(--color-success-light);color:var(--color-success)}.status.pending{background:var(--color-warning-light);color:var(--color-warning)}.status.overdue{background:var(--color-error-light);color:var(--color-error)}.header-left{display:flex;flex-direction:column;gap:.25rem}.last-updated{font-size:.875rem;color:var(--color-text-secondary);margin:0}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.custom-date-inputs{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.custom-date-inputs input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:.875rem}.export-controls{display:flex;align-items:center;gap:.5rem}.export-controls select{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:.875rem}.export-btn,.refresh-btn{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.export-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:var(--color-primary-dark)}.export-btn:disabled,.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.no-data,.no-insights{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-secondary);font-style:italic}.chart-bars{display:flex;align-items:end;justify-content:space-around;height:150px;padding:1rem}.chart-bar{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:60px}.bar{width:100%;background:linear-gradient(to top,var(--color-primary),var(--color-primary-light));border-radius:var(--border-radius) var(--border-radius) 0 0;min-height:10px;transition:all .3s ease}.bar:hover{background:linear-gradient(to top,var(--color-primary-dark),var(--color-primary))}.bar-label{font-size:.75rem;color:var(--color-text-secondary);text-align:center}.revenue-chart{display:flex;flex-direction:column;gap:.75rem;padding:1rem;max-height:150px;overflow-y:auto}.revenue-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-background-light);border-radius:var(--border-radius);transition:background-color .2s ease}.revenue-item:hover{background:var(--color-primary-light)}.revenue-item .month{font-weight:500;color:var(--color-text)}.revenue-item .amount{font-weight:600;color:var(--color-primary)}.schedule-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.appointment-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--color-white);border-radius:var(--border-radius);border:1px solid var(--color-border);margin-bottom:1rem;transition:box-shadow .2s ease}.appointment-card:hover{box-shadow:0 2px 8px #0000001a}.appointment-time{font-weight:600;color:var(--color-primary);min-width:80px;font-size:.875rem}.appointment-details h4{margin:0 0 .25rem;color:var(--color-text);font-size:1rem}.appointment-details p{margin:0 0 .25rem;color:var(--color-text-secondary);font-size:.875rem}.appointment-date{font-weight:500;color:var(--color-text)!important}.appointment-notes{font-style:italic;color:var(--color-text-secondary)!important;font-size:.8rem!important}.appointment-actions{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.btn-confirm{padding:.375rem .75rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-confirm:hover:not(:disabled){background:var(--color-success-dark)}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.appointment-form textarea{resize:vertical;min-height:80px}.add-patient-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.add-patient-btn:hover:not(:disabled){background:var(--color-primary-dark)}.add-patient-btn:disabled{opacity:.6;cursor:not-allowed}.search-input,.filter-select{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem}.search-input:disabled,.filter-select:disabled{opacity:.6;cursor:not-allowed}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary);background:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.error-message{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-error-light);color:var(--color-error);border-radius:var(--border-radius);border:1px solid var(--color-error);margin-bottom:1rem}.close-error{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:1.25rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:var(--color-background-light);border-top:1px solid var(--color-border)}.pagination-btn{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--color-primary-dark)}.pagination-btn:disabled{background:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed}.pagination-info{color:var(--color-text-secondary);font-size:.875rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{background:var(--color-white);border-radius:var(--border-radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #00000026}.modal-header h3{margin:0;color:var(--color-text)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all .2s ease}.modal-close:hover{background:var(--color-background-light);color:var(--color-text)}.patient-details{display:flex;flex-direction:column;gap:1rem}.detail-group label{font-weight:600;color:var(--color-text);font-size:.875rem}.detail-group span{color:var(--color-text-secondary);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.patient-form{display:flex;flex-direction:column;gap:1.5rem}.patient-form h4{margin:1rem 0 .5rem;color:var(--color-text);font-size:1.125rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.form-group label{font-weight:500;color:var(--color-text);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--color-error)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--color-background-light);opacity:.6;cursor:not-allowed}.field-error{color:var(--color-error);font-size:.75rem;margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn-cancel{padding:.75rem 1.5rem;background:var(--color-background-light);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:var(--color-border)}.btn-submit{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}@media(max-width:1024px){.analytics-grid,.dashboard-widgets{grid-template-columns:1fr}.modal-content{max-width:90vw}}@media(max-width:768px){.patients-controls,.appointments-controls,.search-export{flex-direction:column;align-items:stretch}.stats-grid,.appointment-stats,.summary-stats,.metrics-grid,.quick-actions{grid-template-columns:1fr}.patients-table{overflow-x:auto}.appointment-card{flex-direction:column;align-items:flex-start}.appointment-actions{align-self:stretch;display:flex;gap:.5rem}.form-row{grid-template-columns:1fr}.modal-overlay{padding:.5rem}.modal-content{max-width:100%;max-height:95vh}.modal-header,.modal-body{padding:1rem}.form-actions{flex-direction:column}.action-buttons{flex-direction:column;gap:.25rem}.action-buttons button{font-size:.75rem;padding:.25rem .5rem}}.status-badge.active{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.inactive{background:var(--color-gray-100);color:var(--color-gray-700)}.btn-status{padding:.5rem 1rem;border:none;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-activate{background:var(--color-success);color:#fff}.btn-activate:hover{background:var(--color-success-dark);transform:translateY(-1px)}.btn-deactivate{background:var(--color-warning);color:#fff}.btn-deactivate:hover{background:var(--color-warning-dark);transform:translateY(-1px)}.action-buttons button{flex:1;min-width:80px}@media(max-width:768px){.patients-table table{min-width:800px}.action-buttons{flex-direction:column}.action-buttons button{width:100%;margin-bottom:.25rem}}.btn-status:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-status:disabled:hover{transform:none!important;background-color:inherit}.btn-status:disabled{position:relative}.btn-status:disabled:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.billing-section{padding:1.5rem;background:var(--color-background);min-height:100vh}.billing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-white);padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.stat-card h3{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin:0;line-height:1.2}.billing-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.billing-table{background:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--color-border)}.billing-table th{background:var(--color-background);font-weight:600;color:var(--color-text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.billing-table tbody tr:hover{background:var(--color-background)}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-badge.success{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge.danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.status-badge.secondary{background:var(--color-gray-100);color:var(--color-gray-700)}.overdue-indicator{display:block;font-size:.75rem;color:var(--color-danger);font-weight:500;margin-top:.25rem}.btn-pay{background:var(--color-success);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-pay:hover{background:var(--color-success-dark);transform:translateY(-1px)}.btn-view{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-view:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.payment-form{display:flex;flex-direction:column;gap:1rem}.bill-summary{background:var(--color-background);padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem;border:1px solid var(--color-border)}.bill-summary p{margin:.5rem 0;color:var(--color-text-primary)}.bill-summary strong{color:var(--color-text-primary);font-weight:600}@media(max-width:768px){.billing-section{padding:1rem}.billing-stats{grid-template-columns:1fr}.billing-controls{flex-direction:column;align-items:stretch}.billing-table{overflow-x:auto}.billing-table table{min-width:600px}.action-buttons{display:flex;flex-direction:column;gap:.5rem}.action-buttons button{width:100%}}@media(max-width:480px){.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.billing-table th,.billing-table td{padding:.75rem .5rem;font-size:.875rem}}.btn-invoice{background-color:#3b82f6;color:#fff;padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .2s}.btn-invoice:hover:not(:disabled){background-color:#2563eb}.btn-invoice:disabled{opacity:.5;cursor:not-allowed}.btn-download{background-color:#10b981;color:#fff;padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s;margin-left:5px}.btn-download:hover:not(:disabled){background-color:#059669}.btn-download:disabled{opacity:.5;cursor:not-allowed}.btn-email{background-color:#8b5cf6;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-email:hover:not(:disabled){background-color:#7c3aed}.btn-email:disabled{opacity:.5;cursor:not-allowed}.invoice-modal{max-width:600px;width:90%}.invoice-details{padding:20px 0}.invoice-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.info-group{display:flex;flex-direction:column;gap:5px}.info-group label{font-size:12px;color:#6b7280;font-weight:500;text-transform:uppercase}.info-group span{font-size:14px;color:#1f2937;font-weight:500}.invoice-number{color:#3b82f6;font-weight:600;font-size:16px}.info-group .amount{color:#10b981;font-weight:600;font-size:16px}.invoice-stats{background-color:#f3f4f6;padding:15px;border-radius:6px;margin-top:20px}.invoice-stats p{margin:5px 0;font-size:14px}.invoice-stats small{color:#6b7280}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid #e5e7eb}.btn-secondary{background-color:#6b7280;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-secondary:hover{background-color:#4b5563}.btn-primary{background-color:#3b82f6;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.invoice-info-grid{grid-template-columns:1fr;gap:15px}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.error-boundary,.api-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:var(--color-background-light, #f8f9fa);border-radius:8px;border:1px solid var(--color-border-light, #e9ecef)}.error-boundary__content,.api-error-boundary__content{text-align:center;max-width:500px;width:100%}.error-boundary__icon,.api-error-boundary__icon{display:flex;justify-content:center;margin-bottom:1.5rem;color:var(--color-error, #dc3545)}.error-boundary__title,.api-error-boundary__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary, #212529);margin-bottom:1rem}.error-boundary__message,.api-error-boundary__message{font-size:1rem;color:var(--color-text-secondary, #6c757d);line-height:1.5;margin-bottom:1.5rem}.api-error-boundary__status{font-size:.875rem;color:var(--color-text-muted, #868e96);margin-bottom:1.5rem;font-family:monospace}.error-boundary__actions,.api-error-boundary__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.error-boundary__button,.api-error-boundary__button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:120px}.error-boundary__button--primary,.api-error-boundary__button--primary{background-color:var(--color-primary, #007bff);color:#fff}.error-boundary__button--primary:hover,.api-error-boundary__button--primary:hover{background-color:var(--color-primary-dark, #0056b3);transform:translateY(-1px)}.error-boundary__button--secondary,.api-error-boundary__button--secondary{background-color:var(--color-background-white, #ffffff);color:var(--color-text-primary, #212529);border:1px solid var(--color-border, #dee2e6)}.error-boundary__button--secondary:hover,.api-error-boundary__button--secondary:hover{background-color:var(--color-background-light, #f8f9fa);border-color:var(--color-border-dark, #adb5bd)}.error-boundary__details{margin-top:2rem;text-align:left;background-color:var(--color-background-white, #ffffff);border:1px solid var(--color-border, #dee2e6);border-radius:6px;padding:1rem}.error-boundary__details summary{cursor:pointer;font-weight:500;color:var(--color-text-primary, #212529);margin-bottom:.5rem}.error-boundary__details summary:hover{color:var(--color-primary, #007bff)}.error-boundary__error-info{margin-top:1rem}.error-boundary__error-info h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #212529);margin:1rem 0 .5rem}.error-boundary__error-info pre{background-color:var(--color-background-light, #f8f9fa);border:1px solid var(--color-border, #dee2e6);border-radius:4px;padding:.75rem;font-size:.75rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary, #6c757d)}.api-error-boundary__help{margin-top:1rem;padding:1rem;background-color:var(--color-info-light, #e7f3ff);border:1px solid var(--color-info, #0dcaf0);border-radius:6px;font-size:.875rem;color:var(--color-info-dark, #055160)}@media(max-width:768px){.error-boundary,.api-error-boundary{padding:1rem;min-height:300px}.error-boundary__actions,.api-error-boundary__actions{flex-direction:column;align-items:center}.error-boundary__button,.api-error-boundary__button{width:100%;max-width:200px}.error-boundary__title,.api-error-boundary__title{font-size:1.25rem}}@media(prefers-color-scheme:dark){.error-boundary,.api-error-boundary{background-color:var(--color-background-dark, #1a1a1a);border-color:var(--color-border-dark, #333)}.error-boundary__title,.api-error-boundary__title{color:var(--color-text-primary-dark, #ffffff)}.error-boundary__message,.api-error-boundary__message{color:var(--color-text-secondary-dark, #b0b0b0)}.error-boundary__details{background-color:var(--color-background-dark, #2a2a2a);border-color:var(--color-border-dark, #333)}.error-boundary__error-info pre{background-color:var(--color-background-darker, #1a1a1a);border-color:var(--color-border-dark, #333);color:var(--color-text-secondary-dark, #b0b0b0)}}.progress-bar{width:100%}.progress-bar__label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary, #212529)}.progress-bar__percentage{color:var(--color-text-secondary, #6c757d);font-size:.75rem}.progress-bar__track{width:100%;background-color:var(--color-background-light, #f8f9fa);border-radius:4px;overflow:hidden;position:relative}.progress-bar--small .progress-bar__track{height:4px}.progress-bar--medium .progress-bar__track{height:8px}.progress-bar--large .progress-bar__track{height:12px}.progress-bar__fill{height:100%;transition:width .3s ease;border-radius:inherit}.progress-bar__fill--primary{background-color:var(--color-primary, #007bff)}.progress-bar__fill--success{background-color:var(--color-success, #28a745)}.progress-bar__fill--warning{background-color:var(--color-warning, #ffc107)}.progress-bar__fill--error{background-color:var(--color-error, #dc3545)}.progress-bar__fill--animated{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-bar-stripes 1s linear infinite}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.circular-progress{position:relative;display:inline-flex;align-items:center;justify-content:center}.circular-progress__svg{transform:rotate(-90deg)}.circular-progress__background{opacity:.2}.circular-progress__progress{transition:stroke-dashoffset .3s ease}.circular-progress__progress--primary{stroke:var(--color-primary, #007bff)}.circular-progress__progress--success{stroke:var(--color-success, #28a745)}.circular-progress__progress--warning{stroke:var(--color-warning, #ffc107)}.circular-progress__progress--error{stroke:var(--color-error, #dc3545)}.circular-progress__text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--color-text-primary, #212529)}.step-progress{width:100%}.step-progress__track{display:flex;align-items:flex-start;gap:1rem;position:relative}.step-progress__step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.step-progress__step:not(:last-child):after{content:"";position:absolute;top:1rem;left:calc(50% + 1rem);right:calc(-50% + 1rem);height:2px;background-color:var(--color-border, #dee2e6);z-index:1}.step-progress__step--completed:not(:last-child):after{background-color:var(--color-success, #28a745)}.step-progress__indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;margin-bottom:.5rem;position:relative;z-index:2;transition:all .2s ease}.step-progress__step--pending .step-progress__indicator{background-color:var(--color-background-light, #f8f9fa);border:2px solid var(--color-border, #dee2e6);color:var(--color-text-secondary, #6c757d)}.step-progress__step--active .step-progress__indicator{background-color:var(--color-primary, #007bff);border:2px solid var(--color-primary, #007bff);color:#fff}.step-progress__step--completed .step-progress__indicator{background-color:var(--color-success, #28a745);border:2px solid var(--color-success, #28a745);color:#fff}.step-progress__indicator--primary.step-progress__step--active .step-progress__indicator{background-color:var(--color-primary, #007bff);border-color:var(--color-primary, #007bff)}.step-progress__label{font-size:.875rem;font-weight:500;color:var(--color-text-primary, #212529);margin-bottom:.25rem}.step-progress__step--pending .step-progress__label{color:var(--color-text-secondary, #6c757d)}.step-progress__description{font-size:.75rem;color:var(--color-text-secondary, #6c757d);line-height:1.4}@media(max-width:768px){.step-progress__track{flex-direction:column;gap:1.5rem}.step-progress__step{flex-direction:row;text-align:left;align-items:center}.step-progress__step:not(:last-child):after{top:calc(100% + .75rem);left:1rem;right:auto;width:2px;height:1.5rem}.step-progress__indicator{margin-right:1rem;margin-bottom:0;flex-shrink:0}.step-progress__content{flex:1}}@media(prefers-color-scheme:dark){.progress-bar__track{background-color:var(--color-background-dark, #2a2a2a)}.circular-progress__text,.step-progress__label{color:var(--color-text-primary-dark, #ffffff)}.step-progress__step--pending .step-progress__label,.step-progress__description{color:var(--color-text-secondary-dark, #b0b0b0)}}.toast{position:relative;min-width:300px;max-width:500px;background-color:var(--color-background-white, #ffffff);border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-border, #dee2e6);overflow:hidden;margin-bottom:.75rem;transform:translate(100%);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.toast--visible{transform:translate(0);opacity:1}.toast--hidden{transform:translate(100%);opacity:0}.toast--top-right{transform:translate(100%)}.toast--top-left{transform:translate(-100%)}.toast--bottom-right{transform:translate(100%)}.toast--bottom-left{transform:translate(-100%)}.toast--visible.toast--top-left,.toast--visible.toast--bottom-left{transform:translate(0)}.toast--success{border-left:4px solid var(--color-success, #28a745)}.toast--error{border-left:4px solid var(--color-error, #dc3545)}.toast--warning{border-left:4px solid var(--color-warning, #ffc107)}.toast--info{border-left:4px solid var(--color-info, #17a2b8)}.toast__progress{position:absolute;top:0;left:0;height:3px;background-color:currentColor;transition:width .1s linear;z-index:1}.toast--success .toast__progress{background-color:var(--color-success, #28a745)}.toast--error .toast__progress{background-color:var(--color-error, #dc3545)}.toast--warning .toast__progress{background-color:var(--color-warning, #ffc107)}.toast--info .toast__progress{background-color:var(--color-info, #17a2b8)}.toast__content{display:flex;align-items:flex-start;padding:1rem;gap:.75rem}.toast__icon{flex-shrink:0;margin-top:.125rem}.toast--success .toast__icon{color:var(--color-success, #28a745)}.toast--error .toast__icon{color:var(--color-error, #dc3545)}.toast--warning .toast__icon{color:var(--color-warning, #ffc107)}.toast--info .toast__icon{color:var(--color-info, #17a2b8)}.toast__body{flex:1;min-width:0}.toast__message{font-size:.875rem;font-weight:500;color:var(--color-text-primary, #212529);line-height:1.4;margin-bottom:.25rem}.toast__details{font-size:.75rem;color:var(--color-text-secondary, #6c757d);line-height:1.4;word-break:break-word}.toast__actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.toast__action{padding:.375rem .75rem;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.toast__action--primary{background-color:var(--color-primary, #007bff);color:#fff}.toast__action--primary:hover{background-color:var(--color-primary-dark, #0056b3)}.toast__action--secondary{background-color:transparent;color:var(--color-text-secondary, #6c757d);border:1px solid var(--color-border, #dee2e6)}.toast__action--secondary:hover{background-color:var(--color-background-light, #f8f9fa);color:var(--color-text-primary, #212529)}.toast__close{flex-shrink:0;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-secondary, #6c757d);border-radius:4px;transition:all .2s ease;margin-top:-.125rem;margin-right:-.25rem}.toast__close:hover{background-color:var(--color-background-light, #f8f9fa);color:var(--color-text-primary, #212529)}.toast__close:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}@media(max-width:768px){.toast{min-width:280px;max-width:calc(100vw - 2rem);margin-left:1rem;margin-right:1rem}.toast__content{padding:.75rem}.toast__actions{flex-direction:column}.toast__action{width:100%;justify-content:center}}@media(prefers-color-scheme:dark){.toast{background-color:var(--color-background-dark, #2a2a2a);border-color:var(--color-border-dark, #333);box-shadow:0 4px 12px #0000004d}.toast__message{color:var(--color-text-primary-dark, #ffffff)}.toast__details,.toast__close{color:var(--color-text-secondary-dark, #b0b0b0)}.toast__close:hover{background-color:var(--color-background-darker, #1a1a1a);color:var(--color-text-primary-dark, #ffffff)}.toast__action--secondary{color:var(--color-text-secondary-dark, #b0b0b0);border-color:var(--color-border-dark, #333)}.toast__action--secondary:hover{background-color:var(--color-background-darker, #1a1a1a);color:var(--color-text-primary-dark, #ffffff)}}@keyframes toast-slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes toast-slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.network-status{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:6px;border:1px solid var(--color-border, #dee2e6);background-color:var(--color-background-white, #ffffff);font-size:.875rem;transition:all .2s ease}.network-status__indicator{display:flex;align-items:center;gap:.5rem}.network-status__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.network-status__text{font-weight:500}.network-status--online{border-color:var(--color-success, #28a745);background-color:var(--color-success-light, #d4edda)}.network-status--online .network-status__icon{color:var(--color-success, #28a745)}.network-status--online .network-status__text{color:var(--color-success-dark, #155724)}.network-status--slow{border-color:var(--color-warning, #ffc107);background-color:var(--color-warning-light, #fff3cd)}.network-status--slow .network-status__icon{color:var(--color-warning, #ffc107)}.network-status--slow .network-status__text{color:var(--color-warning-dark, #856404)}.network-status--offline{border-color:var(--color-error, #dc3545);background-color:var(--color-error-light, #f8d7da)}.network-status--offline .network-status__icon{color:var(--color-error, #dc3545)}.network-status--offline .network-status__text{color:var(--color-error-dark, #721c24)}.network-status--queued{border-color:var(--color-info, #17a2b8);background-color:var(--color-info-light, #d1ecf1)}.network-status--queued .network-status__icon{color:var(--color-info, #17a2b8)}.network-status--queued .network-status__text{color:var(--color-info-dark, #0c5460)}.network-status__details{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-light, #f1f3f4)}.network-status__connection-type{font-size:.75rem;font-weight:600;color:var(--color-text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.5px}.network-status__queue-actions{display:flex;gap:.5rem}.network-status__action{padding:.375rem .75rem;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.network-status__action:disabled{opacity:.6;cursor:not-allowed}.network-status__action--retry{background-color:var(--color-primary, #007bff);color:#fff}.network-status__action--retry:hover:not(:disabled){background-color:var(--color-primary-dark, #0056b3)}.network-status__action--clear{background-color:transparent;color:var(--color-text-secondary, #6c757d);border:1px solid var(--color-border, #dee2e6)}.network-status__action--clear:hover{background-color:var(--color-background-light, #f8f9fa);color:var(--color-text-primary, #212529)}.network-status-badge{position:relative;display:inline-flex;align-items:center;justify-content:center}.network-status-badge__dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.network-status-badge__dot--warning{background-color:var(--color-warning, #ffc107)}.network-status-badge__dot--error{background-color:var(--color-error, #dc3545)}.network-status-badge__count{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:var(--color-error, #dc3545);color:#fff;font-size:.625rem;font-weight:600;border-radius:8px;padding:0 4px;line-height:1}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.network-status--compact{padding:.5rem;flex-direction:row;align-items:center}.network-status--compact .network-status__details{padding-top:0;padding-left:.5rem;border-top:none;border-left:1px solid var(--color-border-light, #f1f3f4);flex-direction:row;align-items:center}.network-status--compact .network-status__queue-actions{margin-left:.5rem}@media(max-width:768px){.network-status{font-size:.75rem}.network-status__queue-actions{flex-direction:column}.network-status__action{width:100%;justify-content:center}.network-status--compact .network-status__details{flex-direction:column;align-items:flex-start}.network-status--compact .network-status__queue-actions{margin-left:0;margin-top:.5rem;width:100%}}@media(prefers-color-scheme:dark){.network-status{background-color:var(--color-background-dark, #2a2a2a);border-color:var(--color-border-dark, #333)}.network-status--online{background-color:#28a7451a;border-color:var(--color-success, #28a745)}.network-status--slow{background-color:#ffc1071a;border-color:var(--color-warning, #ffc107)}.network-status--offline{background-color:#dc35451a;border-color:var(--color-error, #dc3545)}.network-status--queued{background-color:#17a2b81a;border-color:var(--color-info, #17a2b8)}.network-status__connection-type{color:var(--color-text-secondary-dark, #b0b0b0)}.network-status__action--clear{color:var(--color-text-secondary-dark, #b0b0b0);border-color:var(--color-border-dark, #333)}.network-status__action--clear:hover{background-color:var(--color-background-darker, #1a1a1a);color:var(--color-text-primary-dark, #ffffff)}}.breadcrumb{padding:1rem 1.5rem;background-color:var(--color-background);border-bottom:1px solid var(--color-border);margin-bottom:0}.breadcrumb-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:.5rem}.breadcrumb-item{display:flex;align-items:center;gap:.5rem}.breadcrumb-link{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.breadcrumb-link:hover{color:var(--color-primary);background-color:var(--color-primary-light)}.breadcrumb-current{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;color:var(--color-text-primary);font-size:.875rem;font-weight:600}.breadcrumb-icon{width:1rem;height:1rem;flex-shrink:0}.breadcrumb-separator{width:1rem;height:1rem;color:var(--color-text-muted);flex-shrink:0}@media(max-width:768px){.breadcrumb{padding:.75rem 1rem}.breadcrumb-link,.breadcrumb-current{font-size:.8125rem;padding:.1875rem .375rem}.breadcrumb-icon,.breadcrumb-separator{width:.875rem;height:.875rem}}@media(prefers-color-scheme:dark){.breadcrumb{background-color:var(--color-background-dark, #1a1a1a);border-bottom-color:var(--color-border-dark, #333)}.breadcrumb-link{color:var(--color-text-secondary-dark, #a0a0a0)}.breadcrumb-link:hover{color:var(--color-primary-dark, #60a5fa);background-color:var(--color-primary-light-dark, rgba(96, 165, 250, .1))}.breadcrumb-current{color:var(--color-text-primary-dark, #ffffff)}.breadcrumb-separator{color:var(--color-text-muted-dark, #666)}}@media(prefers-contrast:high){.breadcrumb{border-bottom-width:2px}.breadcrumb-link{border:1px solid transparent}.breadcrumb-link:hover,.breadcrumb-link:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:2px}}.breadcrumb-link:focus{outline:2px solid var(--color-primary);outline-offset:2px}.breadcrumb-item{animation:breadcrumbFadeIn .3s ease-in-out}@keyframes breadcrumbFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group.has-error .form-label{color:var(--color-error, #dc3545)}.form-label{font-weight:500;font-size:.875rem;color:var(--color-text-primary, #333);margin-bottom:.25rem}.required-indicator{color:var(--color-error, #dc3545);margin-left:.25rem}.form-input,.form-checkbox,.form-radio{padding:.75rem;border:1px solid var(--color-border, #ddd);border-radius:.375rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--color-background, #fff)}.form-input:focus,.form-checkbox:focus,.form-radio:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.form-input:disabled,.form-checkbox:disabled,.form-radio:disabled{background-color:var(--color-background-disabled, #f8f9fa);color:var(--color-text-disabled, #6c757d);cursor:not-allowed}.form-input.error,.form-checkbox.error,.form-radio.error{border-color:var(--color-error, #dc3545)}.form-input.error:focus,.form-checkbox.error:focus,.form-radio.error:focus{border-color:var(--color-error, #dc3545);box-shadow:0 0 0 2px #dc354540}.error-message{color:var(--color-error, #dc3545);font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message:before{content:"⚠";font-size:.75rem}textarea.form-input{resize:vertical;min-height:3rem}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-checkbox,.form-radio{width:1.25rem;height:1.25rem;padding:0;cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.radio-label input[type=radio]{margin:0}.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-row-gap-small{gap:.5rem}.form-row-gap-medium{gap:1rem}.form-row-gap-large{gap:1.5rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-section{margin-bottom:1.5rem}.form-section-header{margin-bottom:1rem}.form-section-header.collapsible{cursor:pointer;user-select:none}.form-section-header.collapsible:hover .form-section-title{color:var(--color-primary, #007bff)}.form-section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333);margin:0 0 .25rem;display:flex;align-items:center;justify-content:space-between}.form-section-description{font-size:.875rem;color:var(--color-text-secondary, #666);margin:0}.form-section-toggle{font-size:1.25rem;font-weight:700;color:var(--color-primary, #007bff);transition:transform .2s ease}.form-section-toggle.expanded,.form-section-toggle.collapsed{transform:rotate(0)}.form-section-content{display:flex;flex-direction:column;gap:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #ddd)}.form-actions .btn{min-width:120px}@media(max-width:480px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.form.loading{opacity:.7;pointer-events:none}.form-group.success .form-input{border-color:var(--color-success, #28a745)}.form-group.success .form-input:focus{border-color:var(--color-success, #28a745);box-shadow:0 0 0 2px #28a74540}input[type=file].form-input{padding:.5rem;cursor:pointer}input[type=file].form-input::-webkit-file-upload-button{background-color:var(--color-primary, #007bff);color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;margin-right:.5rem}input[type=file].form-input::-webkit-file-upload-button:hover{background-color:var(--color-primary-dark, #0056b3)}input[type=date].form-input,input[type=time].form-input,input[type=datetime-local].form-input{cursor:pointer}input[type=number].form-input{-moz-appearance:textfield}input[type=number].form-input::-webkit-outer-spin-button,input[type=number].form-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.appointments-section{padding:1.5rem;background:var(--color-background);border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.schedule-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.schedule-btn:hover:not(:disabled){background:var(--color-primary-dark)}.schedule-btn:disabled{opacity:.6;cursor:not-allowed}.appointments-controls{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.date-selector{display:flex;align-items:center;gap:.5rem}.date-selector label{font-weight:500;color:var(--color-text)}.date-input{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem}.view-options{display:flex;gap:.5rem}.view-btn{padding:.5rem 1rem;border:1px solid var(--color-border);background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.view-btn:hover:not(:disabled){background:var(--color-light)}.view-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.view-btn:disabled{opacity:.6;cursor:not-allowed}.appointments-calendar{margin-bottom:2rem}.calendar-header h3{color:var(--color-text);margin:0 0 1rem;font-size:1.2rem;font-weight:500}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-card{display:flex;gap:1rem;padding:1.5rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;transition:box-shadow .2s}.appointment-card:hover{box-shadow:0 4px 8px #0000001a}.appointment-time{font-weight:600;color:var(--color-primary);font-size:1.1rem;min-width:80px;flex-shrink:0}.appointment-details{flex:1}.appointment-details h4{margin:0 0 .5rem;color:var(--color-text);font-size:1.1rem}.appointment-details p{margin:.25rem 0;color:var(--color-text-light);font-size:.9rem}.appointment-date{font-weight:500;color:var(--color-text)}.appointment-notes{font-style:italic;color:var(--color-text-light)}.appointment-status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.appointment-status.pending{background:#fff3cd;color:#856404}.appointment-status.confirmed{background:#d1ecf1;color:#0c5460}.appointment-status.completed{background:#d4edda;color:#155724}.appointment-status.cancelled{background:#f8d7da;color:#721c24}.appointment-actions{display:flex;flex-direction:column;gap:.5rem;min-width:100px}.appointment-actions button{padding:.5rem 1rem;border:1px solid;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.btn-confirm{background:#fff;color:#28a745;border-color:#28a745}.btn-confirm:hover{background:#28a745;color:#fff}.btn-cancel{background:#fff;color:#dc3545;border-color:#dc3545}.btn-cancel:hover{background:#dc3545;color:#fff}.appointment-actions button:disabled{opacity:.5;cursor:not-allowed}.appointment-stats{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.stat-item{text-align:center;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;min-width:120px}.appointment-details-view{display:flex;flex-direction:column;gap:1rem}.appointment-form{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:768px){.appointments-section{padding:1rem}.section-header{flex-direction:column;align-items:stretch}.appointments-controls,.appointment-card{flex-direction:column;gap:1rem}.appointment-actions{flex-direction:row;justify-content:space-between}.appointment-stats{gap:1rem}.stat-item{min-width:100px}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-actions{flex-direction:column}}@media(max-width:480px){.appointment-actions{flex-direction:column;gap:.5rem}.view-options{flex-wrap:wrap}.appointment-stats{flex-direction:column;align-items:center}}.appointment-status.walk_in_confirmed{background:#8b5cf6;color:#fff}.appointment-status.ready_for_testing{background:#f59e0b;color:#fff}.appointment-status.testing{background:#06b6d4;color:#fff}.appointment-status.tested{background:#10b981;color:#fff}.btn-walk-in{background:#8b5cf6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-not-tested{background:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-testing{background:#06b6d4;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-tested{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-walk-in:hover,.btn-not-tested:hover,.btn-testing:hover,.btn-tested:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.status-badge.pending{background:#fbbf24}.status-badge.confirmed{background:#3b82f6}.status-badge.walk_in_confirmed{background:#8b5cf6}.status-badge.ready_for_testing{background:#f59e0b}.status-badge.testing{background:#06b6d4}.status-badge.tested{background:#10b981}.status-badge.completed{background:#22c55e}.status-badge.cancelled{background:#ef4444}.walk-in-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;color:#8b5cf6;font-weight:500;margin-top:.25rem}.walk-in-indicator:before{content:"👤";font-size:.9rem}.testing-progress{margin-top:.5rem;padding:.5rem;background:var(--background-light);border-radius:4px;font-size:.85rem}.testing-progress .progress-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.testing-progress .progress-item:last-child{margin-bottom:0}.testing-progress .progress-label{color:var(--text-secondary)}.testing-progress .progress-value{color:var(--text-primary);font-weight:500}.appointment-card.enhanced{border-left:4px solid transparent;transition:all .2s}.appointment-card.enhanced.pending{border-left-color:#fbbf24}.appointment-card.enhanced.confirmed{border-left-color:#3b82f6}.appointment-card.enhanced.walk_in_confirmed{border-left-color:#8b5cf6}.appointment-card.enhanced.ready_for_testing{border-left-color:#f59e0b}.appointment-card.enhanced.testing{border-left-color:#06b6d4}.appointment-card.enhanced.tested{border-left-color:#10b981}.appointment-card.enhanced.completed{border-left-color:#22c55e}.appointment-card.enhanced.cancelled{border-left-color:#ef4444}.workflow-timeline{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;background:var(--background-light);border-radius:4px;font-size:.8rem}.timeline-step{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-weight:500;transition:all .2s}.timeline-step.completed{background:#dcfce7;color:#166534}.timeline-step.current{background:#dbeafe;color:#1d4ed8;box-shadow:0 0 0 2px #3b82f6}.timeline-step.pending{background:#f3f4f6;color:#6b7280}.timeline-step:before{content:"●";font-size:.6rem}.timeline-step.completed:before{content:"✓";font-weight:700}.category-management{max-width:600px}.user-info{background:var(--background-light);padding:1rem;border-radius:6px;margin-bottom:1.5rem}.user-info h4{margin:0 0 .5rem;color:var(--primary-color)}.user-info p{margin:.25rem 0;font-size:.9rem;color:var(--text-secondary)}.category-selection h5,.selected-categories h5{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem}.category-checkbox{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.category-checkbox:hover{border-color:var(--primary-color);background:var(--background-light)}.category-checkbox input[type=checkbox]{margin:0}.category-checkbox input[type=checkbox]:checked+.category-name{color:var(--primary-color);font-weight:500}.category-name{font-size:.9rem;color:var(--text-primary)}.selected-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.selected-category{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-color);color:#fff;padding:.5rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.remove-category{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.remove-category:hover{background:#fff3}.no-categories{color:var(--text-secondary);font-style:italic;margin:0}.category-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.workflow-timeline{flex-direction:column;align-items:stretch}.timeline-step{justify-content:center}.category-grid{grid-template-columns:1fr}.selected-list{justify-content:center}.category-actions{flex-direction:column}}.detail-section{margin-top:25px;padding-top:20px;border-top:2px solid #e5e7eb}.detail-section h4{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:15px}.bill-info{background-color:#f9fafb;padding:15px;border-radius:8px;border-left:4px solid #3b82f6}.no-bill{color:#6b7280;font-style:italic;padding:10px}.invoice-actions{margin-top:15px;padding-top:15px;border-top:1px solid #e5e7eb}.btn-invoice{background-color:#3b82f6;color:#fff;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-invoice:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f64d}.btn-invoice:active{transform:translateY(0)}.appointment-card .bill-indicator{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#6b7280;margin-top:8px}.appointment-card .bill-indicator.paid{color:#10b981}.appointment-card .bill-indicator.pending{color:#f59e0b}.user-management-section{padding:1.5rem;background:var(--color-background);border-radius:8px;box-shadow:0 2px 4px #0000001a}.create-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.create-btn:hover:not(:disabled){background:var(--color-primary-dark)}.create-btn:disabled{opacity:.6;cursor:not-allowed}.activity-dashboard{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.activity-dashboard h3{margin:0 0 1rem;color:var(--color-text);font-size:1.2rem;font-weight:500}.dashboard-stats{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.stat-card{text-align:center;padding:1rem;background:var(--color-light);border-radius:8px;min-width:120px}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.stat-label{font-size:.9rem;color:var(--color-text-light);font-weight:500}.user-filters{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-weight:500;color:var(--color-text);font-size:.9rem}.filter-input,.filter-select{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.users-list{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.users-table{overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.users-table th{background:var(--color-light);font-weight:600;color:var(--color-text);font-size:.9rem}.users-table tr:hover{background:var(--color-light)}.users-table tr.inactive{opacity:.6}.user-name{display:flex;flex-direction:column;gap:.25rem}.user-name strong{color:var(--color-text)}.user-name small{color:var(--color-text-light);font-size:.8rem}.role-badge,.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:#e3f2fd;color:#1565c0}.role-badge.receptionist{background:#f3e5f5;color:#7b1fa2}.role-badge.report_uploader{background:#e8f5e8;color:#2e7d32}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.user-actions button{padding:.25rem .75rem;border:1px solid;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.btn-edit:hover:not(:disabled){background:#6c757d;color:#fff}.btn-activity{background:#fff;color:#17a2b8;border-color:#17a2b8}.btn-activity:hover{background:#17a2b8;color:#fff}.btn-status.activate{background:#fff;color:#28a745;border-color:#28a745}.btn-status.activate:hover:not(:disabled){background:#28a745;color:#fff}.btn-status.deactivate{background:#fff;color:#ffc107;border-color:#ffc107}.btn-status.deactivate:hover:not(:disabled){background:#ffc107;color:#212529}.btn-delete:hover:not(:disabled){background:#dc3545;color:#fff}.user-actions button:disabled{opacity:.5;cursor:not-allowed}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.user-details-view{display:flex;flex-direction:column;gap:1rem}.activity-logs{max-height:400px;overflow-y:auto}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{padding:1rem;border:1px solid var(--color-border);border-radius:6px;background:#fff}.activity-item.success{border-left:4px solid #28a745}.activity-item.error{border-left:4px solid #dc3545}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.activity-action{font-weight:600;color:var(--color-text)}.activity-time{font-size:.8rem;color:var(--color-text-light)}.activity-details{display:flex;flex-direction:column;gap:.25rem}.activity-resource{font-size:.9rem;color:var(--color-text-light)}.activity-error{font-size:.8rem;color:#dc3545;font-style:italic}.user-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.form-group input.error,.form-group select.error{border-color:#dc3545}@media(max-width:768px){.user-management-section{padding:1rem}.section-header{flex-direction:column;align-items:stretch}.user-filters{flex-direction:column;gap:1rem}.filter-group{min-width:auto}.dashboard-stats{gap:1rem}.stat-card{min-width:100px}.users-table{font-size:.8rem}.users-table th,.users-table td{padding:.5rem}.user-actions{flex-direction:column;gap:.25rem}.user-actions button{font-size:.7rem;padding:.25rem .5rem}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-actions{flex-direction:column}}@media(max-width:480px){.dashboard-stats{flex-direction:column;align-items:center}.pagination{flex-direction:column;gap:.5rem}.activity-header{flex-direction:column;align-items:flex-start;gap:.25rem}}.services-section{padding:1.5rem;background:var(--color-background);border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{color:var(--color-primary);margin:0;font-size:1.5rem;font-weight:600}.header-actions{display:flex;gap:1rem}.add-service-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-service-btn:hover:not(:disabled){background:var(--color-primary-dark)}.add-service-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;color:#c33;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.services-tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:2rem}.tab{padding:1rem 2rem;border:none;background:none;cursor:pointer;font-weight:500;color:var(--color-text-light);border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:var(--color-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.services-content{min-height:400px}.services-management{display:flex;flex-direction:column;gap:1.5rem}.services-controls{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.search-input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.filter-options{display:flex;gap:1rem}.filter-select{padding:.75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;min-width:150px}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.services-table{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-light);font-style:italic}.services-table table{width:100%;border-collapse:collapse}.services-table th,.services-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.services-table th{background:var(--color-light);font-weight:600;color:var(--color-text);font-size:.9rem}.services-table tr:hover{background:var(--color-light)}.service-info{display:flex;flex-direction:column;gap:.25rem}.service-info strong{color:var(--color-text);font-weight:600}.service-info p{color:var(--color-text-light);font-size:.8rem;margin:0;line-height:1.3}.status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.action-buttons button{padding:.25rem .75rem;border:1px solid;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.btn-view{background:#fff;color:var(--color-primary);border-color:var(--color-primary)}.btn-view:hover{background:var(--color-primary);color:#fff}.btn-edit{background:#fff;color:#6c757d;border-color:#6c757d}.btn-edit:hover{background:#6c757d;color:#fff}.btn-toggle.btn-activate{background:#fff;color:#28a745;border-color:#28a745}.btn-toggle.btn-activate:hover{background:#28a745;color:#fff}.btn-toggle.btn-deactivate{background:#fff;color:#ffc107;border-color:#ffc107}.btn-toggle.btn-deactivate:hover{background:#ffc107;color:#212529}.btn-delete{background:#fff;color:#dc3545;border-color:#dc3545}.btn-delete:hover{background:#dc3545;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--color-border);background:#fff;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-light)}.pagination-info{font-weight:500;color:var(--color-text)}.billing-management{display:flex;flex-direction:column;gap:1.5rem}.billing-controls{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.billing-table{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.billing-table table{width:100%;border-collapse:collapse}.billing-table th,.billing-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.billing-table th{background:var(--color-light);font-weight:600;color:var(--color-text);font-size:.9rem}.billing-table tr:hover{background:var(--color-light)}.status.pending{background:#fff3cd;color:#856404}.status.paid{background:#d4edda;color:#155724}.status.overdue{background:#f8d7da;color:#721c24}.btn-mark-paid{background:#fff;color:#28a745;border:1px solid #28a745}.btn-mark-paid:hover{background:#28a745;color:#fff}.btn-download{background:#fff;color:#17a2b8;border:1px solid #17a2b8}.btn-download:hover{background:#17a2b8;color:#fff}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;color:var(--color-text);font-size:1.3rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-light);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:var(--color-light)}.service-details{display:flex;flex-direction:column;gap:1rem}.detail-group{display:flex;flex-direction:column;gap:.25rem}.detail-group label{font-weight:600;color:var(--color-text);font-size:.9rem}.detail-group span{color:var(--color-text-light)}.service-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{font-weight:500;color:var(--color-text);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.field-error{color:#dc3545;font-size:.8rem;margin-top:.25rem}.form-group label input[type=checkbox]{width:auto;margin-right:.5rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.form-actions .btn-cancel{background:#fff;color:var(--color-text);border:1px solid var(--color-border);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.form-actions .btn-cancel:hover:not(:disabled){background:var(--color-light)}.form-actions .btn-submit{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.form-actions .btn-submit:hover:not(:disabled){background:var(--color-primary-dark)}.form-actions button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.services-section{padding:1rem}.section-header{flex-direction:column;align-items:stretch}.services-controls,.billing-controls{flex-direction:column;gap:1rem}.filter-options{flex-direction:column}.filter-select{min-width:auto}.services-table,.billing-table{font-size:.8rem}.services-table th,.services-table td,.billing-table th,.billing-table td{padding:.5rem}.action-buttons{flex-direction:column;gap:.25rem}.action-buttons button{font-size:.7rem;padding:.25rem .5rem}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-actions{flex-direction:column}}@media(max-width:480px){.services-tabs{flex-direction:column}.tab{padding:.75rem 1rem;text-align:center}.pagination{flex-direction:column;gap:.5rem}}.category-input-group{display:flex;gap:8px;align-items:stretch}.category-input-group select{flex:1;margin:0}.add-category-btn{background:#007bff;color:#fff;border:2px solid #007bff;border-radius:4px;padding:8px 12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:70px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.add-category-btn:hover:not(:disabled){background:#0056b3;border-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.add-category-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.add-category-btn:active{transform:translateY(0)}@media(max-width:768px){.category-input-group{flex-direction:column;gap:8px}.add-category-btn{align-self:flex-start;min-width:120px}}.category-form{max-width:600px}.category-form .form-section{margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.category-form .form-section h4{margin:0 0 8px;color:#333;font-size:16px;font-weight:600}.category-form .section-description{margin:0 0 16px;color:#666;font-size:14px}.category-form .field-help{display:block;margin-top:4px;color:#666;font-size:12px;font-style:italic}.category-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.category-form .form-group{margin-bottom:16px}.category-form .form-group:last-child{margin-bottom:0}.category-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.category-form input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.category-form input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.category-form input.error{border-color:#dc3545}.category-form .field-error{display:block;margin-top:4px;color:#dc3545;font-size:12px}.category-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.category-form .btn-cancel,.category-form .btn-submit{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.category-form .btn-cancel{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.category-form .btn-cancel:hover:not(:disabled){background:#e9ecef;color:#495057}.category-form .btn-submit{background:#007bff;color:#fff}.category-form .btn-submit:hover:not(:disabled){background:#0056b3}.category-form .btn-cancel:disabled,.category-form .btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.category-form .form-row{grid-template-columns:1fr;gap:12px}.category-form .form-actions{flex-direction:column}.category-form .btn-cancel,.category-form .btn-submit{width:100%}}.categories-management{padding:20px 0}.categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.categories-header h3{margin:0;color:#333;font-size:20px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.category-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s ease}.category-card:hover{box-shadow:0 4px 8px #00000026}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.category-header h4{margin:0;color:#333;font-size:18px;font-weight:600}.category-actions{display:flex;gap:8px}.btn-edit-category,.btn-assign-services,.btn-delete-category{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s ease}.btn-edit-category:hover{background:#e3f2fd}.btn-assign-services:hover{background:#f3e5f5}.btn-delete-category:hover{background:#ffebee}.category-info{display:flex;flex-direction:column;gap:16px}.category-stats{margin-bottom:16px}.service-count{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.category-rules{margin-bottom:16px}.category-rules h5{margin:0 0 8px;color:#666;font-size:14px;font-weight:500}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rule-item{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.rule-label{color:#666;font-weight:500}.rule-value{color:#333}.category-services h5{margin:0 0 8px;color:#666;font-size:14px;font-weight:500}.no-services{color:#999;font-style:italic;font-size:13px;margin:0}.services-list{max-height:120px;overflow-y:auto}.service-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f5f5f5;font-size:13px}.service-item:last-child{border-bottom:none}.service-item.invalid{background:#fff3e0;padding:6px 8px;border-radius:4px;border:1px solid #ffcc02}.service-name{font-weight:500;color:#333}.service-price{color:#666}.validation-warning{color:#ff9800;font-size:14px}.service-assignment{max-width:600px}.service-assignment p{margin-bottom:20px;color:#666}.service-assignment-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;transition:all .2s ease}.service-assignment-item.invalid{border-color:#ff9800;background:#fff8e1}.service-assignment-item.current{border-color:#4caf50;background:#f1f8e9}.service-assignment-item .service-info h4{margin:0 0 4px;font-size:16px;color:#333}.service-assignment-item .service-info p{margin:0 0 8px;color:#666;font-size:14px}.service-details{display:flex;gap:16px;font-size:12px;color:#666}.assignment-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.validation-warning{font-size:12px;color:#ff9800;text-align:right}.btn-assign{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.btn-assign:hover:not(:disabled){background:#45a049}.btn-assign-warning{background:#ff9800}.btn-assign-warning:hover:not(:disabled){background:#f57c00}.btn-assign:disabled{opacity:.6;cursor:not-allowed}.current-category{color:#4caf50;font-weight:500;font-size:14px}@media(max-width:768px){.categories-grid{grid-template-columns:1fr}.categories-header{flex-direction:column;gap:16px;align-items:stretch}.category-header{flex-direction:column;gap:12px;align-items:stretch}.category-actions{justify-content:center}.rules-grid{grid-template-columns:1fr}.service-assignment-item{flex-direction:column;gap:12px;align-items:stretch}.assignment-actions{align-items:stretch}.service-details{flex-direction:column;gap:4px}}.current-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.btn-unassign{background:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s ease}.btn-unassign:hover:not(:disabled){background:#d32f2f}.btn-unassign:disabled{opacity:.6;cursor:not-allowed}.no-available-services{text-align:center;padding:40px 20px;color:#666;background:#f9f9f9;border-radius:8px;border:1px dashed #ddd}.no-available-services p{margin:8px 0}.no-available-services p:first-child{font-weight:500;color:#333}.service-assignment-item .assignment-actions{min-width:120px}.service-assignment-item.current .assignment-actions{min-width:140px}@media(max-width:768px){.current-actions{align-items:stretch}.btn-unassign{width:100%}.service-assignment-item .assignment-actions{min-width:auto}}.service-assignment-modal .modal-content{max-width:900px;width:90vw;max-height:80vh;height:auto}.service-assignment-modal .modal-body{max-height:60vh;overflow-y:auto;padding:24px}.service-assignment-modal .service-assignment{max-width:none}.service-assignment-modal .services-list{max-height:none;overflow-y:visible}.service-assignment-modal .service-assignment-item{padding:20px;margin-bottom:16px}.service-assignment-modal .service-info h4{font-size:18px;margin-bottom:8px}.service-assignment-modal .service-info p{font-size:15px;margin-bottom:12px}.service-assignment-modal .service-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;font-size:14px;margin-top:8px}.service-assignment-modal .assignment-actions{min-width:160px}.service-assignment-modal .modal-header{padding:24px 24px 16px;border-bottom:2px solid #e0e0e0}.service-assignment-modal .modal-header h3{font-size:24px;margin:0}.service-assignment-modal .service-assignment>p{font-size:16px;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}@media(max-width:1024px){.service-assignment-modal .modal-content{max-width:95vw;width:95vw}}@media(max-width:768px){.service-assignment-modal .modal-content{max-width:98vw;width:98vw;max-height:90vh}.service-assignment-modal .modal-body{padding:16px;max-height:70vh}.service-assignment-modal .service-details{grid-template-columns:1fr;gap:8px}.service-assignment-modal .service-assignment-item{padding:16px}}.no-available-services h4{margin:0 0 12px;color:#333;font-size:18px}.no-available-services h5{margin:16px 0 8px;color:#555;font-size:14px;font-weight:600}.available-options{margin:20px 0;padding:16px;background:#f8f9fa;border-radius:6px;border-left:4px solid #17a2b8}.available-options ul{margin:8px 0 0;padding-left:20px}.available-options li{margin:4px 0;color:#666;font-size:14px}.other-category-services{margin:20px 0;padding:16px;background:#fff3cd;border-radius:6px;border-left:4px solid #ffc107}.other-services-list{max-height:200px;overflow-y:auto;margin-top:12px}.other-service-item{display:flex;justify-content:space-between;align-items:center;padding:12px;margin:8px 0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s ease}.other-service-item:hover{box-shadow:0 2px 4px #0000001a}.other-service-item .service-info{display:flex;flex-direction:column;gap:4px}.other-service-item .service-name{font-weight:500;color:#333;font-size:14px}.other-service-item .service-category{font-size:12px;color:#666;font-style:italic}.btn-reassign{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s ease}.btn-reassign:hover:not(:disabled){background:#218838}.btn-reassign:disabled{opacity:.6;cursor:not-allowed}.quick-actions{margin:20px 0 0;padding:16px;background:#e7f3ff;border-radius:6px;border-left:4px solid #007bff;text-align:center}.btn-create-service{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-create-service:hover{background:#0056b3;transform:translateY(-1px)}@media(max-width:768px){.other-service-item{flex-direction:column;gap:12px;align-items:stretch}.other-service-item .service-info{text-align:center}.btn-reassign{width:100%;padding:10px}.available-options ul{padding-left:16px}}.unassigned-services-section,.truly-unassigned-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:20px;margin-bottom:24px}.unassigned-services-section h4,.truly-unassigned-section h4{margin:0 0 8px;color:#856404;font-size:16px}.unassigned-services-section p,.truly-unassigned-section p{margin:0 0 16px;color:#856404;font-size:14px}.invalid-services-list,.unassigned-services-list{display:flex;flex-direction:column;gap:12px}.invalid-service-item,.unassigned-service-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:16px;transition:all .2s ease}.invalid-service-item:hover,.unassigned-service-item:hover{box-shadow:0 2px 4px #0000001a}.invalid-service-item .service-info,.unassigned-service-item .service-info{display:flex;flex-direction:column;gap:4px}.service-name{font-weight:500;color:#333;font-size:14px}.invalid-category{color:#dc3545;font-size:12px;font-style:italic}.service-details{color:#666;font-size:12px}.fix-actions{display:flex;gap:8px}.btn-create-category-for-service,.btn-reassign-service{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s ease}.btn-create-category-for-service:hover,.btn-reassign-service:hover{background:#218838}.btn-reassign-service{background:#007bff}.btn-reassign-service:hover{background:#0056b3}.category-assign-select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px;background:#fff;cursor:pointer;min-width:150px}.category-assign-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.unassigned-services-section{border-left:4px solid #dc3545}.truly-unassigned-section{border-left:4px solid #17a2b8;background:#d1ecf1;border-color:#bee5eb}.truly-unassigned-section h4,.truly-unassigned-section p{color:#0c5460}@media(max-width:768px){.invalid-service-item,.unassigned-service-item{flex-direction:column;gap:12px;align-items:stretch}.fix-actions{justify-content:stretch}.btn-create-category-for-service,.btn-reassign-service{flex:1;padding:10px}.category-assign-select{width:100%;min-width:auto}}.readonly-field{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed!important;border-color:#e9ecef!important}.readonly-field:focus{box-shadow:none!important;border-color:#e9ecef!important}.field-help{display:block;margin-top:4px;color:#6c757d;font-size:12px;font-style:italic}.reports-section{padding:1.5rem;background:var(--color-white);border-radius:12px;box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-gray-200)}.header-actions{display:flex;align-items:center;gap:1rem}.tab-buttons{display:flex;background:var(--color-gray-100);border-radius:8px;padding:4px}.tab-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;color:var(--color-gray-600)}.tab-btn.active{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm)}.tab-btn:hover:not(.active){color:var(--color-gray-800)}.section-header h2{color:var(--color-gray-900);font-size:1.5rem;font-weight:600;margin:0}.upload-report-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-report-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.upload-report-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:var(--color-danger-light);color:var(--color-danger);padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-danger-border)}.close-error{background:none;border:none;color:var(--color-danger);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.reports-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-gray-50);padding:1.5rem;border-radius:8px;text-align:center;border:1px solid var(--color-gray-200)}.stat-card h3{color:var(--color-gray-600);font-size:.875rem;font-weight:500;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:var(--color-gray-900);font-size:2rem;font-weight:700;margin:0}.reports-controls{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-filter{flex:1;min-width:250px}.search-input{width:100%;padding:.75rem;border:1px solid var(--color-gray-300);border-radius:8px;font-size:.875rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.filter-options{display:flex;gap:.75rem}.filter-select{padding:.75rem;border:1px solid var(--color-gray-300);border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.reports-table{background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--color-gray-200)}.reports-table table{width:100%;border-collapse:collapse}.reports-table th{background:var(--color-gray-50);padding:1rem;text-align:left;font-weight:600;color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-200);font-size:.875rem}.reports-table td{padding:1rem;border-bottom:1px solid var(--color-gray-100);vertical-align:top}.reports-table tr:hover{background:var(--color-gray-25)}.type-badge,.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.type-badge.primary{background:var(--color-primary-light);color:var(--color-primary)}.type-badge.secondary{background:var(--color-gray-200);color:var(--color-gray-700)}.type-badge.success{background:var(--color-success-light);color:var(--color-success)}.type-badge.danger{background:var(--color-danger-light);color:var(--color-danger)}.type-badge.warning{background:var(--color-warning-light);color:var(--color-warning)}.type-badge.info{background:var(--color-info-light);color:var(--color-info)}.status-badge.pending{background:var(--color-warning-light);color:var(--color-warning)}.status-badge.confirmed{background:var(--color-info-light);color:var(--color-info)}.status-badge.walk_in_confirmed{background:var(--color-primary-light);color:var(--color-primary)}.status-badge.ready_for_testing{background:var(--color-gray-200);color:var(--color-gray-700)}.status-badge.testing{background:var(--color-warning-light);color:var(--color-warning)}.status-badge.tested{background:var(--color-success-light);color:var(--color-success)}.status-badge.completed{background:var(--color-success);color:#fff}.status-badge.cancelled{background:var(--color-danger-light);color:var(--color-danger)}.service-name{font-weight:500;color:var(--color-gray-900)}.service-category{color:var(--color-gray-600);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.text-muted{color:var(--color-gray-500);font-size:.75rem}.patient-info,.datetime-info{line-height:1.4}.category-badge{background:var(--color-info-light);color:var(--color-info);padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-download,.btn-delete,.btn-details,.btn-start-test,.btn-testing,.btn-tested,.btn-upload{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-download{background:var(--color-primary);color:#fff}.btn-download:hover{background:var(--color-primary-dark)}.btn-delete{background:var(--color-danger);color:#fff}.btn-delete:hover{background:var(--color-danger-dark)}.btn-details{background:var(--color-info);color:#fff}.btn-details:hover{background:var(--color-info-dark)}.btn-start-test{background:var(--color-warning);color:#fff}.btn-start-test:hover{background:var(--color-warning-dark)}.btn-testing{background:var(--color-secondary);color:#fff}.btn-testing:hover{background:var(--color-secondary-dark)}.btn-tested{background:var(--color-success);color:#fff}.btn-tested:hover{background:var(--color-success-dark)}.btn-upload{background:var(--color-primary);color:#fff}.btn-upload:hover{background:var(--color-primary-dark)}.loading-state,.empty-state{text-align:center;padding:3rem;color:var(--color-gray-600)}.loading-state{background:var(--color-gray-25)}.empty-state{background:var(--color-gray-50)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--color-gray-300);background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--color-gray-600);font-size:.875rem}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.appointment-details-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-gray-200)}.modal-header h3{margin:0;color:var(--color-gray-900);font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-gray-500);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.upload-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--color-gray-700);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--color-gray-300);border-radius:8px;font-size:.875rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:.75rem;margin-top:.25rem}.file-info,.info-text{color:var(--color-gray-600);font-size:.75rem;margin-top:.25rem}.appointment-details{background:var(--color-gray-50);padding:1rem;border-radius:8px;border:1px solid var(--color-gray-200)}.appointment-details h4{margin:0 0 1rem;color:var(--color-gray-900);font-size:1rem;font-weight:600}.appointment-full-details{display:flex;flex-direction:column;gap:1.5rem}.details-section{background:var(--color-gray-50);padding:1rem;border-radius:8px;border:1px solid var(--color-gray-200)}.details-section h4{margin:0 0 1rem;color:var(--color-gray-900);font-size:1rem;font-weight:600;border-bottom:1px solid var(--color-gray-200);padding-bottom:.5rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.detail-item{font-size:.875rem}.detail-item strong{color:var(--color-gray-700);display:block;margin-bottom:.25rem}.appointment-notes{background:#fff;padding:1rem;border-radius:6px;border:1px solid var(--color-gray-200);font-size:.875rem;line-height:1.5;margin:0}.status-actions{display:flex;gap:1rem;flex-wrap:wrap}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-gray-200)}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.btn-cancel{background:var(--color-gray-200);color:var(--color-gray-700)}.btn-cancel:hover:not(:disabled){background:var(--color-gray-300)}.btn-submit{background:var(--color-primary);color:#fff}.btn-submit:hover:not(:disabled){background:var(--color-primary-dark)}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.reports-section{padding:1rem}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{flex-direction:column;gap:1rem}.tab-buttons{width:100%}.tab-btn{flex:1;text-align:center}.reports-controls,.filter-options{flex-direction:column}.reports-table{overflow-x:auto}.reports-table table{min-width:800px}.action-buttons{flex-direction:column}.pagination{flex-direction:column;gap:1rem;text-align:center}.modal-content{margin:0;border-radius:0;height:100vh;max-height:none}.details-grid{grid-template-columns:1fr}.form-actions,.status-actions{flex-direction:column}}@media(max-width:480px){.reports-stats{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}}.assigned-appointments-section{padding:1.5rem;max-width:1200px;margin:0 auto}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{color:var(--primary-color);margin:0;font-size:1.8rem;font-weight:600}.user-categories{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.categories-list{font-weight:500;color:var(--primary-color)}.no-categories{color:var(--error-color);font-style:italic}.appointments-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.status-filter{display:flex;align-items:center;gap:.5rem}.status-filter label{font-weight:500;color:var(--text-primary)}.status-filter select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:#fff;font-size:.9rem}.refresh-btn{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.refresh-btn:hover:not(:disabled){background:var(--primary-dark)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.appointments-list{display:grid;gap:1rem}.appointment-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s}.appointment-card:hover{box-shadow:0 4px 8px #00000026}.appointment-info{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:1rem;align-items:start}.patient-info h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem}.service-name{margin:0 0 .25rem;font-weight:500;color:var(--primary-color)}.service-category{margin:0;font-size:.85rem;color:var(--text-secondary)}.appointment-schedule{text-align:center}.appointment-schedule .date{margin:0 0 .25rem;font-weight:500;color:var(--text-primary)}.appointment-schedule .time{margin:0;font-size:.9rem;color:var(--text-secondary)}.appointment-status{text-align:right}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;color:#fff;text-transform:uppercase;letter-spacing:.5px}.appointment-actions{display:flex;gap:.5rem;flex-wrap:wrap}.appointment-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;color:#fff}.btn-view-details{background:var(--secondary-color)}.btn-start-testing{background:#06b6d4}.btn-complete-testing{background:#10b981}.btn-upload-report{background:#22c55e}.appointment-actions button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.testing-info{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.testing-info small{color:var(--text-secondary);font-size:.8rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-content.large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--primary-color);font-size:1.3rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.appointment-summary{background:var(--background-light);padding:1rem;border-radius:6px;margin-bottom:1.5rem}.appointment-summary h4{margin:0 0 .5rem;color:var(--primary-color)}.appointment-summary p{margin:.25rem 0;font-size:.9rem}.report-upload-form .form-group{margin-bottom:1rem}.report-upload-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.report-upload-form select,.report-upload-form input,.report-upload-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem}.report-upload-form textarea{resize:vertical;min-height:80px}.file-info{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-secondary)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-cancel{padding:.75rem 1.5rem;background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.9rem}.btn-upload,.btn-save{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-cancel:hover:not(:disabled){background:var(--background-light)}.btn-upload:hover:not(:disabled),.btn-save:hover:not(:disabled){background:var(--primary-dark)}.btn-cancel:disabled,.btn-upload:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}.appointment-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.details-section{background:var(--background-light);padding:1rem;border-radius:6px}.details-section.full-width{grid-column:1 / -1}.details-section h4{margin:0 0 1rem;color:var(--primary-color);font-size:1.1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.detail-item label{font-weight:500;color:var(--text-secondary);min-width:100px}.detail-item span{color:var(--text-primary);text-align:right}.payment-status{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.payment-status.paid{background:#dcfce7;color:#166534}.payment-status.pending{background:#fef3c7;color:#92400e}.reports-list{display:grid;gap:.75rem}.report-item{background:#fff;border:1px solid var(--border-color);border-radius:4px;padding:1rem}.report-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.report-type{font-weight:500;color:var(--primary-color)}.report-filename{flex:1;color:var(--text-primary);font-size:.9rem}.report-size{color:var(--text-secondary);font-size:.8rem}.report-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.loading-state{font-style:italic}.empty-state p{margin:0;font-size:1rem}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.assigned-appointments-section{padding:1rem}.section-header,.appointments-controls{flex-direction:column;align-items:stretch}.appointment-info{grid-template-columns:1fr;gap:.75rem}.appointment-schedule,.appointment-status{text-align:left}.appointment-actions{justify-content:stretch}.appointment-actions button{flex:1;min-width:0}.appointment-details-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:stretch;gap:.25rem}.detail-item span{text-align:left}.form-actions{flex-direction:column}.modal-content{margin:.5rem;max-height:calc(100vh - 1rem)}}.modal-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#3b82f60f,#9333ea0f,#10b9810a 70%,#f59e0b0f);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeInOverlay .3s cubic-bezier(.25,.46,.45,.94)}.appointment-modal{background:#fff;border-radius:20px;box-shadow:0 24px 80px #00000026,0 8px 32px #3b82f61a,0 0 0 1px #e2e8f080;max-width:960px;width:100%;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;position:relative;animation:slideUpModal .4s cubic-bezier(.34,1.26,.64,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 36px;border-bottom:1px solid rgba(226,232,240,.6);background:linear-gradient(135deg,#4f46e5,#6366f1,#7c3aed);color:#fff;position:relative;overflow:hidden}.modal-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 0%,transparent 50%),linear-gradient(45deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);opacity:1}.modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.modal-header h2{margin:0;font-size:1.75rem;font-weight:700;position:relative;z-index:1;display:flex;align-items:center;gap:12px;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header h2:before{content:"📅";font-size:1.75rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.modal-close{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.125rem;cursor:pointer;padding:0;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;backdrop-filter:blur(8px);width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026}.modal-close:hover{background:#ffffff4d;transform:scale(1.05) rotate(90deg);box-shadow:0 4px 12px #0003}.modal-close:active{transform:scale(.95) rotate(90deg)}.modal-progress{display:flex;align-items:center;justify-content:center;padding:24px 36px;background:#fafbfc;border-bottom:1px solid rgba(226,232,240,.8);position:relative}.modal-progress:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4f46e5,#6366f1,#7c3aed);box-shadow:0 1px 4px #4f46e540}.progress-step{display:flex;align-items:center;gap:12px;color:#64748b;position:relative;transition:all .3s ease}.progress-step:not(:last-child):after{content:"";width:80px;height:3px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1);margin:0 24px;border-radius:2px;transition:all .3s ease}.progress-step.active{color:#3b82f6;transform:scale(1.05)}.progress-step.completed{color:#10b981}.progress-step.completed:after{background:linear-gradient(90deg,#10b981,#059669)}.progress-step.active:after{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.step-number{width:40px;height:40px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014;border:2px solid #f1f5f9}.progress-step.active .step-number{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 4px 16px #4f46e559;transform:scale(1.08);border:2px solid rgba(255,255,255,.4)}.progress-step.completed .step-number{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 16px #10b98159;border:2px solid rgba(255,255,255,.4)}.step-label{font-weight:600;font-size:.95rem;letter-spacing:.025em}.modal-content{flex:1;overflow-y:auto;padding:32px 36px;background:#fff;position:relative;scroll-behavior:smooth}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.appointment-section{max-width:100%}.service-preview{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:12px;padding:0;margin-top:28px;position:relative;overflow:hidden;box-shadow:0 2px 8px #3b82f614;transition:all .25s ease}.service-preview:hover{box-shadow:0 4px 16px #3b82f61f}.service-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#6366f1)}.service-preview h4{margin:0;padding:16px 20px;color:#1e40af;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px;background:#ffffff80;border-bottom:1px solid #dbeafe}.service-preview h4:before{content:"💊";font-size:1.125rem}.service-details{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:0 0 12px 12px;padding:18px 20px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9}.service-item:last-of-type{border-bottom:none}.service-name{font-weight:500;color:#475569;font-size:.9375rem}.service-price{font-weight:600;color:#10b981;font-size:.9375rem}.service-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 0;margin-top:8px;font-weight:600;color:#1e293b;border-top:2px solid #e2e8f0}.total-price{font-size:1.375rem;color:#10b981;font-weight:700}.payment-section{display:flex;flex-direction:column;gap:24px}.appointment-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #10b98114}.appointment-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#059669)}.price-breakdown{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #f59e0b14}.price-breakdown:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#d97706)}.appointment-summary h3{margin:0;padding:16px 20px;color:#047857;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px;background:#ffffff80;border-bottom:1px solid #d1fae5}.appointment-summary h3:before{content:"📋";font-size:1.125rem}.price-breakdown h3{margin:0;padding:16px 20px;color:#b45309;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px;background:#ffffff80;border-bottom:1px solid #fde68a}.price-breakdown h3:before{content:"💰";font-size:1.125rem}.summary-details,.breakdown-details{display:flex;flex-direction:column;gap:0;padding:18px 20px;background:#fff;border-radius:0 0 12px 12px}.summary-item,.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9}.summary-item:last-of-type,.breakdown-item:last-of-type{border-bottom:none}.summary-item span:first-child,.breakdown-item span:first-child{color:#64748b;font-weight:500;font-size:.9375rem}.summary-item span:last-child,.breakdown-item span:last-child{color:#1e293b;font-weight:600;font-size:.9375rem}.breakdown-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 0;margin-top:8px;border-top:2px solid #e2e8f0;font-weight:700;font-size:1.125rem;color:#1e293b}.breakdown-total span:last-child{color:#10b981;font-size:1.375rem}.payment-options{display:flex;flex-direction:column;gap:20px}.payment-options h3{margin:0 0 16px;color:#1e293b;font-weight:700;font-size:1.125rem;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}.payment-options h3:before{content:"💳";font-size:1.25rem}.payment-option{border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .25s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000014}.payment-option:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payment-option:active{transform:translateY(0)}.payment-header{margin-bottom:16px;position:relative;z-index:1}.payment-header h4{margin:0 0 6px;color:#1e293b;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px}.payment-header p{margin:0;color:#64748b;font-size:.875rem;line-height:1.5}.payment-header i{color:#4f46e5;font-size:1.125rem;width:20px;text-align:center}.form-actions,.payment-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;position:relative}.form-actions button,.payment-actions button{min-width:140px;padding:13px 24px;border-radius:10px;font-weight:600;font-size:.9375rem;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.01em;cursor:pointer}.form-actions button:not(.btn-secondary),.payment-actions button:not(.btn-secondary){background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;color:#fff;box-shadow:0 4px 12px #4f46e540}.form-actions button:not(.btn-secondary):hover,.payment-actions button:not(.btn-secondary):hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-2px);box-shadow:0 6px 16px #4f46e559}.form-actions button:not(.btn-secondary):active,.payment-actions button:not(.btn-secondary):active{transform:translateY(0)}.form-actions button.btn-secondary,.payment-actions button.btn-secondary{background:#fff;border:1px solid #e2e8f0;color:#64748b;box-shadow:0 1px 3px #00000014}.form-actions button.btn-secondary:hover,.payment-actions button.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.form-actions button.btn-secondary:active,.payment-actions button.btn-secondary:active{transform:translateY(0)}.modal-loading-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;animation:fadeIn .3s ease-out}.modal-loading-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(79,70,229,.05) 0%,transparent 70%)}.loading-spinner{width:48px;height:48px;border:4px solid rgba(79,70,229,.1);border-top:4px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{color:#4f46e5;font-weight:600;font-size:1rem;letter-spacing:.025em}@media(max-width:768px){.modal-overlay{padding:16px}.appointment-modal{max-height:94vh;border-radius:16px}.modal-header{padding:20px 24px}.modal-header h2{font-size:1.5rem}.modal-close{width:36px;height:36px}.modal-progress{padding:18px 24px}.progress-step:not(:last-child):after{width:40px;margin:0 12px}.step-label{font-size:.875rem}.step-number{width:36px;height:36px;font-size:.875rem}.modal-content{padding:24px}.service-preview,.appointment-summary,.price-breakdown,.payment-option{border-radius:12px}.form-actions,.payment-actions{flex-direction:column;gap:12px;margin-top:28px}.form-actions button,.payment-actions button{width:100%;min-width:auto;padding:14px 20px}.payment-header h4{font-size:.9375rem}}@media(max-width:480px){.modal-overlay{padding:12px}.appointment-modal{border-radius:14px}.modal-header{padding:18px 20px}.modal-header h2{font-size:1.375rem;gap:10px}.modal-header h2:before{font-size:1.5rem}.modal-close{width:34px;height:34px}.modal-progress{padding:14px 20px}.progress-step:not(:last-child):after{width:28px;margin:0 10px}.step-label{display:none}.step-number{width:32px;height:32px;font-size:.8125rem}.modal-content{padding:20px}.service-preview,.appointment-summary,.price-breakdown,.payment-option{border-radius:10px}.form-actions,.payment-actions{margin-top:24px;padding-top:20px}.form-actions button,.payment-actions button{padding:12px 18px;font-size:.875rem}.payment-header h4{font-size:.875rem}.payment-header p{font-size:.8125rem}}@media(max-width:360px){.modal-overlay{padding:8px}.modal-header{padding:16px 18px}.modal-header h2{font-size:1.25rem}.modal-progress{padding:12px 18px}.modal-content{padding:18px}.form-actions,.payment-actions{margin-top:20px;padding-top:18px}}.modal-overlay{animation:fadeInOverlay .4s cubic-bezier(.25,.46,.45,.94)}.appointment-modal{animation:slideUpModal .5s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeInOverlay{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(12px)}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(40px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #4f46e54d}50%{box-shadow:0 0 30px #4f46e580}}.service-preview,.appointment-summary,.price-breakdown,.payment-option{transition:all .3s cubic-bezier(.4,0,.2,1)}.service-preview:hover,.appointment-summary:hover,.price-breakdown:hover{animation:float 2s ease-in-out infinite}.progress-step.active .step-number{animation:glow 2s ease-in-out infinite}.loading-shimmer{background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:200% 100%;animation:shimmer 1.5s infinite}.modal-close:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.payment-option:hover .payment-header i{transform:scale(1.1);transition:transform .2s}.payment-option.success{border-color:#10b981;background-color:#f0fdf4}.payment-option.success .payment-header h4{color:#059669}.payment-option.error{border-color:#ef4444;background-color:#fef2f2}.payment-option.error .payment-header h4{color:#dc2626}.patient-mode-selector{display:flex;gap:24px;margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid rgba(226,232,240,.6)}.radio-group{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#374151;transition:color .2s ease}.radio-group input[type=radio]{width:18px;height:18px;accent-color:#4f46e5;cursor:pointer}.patient-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;max-height:320px;overflow-y:auto;z-index:1000;margin-top:8px}.patient-option{padding:14px 18px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:all .2s ease;position:relative}.patient-option:last-child{border-bottom:none}.patient-option:hover{background:#f8fafc;padding-left:22px}.patient-option.selected{background:#eff6ff;border-left:3px solid #4f46e5;padding-left:18px}.patient-name{font-weight:600;color:#1e293b;margin-bottom:4px;font-size:1rem}.patient-details{font-size:.875rem;color:#64748b;display:flex;gap:8px}.selected-patient-preview{margin-top:24px;padding:0;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;position:relative;overflow:hidden}.selected-patient-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#059669)}.selected-patient-preview h4{margin:0;padding:16px 20px;color:#047857;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px;background:#ffffff80;border-bottom:1px solid #d1fae5}.selected-patient-preview h4:before{content:"✓";background:#10b981;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.patient-preview-card{background:#fff;border-radius:0 0 12px 12px;padding:18px 20px}.patient-info strong{display:block;font-size:1.05rem;color:#1e293b;margin-bottom:10px;font-weight:600}.patient-info p{margin:6px 0;color:#64748b;font-size:.875rem;display:flex;align-items:center;gap:8px}.patient-info p:before{content:"•";color:#10b981;font-weight:700}.patient-options::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.patient-options::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:3px}.patient-options::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3730a3,#6b21a8)}@media(max-width:768px){.patient-mode-selector{flex-direction:column;gap:16px;padding:16px}.patient-options{max-height:200px}.patient-option{padding:12px 16px}.selected-patient-preview,.patient-preview-card{padding:16px}}@media(max-width:480px){.patient-mode-selector{padding:12px}.patient-name{font-size:.9rem}.patient-details{font-size:.8rem;flex-direction:column;gap:2px}}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff80;border-bottom:1px solid #d1fae5}.btn-clear-selection{background:#fff;color:#dc2626;border:1px solid #fecaca;padding:8px 14px;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:6px;box-shadow:0 1px 3px #00000014}.btn-clear-selection:hover{background:#fef2f2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 6px #dc262626}.btn-clear-selection:active{transform:translateY(0)}.btn-clear-selection i{font-size:.75rem}.payment-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(226,232,240,.6)}.payment-actions .btn{min-width:180px;padding:12px 24px;font-weight:600;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.payment-actions .btn-secondary{background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:2px solid rgba(100,116,139,.2);color:#475569}.payment-actions .btn-secondary:hover{background:linear-gradient(145deg,#f1f5f9,#e2e8f0);border-color:#64748b66;transform:translateY(-1px)}.form-actions .btn-primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;color:#fff;box-shadow:0 6px 20px #4f46e54d}.form-actions .btn-primary:hover{background:linear-gradient(135deg,#3730a3,#6b21a8);transform:translateY(-2px);box-shadow:0 8px 25px #4f46e566}.payment-option .btn{width:100%;padding:14px 20px;font-size:.9375rem;font-weight:600;border-radius:10px;transition:all .25s ease;margin-top:14px;cursor:pointer}.payment-option .btn-outline-primary{background:#fff;border:2px solid #4f46e5;color:#4f46e5}.payment-option .btn-outline-primary:hover{background:#4f46e5;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4f46e540}.payment-option .btn-outline-primary:active{transform:translateY(0)}.payment-option .btn-outline-secondary{background:#fff;border:2px solid #94a3b8;color:#64748b}.payment-option .btn-outline-secondary:hover{background:#f8fafc;border-color:#64748b;transform:translateY(-2px);box-shadow:0 4px 12px #64748b26}.payment-option .btn-outline-secondary:active{transform:translateY(0)}@media(max-width:768px){.preview-header{flex-direction:column;align-items:flex-start;gap:12px}.btn-clear-selection{align-self:flex-end;padding:6px 12px;font-size:.8rem}.payment-actions{flex-direction:column;gap:12px}.payment-actions .btn{width:100%;min-width:auto}}@media(max-width:480px){.preview-header h4{font-size:1rem}.btn-clear-selection{padding:4px 8px;font-size:.75rem}.payment-option .btn{padding:12px 16px;font-size:.9rem}}.patient-mode-selector{display:flex;gap:12px;margin-bottom:24px;padding:4px;background:#f1f5f9;border-radius:12px;border:1px solid rgba(226,232,240,.8)}.radio-group{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:600;font-size:.95rem;color:#64748b;transition:all .25s ease;padding:14px 20px;border-radius:10px;background:transparent}.radio-group:has(input[type=radio]:checked){background:#fff;color:#4f46e5;box-shadow:0 2px 8px #4f46e526}.radio-group:hover{color:#4f46e5}.radio-group input[type=radio]{width:20px;height:20px;accent-color:#4f46e5;cursor:pointer}.patient-search-container,.patient-dropdown{position:relative;width:100%}.patient-name{font-weight:600;color:#1e293b;margin-bottom:4px;font-size:.9375rem}.patient-details{font-size:.8125rem;color:#64748b;display:flex;gap:8px}.patient-options::-webkit-scrollbar{width:6px}.patient-options::-webkit-scrollbar-track{background:#f8fafc;border-radius:3px}.patient-options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.patient-options::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:768px){.patient-mode-selector{flex-direction:row;gap:8px;padding:4px}.radio-group{padding:12px 16px;font-size:.875rem}.patient-options{max-height:240px}.patient-option{padding:12px 16px}.selected-patient-preview{padding:0}.patient-preview-card{padding:16px}}@media(max-width:480px){.patient-mode-selector{padding:3px;gap:6px}.radio-group{padding:10px 12px;font-size:.8125rem;gap:6px}.radio-group input[type=radio]{width:16px;height:16px}.patient-name{font-size:.875rem}.patient-details{font-size:.75rem;flex-direction:column;gap:2px}}.simple-toast{position:fixed;z-index:9999;max-width:400px;min-width:300px;background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000001f;border-left:4px solid;animation:slideIn .3s ease-out}.simple-toast--top-right{top:20px;right:20px}.simple-toast--top-left{top:20px;left:20px}.simple-toast--bottom-right{bottom:20px;right:20px}.simple-toast--bottom-left{bottom:20px;left:20px}.simple-toast--info{border-left-color:#3b82f6}.simple-toast--success{border-left-color:#10b981}.simple-toast--warning{border-left-color:#f59e0b}.simple-toast--error{border-left-color:#ef4444}.simple-toast__content{display:flex;align-items:flex-start;padding:16px;gap:12px}.simple-toast__icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.simple-toast--info .simple-toast__icon{color:#3b82f6}.simple-toast--success .simple-toast__icon{color:#10b981}.simple-toast--warning .simple-toast__icon{color:#f59e0b}.simple-toast--error .simple-toast__icon{color:#ef4444}.simple-toast__message{flex:1;color:#374151;font-size:.875rem;line-height:1.5;font-weight:500}.simple-toast__close{flex-shrink:0;background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;margin-top:-2px}.simple-toast__close:hover{color:#374151;background-color:#f3f4f6}.simple-toast__close:focus{outline:2px solid #3b82f6;outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.simple-toast.simple-toast--exiting{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:480px){.simple-toast{left:10px!important;right:10px!important;max-width:none;min-width:auto}.simple-toast--top-right,.simple-toast--top-left{top:10px}.simple-toast--bottom-right,.simple-toast--bottom-left{bottom:10px}.simple-toast__content{padding:12px}}.contact-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease-out}.contact-modal{position:fixed;top:0;right:-100%;width:100%;max-width:500px;height:100vh;background:#fffffff2;backdrop-filter:blur(10px);box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transition:right .4s cubic-bezier(.4,0,.2,1);overflow-y:auto}.contact-modal--open{right:0}.contact-modal__header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#8bc34a1a,#4caf501a)}.contact-modal__title{font-size:1.75rem;font-weight:600;color:#2c3e50;margin:0}.contact-modal__close{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s ease;border-radius:50%}.contact-modal__close:hover{background-color:#0000000d;color:#333}.contact-modal__content{flex:1;padding:2rem;overflow-y:auto}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form__group{display:flex;flex-direction:column;gap:.5rem}.contact-form__label{font-size:.95rem;font-weight:500;color:#555}.contact-form__input,.contact-form__textarea{padding:.875rem 1rem;border:2px solid rgba(0,0,0,.1);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s ease;background-color:#fffc}.contact-form__input:focus,.contact-form__textarea:focus{outline:none;border-color:#8bc34a;background-color:#fff;box-shadow:0 0 0 3px #8bc34a1a}.contact-form__input:disabled,.contact-form__textarea:disabled{opacity:.6;cursor:not-allowed}.contact-form__textarea{resize:vertical;min-height:100px}.contact-form__status{padding:1rem;border-radius:8px;font-size:.95rem;text-align:center;animation:slideDown .3s ease-out}.contact-form__status--success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.contact-form__status--error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.contact-form__submit{padding:1rem 2rem;background:linear-gradient(135deg,#8bc34a,#4caf50);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.contact-form__submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8bc34a4d}.contact-form__submit:active:not(:disabled){transform:translateY(0)}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.contact-modal{max-width:100%}.contact-modal__header{padding:1.5rem}.contact-modal__title{font-size:1.5rem}.contact-modal__content{padding:1.5rem}}.contacts-section{padding:2rem}.contacts-header{margin-bottom:2rem}.contacts-title{font-size:1.75rem;font-weight:600;color:#2c3e50;margin-bottom:1.5rem}.contacts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:.5rem;border-left:4px solid #8bc34a}.stat-card--new{border-left-color:#2196f3}.stat-card--read{border-left-color:#ff9800}.stat-card--responded{border-left-color:#4caf50}.stat-label{font-size:.875rem;color:#666;font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:#2c3e50}.contacts-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.filter-btn{padding:.5rem 1rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.filter-btn:hover{border-color:#8bc34a;color:#8bc34a}.filter-btn--active{background:#8bc34a;color:#fff;border-color:#8bc34a}.contacts-content{display:grid;grid-template-columns:1fr 400px;gap:1.5rem}.contacts-list{display:flex;flex-direction:column;gap:1rem}.contact-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s ease;border-left:4px solid transparent}.contact-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.contact-card--selected{border-left-color:#8bc34a;box-shadow:0 4px 12px #8bc34a33}.contact-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.contact-card__name{font-size:1.125rem;font-weight:600;color:#2c3e50;margin:0}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge--new{background:#e3f2fd;color:#1976d2}.status-badge--read{background:#fff3e0;color:#f57c00}.status-badge--responded{background:#e8f5e9;color:#388e3c}.status-badge--archived{background:#f5f5f5;color:#757575}.contact-card__info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.contact-info-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.contact-card__message{font-size:.9rem;color:#555;line-height:1.5;margin:0}.contacts-empty{text-align:center;padding:3rem;color:#999;font-size:1.125rem}.contacts-loading{text-align:center;padding:3rem;font-size:1.125rem;color:#666}.contacts-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.contacts-pagination button{padding:.5rem 1rem;border:2px solid #8bc34a;background:#fff;color:#8bc34a;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.contacts-pagination button:hover:not(:disabled){background:#8bc34a;color:#fff}.contacts-pagination button:disabled{opacity:.4;cursor:not-allowed}.contact-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}.contact-details__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.contact-details__header h3{margin:0;font-size:1.25rem;color:#2c3e50}.btn-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-close:hover{background:#f5f5f5;color:#333}.contact-details__body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.detail-group{display:flex;flex-direction:column;gap:.5rem}.detail-group label{font-size:.875rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.detail-group p{margin:0;color:#2c3e50;font-size:1rem}.message-text{line-height:1.6;white-space:pre-wrap}.contact-details__actions{padding:1.5rem;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.75rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn--responded{background:#4caf50;color:#fff}.action-btn--responded:hover:not(:disabled){background:#388e3c}.action-btn--archive{background:#ff9800;color:#fff}.action-btn--archive:hover:not(:disabled){background:#f57c00}.action-btn--delete{background:#f44336;color:#fff}.action-btn--delete:hover:not(:disabled){background:#d32f2f}.action-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.contacts-content{grid-template-columns:1fr}.contact-details{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:500px;max-height:100vh;z-index:1000;animation:slideInRight .3s ease-out}}@media(max-width:768px){.contacts-section{padding:1rem}.contacts-stats{grid-template-columns:repeat(2,1fr)}.contact-details{max-width:100%}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.MuiBox-root,.MuiContainer-root,.MuiGrid-root,.MuiStack-root,.MuiBox-root p,.MuiBox-root span,.MuiBox-root div,.MuiContainer-root p,.MuiContainer-root span,.MuiContainer-root div,.MuiDialog-paper,.MuiDialog-paper *,.MuiTableContainer-root{color:inherit}.MuiTableBody-root .MuiTableCell-root{color:inherit!important}.MuiList-root,.MuiListItem-root,.MuiFormControl-root,.MuiInputBase-root,.MuiChip-root,.MuiCard-root,.MuiCardContent-root,.MuiAccordion-root,.MuiStep-root{color:inherit}.MuiStepLabel-label{color:inherit!important}.MuiTimeline-root,.MuiTimelineContent-root,.MuiAlert-message,.MuiSnackbarContent-root,.MuiBadge-badge,.MuiAvatar-root{color:inherit}.MuiChip-colorSuccess{background-color:#d4edda!important;color:#155724!important}.MuiChip-colorError{background-color:#f8d7da!important;color:#721c24!important}.MuiChip-colorWarning{background-color:#fff3cd!important;color:#856404!important}.MuiChip-colorInfo{background-color:#d1ecf1!important;color:#0c5460!important}[data-theme=dark] .MuiChip-colorSuccess{background-color:#1e4620!important;color:#4ade80!important}[data-theme=dark] .MuiChip-colorError{background-color:#4a1c1c!important;color:#f87171!important}[data-theme=dark] .MuiChip-colorWarning{background-color:#4a3c1c!important;color:#fbbf24!important}[data-theme=dark] .MuiChip-colorInfo{background-color:#1c2e4a!important;color:#60a5fa!important}.MuiButton-root,.MuiIconButton-root,.MuiToggleButton-root{color:inherit}.MuiBox-root[style*=color]{color:inherit!important}.MuiPaper-root>*{color:inherit}.MuiCard-root>*{color:inherit}.MuiDialog-paper>*{color:inherit}[data-theme=dark] .MuiDialog-paper .MuiOutlinedInput-root fieldset{border-color:#475569cc!important}[data-theme=dark] .MuiDialog-paper .MuiOutlinedInput-root:hover fieldset{border-color:#94a3b8cc!important}[data-theme=dark] .MuiDialog-paper .MuiOutlinedInput-notchedOutline{border-color:#475569cc!important}[data-theme=dark] .MuiDialog-paper .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#94a3b8cc!important}[data-theme=dark] .MuiDialog-paper{color:#f8fafc}[data-theme=dark] .MuiDialog-paper .MuiTypography-root{color:inherit}[data-theme=dark] .MuiDialog-paper .MuiInputBase-input{color:#f8fafc}[data-theme=dark] .MuiDialog-paper .MuiInputLabel-root{color:#94a3b8}[data-theme=dark] .MuiDialog-paper .MuiPaper-root{color:#f8fafc}.custom-snackbar-success{background-color:#22c55e!important;color:#fff!important;font-weight:500!important;border-radius:12px!important;box-shadow:0 4px 12px #22c55e4d!important}.custom-snackbar-error{background-color:#ef4444!important;color:#fff!important;font-weight:500!important;border-radius:12px!important;box-shadow:0 4px 12px #ef44444d!important}.custom-snackbar-warning{background-color:#f59e0b!important;color:#fff!important;font-weight:500!important;border-radius:12px!important;box-shadow:0 4px 12px #f59e0b4d!important}.custom-snackbar-info{background-color:#3b82f6!important;color:#fff!important;font-weight:500!important;border-radius:12px!important;box-shadow:0 4px 12px #3b82f64d!important}.SnackbarContainer-root{z-index:9999!important}.SnackbarItem-root{min-width:300px!important;max-width:500px!important;padding:12px 16px!important;font-size:.95rem!important}.SnackbarItem-message{padding:0!important;font-weight:500!important}.SnackbarItem-action{padding-left:8px!important;margin-right:-8px!important}.SnackbarItem-action button{color:#ffffffe6!important;transition:all .2s ease!important}.SnackbarItem-action button:hover{background-color:#ffffff1a!important;color:#fff!important}@media(prefers-color-scheme:dark){.custom-snackbar-success{background-color:#16a34a!important;box-shadow:0 4px 12px #16a34a66!important}.custom-snackbar-error{background-color:#dc2626!important;box-shadow:0 4px 12px #dc262666!important}.custom-snackbar-warning{background-color:#d97706!important;box-shadow:0 4px 12px #d9770666!important}.custom-snackbar-info{background-color:#2563eb!important;box-shadow:0 4px 12px #2563eb66!important}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.SnackbarItem-root{animation:slideIn .3s ease-out!important}.SnackbarItem-root.SnackbarItem-exit{animation:slideOut .2s ease-in!important}section{overflow-x:hidden;max-width:100vw}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-background)}.route-transition-enter{opacity:0;transform:translateY(10px)}.route-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.route-transition-exit{opacity:1;transform:translateY(0)}.route-transition-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.nav-links a.active{color:var(--primary-blue);font-weight:600}.nav-links a.active:after{width:100%}.public-booking-modal{--modal-primary: var(--primary-green);--modal-secondary: var(--primary-teal);--modal-accent: var(--accent-teal);--modal-blue: var(--primary-blue);--primary-gradient: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-teal) 100%);--success-gradient: linear-gradient(135deg, var(--primary-green) 0%, #22c55e 100%);--teal-gradient: linear-gradient(135deg, var(--accent-teal) 0%, var(--primary-blue) 100%);--soft-gradient: linear-gradient(135deg, var(--soft-mint) 0%, var(--light-green) 100%);--blue-gradient: linear-gradient(135deg, var(--primary-blue) 0%, #2563eb 100%);--glass-bg: rgba(255, 255, 255, .98);--glass-border: rgba(74, 222, 128, .2);--shadow-color: rgba(74, 222, 128, .15);--text-primary: var(--text-dark);--text-secondary: var(--text-medium);--text-tertiary: var(--text-light);--border-radius-sm: 12px;--border-radius-md: 16px;--border-radius-lg: 20px;--border-radius-xl: 24px}.public-booking-modal .MuiDialog-paper{background:linear-gradient(180deg,#fff,#f8fafc)!important;border-radius:var(--border-radius-xl)!important;box-shadow:0 20px 60px #4ade801f,0 8px 24px #14b8a614,0 0 0 1px #4ade801a inset!important;overflow:hidden;min-height:70vh;position:relative;overscroll-behavior:contain;touch-action:pan-y;border:2px solid rgba(74,222,128,.15)}.public-booking-modal .MuiDialogContent-root{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;position:relative;z-index:1;scroll-behavior:smooth;will-change:scroll-position}.public-booking-modal,.public-booking-modal *,.MuiDialog-root.public-booking-modal,.MuiDialog-root.public-booking-modal *{overscroll-behavior:contain!important}.public-booking-modal+.MuiBackdrop-root{overscroll-behavior:contain!important;touch-action:none!important}.public-booking-modal .MuiDialog-paper:before{content:"";position:absolute;top:0;left:0;right:0;height:250px;background:linear-gradient(135deg,#4ade8014,#14b8a60f,#3b82f60a);z-index:0;animation:gradientShift 10s ease infinite}.public-booking-modal .MuiDialogContent-root{overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:smooth;max-height:60vh!important;padding:32px!important;position:relative;z-index:1}.public-booking-modal .MuiDialogContent-root::-webkit-scrollbar{width:8px}.public-booking-modal .MuiDialogContent-root::-webkit-scrollbar-track{background:var(--soft-mint);border-radius:10px;margin:8px 0}.public-booking-modal .MuiDialogContent-root::-webkit-scrollbar-thumb{background:var(--primary-gradient);border-radius:10px;transition:all .3s ease;border:2px solid var(--soft-mint)}.public-booking-modal .MuiDialogContent-root::-webkit-scrollbar-thumb:hover{background:var(--teal-gradient);box-shadow:0 0 12px #4ade8066;transform:scaleY(1.1)}.public-booking-modal .MuiStepper-root{background:linear-gradient(135deg,var(--soft-mint) 0%,rgba(255,255,255,.95) 100%)!important;padding:28px!important;border-radius:var(--border-radius-lg)!important;position:relative;margin-bottom:32px;box-shadow:0 4px 20px #4ade8014,0 0 0 1px #4ade801a inset;border:1px solid rgba(74,222,128,.15)}.public-booking-modal .MuiStepper-root:before{content:"";position:absolute;top:44px;left:60px;right:60px;height:4px;background:linear-gradient(90deg,#4ade8040,#14b8a640,#3b82f640);z-index:0;border-radius:10px}.public-booking-modal .MuiStep-root{z-index:1;background:transparent;padding:0}.public-booking-modal .MuiStepIcon-root{width:52px!important;height:52px!important;background:#fff!important;border:3px solid rgba(74,222,128,.25)!important;border-radius:50%!important;box-shadow:0 4px 16px #4ade801f;transition:all .4s cubic-bezier(.4,0,.2,1)}.public-booking-modal .MuiStepIcon-root.Mui-active{background:var(--primary-gradient)!important;border-color:transparent!important;box-shadow:0 8px 28px #4ade8059,0 0 0 5px #4ade801f;transform:scale(1.15);animation:activePulse 2s ease infinite}.public-booking-modal .MuiStepIcon-root.Mui-completed{background:var(--success-gradient)!important;border-color:transparent!important;box-shadow:0 4px 20px #4ade8066;animation:completePulse .6s ease}@keyframes activePulse{0%,to{box-shadow:0 8px 28px #4ade8059,0 0 0 5px #4ade801f}50%{box-shadow:0 8px 32px #4ade8073,0 0 0 8px #4ade802e}}@keyframes completePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.public-booking-modal .MuiStepIcon-text{fill:var(--text-secondary)!important;font-weight:700!important;font-size:.875rem!important}.public-booking-modal .MuiStepIcon-root.Mui-active .MuiStepIcon-text,.public-booking-modal .MuiStepIcon-root.Mui-completed .MuiStepIcon-text{fill:#fff!important}.public-booking-modal .MuiStepLabel-label{color:var(--text-tertiary)!important;font-weight:500!important;font-size:.875rem!important;margin-top:12px!important;transition:all .3s ease}.public-booking-modal .MuiStepLabel-label.Mui-active{color:var(--modal-primary)!important;font-weight:700!important;font-size:.9375rem!important}.public-booking-modal .MuiStepLabel-label.Mui-completed{color:var(--modal-accent)!important;font-weight:600!important}.public-booking-modal .step-header{display:flex;align-items:center;gap:18px;margin-bottom:32px;padding:24px 28px;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,var(--soft-mint) 100%);border-radius:var(--border-radius-lg);border:2px solid rgba(74,222,128,.15);box-shadow:0 4px 20px #4ade8014,0 0 0 1px #4ade800d inset;position:relative;overflow:hidden;transition:all .3s ease}.public-booking-modal .step-header:hover{transform:translateY(-2px);box-shadow:0 8px 28px #4ade801f,0 0 0 1px #4ade801a inset}.public-booking-modal .step-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--primary-gradient);box-shadow:2px 0 8px #4ade804d}.public-booking-modal .step-header .MuiAvatar-root{width:60px!important;height:60px!important;background:var(--primary-gradient)!important;box-shadow:0 8px 24px #4ade804d,0 0 0 4px #4ade801a}.public-booking-modal .service-card{transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,var(--soft-mint) 100%)!important;border:2px solid rgba(74,222,128,.15)!important;border-radius:var(--border-radius-lg)!important;box-shadow:0 4px 16px #4ade8014}.public-booking-modal .service-card:hover{transform:translateY(-4px);border-color:#4ade804d!important;box-shadow:0 12px 32px #4ade8026,0 0 0 1px #4ade801a inset}.public-booking-modal .service-card.selected{background:linear-gradient(135deg,var(--light-green) 0%,var(--soft-mint) 100%)!important;border-color:var(--modal-primary)!important;box-shadow:0 8px 28px #4ade8040,0 0 0 3px #4ade8026 inset}.public-booking-modal .service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--primary-gradient);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.public-booking-modal .service-card:after{content:"";position:absolute;inset:0;background:var(--primary-gradient);opacity:0;transition:opacity .4s ease;z-index:-1}.public-booking-modal .service-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #667eea26,0 0 0 1px #667eea1a inset;border-color:#667eea4d!important}.public-booking-modal .service-card:hover:before{transform:scaleX(1)}.public-booking-modal .service-card.selected{transform:translateY(-4px) scale(1.02);border-color:transparent!important;box-shadow:0 16px 48px #667eea40,0 0 0 3px #667eea1a;animation:selectedPulse 2s ease-in-out infinite}.public-booking-modal .service-card.selected:before{transform:scaleX(1)}.public-booking-modal .service-card.selected:after{opacity:.03}@keyframes selectedPulse{0%,to{box-shadow:0 16px 48px #667eea40,0 0 0 3px #667eea1a}50%{box-shadow:0 20px 56px #667eea4d,0 0 0 5px #667eea26}}.public-booking-modal .MuiTextField-root .MuiOutlinedInput-root{border-radius:var(--border-radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);background:#fffc;backdrop-filter:blur(10px)}.public-booking-modal .MuiTextField-root .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#667eea26;border-width:2px;transition:all .3s ease}.public-booking-modal .MuiTextField-root .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#667eea4d}.public-booking-modal .MuiTextField-root .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--primary-color);border-width:2px;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26}.public-booking-modal .MuiTextField-root .MuiInputLabel-root{color:var(--text-secondary);font-weight:500}.public-booking-modal .MuiTextField-root .MuiInputLabel-root.Mui-focused{color:var(--primary-color);font-weight:600}.public-booking-modal .MuiTextField-root .MuiInputBase-input{font-weight:500;color:var(--text-primary)}.public-booking-modal .MuiSelect-select{padding-left:36px!important}.public-booking-modal .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:#fff9;backdrop-filter:blur(10px);border-radius:var(--border-radius-md);border:2px dashed rgba(102,126,234,.2);position:relative;overflow:hidden}.public-booking-modal .loading-container:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(102,126,234,.05) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.public-booking-modal .MuiCircularProgress-root{color:var(--primary-color)!important}.public-booking-modal .MuiDialogTitle-root{background:#fffc;backdrop-filter:blur(10px);border-bottom:1px solid rgba(102,126,234,.1);padding:24px 32px!important;position:relative;z-index:1}.public-booking-modal .MuiDialogTitle-root .MuiTypography-root{font-weight:700!important;font-size:1.75rem!important;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.public-booking-modal .MuiDialogActions-root{padding:24px 32px!important;background:#fffc;backdrop-filter:blur(10px);border-top:1px solid rgba(102,126,234,.1);gap:12px;position:relative;z-index:1}.public-booking-modal .MuiChip-root{border-radius:20px!important;font-weight:600!important;padding:4px 8px!important;background:#667eea1a!important;color:var(--primary-color)!important;border:1px solid rgba(102,126,234,.2)!important;transition:all .3s ease!important}.public-booking-modal .MuiChip-root:hover{background:#667eea26!important;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.public-booking-modal .MuiAlert-root{border-radius:var(--border-radius-md)!important;border:2px solid transparent!important;backdrop-filter:blur(10px)!important;font-weight:500!important;box-shadow:0 4px 16px #0000000f!important}.public-booking-modal .MuiAlert-standardInfo{background:#4facfe1a!important;color:#1e40af!important;border-color:#4facfe4d!important}.public-booking-modal .MuiAlert-standardSuccess{background:#43e97b1a!important;color:#065f46!important;border-color:#43e97b4d!important}.public-booking-modal .MuiAlert-standardWarning{background:#fee1401a!important;color:#92400e!important;border-color:#fee1404d!important}.public-booking-modal .MuiAlert-standardError{background:#f5576c1a!important;color:#991b1b!important;border-color:#f5576c4d!important}.public-booking-modal .MuiButton-containedPrimary{background:var(--primary-gradient)!important;border-radius:var(--border-radius-sm)!important;padding:12px 32px!important;font-weight:600!important;text-transform:none!important;font-size:1rem!important;box-shadow:0 8px 24px #667eea40!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.public-booking-modal .MuiButton-containedPrimary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.public-booking-modal .MuiButton-containedPrimary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea59!important}.public-booking-modal .MuiButton-containedPrimary:hover:before{opacity:1}.public-booking-modal .MuiButton-containedPrimary:active{transform:translateY(0)}.public-booking-modal .MuiButton-outlined{border-radius:var(--border-radius-sm)!important;padding:12px 32px!important;font-weight:600!important;text-transform:none!important;font-size:1rem!important;border:2px solid rgba(102,126,234,.2)!important;color:var(--primary-color)!important;transition:all .3s ease!important}.public-booking-modal .MuiButton-outlined:hover{border-color:var(--primary-color)!important;background:#667eea0d!important;transform:translateY(-2px);box-shadow:0 8px 20px #667eea26}@media(max-width:768px){.public-booking-modal .MuiDialog-paper{margin:16px!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;max-height:90vh!important}.public-booking-modal .MuiDialogTitle-root{padding:16px 20px!important}.public-booking-modal .MuiDialogContent-root{padding:16px 20px!important;max-height:50vh!important}.public-booking-modal .MuiDialogActions-root{padding:20px!important}.public-booking-modal .step-header{flex-direction:column;text-align:center;gap:12px}.public-booking-modal .step-header .MuiAvatar-root{margin:0!important}.public-booking-modal .MuiStepper-root{flex-direction:column;gap:16px}.public-booking-modal .MuiStepper-root:before{display:none}}.public-booking-modal .MuiDialogContent-root>div{animation:fadeIn .3s ease-out}.login-selection-modal{--modal-primary: var(--primary-green);--modal-secondary: var(--primary-teal);--modal-accent: var(--accent-teal);--modal-blue: var(--primary-blue)}.login-selection-modal .MuiDialog-paper{background:linear-gradient(180deg,#fff,#f8fafc)!important;border-radius:24px!important;box-shadow:0 20px 60px #4ade801f,0 8px 24px #14b8a614,0 0 0 1px #4ade801a inset!important;overflow:hidden;min-height:60vh;position:relative;overscroll-behavior:contain;touch-action:pan-y;border:2px solid rgba(74,222,128,.15)}.login-selection-modal .MuiDialogContent-root{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;position:relative;z-index:1;scroll-behavior:smooth;will-change:scroll-position}.login-selection-modal,.login-selection-modal *,.MuiDialog-root.login-selection-modal,.MuiDialog-root.login-selection-modal *{overscroll-behavior:contain!important}.login-selection-modal+.MuiBackdrop-root{overscroll-behavior:contain!important;touch-action:none!important}body.modal-open{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important;overscroll-behavior:none!important}body.modal-open .lenis-wrapper,body.modal-open .lenis{overflow:hidden!important;height:100vh!important;position:fixed!important;width:100%!important}.login-selection-modal .MuiDialog-paper:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(135deg,#4ade8014,#14b8a60f,#3b82f60a);z-index:0;animation:gradientShift 10s ease infinite}@keyframes gradientShift{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-10px) scale(1.02);opacity:.8}}.login-selection-modal .dashboard-card{transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.login-selection-modal .dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-green),var(--primary-blue));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.login-selection-modal .dashboard-card:hover:before{transform:scaleX(1)}.login-selection-modal .dashboard-card.selected{animation:selectedPulse 2s ease-in-out infinite}.login-selection-modal .dashboard-card.selected:before{transform:scaleX(1)}@keyframes selectedPulse{0%,to{box-shadow:0 16px 48px #4ade8040,0 0 0 3px #4ade801a}50%{box-shadow:0 20px 56px #4ade804d,0 0 0 5px #4ade8026}}@media(max-width:768px){.login-selection-modal .MuiDialog-paper{margin:16px!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;max-height:90vh!important}.login-selection-modal .MuiDialogContent-root{padding:24px 16px!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-selection-modal .MuiDialogContent-root>div{animation:fadeIn .3s ease-out}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.scroll-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--medical-primary),var(--medical-secondary));transform-origin:0%;z-index:9999;box-shadow:0 2px 4px #0000001a}.scroll-to-top-btn{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;border-radius:50%;background:var(--medical-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;z-index:1000;transition:all .3s ease}.scroll-to-top-btn:hover{background:var(--medical-primary-dark);box-shadow:0 6px 16px #0003}.scroll-to-top-btn:active{transform:scale(.95)}.scroll-to-top-btn svg{width:24px;height:24px}@media(max-width:768px){.scroll-to-top-btn{bottom:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem}.scroll-to-top-btn svg{width:20px;height:20px}.scroll-progress-bar{height:2px}}@supports (-webkit-touch-callout: none){.scroll-to-top-btn{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}}.smooth-scroll-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}*{scroll-behavior:auto!important}.lenis-wrapper{overflow-x:hidden;width:100%;height:100%}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}.lenis-wrapper{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.public-page-wrapper section{scroll-margin-top:80px}@media(hover:none)and (pointer:coarse){.lenis-wrapper{touch-action:pan-y;-webkit-tap-highlight-color:transparent}}.professional-loader-fullscreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#fff,#f0f9ff);z-index:9999;animation:fadeIn .2s ease-in}.professional-loader-inline{display:flex;align-items:center;justify-content:center;padding:2rem}.professional-loader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:slideUp .4s ease-out}.loader-icon{position:relative;display:flex;align-items:center;justify-content:center}.loader-icon.loader-small{width:40px;height:40px}.loader-icon.loader-medium{width:60px;height:60px}.loader-icon.loader-large{width:80px;height:80px}.loader-pulse{position:absolute;width:50%;height:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite;z-index:2}.loader-pulse svg{width:100%;height:100%;color:#4f46e5}.cross-icon{animation:crossPulse 2s ease-in-out infinite}.loader-ring{position:absolute;width:100%;height:100%;animation:rotate 2s linear infinite}.ring-segment{position:absolute;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:ringPulse 1.5s ease-in-out infinite}.ring-segment:nth-child(1){border-top-color:#4f46e5;animation-delay:0s}.ring-segment:nth-child(2){border-right-color:#7c3aed;animation-delay:.3s}.ring-segment:nth-child(3){border-bottom-color:#2563eb;animation-delay:.6s}.loader-message{text-align:center;color:#64748b}.loader-message p{margin:0 0 .5rem;font-size:.95rem;font-weight:500;color:#475569;letter-spacing:.025em}.loader-dots{display:flex;gap:.35rem;justify-content:center;align-items:center;height:1rem}.loader-dots span{width:6px;height:6px;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite}.loader-dots span:nth-child(1){animation-delay:0s}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes crossPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes ringPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0) scale(1);opacity:.7}40%{transform:translateY(-8px) scale(1.2);opacity:1}}@media(prefers-reduced-motion:reduce){.professional-loader-fullscreen,.professional-loader-content,.loader-pulse,.loader-ring,.ring-segment,.loader-dots span{animation:none}.loader-ring{border:3px solid #4f46e5;border-top-color:transparent}}@media(prefers-color-scheme:dark){.professional-loader-fullscreen{background:linear-gradient(135deg,#0f172a,#1e293b,#1e3a5f)}.loader-message p{color:#cbd5e1}}@media(max-width:768px){.loader-icon.loader-medium{width:50px;height:50px}.loader-message p{font-size:.875rem}}.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background:#fff;border-left:4px solid;pointer-events:auto;animation:slideIn .3s ease-out;max-width:100%;word-wrap:break-word}.notification--success{border-left-color:#10b981;background:#f0fdf4}.notification--error{border-left-color:#ef4444;background:#fef2f2}.notification--warning{border-left-color:#f59e0b;background:#fffbeb}.notification--info{border-left-color:#3b82f6;background:#eff6ff}.notification__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-weight:700;font-size:12px;flex-shrink:0}.notification--success .notification__icon{background:#10b981;color:#fff}.notification--error .notification__icon{background:#ef4444;color:#fff}.notification--warning .notification__icon{background:#f59e0b;color:#fff}.notification--info .notification__icon{background:#3b82f6;color:#fff}.notification__content{flex:1;min-width:0}.notification__message{font-weight:500;color:#1f2937;margin-bottom:4px;line-height:1.4}.notification__details{font-size:14px;color:#6b7280;line-height:1.4}.notification__close{background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;transition:all .2s ease}.notification__close:hover{background:#0000001a;color:#374151}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification{padding:12px;gap:8px}.notification__message{font-size:14px}.notification__details{font-size:12px}}.spinner{display:inline-block;position:relative}.spinner--small{width:16px;height:16px}.spinner--medium{width:24px;height:24px}.spinner--large{width:40px;height:40px}.spinner__circle{width:100%;height:100%;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner--small .spinner__circle{border-width:1.5px}.spinner--large .spinner__circle{border-width:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay{position:fixed;inset:0;background:#fffc;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9998}.loading-overlay__content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:300px;text-align:center}.loading-overlay__message{font-size:16px;color:#374151;font-weight:500}.loading-inline{display:inline-flex;align-items:center;gap:8px}.loading-inline__message{font-size:14px;color:#6b7280}.loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:#e5e7eb;z-index:9999}.loading-bar__progress{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);width:0%;animation:loadingProgress 2s ease-in-out infinite}@keyframes loadingProgress{0%{width:0%;transform:translate(-100%)}50%{width:100%;transform:translate(0)}to{width:100%;transform:translate(100%)}}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading .spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn--loading span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6b7280;font-size:14px;margin-left:24px}.card--loading{position:relative;overflow:hidden}.card--loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}.skeleton--text{height:16px;margin-bottom:8px}.skeleton--title{height:24px;margin-bottom:12px}.skeleton--avatar{width:40px;height:40px;border-radius:50%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.loading-overlay__content{padding:24px;margin:20px}.loading-overlay__message{font-size:14px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-page.loading{background:var(--color-background)}.loading-container{text-align:center;color:var(--color-text-secondary)}.loading-container .loading-spinner.large{width:3rem;height:3rem;margin:0 auto 1rem}.login-container{width:100%;max-width:28rem;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.login-content{padding:2rem}.login-branding{text-align:center;margin-bottom:2rem}.brand-logo h1{font-size:1.875rem;font-weight:700;color:var(--color-primary);margin:0 0 .5rem}.brand-description p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.login-form-container{width:100%}.login-form-header{text-align:center;margin-bottom:1.5rem}.login-form-header h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.login-form-header p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.login-form{width:100%}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.375rem}.form-input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;background-color:#fff}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-input:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.password-input-container{position:relative}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-secondary);font-size:1rem;transition:color .15s ease-in-out}.password-toggle:hover{color:var(--color-text-primary)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{color:var(--color-error);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message.global-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;padding:.75rem;margin-bottom:1rem;font-size:.875rem}.form-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.btn{padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;text-align:center;cursor:pointer;transition:all .15s ease-in-out;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background-secondary);color:var(--color-text-primary)}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.login-footer{background-color:var(--color-background-secondary);padding:1rem 2rem;text-align:center;border-top:1px solid var(--color-border)}.login-footer p{color:var(--color-text-secondary);font-size:.75rem;margin:0}.login-form-footer{margin-top:1.5rem;text-align:center}.forgot-password a{color:var(--color-primary);text-decoration:none;font-size:.875rem;transition:color .15s ease-in-out}.forgot-password a:hover{color:var(--color-primary-dark);text-decoration:underline}@media(max-width:640px){.login-page{padding:.5rem}.login-container{max-width:100%;border-radius:0;box-shadow:none}.login-content{padding:1.5rem}.brand-logo h1{font-size:1.5rem}.login-form-header h2{font-size:1.25rem}}@media(prefers-contrast:high){.form-input,.btn{border-width:2px}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}.form-input,.btn,.password-toggle{transition:none}}.session-warning-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(2px)}.session-warning-modal{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.session-warning-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.warning-icon{color:#f59e0b;flex-shrink:0}.session-warning-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.session-warning-content{margin-bottom:2rem;color:#4b5563;line-height:1.6}.session-warning-content p{margin:0 0 1rem}.session-warning-content p:last-child{margin-bottom:0}.time-remaining{color:#dc2626;font-family:Courier New,monospace;font-size:1.1em}.session-warning-actions{display:flex;gap:1rem;justify-content:flex-end}.session-warning-actions .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s ease}.session-warning-actions .btn-primary{background-color:#3b82f6;color:#fff;border:none}.session-warning-actions .btn-primary:hover{background-color:#2563eb;transform:translateY(-1px)}.session-warning-actions .btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.session-warning-actions .btn-secondary:hover{background-color:#e5e7eb;transform:translateY(-1px)}@media(prefers-color-scheme:dark){.session-warning-modal{background:#1f2937;color:#f9fafb}.session-warning-header h3{color:#f9fafb}.session-warning-content{color:#d1d5db}.session-warning-actions .btn-secondary{background-color:#374151;color:#f9fafb;border-color:#4b5563}.session-warning-actions .btn-secondary:hover{background-color:#4b5563}}@media(max-width:480px){.session-warning-modal{padding:1.5rem;margin:1rem}.session-warning-actions{flex-direction:column}.session-warning-actions .btn{width:100%;justify-content:center}}.protected-route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#fff);animation:fadeIn .15s ease-in}.protected-route-loading .loading-container{text-align:center;animation:pulse 1.5s ease-in-out infinite}.protected-route-loading .loading-spinner.large{width:2.5rem;height:2.5rem;margin:0 auto;border:2.5px solid rgba(79,70,229,.15);border-top:2.5px solid #4f46e5;border-radius:50%;animation:spin .7s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.unauthorized-access{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);padding:1rem}.unauthorized-container{max-width:28rem;width:100%;text-align:center;background:#fff;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:2rem}.unauthorized-icon{color:var(--color-error);margin-bottom:1.5rem}.unauthorized-icon svg{width:4rem;height:4rem;margin:0 auto}.unauthorized-content h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.unauthorized-content p{color:var(--color-text-secondary);line-height:1.5;margin:0 0 .75rem}.unauthorized-content .current-role{font-size:.875rem;color:var(--color-text-tertiary)}.unauthorized-content strong{color:var(--color-text-primary);font-weight:600}.unauthorized-actions{margin-top:2rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.unauthorized-actions .btn{padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;text-align:center;cursor:pointer;transition:all .15s ease-in-out;border:1px solid transparent;text-decoration:none;min-width:6rem}.unauthorized-actions .btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.unauthorized-actions .btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.unauthorized-actions .btn-secondary{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.unauthorized-actions .btn-secondary:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary)}@media(max-width:640px){.unauthorized-container{margin:.5rem;padding:1.5rem}.unauthorized-icon svg{width:3rem;height:3rem}.unauthorized-content h2{font-size:1.25rem}.unauthorized-actions{flex-direction:column}.unauthorized-actions .btn{width:100%}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-contrast:high){.unauthorized-container{border:2px solid var(--color-border)}.unauthorized-actions .btn{border-width:2px}}@media(prefers-reduced-motion:reduce){.protected-route-loading .loading-spinner.large{animation:none}.unauthorized-actions .btn{transition:none}}.unauthorized-actions .btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.unauthorized-actions .btn-secondary:focus{outline-color:var(--color-text-primary)}
