:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success-50: #ecfdf5;--color-success-500: #10b981;--color-success-600: #059669;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--container-max: 1200px;--container-narrow: 720px}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-gray-900);background-color:var(--color-gray-50);min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-gray-900)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin:0;color:var(--color-gray-600)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}input,textarea,select{font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-900);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}input::placeholder,textarea::placeholder{color:var(--color-gray-400)}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);margin-bottom:var(--space-2)}small{font-size:var(--text-sm);color:var(--color-gray-500)}button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-normal);border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-primary{background-color:var(--color-primary-600);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-700)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-800)}.btn-secondary{background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-danger{background-color:var(--color-error-500);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-error-600)}.btn-outline-danger{background-color:#fff;color:var(--color-error-500);border:1px solid var(--color-error-500)}.btn-outline-danger:hover:not(:disabled){background-color:var(--color-error-50)}.card{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.form-error{background-color:var(--color-error-50);color:var(--color-error-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);border:1px solid rgba(239,68,68,.2)}.form-success{background-color:var(--color-success-50);color:var(--color-success-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);border:1px solid rgba(16,185,129,.2)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--space-6)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.auth-callback-loading,.auth-callback-error{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.auth-callback-error h1{color:#d32f2f;margin-bottom:1rem}.auth-callback-error button{margin-top:1rem;padding:.75rem 1.5rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.auth-callback-error button:hover{background:#1976d2}.home-page{min-height:100vh;background:linear-gradient(135deg,var(--color-primary-600) 0%,#7c3aed 100%)}.home-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-8);max-width:var(--container-max);margin:0 auto}.home-header h1{color:#fff;font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.nav-link{color:#ffffffe6;text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.nav-link:hover{background:#ffffff26;color:#fff}.home-main{max-width:var(--container-max);margin:0 auto;padding:var(--space-16) var(--space-8)}.hero{text-align:center;color:#fff;margin-bottom:var(--space-16)}.hero h2{font-size:3.5rem;font-weight:var(--font-bold);margin-bottom:var(--space-4);line-height:var(--leading-tight);letter-spacing:-.025em}.hero p{font-size:var(--text-xl);opacity:.9;max-width:600px;margin:0 auto var(--space-8);line-height:var(--leading-relaxed);color:#ffffffd9}.hero-actions{display:flex;gap:var(--space-4);justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-8);border-radius:var(--radius-xl);text-decoration:none;font-weight:var(--font-semibold);font-size:var(--text-base);transition:all var(--transition-base);border:none;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#fff;color:var(--color-primary-700);box-shadow:var(--shadow-lg)}.btn-primary:hover{box-shadow:0 20px 40px #0003}.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-secondary:hover{border-color:#fff;background:#ffffff1a}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.feature{background:#fff;padding:var(--space-8);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature:hover{transform:translateY(-4px);box-shadow:0 25px 50px #00000026}.feature h3{color:var(--color-gray-900);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-3)}.feature p{color:var(--color-gray-600);line-height:var(--leading-relaxed);margin:0}@media(max-width:768px){.home-header{padding:var(--space-4)}.home-main{padding:var(--space-8) var(--space-4)}.hero h2{font-size:var(--text-3xl)}.hero p{font-size:var(--text-lg)}.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px}.features{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-600) 0%,#7c3aed 100%);padding:var(--space-4)}.login-card{background:#fff;padding:var(--space-10);border-radius:var(--radius-2xl);box-shadow:0 25px 50px #00000040;text-align:center;max-width:420px;width:100%}.login-card h1{margin:0 0 var(--space-2);color:var(--color-gray-900);font-size:var(--text-2xl);font-weight:var(--font-bold)}.login-card>p{color:var(--color-gray-500);margin-bottom:var(--space-8);font-size:var(--text-base)}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-6);background:#fff;border:2px solid var(--color-gray-200);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-gray-700);cursor:pointer;transition:all var(--transition-fast)}.google-login-btn:hover{border-color:var(--color-gray-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.google-login-btn:active{transform:translateY(0)}.google-icon{width:20px;height:20px}.login-note{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-gray-400);line-height:var(--leading-relaxed)}.loading-spinner{width:44px;height:44px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@media(max-width:480px){.login-card{padding:var(--space-8)}}.dashboard-overview{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-overview .alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-overview .alert strong{font-weight:var(--font-semibold)}.dashboard-overview .alert p{margin:0;font-size:var(--text-sm)}.dashboard-overview .alert-warning{background:var(--color-warning-50);border:1px solid rgba(245,158,11,.3);color:#92400e}.dashboard-overview .alert-info{background:var(--color-primary-50);border:1px solid rgba(37,99,235,.2);color:var(--color-primary-800)}.dashboard-overview .alert-info a{color:var(--color-primary-700);font-weight:var(--font-medium)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.dashboard-overview .dashboard-card{background:#fff;padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.dashboard-overview .dashboard-card.full-width{grid-column:1 / -1}.dashboard-overview .dashboard-card h2{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.dashboard-overview .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.dashboard-overview .card-header h2{margin:0}.dashboard-overview .card-action{color:var(--color-primary-600);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium)}.dashboard-overview .booking-url{display:flex;gap:var(--space-3);margin:var(--space-4) 0}.dashboard-overview .booking-url code{flex:1;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-family-mono);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-overview .copy-btn{padding:var(--space-3) var(--space-5);background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.dashboard-overview .copy-btn:hover{background:var(--color-primary-700)}.dashboard-overview .preview-link{color:var(--color-primary-600);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium)}.dashboard-overview .muted{color:var(--color-gray-500)}.dashboard-overview .status-connected,.dashboard-overview .status-disconnected{display:flex;align-items:center;gap:var(--space-3)}.dashboard-overview .status-dot{width:10px;height:10px;border-radius:var(--radius-full)}.dashboard-overview .status-dot.connected{background:var(--color-success-500);box-shadow:0 0 0 3px var(--color-success-50)}.dashboard-overview .status-dot.disconnected{background:var(--color-error-500);box-shadow:0 0 0 3px var(--color-error-50)}.dashboard-overview .connect-link{margin-left:auto;color:var(--color-primary-600);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium)}.dashboard-overview .event-types-list{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-overview .event-type-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100)}.dashboard-overview .event-type-item.inactive{opacity:.5}.dashboard-overview .event-type-color{width:4px;height:44px;border-radius:var(--radius-full)}.dashboard-overview .event-type-info{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-overview .event-type-info strong{color:var(--color-gray-900);font-weight:var(--font-medium)}.dashboard-overview .event-type-info span{color:var(--color-gray-500);font-size:var(--text-sm)}.dashboard-overview .inactive-badge{margin-left:auto;padding:var(--space-1) var(--space-3);background:var(--color-gray-100);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-gray-600)}@media(max-width:768px){.overview-grid{grid-template-columns:1fr}.dashboard-overview .booking-url{flex-direction:column}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.date-specific-availability{width:100%}.date-specific-content{display:grid;grid-template-columns:auto 1fr;gap:var(--space-8);align-items:start}@media(max-width:900px){.date-specific-content{grid-template-columns:1fr}}.calendar-section{display:flex;flex-direction:column;gap:var(--space-4)}.calendar-section h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900)}.date-specific-availability .rdp{--rdp-cell-size: 40px;--rdp-accent-color: var(--color-primary-600);--rdp-background-color: var(--color-primary-50);margin:0}.date-specific-availability .rdp-day_selected,.date-specific-availability .day-blocked{background-color:var(--color-error-500)!important;color:#fff!important}.date-specific-availability .rdp-day_selected:hover,.date-specific-availability .day-blocked:hover{background-color:var(--color-error-600)!important}.btn-add-holidays{background:var(--color-primary-50);color:var(--color-primary-700);border:1px dashed var(--color-primary-300);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-add-holidays:hover{background:var(--color-primary-100);border-color:var(--color-primary-500)}.blocked-dates-section{display:flex;flex-direction:column;gap:var(--space-4)}.blocked-dates-section h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900)}.no-blocked-dates{color:var(--color-gray-500);font-size:var(--text-sm);background:var(--color-gray-50);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center}.blocked-dates-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:400px;overflow-y:auto}.blocked-date-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-error-50);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg)}.blocked-date-info{display:flex;flex-direction:column;gap:var(--space-1)}.blocked-date-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-900)}.blocked-date-label{font-size:var(--text-xs);color:var(--color-error-600)}.btn-remove-date{background:none;border:none;color:var(--color-gray-400);font-size:var(--text-xl);cursor:pointer;padding:var(--space-1) var(--space-2);line-height:1;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-remove-date:hover{color:var(--color-error-600);background:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-gray-200)}.modal-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.modal-close{background:none;border:none;font-size:var(--text-2xl);color:var(--color-gray-400);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--color-gray-600)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-description{margin:0 0 var(--space-4);color:var(--color-gray-600);font-size:var(--text-sm)}.no-holidays{color:var(--color-gray-500);text-align:center;padding:var(--space-6)}.holiday-list{display:flex;flex-direction:column;gap:var(--space-2)}.holiday-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast)}.holiday-item:hover{background:var(--color-gray-100)}.holiday-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary-600)}.holiday-info{display:flex;flex-direction:column;gap:var(--space-1)}.holiday-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-900)}.holiday-date{font-size:var(--text-xs);color:var(--color-gray-500)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-200)}.dashboard-availability{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-availability-loading,.dashboard-availability-error{padding:var(--space-10);text-align:center;color:var(--color-gray-500)}.availability-header{display:flex;align-items:center;justify-content:space-between}.availability-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900)}.availability-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-gray-200);padding-bottom:var(--space-1)}.tab-btn{padding:var(--space-3) var(--space-5);background:none;border:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-500);cursor:pointer;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:all var(--transition-fast);position:relative}.tab-btn:hover{color:var(--color-gray-700);background:var(--color-gray-50)}.tab-btn.active{color:var(--color-primary-600);background:var(--color-primary-50)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-primary-600)}.availability-content{min-height:400px}.dashboard-availability .settings-section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.dashboard-availability .settings-section h3{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900)}.dashboard-availability .section-description{color:var(--color-gray-500);font-size:var(--text-sm);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.dashboard-availability .timezone-select{width:100%;max-width:320px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-gray-900);background:#fff;cursor:pointer}.dashboard-availability .constraints-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.dashboard-availability .constraint label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700)}.dashboard-availability .constraint input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base)}.dashboard-availability .weekly-schedule{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-availability .day-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100)}.dashboard-availability .day-label{width:100px;font-weight:var(--font-medium);padding-top:var(--space-3);flex-shrink:0;color:var(--color-gray-700);font-size:var(--text-sm)}.dashboard-availability .day-windows{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-availability .time-window{display:flex;align-items:center;gap:var(--space-3)}.dashboard-availability .time-window input[type=time]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-family-mono)}.dashboard-availability .time-window span{color:var(--color-gray-400);font-size:var(--text-sm)}.dashboard-availability .btn-remove{background:none;border:none;color:var(--color-gray-400);font-size:var(--text-lg);cursor:pointer;padding:var(--space-1) var(--space-2);line-height:1;border-radius:var(--radius-md);transition:all var(--transition-fast)}.dashboard-availability .btn-remove:hover{color:var(--color-error-500);background:var(--color-error-50)}.dashboard-availability .btn-add-window{background:none;border:1px dashed var(--color-gray-300);color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;align-self:flex-start;transition:all var(--transition-fast)}.dashboard-availability .btn-add-window:hover{border-color:var(--color-primary-500);color:var(--color-primary-600);background:var(--color-primary-50)}.dashboard-availability .unavailable{color:var(--color-gray-400);font-style:italic;font-size:var(--text-sm);padding:var(--space-3) 0}.availability-actions{margin-top:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--color-gray-200)}@media(max-width:600px){.dashboard-availability .day-row{flex-direction:column;gap:var(--space-3)}.dashboard-availability .day-label{width:auto;padding-top:0}.dashboard-availability .time-window{flex-wrap:wrap}.dashboard-availability .constraints-grid{grid-template-columns:1fr}}.dashboard-page{min-height:100vh;background:var(--color-gray-50)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-8);background:#fff;border-bottom:1px solid var(--color-gray-200)}.dashboard-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-link{color:var(--color-gray-600);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.header-link:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.logout-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-900)}.dashboard-layout{display:grid;grid-template-columns:220px 1fr;max-width:var(--container-max);margin:0 auto;padding:var(--space-8);gap:var(--space-8)}.dashboard-sidebar{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-600);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.sidebar-item:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.sidebar-item.active{background:var(--color-primary-50);color:var(--color-primary-700)}.sidebar-icon{width:20px;height:20px;flex-shrink:0}.dashboard-content{min-width:0}@media(max-width:900px){.dashboard-layout{grid-template-columns:1fr;padding:var(--space-4);gap:var(--space-4)}.dashboard-sidebar{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-4);gap:var(--space-2)}.sidebar-item{white-space:nowrap;padding:var(--space-2) var(--space-4)}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:var(--space-4);padding:var(--space-4)}}.availability-settings{max-width:800px}.availability-settings h2{margin-bottom:var(--space-6);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.availability-settings h3{margin-bottom:var(--space-3);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-gray-900)}.availability-loading,.availability-error{padding:var(--space-10);text-align:center;color:var(--color-gray-500)}.settings-section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.section-description{color:var(--color-gray-500);font-size:var(--text-sm);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.timezone-select{width:100%;max-width:320px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-gray-900);background:#fff;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.timezone-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.constraints-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.constraint label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700)}.constraint input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.constraint input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.weekly-schedule{display:flex;flex-direction:column;gap:var(--space-3)}.day-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);transition:background var(--transition-fast)}.day-row:hover{background:var(--color-gray-100)}.day-label{width:100px;font-weight:var(--font-medium);padding-top:var(--space-3);flex-shrink:0;color:var(--color-gray-700);font-size:var(--text-sm)}.day-windows{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.time-window{display:flex;align-items:center;gap:var(--space-3)}.time-window input[type=time]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-family-mono);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.time-window input[type=time]:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.time-window span{color:var(--color-gray-400);font-size:var(--text-sm)}.btn-remove{background:none;border:none;color:var(--color-gray-400);font-size:var(--text-lg);cursor:pointer;padding:var(--space-1) var(--space-2);line-height:1;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.btn-remove:hover{color:var(--color-error-500);background:var(--color-error-50)}.btn-add-window{background:none;border:1px dashed var(--color-gray-300);color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;align-self:flex-start;transition:all var(--transition-fast)}.btn-add-window:hover{border-color:var(--color-primary-500);color:var(--color-primary-600);background:var(--color-primary-50)}.unavailable{color:var(--color-gray-400);font-style:italic;font-size:var(--text-sm);padding:var(--space-3) 0}.settings-actions{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-gray-200)}@media(max-width:600px){.day-row{flex-direction:column;gap:var(--space-3)}.day-label{width:auto;padding-top:0}.time-window{flex-wrap:wrap}.constraints-grid{grid-template-columns:1fr}}.event-types-settings{max-width:800px}.event-types-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.event-types-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.event-types-loading{padding:var(--space-10);text-align:center;color:var(--color-gray-500)}.event-type-form{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.event-type-form h3{margin:0 0 var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:var(--space-2);color:var(--color-gray-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.form-group input,.form-group textarea,.form-group select{padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.form-group textarea{resize:vertical;min-height:80px}.form-group small{margin-top:var(--space-2);color:var(--color-gray-500);font-size:var(--text-sm)}.color-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--color-gray-900);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-gray-900)}.toggle-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--color-gray-700)}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary-600)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-gray-100)}.event-types-list{display:flex;flex-direction:column;gap:var(--space-3)}.event-type-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-xs);display:flex;align-items:flex-start;gap:var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.event-type-card:hover{border-color:var(--color-gray-300);box-shadow:var(--shadow-sm)}.event-type-card.inactive{opacity:.6;background:var(--color-gray-50)}.event-type-color{width:4px;height:100%;min-height:56px;border-radius:var(--radius-full);flex-shrink:0}.event-type-info{flex:1;min-width:0}.event-type-info h3{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900)}.event-type-meta{margin:0;font-size:var(--text-sm);color:var(--color-gray-500);font-family:var(--font-family-mono)}.event-type-description{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed)}.badge-inactive{display:inline-flex;background:var(--color-gray-100);color:var(--color-gray-600);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);margin-left:var(--space-2)}.event-type-actions{display:flex;gap:var(--space-1);flex-shrink:0}.btn-icon{background:none;border:none;font-size:var(--text-lg);cursor:pointer;padding:var(--space-2);opacity:.6;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-icon:hover{opacity:1;background:var(--color-gray-100)}.btn-icon.btn-danger:hover{color:var(--color-error-500);background:var(--color-error-50)}.event-type-edit{width:100%}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-gray-500);background:#fff;border-radius:var(--radius-xl);border:1px dashed var(--color-gray-300)}@media(max-width:600px){.event-types-header{flex-direction:column;gap:var(--space-4);align-items:stretch}.form-grid{grid-template-columns:1fr}.event-type-card{flex-direction:column}.event-type-color{width:100%;height:4px;min-height:auto}.event-type-actions{align-self:flex-end}}.settings-page{min-height:100vh;background:var(--color-gray-50)}.settings-header{padding:var(--space-4) var(--space-8);background:#fff;border-bottom:1px solid var(--color-gray-200)}.settings-header h1{margin:var(--space-2) 0 0;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-gray-900)}.settings-main{max-width:var(--container-max);margin:0 auto;padding:var(--space-8);display:grid;grid-template-columns:220px 1fr;gap:var(--space-8)}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav .nav-item{padding:var(--space-3) var(--space-4);color:var(--color-gray-600);text-decoration:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.settings-nav .nav-item:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.settings-nav .nav-item.active{background:var(--color-primary-50);color:var(--color-primary-700)}.settings-content{display:flex;flex-direction:column;gap:var(--space-6)}.settings-section{background:#fff;padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.settings-section h2{margin:0 0 var(--space-6);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.form-group:last-of-type{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700)}.form-group input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.form-group input:disabled{background:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}.form-group small{display:block;margin-top:var(--space-2);color:var(--color-gray-500);font-size:var(--text-sm)}.danger-zone{border-color:var(--color-error-500);border-style:dashed}.danger-zone h2{color:var(--color-error-600)}.delete-confirm p{margin-bottom:var(--space-4);color:var(--color-gray-600)}.delete-actions{display:flex;gap:var(--space-3)}@media(max-width:768px){.settings-main{grid-template-columns:1fr;padding:var(--space-4);gap:var(--space-4)}.settings-nav{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-4)}.settings-nav .nav-item{white-space:nowrap}.settings-section{padding:var(--space-4)}}.admin-page{min-height:100vh;background:var(--color-gray-50)}.admin-header{padding:var(--space-4) var(--space-8);background:#fff;border-bottom:1px solid var(--color-gray-200)}.back-link{color:var(--color-gray-500);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);display:inline-flex;align-items:center;gap:var(--space-2);transition:color var(--transition-fast)}.back-link:hover{color:var(--color-gray-700)}.admin-header h1{margin:var(--space-2) 0 0;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-gray-900)}.admin-main{max-width:var(--container-max);margin:0 auto;padding:var(--space-8)}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.tab{padding:var(--space-3) var(--space-5);background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-600);transition:all var(--transition-fast)}.tab:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.tab.active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.loading,.empty-state{text-align:center;padding:var(--space-12);color:var(--color-gray-500)}.users-table{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--color-gray-100)}th{background:var(--color-gray-50);font-weight:var(--font-semibold);color:var(--color-gray-600);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}tr.inactive{opacity:.6}.user-cell{display:flex;align-items:center;gap:var(--space-3)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}.user-name{font-weight:var(--font-medium);color:var(--color-gray-900)}.user-email{color:var(--color-gray-500);font-size:var(--text-sm)}.status-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge{display:inline-flex;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.badge-admin{background:var(--color-primary-50);color:var(--color-primary-700)}.badge-approved{background:var(--color-success-50);color:var(--color-success-600)}.badge-pending{background:var(--color-warning-50);color:#b45309}.badge-inactive{background:var(--color-error-50);color:var(--color-error-600)}.actions{display:flex;gap:var(--space-2)}.btn-approve{padding:var(--space-2) var(--space-4);background:var(--color-success-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast)}.btn-approve:hover{background:var(--color-success-600)}.btn-reject{padding:var(--space-2) var(--space-4);background:var(--color-error-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast)}.btn-reject:hover{background:var(--color-error-600)}.btn-small{padding:var(--space-2) var(--space-3);background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-gray-600);transition:all var(--transition-fast)}.btn-small:hover{background:var(--color-gray-200)}.btn-small.btn-danger{color:var(--color-error-600);border-color:#ef44444d}.btn-small.btn-danger:hover{background:var(--color-error-50)}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.admin-main{padding:var(--space-4)}.admin-tabs{overflow-x:auto;padding-bottom:var(--space-2)}.users-table{overflow-x:auto}table{min-width:600px}}.booking-calendar{max-width:900px;margin:0 auto;padding:var(--space-8)}.calendar-header{margin-bottom:var(--space-6)}.event-type-badge{display:inline-block;color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-3)}.calendar-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900);margin-bottom:var(--space-1)}.calendar-header p{color:var(--color-gray-500);margin:0;font-size:var(--text-sm)}.timezone-selector{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg)}.timezone-selector label{color:var(--color-gray-600);font-size:var(--text-sm);font-weight:var(--font-medium)}.timezone-selector select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);background:#fff;transition:border-color var(--transition-fast)}.timezone-selector select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.current-time{color:var(--color-gray-500);font-size:var(--text-sm)}.calendar-content{display:flex;gap:var(--space-10);background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);padding:var(--space-6)}.date-picker-container{flex-shrink:0;padding-right:var(--space-4);border-right:1px solid var(--color-gray-100)}.time-slots-container{flex:1;min-width:200px;max-width:400px;padding-left:var(--space-2)}@media(max-width:768px){.booking-calendar{padding:var(--space-4)}.calendar-content{flex-direction:column;padding:var(--space-4)}.time-slots-container{max-width:none}}.date-picker-container h3,.time-slots-container h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900);margin-bottom:var(--space-4)}.date-picker-container .rdp{--rdp-accent-color: var(--color-primary-600);--rdp-background-color: var(--color-primary-50)}.date-picker-container .day-available:not(.rdp-day_selected){font-weight:var(--font-semibold)}.select-date-prompt,.no-slots{color:var(--color-gray-500);text-align:center;padding:var(--space-10);background:var(--color-gray-50);border-radius:var(--radius-lg);font-size:var(--text-sm)}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2);max-height:400px;overflow-y:auto}.time-slot-button{padding:var(--space-3) var(--space-4);background:#fff;border:1px solid var(--color-primary-500);border-radius:var(--radius-lg);color:var(--color-primary-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.time-slot-button:hover{background:var(--color-primary-600);color:#fff}.loading{color:var(--color-gray-500);padding:var(--space-4);text-align:center}.booking-form{max-width:500px;margin:0 auto;padding:var(--space-8)}.back-button{background:none;border:none;color:var(--color-gray-500);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) 0;margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);transition:color var(--transition-fast)}.back-button:hover{color:var(--color-gray-700)}.form-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900);margin-bottom:var(--space-6)}.booking-summary{display:flex;gap:var(--space-4);padding:var(--space-5);background:var(--color-gray-50);border-radius:var(--radius-xl);margin-bottom:var(--space-6);border:1px solid var(--color-gray-100)}.event-type-indicator{width:4px;border-radius:var(--radius-full);flex-shrink:0}.summary-details h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900);margin-bottom:var(--space-2)}.summary-details p{color:var(--color-gray-600);margin:var(--space-1) 0;font-size:var(--text-sm)}.summary-details .duration{color:var(--color-gray-500)}.error-message{background:var(--color-error-50);color:var(--color-error-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);border:1px solid rgba(239,68,68,.2)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);margin-bottom:var(--space-2)}.form-group input,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:inherit;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.form-group input:disabled,.form-group textarea:disabled{background:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.submit-button{width:100%;padding:var(--space-4);background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.submit-button:hover:not(:disabled){background:var(--color-primary-700);transform:translateY(-1px)}.submit-button:disabled{background:var(--color-primary-300);cursor:not-allowed}@media(max-width:640px){.booking-form{padding:var(--space-4)}}.confirmation{max-width:500px;margin:0 auto;padding:2rem;text-align:center}.success-icon{width:64px;height:64px;background:#22c55e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.confirmation h1{font-size:1.75rem;color:#1a1a1a;margin-bottom:.5rem}.confirmation .subtitle{color:#666;margin-bottom:2rem}.booking-details{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.booking-details h2{font-size:1.25rem;color:#1a1a1a;margin-bottom:.25rem}.booking-details .with{color:#666;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-top:1px solid #e0e0e0}.detail-row .label{color:#666}.detail-row .value{color:#1a1a1a;font-weight:500}.calendar-link{display:inline-block;padding:.75rem 1.5rem;background:#4285f4;color:#fff;text-decoration:none;border-radius:4px;margin-bottom:1rem;transition:background .2s}.calendar-link:hover{background:#3367d6}.new-booking-button{display:block;width:100%;padding:.75rem;background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:.875rem;transition:background .2s,color .2s}.new-booking-button:hover{background:#f5f5f5;color:#333}.booking-page{min-height:100vh;background:var(--color-gray-50)}.booking-page.loading,.booking-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8)}.loading-spinner{width:44px;height:44px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.booking-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-8);background:#fff;border-bottom:1px solid var(--color-gray-200)}.booking-header .user-avatar{width:64px;height:64px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-gray-100)}.booking-header .user-info h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900)}.booking-header .user-info p{margin:var(--space-1) 0 0;color:var(--color-gray-500);font-size:var(--text-sm)}.booking-main{max-width:var(--container-narrow);margin:var(--space-8) auto;padding:0 var(--space-4)}.event-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.no-types{text-align:center;color:var(--color-gray-500);padding:var(--space-12);background:#fff;border-radius:var(--radius-xl);border:1px dashed var(--color-gray-300)}.event-type-card{display:block;width:100%;padding:var(--space-6);background:#fff;border:2px solid var(--color-gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.event-type-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.event-type-card .event-type-color{display:inline-block;width:8px;height:28px;border-radius:var(--radius-full);margin-bottom:var(--space-3)}.event-type-card h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-gray-900)}.event-type-card .duration{margin:0;color:var(--color-gray-500);font-size:var(--text-sm);font-weight:var(--font-medium)}.event-type-card .description{margin:var(--space-3) 0 0;color:var(--color-gray-500);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@media(max-width:640px){.booking-header{flex-direction:column;text-align:center;padding:var(--space-6) var(--space-4)}.booking-main{margin:var(--space-4) auto}.event-types-grid{grid-template-columns:1fr}}.event-type-selector{max-width:600px;margin:0 auto;padding:2rem}.event-type-selector .header{text-align:center;margin-bottom:2rem}.event-type-selector .header h1{font-size:1.75rem;color:#1a1a1a;margin-bottom:.5rem}.event-type-selector .header p{color:#666}.event-types-grid{display:flex;flex-direction:column;gap:1rem}.event-type-card{display:block;width:100%;padding:1.25rem;background:#fff;border:1px solid #e0e0e0;border-left-width:4px;border-radius:8px;text-align:left;cursor:pointer;transition:box-shadow .2s,transform .2s}.event-type-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.event-type-duration{display:inline-block;font-size:.875rem;color:#666;margin-bottom:.5rem}.event-type-name{font-size:1.125rem;color:#1a1a1a;margin-bottom:.25rem}.event-type-description{font-size:.875rem;color:#666;margin:0}.loading,.error{text-align:center;padding:2rem;color:#666}.error{color:#d32f2f}.app{min-height:100vh;background:#f8f9fa}
