.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{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;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);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.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{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.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{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);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);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.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}.dp-trigger{align-items:center;gap:var(--spacing-sm);width:100%;height:var(--control-height);padding:0 var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-base), box-shadow var(--transition-base);-webkit-user-select:none;user-select:none;box-sizing:border-box;display:flex}.dp-trigger:hover:not(.dp-trigger--disabled){border-color:var(--color-border-focus,var(--color-primary-light))}.dp-trigger--open{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10)}.dp-trigger--error{border-color:var(--color-error)}.dp-trigger--error.dp-trigger--open{box-shadow:0 0 0 4px var(--color-error-alpha-10)}.dp-trigger--disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}.dp-icon{color:var(--color-text-tertiary);transition:color var(--transition-base);flex-shrink:0}.dp-trigger--open .dp-icon,.dp-trigger:hover:not(.dp-trigger--disabled) .dp-icon{color:var(--color-primary)}.dp-value{font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dp-value--placeholder{color:var(--color-text-tertiary)}.dp-clear{border-radius:var(--radius-full);width:20px;height:20px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.dp-clear:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.dp-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-base), color var(--transition-base);flex-shrink:0}.dp-chevron--open{color:var(--color-primary);transform:rotate(180deg)}.dp-popover{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-md);animation:dp-fade-in var(--transition-base) ease-out;overflow:hidden}@keyframes dp-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dp-popover .rdp-root{--rdp-accent-color:var(--color-primary);--rdp-accent-background-color:var(--color-primary-alpha-10);--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-height:34px;--rdp-day_button-width:34px;--rdp-day_button-border-radius:var(--radius-lg);--rdp-nav_button-height:32px;--rdp-nav_button-width:32px;--rdp-nav-height:40px;--rdp-today-color:var(--color-primary);--rdp-selected-border:2px solid var(--color-primary);--rdp-animation_duration:.2s;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary)}.dp-popover .rdp-month_caption{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-bottom:var(--spacing-sm)}.dp-popover .rdp-dropdown{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;appearance:auto;transition:border-color var(--transition-base)}.dp-popover .rdp-dropdown:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10);outline:none}.dp-popover .rdp-weekday{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.dp-popover .rdp-day_button{border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background-color var(--transition-base), color var(--transition-base)}.dp-popover .rdp-day_button:hover:not([disabled]){background-color:var(--color-primary-alpha-10);color:var(--color-primary)}.dp-popover .rdp-selected .rdp-day_button{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);border-color:#0000}.dp-popover .rdp-today:not(.rdp-selected) .rdp-day_button{border:2px solid var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.dp-popover .rdp-outside{opacity:var(--rdp-outside-opacity,.4)}.dp-popover .rdp-disabled .rdp-day_button{cursor:not-allowed;color:var(--color-text-disabled,var(--color-text-tertiary))}.dp-popover .rdp-nav{top:var(--spacing-md);right:var(--spacing-md);gap:var(--spacing-xs);display:flex;position:absolute}.dp-popover .rdp-button_previous,.dp-popover .rdp-button_next{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);transition:all var(--transition-base);justify-content:center;align-items:center;display:inline-flex}.dp-popover .rdp-button_previous:hover:not([disabled]),.dp-popover .rdp-button_next:hover:not([disabled]){background-color:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .dp-popover .rdp-day_button{color:var(--color-text-primary)}[data-theme=dark] .dp-popover .rdp-selected .rdp-day_button{color:var(--color-text-inverse)}[data-theme=dark] .dp-popover .rdp-dropdown{background-color:var(--color-bg-secondary)}.camera-capture{z-index:var(--z-tooltip);background:#000;flex-direction:column;animation:.18s ease-out camera-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes camera-fade-in{0%{opacity:0}to{opacity:1}}.camera-capture__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-capture__video--mirrored{transform:scaleX(-1)}.camera-capture__preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-grid{pointer-events:none;z-index:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);animation:.2s ease-out camera-fade-in;display:grid;position:absolute;inset:0}.camera-grid__cell{border:.5px solid #ffffff38}.camera-countdown{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.camera-countdown__number{font-size:120px;font-weight:var(--font-weight-extrabold);color:#fff;text-shadow:0 4px 24px #0009;line-height:1;animation:.8s ease-out forwards countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.3)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.camera-capture__top{padding:max(20px, calc(env(safe-area-inset-top) + 12px)) 20px 36px;justify-content:space-between;align-items:center;gap:var(--spacing-md);z-index:2;background:linear-gradient(#0000009e 0%,#0000 100%);display:flex;position:absolute;top:0;left:0;right:0}.camera-capture__top-left{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.camera-capture__top-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#ffffffe6;letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.camera-capture__camera-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#ffffff8c;border-radius:var(--radius-full);white-space:nowrap;background:#ffffff1a;flex-shrink:0;padding:2px 8px}.camera-capture__top-actions{align-items:center;gap:var(--spacing-sm);display:flex}.camera-top-btn{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);cursor:pointer;color:#ffffffe0;width:38px;height:38px;transition:background var(--transition-fast), border-color var(--transition-fast);background:#00000059;border:1px solid #ffffff2e;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.camera-top-btn:hover{background:#ffffff26;border-color:#ffffff59}.camera-top-btn:active{background:#ffffff38;transform:scale(.94)}.camera-top-btn--active{background:var(--color-primary-alpha-20);border-color:var(--color-primary);color:var(--color-primary-light)}.camera-top-btn--active:hover{background:var(--color-primary-alpha-20)}.camera-capture__controls{padding:20px 40px max(52px, calc(env(safe-area-inset-bottom) + 24px));z-index:2;background:linear-gradient(#0000 0%,#000000ad 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-control-slot{flex-direction:column;align-items:center;gap:8px;width:72px;display:flex}.camera-control-slot--wide{width:96px}.camera-control-slot__label{font-size:11px;font-weight:var(--font-weight-medium);color:#ffffffbf;letter-spacing:.3px;text-align:center;line-height:1}.camera-action-btn{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);cursor:pointer;color:#ffffffe6;width:54px;height:54px;transition:background var(--transition-fast), transform var(--transition-fast);background:#00000059;border:1.5px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.camera-action-btn:hover{background:#ffffff2e}.camera-action-btn:active{background:#ffffff40;transform:scale(.91)}.camera-action-btn--active{background:var(--color-primary-alpha-20);border-color:var(--color-primary);color:var(--color-primary-light)}.camera-action-btn{position:relative}.camera-action-btn__badge{border-radius:var(--radius-full);background:var(--color-primary);width:20px;height:20px;color:var(--color-on-primary);font-size:10px;font-weight:var(--font-weight-bold);pointer-events:none;border:2px solid #0009;justify-content:center;align-items:center;display:flex;position:absolute;top:-5px;right:-5px}.camera-action-btn-wrapper{position:relative}.camera-shutter-wrapper{flex-direction:column;align-items:center;gap:10px;display:flex}.camera-shutter{border-radius:var(--radius-full);cursor:pointer;width:78px;height:78px;transition:transform var(--transition-fast);background:0 0;border:4px solid #ffffffe6;flex-shrink:0;padding:0;position:relative}.camera-shutter:after{content:"";border-radius:var(--radius-full);transition:background var(--transition-fast), transform var(--transition-fast);background:#ffffffe0;position:absolute;inset:5px}.camera-shutter:hover:after{background:#fff}.camera-shutter:active{transform:scale(.88)}.camera-shutter:active:after{background:#c8c8c8e6}.camera-shutter:disabled{opacity:.4;cursor:not-allowed}.camera-shutter--timer{border-color:var(--color-primary-light)}.camera-shutter--timer:after{background:var(--color-primary-container)}.camera-capture__post-controls{padding:20px 32px max(52px, calc(env(safe-area-inset-bottom) + 24px));z-index:2;background:linear-gradient(#0000 0%,#000000ad 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-retake-btn{height:52px;padding:0 var(--spacing-lg);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);color:#ffffffe6;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;align-items:center;gap:var(--spacing-sm);transition:background var(--transition-fast);background:#00000059;border:1.5px solid #ffffff47;display:flex}.camera-retake-btn:hover{background:#ffffff2e}.camera-use-btn{height:52px;padding:0 var(--spacing-xl);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;align-items:center;gap:var(--spacing-sm);transition:background var(--transition-fast), transform var(--transition-fast);border:none;display:flex;box-shadow:0 4px 16px #0f766e73}.camera-use-btn:hover{background:var(--color-primary-dark);transform:scale(1.02)}.camera-use-btn:active{transform:scale(.96)}.camera-capture__loading{justify-content:center;align-items:center;gap:var(--spacing-md);z-index:2;flex-direction:column;display:flex;position:absolute;inset:0}.camera-capture__loading .spinner{border-color:#ffffff26;border-top-color:var(--color-primary-light);width:36px;height:36px}.camera-capture__loading-text{font-size:var(--font-size-sm);color:#fff9;font-weight:var(--font-weight-medium)}.camera-capture__error{justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-3xl);text-align:center;z-index:2;flex-direction:column;display:flex;position:absolute;inset:0}.camera-capture__error-icon{border-radius:var(--radius-full);background:var(--color-error-alpha-10);width:68px;height:68px;color:var(--color-error-light);border:1px solid #dc262640;justify-content:center;align-items:center;display:flex}.camera-capture__error-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;margin:0}.camera-capture__error-desc{font-size:var(--font-size-sm);color:#ffffff8c;max-width:300px;line-height:var(--line-height-relaxed);margin:0}.camera-capture__error-close{height:46px;padding:0 var(--spacing-xl);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border:none}.camera-capture__error-close:hover{background:var(--color-primary-dark)}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.55}}.pd-back{align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family-base);margin-bottom:var(--spacing-lg);transition:color var(--transition-fast);background:0 0;border:none;padding:0;display:inline-flex}.pd-back:hover{color:var(--color-primary)}.pd-hero{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);align-items:center;gap:var(--spacing-xl);flex-wrap:wrap;display:flex}.pd-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:88px;height:88px;color:var(--color-on-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);box-shadow:0 4px 16px var(--color-primary-alpha-20);border:3px solid var(--color-bg-primary);outline:2px solid var(--color-border-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.pd-avatar img{object-fit:cover;width:100%;height:100%}.pd-hero__info{flex:1;min-width:200px}.pd-hero__name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-tight)}.pd-hero__chips{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.pd-chip{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.pd-hero__actions{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.pd-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.pd-grid{grid-template-columns:1fr}.pd-hero{padding:var(--spacing-lg);gap:var(--spacing-lg)}}.pd-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.pd-card__header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.pd-card__title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;display:flex}.pd-card__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pd-card__icon--teal{background:var(--color-primary-alpha-10);color:var(--color-primary)}.pd-card__icon--green{background:var(--color-success-alpha-10);color:var(--color-success)}.pd-card__icon--amber{background:var(--color-warning-alpha-10);color:var(--color-warning)}.pd-card__icon--red{background:var(--color-error-alpha-10);color:var(--color-error)}.pd-card__icon--purple{background:var(--color-accent-alpha-10);color:var(--color-accent)}.pd-card__badge{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);background:var(--color-error-alpha-10);color:var(--color-error);padding:2px 8px}.pd-card__body{padding:var(--spacing-lg);flex:1}.pd-info-list{gap:var(--spacing-md);flex-direction:column;display:flex}.pd-info-row{flex-direction:column;gap:2px;display:flex}.pd-info-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.pd-info-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.pd-info-empty{color:var(--color-text-disabled);font-style:italic;font-weight:var(--font-weight-normal)}.pd-info-link{color:var(--color-text-link);font-weight:var(--font-weight-semibold);text-decoration:none}.pd-info-link:hover{color:var(--color-text-link-hover);text-decoration:underline}.pd-stats{gap:var(--spacing-sm);margin-top:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.pd-stat{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-xs);text-align:center}.pd-stat__number{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1;display:block}.pd-stat__label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:3px;display:block}.pd-last-apt{padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.pd-last-apt__date{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.pd-last-apt__service{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.pd-treatment-list{gap:var(--spacing-md);flex-direction:column;display:flex}.pd-treatment{gap:var(--spacing-xs);flex-direction:column;display:flex}.pd-treatment__header{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);display:flex}.pd-treatment__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.pd-treatment__sessions{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);white-space:nowrap}.pd-progress{align-items:center;gap:var(--spacing-sm);display:flex}.pd-progress__track{background:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.pd-progress__fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-light));border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.pd-progress__pct{font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-primary);text-align:right;min-width:30px}.pd-completed-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.pd-completed{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex}.pd-completed__check{background:var(--color-success-alpha-10);width:24px;height:24px;color:var(--color-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.pd-completed__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pd-completed__sessions{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pd-pending-total{padding:var(--spacing-md);background:var(--color-error-alpha-10);border:1px solid var(--color-error-light);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.pd-pending-total__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-error)}.pd-pending-total__amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-error)}.pd-payment-order-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.pd-payment-order{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;display:flex}.pd-payment-order__date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pd-payment-order__status{font-size:11px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:2px 8px}.pd-payment-order__status--pending{background:var(--color-error-alpha-10);color:var(--color-error)}.pd-payment-order__status--partial{background:var(--color-warning-alpha-10);color:var(--color-warning)}.pd-payment-order__amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-error)}.pd-actions-grid{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.pd-action{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:var(--font-family-base);transition:all var(--transition-fast);display:flex}.pd-action:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pd-action__icon{border-radius:var(--radius-lg);background:var(--color-primary-alpha-10);width:36px;height:36px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pd-action__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 2px}.pd-action__desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.pd-view-all{width:100%;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--spacing-sm) 0 0;font-family:var(--font-family-base);text-align:center;transition:color var(--transition-fast);background:0 0;border:none}.pd-view-all:hover{color:var(--color-primary-dark)}.pd-empty{padding:var(--spacing-xl) var(--spacing-md);text-align:center;align-items:center;gap:var(--spacing-sm);color:var(--color-text-disabled);flex-direction:column;display:flex}.pd-empty svg{opacity:.4}.pd-empty p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.phist-stat-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.phist-stat-card{border-radius:var(--radius-xl);padding:var(--spacing-xl);color:var(--color-text-inverse);box-shadow:var(--shadow-md);transition:transform var(--transition-base), box-shadow var(--transition-base)}.phist-stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.phist-stat-card--records{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%)}.phist-stat-card--since{background:linear-gradient(135deg, var(--color-info) 0%, var(--color-info-dark) 100%)}.phist-stat-card--last{background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%)}.phist-stat-card--files{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%)}.phist-stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs);line-height:1.2}.phist-stat-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;opacity:.9}.phist-tabs{gap:var(--spacing-xs);border-bottom:2px solid var(--color-border-secondary);margin-bottom:var(--spacing-xl);display:flex}.phist-tab{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;font-family:var(--font-family-base);color:var(--color-text-tertiary);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;display:inline-flex}.phist-tab:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.phist-tab--active{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);background:var(--color-bg-primary);border-bottom-color:var(--color-primary)}.phist-tab__badge{border-radius:var(--radius-full);min-width:20px;height:20px;font-size:11px;font-weight:var(--font-weight-bold);background:var(--color-bg-tertiary);color:var(--color-text-tertiary);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.phist-tab--active .phist-tab__badge{background:var(--color-primary);color:var(--color-on-primary)}.phist-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xl)}.timeline-marker--reserved{background-color:var(--color-status-scheduled)!important}.timeline-marker--in_progress{background-color:var(--color-status-in-progress)!important}.timeline-marker--attended{background-color:var(--color-status-completed)!important}.timeline-marker--cancelled{background-color:var(--color-status-cancelled)!important}.timeline-marker--no_show{background-color:var(--color-status-no-show)!important}.phist-apt-date{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.phist-apt-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:4px 0 0}.phist-status-badge{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-on-primary);padding:3px 10px}.phist-status-badge--reserved{background:var(--color-status-scheduled)}.phist-status-badge--in_progress{background:var(--color-status-in-progress)}.phist-status-badge--attended{background:var(--color-status-completed)}.phist-status-badge--cancelled{background:var(--color-status-cancelled)}.phist-status-badge--no_show{background:var(--color-status-no-show)}.phist-treatment-block{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:var(--color-success-alpha-10);border:1px solid var(--color-success-alpha-10);border-radius:var(--radius-lg)}.phist-treatment-block__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-success-dark);margin:0 0 var(--spacing-sm)}.phist-treatment-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.phist-treatment-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border-radius:var(--radius-md);display:flex}.phist-treatment-row__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.phist-treatment-row__session{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.phist-health-note{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--color-warning-alpha-10);border-radius:var(--radius-lg);border-left:4px solid var(--color-warning)}.phist-health-note__title{margin-bottom:var(--spacing-sm);color:var(--color-warning-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:block}.phist-health-note__text{line-height:var(--line-height-relaxed);color:var(--color-text-primary);font-size:var(--font-size-sm);margin:0}.phist-weight{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-info-alpha-10);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-info-dark);font-weight:var(--font-weight-semibold);display:inline-flex}.phist-photo-section{margin-top:var(--spacing-lg)}.phist-photo-badge{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);width:fit-content;display:inline-flex}.phist-photo-badge--before{background:var(--color-accent-alpha-10);color:var(--color-accent)}.phist-photo-badge--after{background:var(--color-success-alpha-10);color:var(--color-success-dark)}.phist-notes-block{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-info-alpha-10);border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary)}.phist-notes-block__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-info-dark);margin:0 0 var(--spacing-sm)}.phist-note-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);margin-bottom:var(--spacing-sm)}.phist-note-item:last-child{margin-bottom:0}.phist-note-item__header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.phist-note-item__author{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.phist-note-item__date{color:var(--color-text-tertiary);font-size:11px}.phist-note-item__text{font-size:var(--font-size-xs);color:var(--color-text-primary);line-height:var(--line-height-relaxed);white-space:pre-wrap;margin:0}.phist-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (width<=640px){.phist-stat-grid{grid-template-columns:repeat(2,1fr)}.phist-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}}.payment-orders-container{max-width:1200px;padding:var(--spacing-xl);margin:0 auto}.payment-orders-header{margin-bottom:var(--spacing-2xl)}.payment-orders-back-button{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);transition:opacity var(--transition-base);background:0 0;border:none;padding:0;display:flex}.payment-orders-back-button:hover{opacity:.8}.payment-orders-header-content{justify-content:space-between;align-items:center;display:flex}.payment-orders-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.payment-orders-patient-info{font-size:var(--font-size-base);color:var(--color-text-secondary)}.payment-orders-summary{gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.payment-orders-summary .summary-card{border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm);gap:var(--spacing-xs);color:var(--color-text-primary);flex-direction:column;display:flex;background:var(--color-bg-primary)!important}.payment-orders-summary .summary-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);opacity:1}.payment-orders-summary .summary-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:var(--spacing-xs) 0;line-height:1.1}.payment-orders-summary .summary-card-total .summary-amount{color:var(--color-primary)}.payment-orders-summary .summary-card-paid .summary-amount{color:var(--color-success-dark)}.payment-orders-summary .summary-card-pending .summary-amount{color:var(--color-error)}.payment-orders-summary .summary-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.payment-orders-list-container{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-md);overflow:hidden}.payment-orders-list-header{background:var(--color-bg-secondary);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary)}.payment-orders-list-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.payment-orders-empty{padding:60px var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.payment-orders-empty svg{margin:0 auto var(--spacing-lg);color:var(--color-text-tertiary)}.payment-orders-empty-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.payment-orders-empty-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.payment-order-item{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary);transition:background-color var(--transition-base);cursor:pointer}.payment-order-item:hover{background-color:var(--color-bg-hover)}.payment-order-item:last-child{border-bottom:none}.payment-order-item-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.payment-order-item-left{flex:1}.payment-order-item-title-row{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.payment-order-item-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.payment-order-status-badge{color:var(--color-on-primary);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);text-transform:uppercase;padding:4px 12px}.payment-order-status-paid{background-color:var(--color-success)}.payment-order-status-partial{background-color:var(--color-warning)}.payment-order-status-pending{background-color:var(--color-error)}.payment-order-status-cancelled{background-color:var(--color-text-tertiary)}.payment-order-orders{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.payment-order-orders ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-xl);margin-bottom:0}.payment-order-metadata{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.payment-order-item-right{text-align:right}.payment-order-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.payment-order-pending{font-size:var(--font-size-sm);color:var(--color-error);font-weight:var(--font-weight-semibold)}.payment-progress{margin-top:var(--spacing-md)}.payment-progress-header{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;margin-bottom:6px;display:flex}.payment-progress-bar{background:var(--color-border-secondary);border-radius:var(--radius-sm);height:6px;overflow:hidden}.payment-progress-fill{height:100%;transition:width .3s}.payment-progress-fill-paid{background:linear-gradient(90deg, var(--color-success), var(--color-success-dark))}.payment-progress-fill-partial{background:linear-gradient(90deg, var(--color-warning), var(--color-warning-dark))}.payment-history{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.payment-history-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.payment-history-item{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);justify-content:space-between;display:flex}.payment-history-item:last-child{margin-bottom:0}.payment-history-amount{font-weight:var(--font-weight-semibold);color:var(--color-success)}.register-payment-button{margin-top:var(--spacing-md);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;width:100%;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);border:none;display:flex}.register-payment-button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cinv-order{border:1.5px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;background:var(--color-bg-primary);transition:border-color var(--transition-fast), background var(--transition-fast);align-items:center;gap:var(--spacing-sm);-webkit-user-select:none;user-select:none;display:flex}.cinv-order:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.cinv-order--selected{border:2px solid var(--color-primary);background:var(--color-primary-alpha-10)}.cinv-order__checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;pointer-events:none;flex-shrink:0}.cinv-order__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px}.cinv-order__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.cinv-order__price{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex-shrink:0;margin-left:auto}.cinv-summary{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.cinv-summary__count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:2px}.cinv-summary__total{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.cinv-summary__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-sm)}.payment-order-item--without-payment-order{border-left:4px solid var(--color-warning);cursor:default}.payment-order-item--without-payment-order:hover{background-color:var(--color-warning-alpha-10)}.payment-orders-list-title--warning{color:var(--color-warning-dark)}.payment-orders-patient-strip{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.payment-orders-patient-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:48px;height:48px;color:var(--color-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);box-shadow:0 2px 8px var(--color-primary-alpha-20);letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.payment-orders-patient-avatar img{object-fit:cover;width:100%;height:100%}@media (width<=768px){.payment-orders-container{padding:var(--spacing-lg)}.payment-orders-header-content{align-items:flex-start;gap:var(--spacing-lg);flex-direction:column}.payment-orders-summary{grid-template-columns:1fr}.payment-order-item-header{flex-direction:column}.payment-order-item-right{text-align:left;margin-top:var(--spacing-md)}}.cinv-price-edit{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.appointments-page{max-width:1400px;min-height:100vh;margin:0 auto;padding:20px}.appointments-header{margin-bottom:32px;animation:.5s ease-out fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.icon-wrapper{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-2xl);width:56px;height:56px;color:var(--color-on-primary);box-shadow:0 4px 12px var(--color-primary-alpha-20);justify-content:center;align-items:center;display:flex}.appointments-header h1{color:var(--color-text-primary);letter-spacing:-.5px;margin:0 0 4px;font-size:28px;font-weight:800}.subtitle{color:var(--color-text-tertiary);margin:0;font-size:14px}.btn-create{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-on-primary);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-slow);box-shadow:0 4px 12px var(--color-primary-alpha-20);border:none;align-items:center;gap:8px;padding:12px 24px;display:inline-flex}.btn-create:hover{box-shadow:0 6px 20px var(--color-primary-alpha-20);transform:translateY(-2px)}.btn-create:active{transform:translateY(0)}.view-toggle-modern{background:var(--color-bg-primary);border-radius:12px;gap:0;padding:4px;display:inline-flex;box-shadow:0 2px 8px #00000014}.view-btn{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.view-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.view-btn.active{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-on-primary);box-shadow:0 2px 8px var(--color-primary-alpha-20)}.view-btn svg{flex-shrink:0}.filters-modern{background:var(--color-bg-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-md);border-radius:20px;margin-bottom:24px;padding:24px;animation:.5s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.filters-minimal{padding:16px 24px}.filters-header{border-bottom:2px solid var(--color-border-secondary);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.filters-title{color:var(--color-text-primary);align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.filters-title svg{color:var(--color-primary)}.filter-badge{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;animation:2s ease-in-out infinite pulse;display:inline-flex}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.btn-clear-filters{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);color:var(--color-text-tertiary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-clear-filters:hover{background:var(--color-error-alpha-10);color:var(--color-error);border-color:#fecaca}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:16px;display:grid}.filter-item{flex-direction:column;gap:8px;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.filter-label svg{color:var(--color-text-tertiary)}.filter-select-modern,.date-input-modern{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);color:var(--color-text-primary);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;transition:all .2s}.filter-select-modern:hover,.date-input-modern:hover{border-color:var(--color-border-primary)}.filter-select-modern:focus,.date-input-modern:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10);outline:none}.checkbox-modern{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:inline-flex}.checkbox-modern:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.checkbox-modern input[type=checkbox]{display:none}.checkbox-custom{background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:6px;width:24px;height:24px;transition:all .2s;position:relative}.checkbox-modern input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-color:var(--color-primary)}.checkbox-modern input[type=checkbox]:checked+.checkbox-custom:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:12px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)rotate(-45deg)}.checkbox-label{color:var(--color-text-primary);font-size:14px;font-weight:600}.error-alert{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #fca5a5;border-radius:16px;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;font-size:14px;font-weight:600;animation:.3s ease-out slideInDown;display:flex}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-alert svg{flex-shrink:0}.results-info-modern{margin-bottom:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex}.results-count{align-items:baseline;gap:var(--spacing-sm);display:flex}.count-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);letter-spacing:-1px}.count-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary)}.appointments-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:32px;display:grid}@media (width<=768px){.appointments-grid{grid-template-columns:1fr}}.appointment-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-slow);box-shadow:var(--shadow-md);animation:.5s ease-out fadeIn;position:relative;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appointment-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-4px)}.appointment-card:hover .card-hover-indicator{opacity:1;transform:translate(0)}.card-hover-indicator{top:50%;right:var(--spacing-md);opacity:0;transition:all var(--transition-slow);color:var(--color-primary);position:absolute;transform:translate(-10px)translateY(-50%)}.card-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.patient-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:48px;height:48px;color:var(--color-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);box-shadow:0 4px 12px var(--color-primary-alpha-20);letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.patient-avatar img{object-fit:cover;width:100%;height:100%}.card-status-badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-text{color:inherit}.card-status-badge--reserved{background:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.card-status-badge--in_progress{background:var(--color-status-in-progress-bg);color:var(--color-status-in-progress)}.card-status-badge--attended{background:var(--color-status-completed-bg);color:var(--color-status-completed)}.card-status-badge--cancelled{background:var(--color-status-cancelled-bg);color:var(--color-status-cancelled)}.card-status-badge--no_show{background:var(--color-status-no-show-bg);color:var(--color-status-no-show)}.card-main-info{margin-bottom:16px}.patient-name{color:var(--color-text-primary);margin:0 0 12px;font-size:18px;font-weight:800;line-height:1.3}.card-meta{flex-wrap:wrap;gap:16px;display:flex}.meta-item{color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.meta-item svg{color:var(--color-text-tertiary);flex-shrink:0}.card-services{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-xl)}.services-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);align-items:center;gap:6px;display:flex}.services-label svg{color:var(--color-text-tertiary)}.services-tags{flex-wrap:wrap;gap:6px;display:flex}.service-tag{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:2px 10px;display:inline-block}.service-tag.more{background:var(--color-primary-alpha-10);color:var(--color-primary);border-color:var(--color-primary)}.card-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-secondary);flex-wrap:wrap;display:flex}.payment-status-mini,.created-by-mini{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.payment-pending-mini{color:var(--color-warning)}.payment-complete-mini{color:var(--color-success)}.payment-none-mini,.created-by-mini{color:var(--color-text-tertiary)}.payment-status-mini svg,.created-by-mini svg{flex-shrink:0}.loading-container{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);min-height:400px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:flex}.kanban-wrapper{flex-direction:column;gap:16px;animation:.4s ease-out fadeInUp;display:flex}.kanban-hint{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);color:var(--color-text-tertiary);border-radius:10px;align-self:flex-start;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:inline-flex}.kanban-error-banner{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #fca5a5;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;animation:.3s ease-out slideInDown;display:flex}.kanban-error-banner span{flex:1}.kanban-error-close{cursor:pointer;color:#991b1b;background:#991b1b1a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:background .2s;display:flex}.kanban-error-close:hover{background:#991b1b33}.kanban-loading{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);min-height:400px;color:var(--color-text-tertiary);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:14px;font-weight:500;display:flex}.kanban-loading-spinner{border:3px solid var(--color-border-secondary);border-top-color:#6366f1;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite kanban-spin}@keyframes kanban-spin{to{transform:rotate(360deg)}}.kanban-board{align-items:flex-start;gap:16px;min-height:600px;padding-bottom:16px;display:flex;overflow-x:auto}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:3px}.kanban-board::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:3px}.kanban-column{border:2px solid #0000;border-radius:16px;flex-direction:column;flex:0 0 280px;min-width:280px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.kanban-column.drag-over-valid{border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}.kanban-column.drag-over-invalid{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.kanban-col-header{border-bottom:2px solid #fff6;align-items:center;gap:8px;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.kanban-col-icon{font-size:16px;line-height:1}.kanban-col-title{text-transform:uppercase;letter-spacing:.5px;flex:1;font-size:11px}.kanban-col-count{background:#ffffff80;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.kanban-col-body{flex-direction:column;flex:1;gap:10px;min-height:200px;max-height:calc(100vh - 320px);padding:12px;display:flex;overflow-y:auto}.kanban-col-body::-webkit-scrollbar{width:4px}.kanban-col-body::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.kanban-col-reserved{background:linear-gradient(#dbeafe 0%,#eff6ff 100%)}.kanban-col-reserved .kanban-col-header,.kanban-col-reserved .kanban-col-count{color:#1d4ed8}.kanban-col-progress{background:linear-gradient(#fef3c7 0%,#fffbeb 100%)}.kanban-col-progress .kanban-col-header,.kanban-col-progress .kanban-col-count{color:#b45309}.kanban-col-attended{background:linear-gradient(#d1fae5 0%,#ecfdf5 100%)}.kanban-col-attended .kanban-col-header,.kanban-col-attended .kanban-col-count{color:#065f46}.kanban-col-noshow{background:linear-gradient(#e5e7eb 0%,#f9fafb 100%)}.kanban-col-noshow .kanban-col-header,.kanban-col-noshow .kanban-col-count{color:#374151}.kanban-col-cancelled{background:linear-gradient(#fee2e2 0%,#fff5f5 100%)}.kanban-col-cancelled .kanban-col-header,.kanban-col-cancelled .kanban-col-count{color:#991b1b}.kanban-col-empty{color:#0003;border:2px dashed #0000001a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;font-size:12px;font-weight:500;display:flex}.kanban-drop-zone,.kanban-drop-invalid{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 16px;font-size:12px;font-weight:700;animation:.15s ease-out fadeIn;display:flex}.kanban-drop-zone{color:#6366f1;background:#6366f11a;border:2px dashed #6366f1}.kanban-drop-invalid{color:#ef4444;background:#ef444414;border:2px dashed #ef4444}.kanban-card{cursor:grab;background:#fffffff2;border:1px solid #fff9;border-radius:12px;flex-direction:column;gap:10px;padding:12px;transition:box-shadow .2s,transform .2s,opacity .2s;display:flex;box-shadow:0 2px 6px #00000012}.kanban-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.4;box-shadow:none;transform:none}.kanban-card--final{cursor:default;opacity:.85}.kanban-card--final:hover{transform:none;box-shadow:0 2px 6px #00000012}.kanban-card--final:active{cursor:default}.kanban-card-top{align-items:flex-start;gap:10px;display:flex}.kanban-card-patient{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.kanban-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:36px;height:36px;color:var(--color-on-primary);box-shadow:0 2px 6px var(--color-primary-alpha-20);letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.kanban-avatar img{object-fit:cover;width:100%;height:100%}.kanban-card-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.kanban-patient-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:700;overflow:hidden}.kanban-card-time{color:var(--color-text-tertiary);margin:0;font-size:11px;font-weight:500}.kanban-drag-handle{width:24px;height:24px;color:var(--color-border-primary);opacity:.5;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.kanban-card:hover .kanban-drag-handle{opacity:1}.kanban-card-services{flex-wrap:wrap;gap:4px;display:flex}.kanban-service-tag{background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:140px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.kanban-service-more{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#6366f1}.kanban-card-footer{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.kanban-duration,.kanban-created-by{color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}[data-theme=dark] .kanban-col-reserved{background:linear-gradient(#2563eb33 0%,#1d4ed814 100%)}[data-theme=dark] .kanban-col-progress{background:linear-gradient(#d9770633 0%,#b4530914 100%)}[data-theme=dark] .kanban-col-attended{background:linear-gradient(#05966933 0%,#065f4614 100%)}[data-theme=dark] .kanban-col-noshow{background:linear-gradient(#4b556333 0%,#37415114 100%)}[data-theme=dark] .kanban-col-cancelled{background:linear-gradient(#dc262633 0%,#991b1b14 100%)}[data-theme=dark] .kanban-card{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}[data-theme=dark] .kanban-col-empty{color:#fff3;border-color:#ffffff1a}.kanban-attend-overlay{z-index:var(--z-modal-backdrop);background-color:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kanban-attend-modal{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-width:440px;z-index:var(--z-modal);overflow:hidden}.kanban-attend-header{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);display:flex}.kanban-attend-header-icon{border-radius:var(--radius-md);background-color:var(--color-success-alpha-10);width:36px;height:36px;color:var(--color-success);flex-shrink:0;justify-content:center;align-items:center;display:flex}.kanban-attend-header-text{flex:1;min-width:0}.kanban-attend-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 2px}.kanban-attend-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.kanban-attend-body{padding:0 var(--spacing-xl) var(--spacing-md)}.kanban-attend-label{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:block}.kanban-attend-list{gap:var(--spacing-xs);max-height:280px;margin-bottom:var(--spacing-sm);flex-direction:column;display:flex;overflow-y:auto}.kanban-attend-user{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1.5px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-primary);text-align:left;width:100%;transition:all var(--transition-fast);display:flex}.kanban-attend-user:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-primary)}.kanban-attend-user.is-selected{background-color:var(--color-primary-alpha-10);border-color:var(--color-primary)}.kanban-attend-avatar{width:34px;height:34px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.kanban-attend-user.is-selected .kanban-attend-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-on-primary)}.kanban-attend-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex:1;margin:0}.kanban-attend-check{color:var(--color-primary);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.kanban-attend-user.is-selected .kanban-attend-check{opacity:1}.kanban-attend-error{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-error);display:flex}.kanban-attend-footer{gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl);border-top:1px solid var(--color-border-secondary);justify-content:flex-end;display:flex}@media (width<=768px){.appointments-page{padding:16px}.appointments-header h1{font-size:24px}.icon-wrapper{width:48px;height:48px}.btn-create{justify-content:center;width:100%}.header-content{flex-direction:column;align-items:stretch}.view-toggle-modern{justify-content:center;width:100%}.view-btn{flex:1}.filters-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;align-items:flex-start}}.adet-patient-strip{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);display:flex}.adet-patient-strip:hover{border-color:var(--color-border-primary);box-shadow:var(--shadow-md)}.adet-patient-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:52px;height:52px;color:var(--color-on-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);box-shadow:0 2px 8px var(--color-primary-alpha-20);letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.adet-patient-avatar img{object-fit:cover;width:100%;height:100%}.adet-patient-info{flex:1;min-width:0}.adet-patient-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;overflow:hidden}.adet-patient-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold)}.adet-patient-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.adet-patient-strip:hover .adet-patient-chevron{color:var(--color-primary);transform:translate(3px)}.adet-pay-pkg{background:linear-gradient(135deg, var(--color-info-alpha-10) 0%, var(--color-primary-alpha-10) 100%);border:2px solid var(--color-info);border-radius:var(--radius-xl);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.adet-pay-pkg__title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-info-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md);display:flex}.adet-pay-pkg__stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.adet-pay-stat{background:var(--color-bg-primary);padding:var(--spacing-sm);border-radius:var(--radius-lg)}.adet-pay-stat__label{color:var(--color-text-tertiary);font-size:11px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.adet-pay-stat--total{border:1px solid var(--color-info-alpha-10)}.adet-pay-stat--paid{border:1px solid var(--color-success-alpha-10)}.adet-pay-stat--pending{border:1px solid var(--color-error-alpha-10)}.adet-pay-stat__amount{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.adet-pay-stat--total .adet-pay-stat__amount{color:var(--color-info-dark)}.adet-pay-stat--paid .adet-pay-stat__amount{color:var(--color-success-dark)}.adet-pay-stat--pending .adet-pay-stat__amount{color:var(--color-error)}.adet-pay-progress{background:var(--color-bg-tertiary);border-radius:var(--radius-full);height:8px;margin-bottom:var(--spacing-md);overflow:hidden}.adet-pay-progress__fill{background:linear-gradient(90deg, var(--color-success), var(--color-success-dark));border-radius:var(--radius-full);height:100%;transition:width .4s}.adet-pay-cta{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-info) 0%, var(--color-info-dark) 100%);color:var(--color-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);border:none;display:flex}.adet-pay-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.adet-pay-done{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-success-alpha-10);border-radius:var(--radius-lg);color:var(--color-success-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex}.adet-other-payment-orders{background:linear-gradient(135deg, var(--color-warning-alpha-10) 0%, var(--color-warning-alpha-20) 100%);border:2px solid var(--color-warning);border-radius:var(--radius-xl);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.adet-other-payment-orders__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.adet-other-payment-orders__title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-warning-dark);text-transform:uppercase;letter-spacing:.05em;display:flex}.adet-other-payment-orders__count{background:var(--color-warning);color:var(--color-on-primary);border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-weight-bold);padding:3px 10px}.adet-payment-order-list{background:var(--color-bg-primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);border:1px solid var(--color-warning-alpha-10);overflow:hidden}.adet-payment-order-item{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;display:flex}.adet-payment-order-item:last-child{border-bottom:none}.adet-payment-order-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px}.adet-payment-order-item__status{color:var(--color-text-tertiary);text-transform:uppercase;font-size:11px;font-weight:var(--font-weight-semibold)}.adet-payment-order-item__amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-error);text-align:right}.adet-payment-order-item__amount-sub{color:var(--color-text-tertiary);font-size:10px}.adet-other-payment-orders__total{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);border:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;display:flex}.adet-other-payment-orders__total-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.adet-other-payment-orders__total-amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-error)}.adet-other-payment-orders__cta{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);color:var(--color-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);border:none;display:flex}.adet-other-payment-orders__cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.adet-other-payment-orders__note{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-primary);border-radius:var(--radius-md);color:var(--color-warning-dark);opacity:.9;font-size:11px;font-style:italic}.adet-reservation{border-radius:var(--radius-xl);padding:var(--spacing-md)}.adet-reservation--paid{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border:2px solid var(--color-success)}.adet-reservation--empty{background:var(--color-bg-secondary);border:2px dashed var(--color-border-primary)}.adet-reservation__title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md);display:flex}.adet-reservation--paid .adet-reservation__title{color:var(--color-success-dark)}.adet-reservation--empty .adet-reservation__title{color:var(--color-text-tertiary)}.adet-reservation__amount-row{background:var(--color-bg-primary);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-sm);border:1px solid var(--color-success-alpha-10);justify-content:space-between;align-items:center;display:flex}.adet-reservation__amount-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);margin-bottom:2px}.adet-reservation__amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-success-dark);line-height:1}.adet-reservation__empty-msg{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-disabled)}.adet-reservation__empty-msg p{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.adet-reservation__empty-sub{font-size:var(--font-size-xs)!important;color:var(--color-text-disabled)!important}.adet-reservation__upload-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);display:flex}.adet-reservation--empty .adet-reservation__upload-btn{border-style:dashed}.adet-reservation__upload-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.adet-reservation__note{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border-radius:var(--radius-md);color:var(--color-text-tertiary);gap:var(--spacing-sm);opacity:.85;align-items:flex-start;font-size:11px;display:flex}.apt-detail__photo-summary{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-secondary);flex-wrap:wrap;display:flex}.apt-detail__photo-summary-item{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.apt-detail__photo-summary-sep{background:var(--color-border-secondary);flex-shrink:0;width:1px;height:28px}.apt-detail__photo-summary-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);white-space:nowrap}.apt-detail__slot-chips{align-items:center;gap:4px;display:flex}.apt-detail__slot-chip{border:1.5px solid;border-radius:2px;flex-shrink:0;width:14px;height:8px;transition:background .15s,border-color .15s}.apt-detail__slot-chip--before{border-color:var(--color-info);background:0 0}.apt-detail__slot-chip--before.apt-detail__slot-chip--filled{background:var(--color-info)}.apt-detail__slot-chip--after{border-color:var(--color-success);background:0 0}.apt-detail__slot-chip--after.apt-detail__slot-chip--filled{background:var(--color-success)}.apt-detail__slot-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);white-space:nowrap;margin-left:2px}.apt-detail__upload-btn-content{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.apt-detail__upload-btn-label{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex}.apt-detail__upload-btn-slots{align-items:center;gap:5px;display:flex}.apt-detail__upload-btn-slots .apt-detail__slot-chip--before,.apt-detail__upload-btn-slots .apt-detail__slot-chip--after{background:0 0;border-color:#ffffff73;width:18px;height:10px}.apt-detail__upload-btn-slots .apt-detail__slot-chip--filled{background:#ffffffeb;border-color:#ffffffeb}.apt-detail__upload-btn-slots .apt-detail__slot-label{color:#ffffffd1;font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.02em}.apt-detail__upload-btn:disabled{opacity:.45;cursor:not-allowed;filter:none;box-shadow:none;transform:none}.apt-detail__upload-btn:disabled:hover{filter:none;transform:none}.apt-detail__photo-gallery{margin-top:var(--spacing-lg)}.apt-detail__photo-section{margin-bottom:var(--spacing-lg)}.apt-detail__photo-section:last-child{margin-bottom:0}.apt-detail__photo-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);align-items:center;gap:var(--spacing-sm);display:flex}.apt-detail__photo-badge{color:var(--color-on-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;padding:3px 10px}.apt-detail__photo-badge--before{background:var(--color-info)}.apt-detail__photo-badge--after{background:var(--color-success)}.apt-detail__photo-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.apt-detail__photo-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}@media (width>=640px){.apt-detail__photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (width>=1024px){.apt-detail__photo-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.apt-detail__photo-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);background:var(--color-bg-secondary);position:relative;overflow:hidden}.apt-detail__photo-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.apt-detail__photo-img{object-fit:cover;background:var(--color-bg-tertiary);width:100%;height:200px;display:block}@media (width<=639px){.apt-detail__photo-img{height:150px}}.apt-detail__photo-overlay{padding:var(--spacing-sm) var(--spacing-md);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:linear-gradient(#0000,#000000b3);position:absolute;bottom:0;left:0;right:0}.apt-detail__photo-delete{border-radius:var(--radius-full);color:#fff;cursor:pointer;opacity:0;width:26px;height:26px;transition:opacity var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#dc2626d1;border:1.5px solid #fff6;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.apt-detail__photo-card:hover .apt-detail__photo-delete{opacity:1}.apt-detail__photo-delete:hover{background:#b91c1cf2;transform:scale(1.1)}@media (width<=639px){.apt-detail__photo-delete{opacity:1}}.apt-detail__photo-empty{padding:60px var(--spacing-lg);text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:2px dashed var(--color-border-primary)}.apt-detail__photo-empty-icon{color:var(--color-text-disabled);margin:0 auto 20px}.apt-detail__photo-empty-title{font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.apt-detail__photo-empty-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.apt-detail__upload-buttons{gap:var(--spacing-sm);margin-top:var(--spacing-lg);flex-wrap:wrap;display:flex}@media (width<=639px){.apt-detail__upload-buttons{flex-direction:column}}.apt-detail__upload-btn{min-width:200px;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg, var(--color-info) 0%, var(--color-info-dark) 100%);color:#fff;border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 14px var(--color-info-alpha-10,#3b82f640);font-family:var(--font-family-base);border:none;flex:1;justify-content:center;align-items:center;display:flex}.apt-detail__upload-btn:hover:not(:disabled){filter:brightness(1.07);box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (width<=639px){.apt-detail__upload-btn{min-width:100%}}.apt-detail__upload-btn--after{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);box-shadow:0 4px 14px var(--color-success-alpha-10,#22c55e40)}.apt-detail__view-switcher{gap:var(--spacing-sm);padding:var(--spacing-xs);background:var(--color-bg-secondary);border-radius:var(--radius-lg);width:fit-content;display:flex}.apt-detail__view-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-base);background:0 0;border:none}.apt-detail__view-btn:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.apt-detail__view-btn--active{background:var(--color-bg-primary);color:var(--color-primary);box-shadow:var(--shadow-xs)}.apt-detail__comparison-view{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=767px){.apt-detail__comparison-view{grid-template-columns:1fr}}.apt-detail__comparison-side{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-md);border:1px solid var(--color-border-secondary)}.apt-detail__comparison-side h3{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.status-reserved{background:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.status-in-progress{background:var(--color-status-in-progress-bg);color:var(--color-status-in-progress)}.status-attended{background:var(--color-status-completed-bg);color:var(--color-status-completed)}.status-cancelled{background:var(--color-status-cancelled-bg);color:var(--color-status-cancelled)}.status-no-show{background:var(--color-status-no-show-bg);color:var(--color-status-no-show)}.payment-card--urgent{border:2px solid var(--color-error);box-shadow:0 0 0 4px var(--color-error-alpha-10)}.payment-card--warning{border:2px solid var(--color-warning);box-shadow:0 0 0 4px var(--color-warning-alpha-10)}.system-info{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.system-item{flex-direction:column;gap:4px;display:flex}.system-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.system-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.system-id{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-primary);word-break:break-all}.card-header--collapsible{-webkit-user-select:none;user-select:none;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.card-header--collapsible:hover{background:var(--color-primary-alpha-10);border-radius:calc(var(--radius-2xl) - 2px) calc(var(--radius-2xl) - 2px) 0 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.apt-detail__skeleton-card{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-bg-tertiary) 25%, var(--color-border-secondary) 50%, var(--color-bg-tertiary) 75%);background-size:200% 100%;height:200px;animation:1.5s infinite shimmer;overflow:hidden}@media (width<=639px){.apt-detail__skeleton-card{height:150px}}.pkg-group{margin-bottom:var(--spacing-md)}.pkg-header{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:2px solid var(--color-border-secondary);justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-tertiary);flex-wrap:wrap;display:flex}.pkg-header--new{background:var(--color-primary-container);border-bottom-color:var(--color-border-primary)}.pkg-header__left{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.pkg-header__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pkg-header__price{background:var(--color-success);color:var(--color-on-primary);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:3px 10px}.pkg-header__badge{border-radius:var(--radius-md);font-size:11px;font-weight:var(--font-weight-semibold);padding:2px 8px}.pkg-header__badge--new{background:var(--color-info-alpha-10);color:var(--color-info-dark)}.pkg-header__badge--existing{background:var(--color-bg-primary);color:var(--color-text-tertiary);border:1px solid var(--color-border-primary)}.pkg-header__badge--warning{background:var(--color-warning-alpha-10);color:var(--color-warning-dark)}.pkg-header__badge--discount{background:var(--color-success-alpha-10);color:var(--color-success-dark)}.pkg-header__badge--increase{background:var(--color-error-alpha-10);color:var(--color-error)}.pkg-header__meta{color:var(--color-text-tertiary);font-size:11px}.pkg-header__right{align-items:center;gap:var(--spacing-sm);display:flex}.pkg-header__attended{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-success)}.pkg-header__counter{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.pkg-sessions{border:2px solid var(--color-border-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;overflow:hidden}.pkg-session{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;gap:var(--spacing-sm);transition:background var(--transition-fast);display:flex;position:relative}.pkg-session:last-child{border-bottom:none}.pkg-session--new{background:var(--color-success-alpha-10)}.pkg-session--deleting{background:var(--color-error-alpha-10);opacity:.7}.pkg-session__inner{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.pkg-session__icon{border-radius:var(--radius-lg);background:var(--color-bg-tertiary);width:34px;height:34px;color:var(--color-text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pkg-session--new .pkg-session__icon{background:var(--color-success-alpha-10);color:var(--color-success-dark)}.pkg-session--deleting .pkg-session__icon{background:var(--color-error-alpha-10);color:var(--color-error)}.pkg-session__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 3px}.pkg-session--deleting .pkg-session__name{text-decoration:line-through}.pkg-session__chip{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary);color:var(--color-text-tertiary);align-items:center;padding:1px 8px;display:inline-flex}.pkg-session--new .pkg-session__chip{background:var(--color-success-alpha-10);color:var(--color-success-dark)}.pkg-session--deleting .pkg-session__chip{background:var(--color-error-alpha-10);color:var(--color-error)}.pkg-session__abs-badge{top:var(--spacing-sm);right:var(--spacing-sm);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-on-primary);align-items:center;gap:4px;padding:2px 10px;display:flex;position:absolute}.pkg-session__abs-badge--add{background:var(--color-success);box-shadow:0 2px 4px var(--color-success-alpha-10)}.pkg-session__abs-badge--del{background:var(--color-error);box-shadow:0 2px 4px var(--color-error-alpha-10)}.pkg-price-edit{align-items:center;gap:var(--spacing-xs);display:flex}.pkg-price-edit__input{border:2px solid var(--color-primary);border-radius:var(--radius-md);width:90px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-base);padding:4px 8px}.pkg-price-edit__input:focus{box-shadow:0 0 0 3px var(--color-primary-alpha-10);outline:none}.pkg-price-btn{border-radius:var(--radius-md);font-size:11px;font-weight:var(--font-weight-bold);cursor:pointer;color:var(--color-on-primary);font-family:var(--font-family-base);border:none;padding:3px 8px}.pkg-price-btn--save{background:var(--color-success)}.pkg-price-btn--cancel{background:var(--color-error)}.pkg-price-btn--edit{background:var(--color-info)}.pkg-price-btn--restore{background:var(--color-warning)}.adet-measures-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.adet-measure-stat{border-radius:var(--radius-xl);padding:var(--spacing-md);border:2px solid}.adet-measure-stat--success{background:var(--color-success-alpha-10);border-color:var(--color-success)}.adet-measure-stat--warning{background:var(--color-warning-alpha-10);border-color:var(--color-warning)}.adet-measure-stat--info{background:var(--color-info-alpha-10);border-color:var(--color-info)}.adet-measure-stat--error{background:var(--color-error-alpha-10);border-color:var(--color-error)}.adet-measure-stat__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.adet-measure-stat--success .adet-measure-stat__label{color:var(--color-success-dark)}.adet-measure-stat--warning .adet-measure-stat__label{color:var(--color-warning-dark)}.adet-measure-stat--info .adet-measure-stat__label{color:var(--color-info-dark)}.adet-measure-stat--error .adet-measure-stat__label{color:var(--color-error-dark)}.adet-measure-stat__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1}.adet-measure-stat--success .adet-measure-stat__value{color:var(--color-success-dark)}.adet-measure-stat--warning .adet-measure-stat__value{color:var(--color-warning-dark)}.adet-measure-stat--info .adet-measure-stat__value{color:var(--color-info-dark)}.adet-measure-stat--error .adet-measure-stat__value{color:var(--color-error-dark)}.adet-measure-stat__sub{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);opacity:.8;margin-top:3px}.adet-measure-stat--success .adet-measure-stat__sub{color:var(--color-success-dark)}.adet-measure-stat--warning .adet-measure-stat__sub{color:var(--color-warning-dark)}.adet-measure-stat--info .adet-measure-stat__sub{color:var(--color-info-dark)}.adet-measure-stat--error .adet-measure-stat__sub{color:var(--color-error-dark)}.adet-body-block{background:var(--color-info-alpha-10);border:2px solid var(--color-info);border-radius:var(--radius-xl);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.adet-body-block__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-info-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md)}.adet-body-items{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.adet-body-item{background:var(--color-bg-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-info-alpha-10)}.adet-body-item__label{color:var(--color-text-tertiary);font-size:11px;font-weight:var(--font-weight-semibold);margin-bottom:2px}.adet-body-item__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-info-dark)}.adet-health-notes{background:var(--color-warning-alpha-10);border:2px solid var(--color-warning);border-radius:var(--radius-xl);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.adet-health-notes__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-warning-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.adet-health-notes__text{font-size:var(--font-size-sm);color:var(--color-warning-dark);line-height:var(--line-height-relaxed);white-space:pre-wrap}.adet-measures-empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;align-items:center;gap:var(--spacing-sm);color:var(--color-text-disabled);flex-direction:column;display:flex}.adet-measures-empty p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.adet-measures-empty__sub{font-size:var(--font-size-xs)!important;color:var(--color-text-disabled)!important}.adet-note-textarea{width:100%;min-height:80px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:var(--font-family-base);resize:vertical;margin-bottom:var(--spacing-sm);background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.adet-note-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10);outline:none}.adet-note-textarea::placeholder{color:var(--color-text-tertiary)}.adet-note-textarea:disabled{background:var(--color-bg-secondary);opacity:.6}.adet-notes-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.adet-note-item{padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary)}.adet-note-item__header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.adet-note-item__author{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm)}.adet-note-item__role{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-left:var(--spacing-sm)}.adet-note-item__date{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:nowrap}.adet-note-item__text{color:var(--color-text-primary);line-height:var(--line-height-relaxed);white-space:pre-wrap;font-size:var(--font-size-sm);margin:0}.adet-notes-empty{color:var(--color-text-tertiary);text-align:center;font-size:var(--font-size-sm);padding:var(--spacing-lg) 0;margin:0}@media (width<=640px){.adet-pay-pkg__stats{grid-template-columns:repeat(3,1fr)}.adet-patient-strip{padding:var(--spacing-sm) var(--spacing-md)}}.sts-wrapper{margin:var(--spacing-sm) 0 var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.sts-primary-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.sts-primary-btn{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-family-base);text-align:left;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);color:var(--color-on-primary);border:none;display:flex}.sts-primary-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sts-primary-btn:active:not(:disabled){transform:translateY(0)}.sts-primary-btn:disabled{opacity:.55;cursor:not-allowed}.sts-primary--primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);box-shadow:0 4px 12px var(--color-primary-alpha-20)}.sts-primary--success{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);box-shadow:0 4px 12px var(--color-success-alpha-10)}.sts-primary-btn__icon{border-radius:var(--radius-lg);background:#ffffff26;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sts-primary-btn__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sts-primary-btn__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.2}.sts-primary-btn__desc{font-size:var(--font-size-xs);opacity:.85;font-weight:var(--font-weight-normal);line-height:1.3}.sts-primary-btn__arrow{opacity:.75;flex-shrink:0}.sts-secondary-section{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.sts-secondary-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);white-space:nowrap;display:inline-flex}.sts-secondary-btn:disabled{opacity:.45;cursor:not-allowed}.sts-secondary-btn--neutral{border:1.5px solid var(--color-border-primary);color:var(--color-text-secondary);background:0 0}.sts-secondary-btn--neutral:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.sts-secondary-btn--danger{border:1.5px solid var(--color-error-alpha-10);color:var(--color-error);background:0 0}.sts-secondary-btn--danger:hover:not(:disabled){background:var(--color-error-alpha-10);border-color:var(--color-error-light)}.sts-error{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-alpha-10);border:1.5px solid var(--color-error-light);border-radius:var(--radius-lg);color:var(--color-error-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.5;display:flex}.sts-error svg{color:var(--color-error);flex-shrink:0;margin-top:1px}.sts-confirm{padding:4px 0}.sts-confirm__msg{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl)}.sts-confirm__actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.sts-confirm__cancel{padding:var(--spacing-sm) var(--spacing-lg);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);background:0 0}.sts-confirm__cancel:hover:not(:disabled){background:var(--color-bg-hover)}.sts-confirm__ok{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family-base);transition:all var(--transition-fast);border:none}.sts-confirm__ok:hover:not(:disabled){box-shadow:0 4px 12px var(--color-primary-alpha-20);transform:translateY(-1px)}.sts-confirm__ok:disabled,.sts-confirm__cancel:disabled{opacity:.5;cursor:not-allowed}.sts-status-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-bottom:var(--spacing-sm);opacity:.8;background:0 0!important}.sts-wrapper--fixed{z-index:200;margin-top:var(--spacing-lg);margin-bottom:calc(-1 * var(--spacing-2xl));padding:var(--spacing-md) var(--spacing-lg);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl), 0 -2px 12px #00000014;position:sticky;bottom:0}.sts-wrapper--fixed .sts-status-label,.sts-wrapper--fixed .sts-primary-section{margin-bottom:var(--spacing-sm)}.sts-wrapper--fixed .sts-secondary-section{gap:var(--spacing-md)}.sts-wrapper--fixed .sts-secondary-btn{padding:var(--spacing-xs) var(--spacing-md)}@media (width<=640px){.sts-primary-btn{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.sts-primary-btn__icon{width:32px;height:32px}.sts-secondary-btn{font-size:11px}}@media (width<=768px){.sts-wrapper--fixed{margin-bottom:calc(-1 * var(--spacing-lg))}}@media (width<=480px){.sts-wrapper--fixed{margin-bottom:calc(-1 * var(--spacing-md))}}.employees-page .page-header h1{margin-bottom:var(--spacing-xs)}.employees-page__subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0}.employees-page__filters-grid{gap:var(--spacing-md);grid-template-columns:1fr 200px 160px auto;align-items:end;display:grid}.employees-page__filter-actions{gap:var(--spacing-sm);display:flex}.employees-page__filter-tag{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);background:var(--color-primary-alpha-10);border:1px solid var(--color-primary-alpha-20);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full)}.employees-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.employee-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.employee-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-primary);transform:translateY(-2px)}.employee-card__strip{flex-shrink:0;width:100%;height:4px}.employee-card__strip--active{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-light))}.employee-card__strip--inactive{background:var(--color-border-primary)}.employee-card__body{gap:var(--spacing-md);padding:var(--spacing-lg);align-items:center;display:flex}.employee-card__avatar{color:#fff;width:52px;height:52px;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000002e}.employee-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.employee-card__name{font-weight:var(--font-weight-bold);font-size:var(--font-size-base);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-card__email{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-card__badge{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.employee-card__meta-row{align-items:center;gap:var(--spacing-sm);margin-top:2px;display:flex}.employee-card__sex{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.employees-page__empty{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);text-align:center;color:var(--color-text-secondary);flex-direction:column;display:flex}.employees-page__empty-icon{font-size:48px;line-height:1}.employees-page__empty p{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0}@media (width<=900px){.employees-page__filters-grid{grid-template-columns:1fr 1fr}.employees-page__filter-actions{grid-column:1/-1}}@media (width<=600px){.employees-page__filters-grid,.employees-grid{grid-template-columns:1fr}}.stat-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.stat-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.stat-card__icon{border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);width:40px;height:40px;font-size:var(--font-size-xl);justify-content:center;align-items:center;display:flex}.stat-card__body{gap:var(--spacing-xs);flex-direction:column;display:flex}.stat-card__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.stat-card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.stat-card__trend{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs);display:inline-flex}.stat-card__trend--positive{color:var(--color-success)}.stat-card__trend--negative{color:var(--color-error)}.stat-card__trend-icon{font-size:var(--font-size-base)}.stat-card--primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-text-inverse);border-color:#0000}.stat-card--success{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color:var(--color-text-inverse);border-color:#0000}.stat-card--warning{background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);color:var(--color-text-inverse);border-color:#0000}.stat-card--error{background:linear-gradient(135deg, var(--color-error) 0%, var(--color-error-dark) 100%);color:var(--color-text-inverse);border-color:#0000}.stat-card--info{background:linear-gradient(135deg, var(--color-info) 0%, var(--color-info-dark) 100%);color:var(--color-text-inverse);border-color:#0000}.stat-card--primary .stat-card__title,.stat-card--success .stat-card__title,.stat-card--warning .stat-card__title,.stat-card--error .stat-card__title,.stat-card--info .stat-card__title{color:inherit;opacity:.9}.stat-card--primary .stat-card__value,.stat-card--success .stat-card__value,.stat-card--warning .stat-card__value,.stat-card--error .stat-card__value,.stat-card--info .stat-card__value{color:inherit}.stat-card--primary .stat-card__subtitle,.stat-card--success .stat-card__subtitle,.stat-card--warning .stat-card__subtitle,.stat-card--error .stat-card__subtitle,.stat-card--info .stat-card__subtitle{color:inherit;opacity:.75}.stat-card--primary .stat-card__icon,.stat-card--success .stat-card__icon,.stat-card--warning .stat-card__icon,.stat-card--error .stat-card__icon,.stat-card--info .stat-card__icon{color:inherit;background-color:#fff3}.stat-card--primary:hover,.stat-card--success:hover,.stat-card--warning:hover,.stat-card--error:hover,.stat-card--info:hover{filter:brightness(1.08);border-color:#0000}.stat-card--soft{color:var(--color-text-primary);border:1px solid var(--color-border-secondary);filter:none!important}.stat-card--soft.stat-card--primary{background:var(--color-primary-alpha-10)}.stat-card--soft.stat-card--success{background:var(--color-success-alpha-10)}.stat-card--soft.stat-card--warning{background:var(--color-warning-alpha-10)}.stat-card--soft.stat-card--error{background:var(--color-error-alpha-10)}.stat-card--soft.stat-card--info{background:var(--color-info-alpha-10)}.stat-card--soft .stat-card__title{color:var(--color-text-secondary);opacity:1}.stat-card--soft .stat-card__value{color:var(--color-text-primary)}.stat-card--soft .stat-card__subtitle{color:var(--color-text-tertiary);opacity:1}.stat-card--soft.stat-card--primary .stat-card__icon{background:var(--color-primary-container);color:var(--color-primary)}.stat-card--soft.stat-card--success .stat-card__icon{background:var(--color-success-alpha-10);color:var(--color-success)}.stat-card--soft.stat-card--warning .stat-card__icon{background:var(--color-warning-alpha-10);color:var(--color-warning)}.stat-card--soft.stat-card--error .stat-card__icon{background:var(--color-error-alpha-10);color:var(--color-error)}.stat-card--soft.stat-card--info .stat-card__icon{background:var(--color-info-alpha-10);color:var(--color-info)}.stat-card--soft:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-primary);transform:translateY(-2px)}@media (width<=768px){.stat-card{padding:var(--spacing-md)}.stat-card__value{font-size:var(--font-size-2xl)}.stat-card__icon{width:32px;height:32px;font-size:var(--font-size-lg)}}.employee-top-bar{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.employee-breadcrumb{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.employee-breadcrumb__back{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:0;display:inline-flex}.employee-breadcrumb__back:hover{color:var(--color-primary)}.employee-breadcrumb__separator{color:var(--color-text-disabled);font-size:var(--font-size-sm);flex-shrink:0}.employee-breadcrumb__current{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-top-bar__actions{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.employee-hero{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);display:flex}.employee-avatar-wrapper{flex-shrink:0;align-self:center;width:80px;min-width:80px;height:80px;min-height:80px;position:relative}.employee-avatar{border-radius:var(--radius-full);width:80px;height:80px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:1px;justify-content:center;align-items:center;display:flex;overflow:hidden}.employee-avatar img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.employee-avatar--admin{background:var(--color-error-alpha-10);color:var(--color-error)}.employee-avatar--medical{background:var(--color-info-alpha-10);color:var(--color-info)}.employee-avatar--assistant{background:var(--color-warning-alpha-10);color:var(--color-warning)}.employee-avatar--sales{background:var(--color-success-alpha-10);color:var(--color-success)}.employee-avatar--default{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.employee-avatar-camera-btn{border-radius:var(--radius-full);background:var(--color-primary);border:2.5px solid var(--color-bg-primary);cursor:pointer;width:26px;height:26px;color:var(--color-on-primary);box-shadow:var(--shadow-md);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:2px;right:2px}.employee-avatar-camera-btn:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:scale(1.12)}.employee-avatar-camera-btn:active:not(:disabled){transform:scale(.95)}.employee-avatar-camera-btn:disabled{cursor:not-allowed;opacity:.65}.employee-avatar-camera-btn .spinner-xs{border-width:2px;width:12px;height:12px}.photo-action-sheet{z-index:calc(var(--z-modal) - 1);padding:var(--spacing-lg);background:var(--color-bg-overlay);justify-content:center;align-items:flex-end;animation:.18s ease-out sheet-backdrop-in;display:flex;position:fixed;inset:0}@keyframes sheet-backdrop-in{0%{background:0 0}to{background:var(--color-bg-overlay)}}.photo-action-sheet__panel{background:var(--color-bg-primary);border-radius:var(--radius-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-2xl);z-index:1;animation:.22s cubic-bezier(.34,1.56,.64,1) sheet-slide-up;position:relative;overflow:hidden}@keyframes sheet-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.photo-action-sheet__header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md);text-align:center;border-bottom:1px solid var(--color-border-secondary)}.photo-action-sheet__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.photo-action-sheet__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--spacing-xs) 0 0}.photo-action-sheet__options{padding:var(--spacing-sm);flex-direction:column;gap:2px;display:flex}.photo-action-sheet__option{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background var(--transition-fast);color:var(--color-text-primary);background:0 0;border:none;display:flex}.photo-action-sheet__option:hover{background:var(--color-bg-hover)}.photo-action-sheet__option:active{background:var(--color-bg-active)}.photo-action-sheet__option-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.photo-action-sheet__option-icon--camera{background:var(--color-primary-alpha-10);color:var(--color-primary)}.photo-action-sheet__option-icon--gallery{background:var(--color-info-alpha-10);color:var(--color-info)}.photo-action-sheet__option-text{flex:1}.photo-action-sheet__option-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:block}.photo-action-sheet__option-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px;display:block}.photo-action-sheet__cancel{margin:0 var(--spacing-sm) var(--spacing-sm);width:calc(100% - var(--spacing-md));padding:var(--spacing-md);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.photo-action-sheet__cancel:hover{background:var(--color-bg-hover)}.employee-hero__info{flex:1;min-width:0}.employee-hero__name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-tight)}.employee-hero__badges{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.employee-hero__email{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.role-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.3px;align-items:center;display:inline-flex}.role-badge--admin{background:var(--color-error-alpha-10);color:var(--color-error)}.role-badge--medical{background:var(--color-info-alpha-10);color:var(--color-info)}.role-badge--assistant{background:var(--color-warning-alpha-10);color:var(--color-warning)}.role-badge--sales{background:var(--color-success-alpha-10);color:var(--color-success)}.role-badge--default{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:5px;display:inline-flex}.status-badge--active{background:var(--color-success-alpha-10);color:var(--color-success)}.status-badge--inactive{background:var(--color-bg-disabled);color:var(--color-text-disabled)}.status-badge__dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:6px;height:6px}.employee-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.employee-card:last-child{margin-bottom:0}.employee-card__header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-secondary)}.employee-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.employee-card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--spacing-xs) 0 0 0}.employee-info-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.employee-info-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.employee-info-item__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.6px}.employee-info-item__value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.employee-stats-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}@media (width<=640px){.employee-hero{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);flex-direction:column}.employee-avatar{width:64px;height:64px;font-size:var(--font-size-xl)}.employee-hero__name{font-size:var(--font-size-xl)}.employee-card{padding:var(--spacing-lg)}.employee-stats-grid,.employee-info-grid{grid-template-columns:1fr 1fr}.employee-top-bar{flex-direction:column;align-items:flex-start}}@media (width<=400px){.employee-stats-grid,.employee-info-grid{grid-template-columns:1fr}}.commissions-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.commissions-page .page-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:flex-start;display:flex}.commissions-page .page-header h1{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.commissions-page .subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.summary-cards{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.summary-card{padding:var(--spacing-lg);border-radius:var(--radius-2xl);color:var(--color-text-inverse);box-shadow:var(--shadow-md);transition:transform var(--transition-base), box-shadow var(--transition-base)}.summary-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.summary-card--pending{background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%)}.summary-card--approved{background:linear-gradient(135deg, var(--color-info) 0%, var(--color-info-dark) 100%)}.summary-card--paid{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%)}.summary-card--rejected{background:linear-gradient(135deg, var(--color-error) 0%, var(--color-error-dark) 100%)}.summary-card--cancelled{background:linear-gradient(135deg, var(--color-text-tertiary) 0%, var(--color-text-secondary) 100%)}.summary-card:not([class*=summary-card--]){background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%)}.summary-label{font-size:var(--font-size-xs);opacity:.9;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.summary-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.summary-count{font-size:var(--font-size-xs);opacity:.8}.commissions-page .filters-container{margin-bottom:var(--spacing-md)}.commissions-page .filters-row{gap:var(--spacing-md);align-items:flex-end}.commissions-page .filter-group{gap:var(--spacing-xs);flex-direction:column;min-width:160px;display:flex}.batch-actions{background:var(--color-primary-alpha-10);border:1px solid var(--color-primary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.batch-actions span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-right:auto}.commissions-page .table-container{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md);overflow:hidden}.commissions-table{border-collapse:collapse;width:100%}.commissions-table thead{background-color:var(--color-bg-tertiary)}.commissions-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border-secondary)}.commissions-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-secondary);font-size:var(--font-size-sm);color:var(--color-text-primary);vertical-align:middle}.commissions-table tbody tr:hover{background-color:var(--color-bg-hover,var(--color-bg-secondary))}.commissions-table td.amount{font-weight:var(--font-weight-semibold);color:var(--color-success-dark)}.commissions-table td.actions{gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.commissions-page .form-group{margin-bottom:var(--spacing-md)}.commissions-page .form-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs);display:block}.commissions-page .form-group input,.commissions-page .form-group select,.commissions-page .form-group textarea{width:100%;height:var(--control-height);padding:0 var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);box-sizing:border-box;transition:border-color var(--transition-base), box-shadow var(--transition-base);font-family:inherit}.commissions-page .form-group textarea{height:auto;padding:var(--spacing-sm) var(--spacing-md);resize:vertical;min-height:80px}.commissions-page .form-group input:focus,.commissions-page .form-group select:focus,.commissions-page .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10);outline:none}.text-muted{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.commissions-page .pagination{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);display:flex}.commissions-page .pagination button{height:var(--control-height);padding:0 var(--spacing-md);border:1px solid var(--color-border-secondary);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);box-sizing:border-box}.commissions-page .pagination button:hover:not(:disabled){background-color:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary)}.commissions-page .pagination button:disabled{opacity:.4;cursor:not-allowed}.commissions-page .pagination span{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}@media (width<=768px){.commissions-page{padding:var(--spacing-md)}.summary-cards{grid-template-columns:repeat(2,1fr)}.commissions-page .filters-row{flex-direction:column}.commissions-page .filter-group{width:100%}.commissions-page .table-container{overflow-x:auto}.commissions-table{min-width:800px}.batch-actions{flex-direction:column;align-items:stretch}.batch-actions span{margin-right:0}}@media (width<=768px){.anlx-chart-grid{grid-template-columns:1fr}}.revenue-chart{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.revenue-chart__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}.revenue-chart .recharts-text{fill:var(--color-text-secondary)}.revenue-chart .recharts-cartesian-axis-line{stroke:var(--color-border-secondary)}.revenue-chart .recharts-cartesian-grid-horizontal line,.revenue-chart .recharts-cartesian-grid-vertical line{stroke:var(--color-border-secondary);opacity:.5}.revenue-chart__kpi-header{margin-bottom:var(--spacing-md)}.revenue-chart__kpi-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin:0 0 4px}.revenue-chart__kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:1}.revenue-chart__empty{height:200px;color:var(--color-text-tertiary);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}@media (width<=768px){.revenue-chart{padding:var(--spacing-md)}.revenue-chart__title{font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}}.pie-chart-widget{padding:var(--spacing-md) 0}.pie-chart-widget__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.dashboard-layout{background:var(--color-bg-secondary);height:100vh;display:flex}.dashboard-sidebar{width:var(--sidebar-width);background:var(--color-bg-primary);border-right:1px solid var(--color-border-secondary);box-shadow:var(--shadow-md);z-index:var(--z-sticky);transition:width var(--transition-slow);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.dashboard-sidebar.is-collapsed{width:var(--sidebar-width-collapsed);overflow:visible}.dashboard-sidebar.is-collapsed .sidebar-nav{overflow:visible}.sidebar-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-shrink:0;min-height:56px;display:flex}.sidebar-header--collapsed{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);cursor:pointer;width:100%;min-height:56px;transition:background var(--transition-fast);border:none;border-bottom:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-header--collapsed:hover{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%)}.sidebar-header--collapsed-inner{color:#fff;flex-direction:column;align-items:center;gap:6px;display:flex}.sidebar-header--collapsed-hint{letter-spacing:.06em;opacity:.7;text-transform:uppercase;font-size:10px;font-weight:600}.sidebar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:#fff;text-shadow:0 2px 4px #0000001a;white-space:nowrap;flex:1;margin:0;overflow:hidden}.sidebar-toggle-btn{border-radius:var(--radius-full);color:#fff;cursor:pointer;width:26px;height:26px;transition:background var(--transition-fast);background:#ffffff26;border:1.5px solid #ffffff59;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-toggle-btn:hover{background:#ffffff4d}.sidebar-user{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);align-items:center;gap:var(--spacing-md);min-height:60px;transition:padding var(--transition-slow), justify-content var(--transition-slow);flex-shrink:0;display:flex}.dashboard-sidebar.is-collapsed .sidebar-user{padding:var(--spacing-md) var(--spacing-sm);justify-content:center}.sidebar-user-avatar{border-radius:var(--radius-full);background:var(--color-primary-alpha-20);border:2px solid var(--color-primary);width:38px;height:38px;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.02em;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;line-height:var(--line-height-tight)}.sidebar-user-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:capitalize;margin:0}.sidebar-nav{padding:var(--spacing-md) 0;flex:1;overflow-y:auto}.sidebar-nav-list{margin:0;padding:0;list-style:none}.sidebar-nav-item{padding:0 var(--spacing-sm);margin-bottom:2px}.sidebar-nav-link{padding:9px var(--spacing-md);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:inset 3px 0 #0000}.sidebar-nav-link:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-nav-link.active{background:var(--color-primary-alpha-10);color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:inset 3px 0 0 var(--color-primary)}.sidebar-nav-link--meta{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.dashboard-sidebar.is-collapsed .sidebar-nav-item{padding:0 var(--spacing-xs)}.dashboard-sidebar.is-collapsed .sidebar-nav-link{box-shadow:none;justify-content:center;gap:0;padding:10px 0;overflow:visible}.dashboard-sidebar.is-collapsed .sidebar-nav-link.active{box-shadow:inset 0 -2px 0 var(--color-primary)}.dashboard-sidebar.is-collapsed .sidebar-nav-link:after{content:attr(data-label);background:var(--color-text-primary);color:var(--color-bg-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);box-shadow:var(--shadow-md);padding:5px 10px;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.dashboard-sidebar.is-collapsed .sidebar-nav-link:hover:after{opacity:1}.sidebar-nav-icon{width:20px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-nav-divider{background:var(--color-border-secondary);height:1px;margin:var(--spacing-sm) var(--spacing-md)}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);gap:var(--spacing-sm);flex-direction:column;display:flex}.sidebar-logout-btn{width:100%;padding:9px var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-error);border:1.5px solid var(--color-error);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);justify-content:center;align-items:center;gap:var(--spacing-sm);background:0 0;display:flex}.sidebar-logout-btn:hover{background:var(--color-error);color:#fff}.sidebar-logout-btn:active{background:var(--color-error-dark);border-color:var(--color-error-dark);color:#fff}.sidebar-footer-version{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-disabled);font-family:var(--font-family-mono)}.sidebar-idle-indicator{flex-direction:column;display:flex}.sidebar-idle-indicator--pulse{animation:1s ease-in-out infinite idle-pulse}@keyframes idle-pulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-idle-row{align-items:center;gap:6px;display:flex}.sidebar-idle-time{font-size:12px;font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono);flex-shrink:0;min-width:30px;line-height:1}.sidebar-idle-track{border-radius:var(--radius-full);background:var(--color-border-primary);flex:1;height:4px;overflow:hidden}.sidebar-idle-fill{border-radius:var(--radius-full);height:100%;transition:width 1s linear,background .5s,box-shadow .5s}.dashboard-sidebar.is-collapsed .sidebar-footer{padding:var(--spacing-sm);align-items:center}.dashboard-sidebar.is-collapsed .sidebar-logout-btn{border-radius:var(--radius-md);justify-content:center;width:40px;height:40px;padding:0}.dashboard-main{background:var(--color-bg-secondary);flex:1;overflow-y:auto}.dashboard-content{padding:var(--spacing-2xl);max-width:var(--width-7xl);margin:0 auto}.dashboard-home{gap:var(--spacing-xl);flex-direction:column;display:flex}.dashboard-welcome{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.dashboard-welcome-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0}.dashboard-welcome-subtitle{font-size:var(--font-size-base);opacity:.9;margin:0}.dashboard-stats{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.dashboard-stat-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.dashboard-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-sm) 0}.dashboard-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.dashboard-quick-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.dashboard-action-btn{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:flex}.dashboard-action-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sidebar-mobile-header,.sidebar-backdrop{display:none}@media (width<=768px){.sidebar-mobile-header{height:56px;padding:0 var(--spacing-md);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);z-index:var(--z-sticky);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.sidebar-mobile-hamburger{border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-mobile-hamburger:hover{background:var(--color-bg-secondary)}.sidebar-mobile-logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);color:var(--color-primary);letter-spacing:-.3px}.sidebar-mobile-avatar .sidebar-user-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.sidebar-backdrop{background:var(--color-bg-overlay);z-index:calc(var(--z-fixed) - 1);animation:.2s both sidebar-backdrop-in;display:block;position:fixed;inset:0}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}.dashboard-layout{flex-direction:row}.dashboard-sidebar{height:100dvh;transition:transform var(--transition-slow);z-index:var(--z-fixed);border-right:1px solid var(--color-border-primary);box-shadow:var(--shadow-xl);position:fixed;top:0;bottom:0;left:0;overflow:hidden auto;transform:translate(-100%);width:280px!important}.dashboard-sidebar.is-mobile-open{transform:translate(0)}.sidebar-header--mobile{display:flex}.dashboard-main{width:100%;min-height:100dvh;padding-top:56px}.dashboard-content{padding:var(--spacing-lg)}.dashboard-welcome{padding:var(--spacing-xl)}.dashboard-welcome-title{font-size:var(--font-size-2xl)}.dashboard-stats,.dashboard-quick-actions{grid-template-columns:1fr}}@media (width<=480px){.dashboard-content{padding:var(--spacing-md)}.dashboard-welcome,.dashboard-stat-card{padding:var(--spacing-lg)}}.dashboard-sidebar::-webkit-scrollbar{width:8px}.dashboard-main::-webkit-scrollbar{width:8px}.dashboard-sidebar::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dashboard-main::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dashboard-sidebar::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}.dashboard-main::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.dashboard-main::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.dashboard-page{padding:var(--spacing-xl);max-width:var(--width-7xl);margin:0 auto}.dashboard-hero{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.dashboard-hero__greeting{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.5px;margin:0 0 4px}.dashboard-hero__date{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.dashboard-hero__controls{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.dashboard-controls{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex}.period-selector{gap:var(--spacing-sm);display:flex}.period-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.period-btn:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-primary)}.period-btn--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.refresh-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex}.refresh-btn:hover:not(:disabled){background-color:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn .spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0}.dashboard__section{margin-bottom:var(--spacing-3xl)}.dashboard__section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border-secondary)}.dashboard__card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-lg)}.dashboard__card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.dashboard__chart-container{margin-top:var(--spacing-lg)}.dashboard__empty-state{background-color:var(--color-bg-secondary);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary)}.stats-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:grid}.stats-grid--1{grid-template-columns:repeat(1,1fr)}.stats-grid--2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stats-grid--3,.stats-grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.status-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.status-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex}.status-item__dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.status-item__label{min-width:110px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.status-item__bar-track{background:var(--color-border-secondary);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.status-item__bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);min-width:4px}.status-item__count{text-align:right;min-width:32px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.status-item__pct{text-align:right;min-width:38px;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.services-table table,.commissions-table table,.appointments-table{border-collapse:collapse;width:100%}.services-table th,.commissions-table th,.appointments-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--color-border-secondary)}.services-table td,.commissions-table td,.appointments-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm)}.services-table tr:hover,.commissions-table tr:hover,.appointments-table tr:hover{background-color:var(--color-bg-hover)}.appointments-list{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.appointment-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);transition:all var(--transition-base)}.appointment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.appointment-card__header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.appointment-card__time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.appointment-card__status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase}.appointment-card__status--scheduled{background-color:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.appointment-card__status--confirmed{background-color:var(--color-status-confirmed-bg);color:var(--color-status-confirmed)}.appointment-card__status--attended{background-color:var(--color-success-alpha-10);color:var(--color-success)}.appointment-card__body{gap:var(--spacing-xs);flex-direction:column;display:flex}.appointment-card__patient{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.appointment-card__services{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.service-tag{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-alpha-10);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.appointment-card__notes{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--spacing-xs) 0 0 0}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.status-badge--scheduled{background-color:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.status-badge--confirmed{background-color:var(--color-status-confirmed-bg);color:var(--color-status-confirmed)}.status-badge--attended{background-color:var(--color-success-alpha-10);color:var(--color-success)}.status-badge--pending{background-color:var(--color-warning-alpha-10);color:var(--color-warning)}.status-badge--approved{background-color:var(--color-info-alpha-10);color:var(--color-info)}.status-badge--paid{background-color:var(--color-success-alpha-10);color:var(--color-success)}.services-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.service-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-base);display:flex}.service-item:hover{background-color:var(--color-bg-tertiary)}.service-item__rank{background-color:var(--color-primary);width:40px;height:40px;color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.service-item__info{flex:1}.service-item__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.service-item__count{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.service-item__revenue{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success);margin-left:auto}.goal-card{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-xl);padding:var(--spacing-xl);color:var(--color-text-inverse);box-shadow:var(--shadow-lg)}.goal-card__header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.goal-card__label{font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--spacing-xs)}.goal-card__amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.goal-card__percentage{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold)}.goal-card__progress{border-radius:var(--radius-full);width:100%;height:12px;margin-bottom:var(--spacing-md);background-color:#fff3;overflow:hidden}.goal-card__progress-bar{background-color:var(--color-success);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.goal-card__badge{font-size:var(--font-size-2xl);animation:1s ease-in-out infinite bounce;display:inline-block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.goal-card__footer{font-size:var(--font-size-sm);opacity:.9;justify-content:space-between;display:flex}.appointments-list-compact{gap:var(--spacing-sm);flex-direction:column;display:flex}.appointment-item-compact{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.appointment-item-compact__date{color:var(--color-text-tertiary);min-width:100px}.appointment-item-compact__patient{font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.appointment-item-compact__status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.appointment-item-compact__status--scheduled{background-color:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.appointment-item-compact__status--attended{background-color:var(--color-success-alpha-10);color:var(--color-success)}.dashboard__section-title{align-items:center;gap:var(--spacing-sm);display:flex}.dashboard__section-badge{min-width:24px;height:24px;padding:0 var(--spacing-xs);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:inline-flex}.queue-next-up{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.queue-next-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg, var(--color-warning-alpha-10) 0%, var(--color-bg-primary) 100%);border:1px solid var(--color-warning-alpha-10);border-left:3px solid var(--color-warning);border-radius:var(--radius-lg);display:flex}.queue-next-item__time{min-width:56px;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-warning);flex-direction:column;align-items:center;display:flex}.queue-next-item__minutes{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);white-space:nowrap}.queue-next-item__avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:40px;height:40px;color:var(--color-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.queue-next-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.queue-next-item__services{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.queue-list{flex-direction:column;display:flex}.queue-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-secondary);transition:background var(--transition-base);border-left:3px solid #0000;display:flex}.queue-item:last-child{border-bottom:none}.queue-item:hover{background:var(--color-bg-secondary)}.queue-item--reserved{border-left-color:var(--color-status-scheduled)}.queue-item--in_progress{border-left-color:var(--color-status-in-progress);background:var(--color-status-in-progress-bg)}.queue-item--attended{border-left-color:var(--color-status-completed);opacity:.75}.queue-item--no_show{border-left-color:var(--color-status-no-show);opacity:.6}.queue-item__time{min-width:52px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex-shrink:0}.queue-item__avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);width:36px;height:36px;color:var(--color-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.queue-item--attended .queue-item__avatar,.queue-item--no_show .queue-item__avatar{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.queue-item__info{flex:1;min-width:0}.queue-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.queue-item__services{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.queue-item__phone{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.queue-item__meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.queue-item__status{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.queue-item__status--reserved{background:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.queue-item__status--in_progress{background:var(--color-status-in-progress-bg);color:var(--color-status-in-progress)}.queue-item__status--attended{background:var(--color-status-completed-bg);color:var(--color-status-completed)}.queue-item__status--no_show{background:var(--color-status-no-show-bg);color:var(--color-status-no-show)}.queue-item__duration{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.dashboard__charts-row{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:2fr 1fr;display:grid}.dashboard__charts-row--full{grid-template-columns:1fr}.dashboard__card--chart,.dashboard__card--no-margin{margin-top:0}.dashboard__card--centered{width:100%;max-width:560px;margin-left:auto;margin-right:auto;margin-top:var(--spacing-lg)}@media (width<=768px){.dashboard__charts-row{grid-template-columns:1fr}}.dashboard-loading{padding:var(--spacing-3xl);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.spinner{border:4px solid var(--color-border-secondary);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:40px;height:40px;animation:1s linear infinite spin}.dashboard-error{background-color:var(--color-error-alpha-10);border:1px solid var(--color-error);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;color:var(--color-error)}.dashboard-error button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-error);color:var(--color-text-inverse);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base);border:none}.dashboard-error button:hover{background-color:var(--color-error-dark)}@media (width<=768px){.dashboard-page{padding:var(--spacing-md)}.dashboard-hero{gap:var(--spacing-md);flex-direction:column}.dashboard-hero__controls{flex-direction:column;align-items:stretch;width:100%}.dashboard-controls{gap:var(--spacing-md);flex-direction:column}.period-selector{width:100%}.period-btn{flex:1}.refresh-btn{justify-content:center;width:100%}.status-item__pct{display:none}.dashboard__title{font-size:var(--font-size-2xl)}.dashboard__section-title{font-size:var(--font-size-lg)}.stats-grid--2,.stats-grid--3,.stats-grid--4,.appointments-list{grid-template-columns:1fr}.services-table,.commissions-table,.appointments-table{display:block;overflow-x:auto}.goal-card{padding:var(--spacing-lg)}.goal-card__amount{font-size:var(--font-size-xl)}.goal-card__percentage{font-size:var(--font-size-3xl)}}.profile-hero{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-xl);background:var(--color-bg-primary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.profile-avatar-area{display:inline-flex;position:relative}.profile-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border:3px solid var(--color-bg-primary);width:100px;height:100px;box-shadow:var(--shadow-md);transition:opacity var(--transition-base);justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-avatar--loading{opacity:.6}.profile-avatar-img{object-fit:cover;width:100%;height:100%}.profile-avatar-initials{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-on-primary);letter-spacing:1px;line-height:1}.profile-avatar-spinner{border-radius:var(--radius-full);border:3px solid #ffffff4d;border-top-color:#fff;animation:.7s linear infinite profile-spin;position:absolute;inset:0}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-avatar-edit{border-radius:var(--radius-full);background:var(--color-primary);width:30px;height:30px;color:var(--color-on-primary);border:2px solid var(--color-bg-primary);cursor:pointer;transition:background var(--transition-base), transform var(--transition-base);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px;right:2px}.profile-avatar-edit:hover{background:var(--color-primary-dark);transform:scale(1.1)}.profile-photo-menu{top:calc(100% + var(--spacing-xs));background:var(--color-bg-primary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);z-index:var(--z-dropdown);min-width:160px;animation:.15s both profile-menu-in;position:absolute;left:50%;transform:translate(-50%)}@keyframes profile-menu-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.profile-photo-menu-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);text-align:left;font-family:var(--font-family-base);background:0 0;border:none;display:flex}.profile-photo-menu-item:hover{background:var(--color-bg-secondary);color:var(--color-primary)}.profile-photo-menu-item--danger:hover{background:var(--color-error-alpha-10);color:var(--color-error)}.profile-hero-meta{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.profile-hero-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.3px;margin:0}.profile-hero-role{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);background:var(--color-primary-alpha-10);padding:3px var(--spacing-sm);border-radius:var(--radius-full)}.profile-hero-email{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.profile-photo-error{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error);margin:0;display:flex}.profile-cards{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=768px){.profile-cards{grid-template-columns:1fr}}.profile-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.profile-card-body{padding:var(--spacing-lg)}.profile-form{gap:var(--spacing-md);flex-direction:column;display:flex}.profile-form-row{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.profile-pw-field{position:relative}.profile-pw-toggle{right:var(--spacing-sm);cursor:pointer;color:var(--color-text-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-md);transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:10px}.profile-pw-toggle:hover{color:var(--color-primary)}.profile-strength{align-items:center;gap:var(--spacing-sm);display:flex}.profile-strength-bar{flex:1;gap:4px;display:flex}.profile-strength-segment{border-radius:var(--radius-full);height:4px;transition:background var(--transition-base);flex:1}.profile-strength-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;text-align:right;min-width:70px;transition:color var(--transition-base)}.profile-alert{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1.5px solid;display:flex}.profile-alert--error{background:var(--color-error-alpha-10);border-color:var(--color-error);color:var(--color-error-dark)}.profile-alert--success{background:var(--color-success-alpha-10);border-color:var(--color-success);color:var(--color-success-dark)}:root{--chart-1:#0f766e;--chart-2:#059669;--chart-3:#d97706;--chart-4:#dc2626;--chart-5:#0284c7;--chart-6:#be185d}[data-theme=dark]{--chart-1:#2dd4bf;--chart-2:#34d399;--chart-3:#fcd34d;--chart-4:#f87171;--chart-5:#38bdf8;--chart-6:#c084fc}.analytics-page{padding:0}.page-header h1{color:var(--color-text-primary)}.period-selector{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.period-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-primary);color:var(--color-text-secondary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);transition:all var(--transition-fast)}.period-button:hover{background:var(--color-bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.period-button.active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:0 2px 8px var(--color-primary-alpha-20)}.analytics-tabs{gap:var(--spacing-xs);border-bottom:2px solid var(--color-border-secondary);background:0 0;border-radius:0;margin-bottom:0;padding:0;display:flex;overflow-x:auto}.tab-button{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:all var(--transition-fast);white-space:nowrap;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px}.tab-button:hover{background:var(--color-bg-hover);color:var(--color-text-inverse)}.tab-button.active{background:var(--color-bg-primary);color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-bold);box-shadow:none;transform:none}.analytics-content{background:var(--color-bg-primary);border-radius:0 0 var(--radius-xl) var(--radius-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm);border-top:none}.custom-date-range{gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.date-input-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.access-denied{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;border:1px solid var(--color-border-secondary)}.access-denied h2{color:var(--color-error);margin-bottom:var(--spacing-sm)}.access-denied p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.anlx-section{padding:var(--spacing-xl)}.anlx-loading,.anlx-empty{padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.anlx-error{padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-error);font-size:var(--font-size-sm);text-align:center}.anlx-kpi-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.anlx-kpi-card{padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);border-left:4px solid var(--color-border-primary);box-shadow:var(--shadow-sm)}.anlx-kpi-card--primary{border-left-color:var(--color-primary)}.anlx-kpi-card--success{border-left-color:var(--color-success)}.anlx-kpi-card--warning{border-left-color:var(--color-warning)}.anlx-kpi-card--error{border-left-color:var(--color-error)}.anlx-kpi-card--info{border-left-color:var(--color-info)}.anlx-kpi-card--accent{border-left-color:var(--color-accent)}.anlx-kpi-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.anlx-kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1}.anlx-kpi-sub{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.anlx-kpi-card--primary .anlx-kpi-sub{color:var(--color-primary)}.anlx-kpi-card--success .anlx-kpi-sub{color:var(--color-success-dark)}.anlx-kpi-card--warning .anlx-kpi-sub{color:var(--color-warning-dark)}.anlx-kpi-card--error .anlx-kpi-sub{color:var(--color-error)}.anlx-kpi-card--info .anlx-kpi-sub{color:var(--color-info-dark)}.anlx-kpi-card--accent .anlx-kpi-sub{color:var(--color-accent)}.anlx-chart-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.anlx-chart-grid--full{grid-template-columns:1fr}@media (width<=768px){.anlx-chart-grid{grid-template-columns:1fr}}.anlx-chart-card{padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.anlx-chart-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg)}.anlx-table-wrap{overflow-x:auto}.anlx-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.anlx-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);border-bottom:2px solid var(--color-border-primary);background:var(--color-bg-tertiary)}.anlx-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-secondary)}.anlx-table tr:last-child td{border-bottom:none}.anlx-table tr:hover td{background:var(--color-bg-hover)}.anlx-table__right{text-align:right}.anlx-table__currency{font-weight:var(--font-weight-semibold);color:var(--color-success-dark)}.anlx-table__muted{color:var(--color-text-tertiary)}.anlx-rank-badge{width:28px;height:28px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.anlx-rank-badge--gold{background:var(--color-warning)}.anlx-rank-badge--silver{background:var(--color-text-tertiary)}.anlx-rank-badge--bronze{background:var(--color-warning-dark);opacity:.8}.anlx-rank-badge--default{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-border-secondary)}.recharts-text.recharts-cartesian-axis-tick-value{fill:var(--color-text-tertiary);font-size:12px}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--color-bg-primary)!important;border:1px solid var(--color-border-primary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important}.recharts-tooltip-label{font-weight:600;color:var(--color-text-primary)!important}.recharts-legend-item-text{color:var(--color-text-secondary)!important}.flm-backdrop{z-index:var(--z-modal-backdrop);background:var(--color-bg-overlay);padding:var(--spacing-lg);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:center;animation:.25s both flm-fade-in;display:flex;position:fixed;inset:0}@keyframes flm-fade-in{0%{opacity:0}to{opacity:1}}.flm-card{background:var(--color-bg-primary);border-radius:var(--radius-2xl);border:1.5px solid var(--color-border-secondary);box-shadow:var(--shadow-2xl);width:100%;max-width:440px;padding:var(--spacing-2xl) var(--spacing-2xl);gap:var(--spacing-xl);flex-direction:column;animation:.35s cubic-bezier(.22,1,.36,1) 50ms both flm-slide-up;display:flex;position:relative;overflow:hidden}.flm-card:before{content:"";background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;height:3px;position:absolute;top:0;left:0;right:0}@keyframes flm-slide-up{0%{opacity:0;transform:translateY(32px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.flm-header{text-align:center;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm);flex-direction:column;display:flex}.flm-icon-wrap{background:var(--color-primary-container);width:64px;height:64px;color:var(--color-primary);box-shadow:0 0 0 8px var(--color-primary-alpha-10);border-radius:50%;justify-content:center;align-items:center;animation:2.5s ease-in-out infinite flm-icon-pulse;display:flex}@keyframes flm-icon-pulse{0%,to{box-shadow:0 0 0 8px var(--color-primary-alpha-10)}50%{box-shadow:0 0 0 14px var(--color-primary-alpha-10)}}.flm-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);letter-spacing:-.3px;line-height:var(--line-height-tight);margin:0}.flm-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed);max-width:320px;margin:0}.flm-subtitle strong{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.flm-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.flm-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.flm-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.flm-input-wrap{align-items:center;display:flex;position:relative}.flm-input-icon{left:var(--spacing-md);color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-base);z-index:1;position:absolute}.flm-input-wrap:focus-within .flm-input-icon{color:var(--color-primary)}.flm-input{width:100%;height:var(--control-height-lg);padding:0 calc(var(--spacing-md) + 20px + var(--spacing-sm));font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-lg);font-family:var(--font-family-base);box-sizing:border-box;transition:border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base)}.flm-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10);background:var(--color-bg-primary);outline:none}.flm-input::placeholder{color:var(--color-text-tertiary)}.flm-input.error{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-10)}.flm-eye-btn{right:var(--spacing-sm);cursor:pointer;color:var(--color-text-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-md);transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;line-height:0;display:flex;position:absolute}.flm-eye-btn:hover{color:var(--color-primary)}.flm-strength{flex-direction:column;gap:6px;margin-top:2px;display:flex}.flm-strength-bar{gap:4px;display:flex}.flm-strength-seg{border-radius:var(--radius-full);background:var(--color-border-primary);height:3px;transition:background var(--transition-base);flex:1}.flm-strength-seg.active-weak{background:var(--color-error)}.flm-strength-seg.active-fair{background:var(--color-warning)}.flm-strength-seg.active-good{background:var(--color-info)}.flm-strength-seg.active-strong{background:var(--color-success)}.flm-strength-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:color var(--transition-base)}.flm-strength-label.weak{color:var(--color-error)}.flm-strength-label.fair{color:var(--color-warning)}.flm-strength-label.good{color:var(--color-info)}.flm-strength-label.strong{color:var(--color-success)}.flm-reqs{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;display:flex}.flm-reqs-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 2px}.flm-req-item{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-disabled);transition:color var(--transition-base);display:flex}.flm-req-item.met{color:var(--color-success)}.flm-req-dot{background:var(--color-border-primary);width:6px;min-width:6px;height:6px;transition:background var(--transition-base), transform var(--transition-base);border-radius:50%}.flm-req-item.met .flm-req-dot{background:var(--color-success);transform:scale(1.2)}.flm-error{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-error-alpha-10);border:1.5px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:.4s flm-shake;display:flex}@keyframes flm-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.flm-submit-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;height:var(--control-height-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-on-primary);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);box-shadow:0 4px 16px var(--color-primary-alpha-20);letter-spacing:.2px;font-family:var(--font-family-base);border:none;display:flex;position:relative;overflow:hidden}.flm-submit-btn:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f 0%,#0000 55%);position:absolute;inset:0}.flm-submit-btn:hover:not(:disabled){box-shadow:0 8px 28px var(--color-primary-alpha-20);transform:translateY(-2px)}.flm-submit-btn:active:not(:disabled){box-shadow:0 3px 10px var(--color-primary-alpha-10);transform:translateY(0)}.flm-submit-btn:disabled{opacity:.72;cursor:not-allowed;transform:none}.flm-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;min-width:16px;height:16px;animation:.65s linear infinite flm-spin}@keyframes flm-spin{to{transform:rotate(360deg)}}.flm-security-note{justify-content:center;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding-top:var(--spacing-xs);display:flex}[data-theme=dark] .flm-submit-btn{box-shadow:0 4px 16px #2dd4bf47}[data-theme=dark] .flm-submit-btn:hover:not(:disabled){box-shadow:0 8px 28px #2dd4bf57}@media (width<=480px){.flm-card{padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-xl)}.flm-title{font-size:var(--font-size-xl)}}.patient-login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.patient-login-container{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 20px 60px #0003}.patient-login-header{text-align:center;margin-bottom:2rem}.patient-login-logo{color:#667eea;margin:0 0 .5rem;font-size:2rem;font-weight:700}.patient-login-title{color:#1a202c;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.patient-login-subtitle{color:#718096;margin:0;font-size:.875rem}.patient-login-form{flex-direction:column;gap:1.25rem;display:flex}.patient-login-form-group{flex-direction:column;gap:.5rem;display:flex}.patient-login-form-label{color:#4a5568;font-size:.875rem;font-weight:500}.patient-login-form-input{border:2px solid #e2e8f0;border-radius:8px;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.patient-login-form-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.patient-login-form-input::placeholder{color:#a0aec0}.patient-login-error{color:#c53030;text-align:center;background-color:#fed7d7;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.patient-login-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.patient-login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.patient-login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.patient-login-info{text-align:center;border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.patient-login-info p{color:#718096;margin:0 0 .5rem;font-size:.8125rem}.patient-login-hint{color:#2b6cb0;background-color:#ebf8ff;border-radius:6px;padding:.5rem .75rem;margin-top:.75rem!important;font-size:.75rem!important}.patient-login-footer{text-align:center;margin-top:1.5rem}.patient-login-staff-link{color:#667eea;font-size:.8125rem;text-decoration:none;transition:color .2s}.patient-login-staff-link:hover{color:#764ba2;text-decoration:underline}.patient-login-loading{text-align:center;color:#718096;padding:2rem}@media (width<=480px){.patient-login-container{padding:1.5rem}.patient-login-logo{font-size:1.75rem}.patient-login-title{font-size:1.125rem}}.patient-dashboard{background-color:#f7fafc;min-height:100vh;display:flex}.patient-dashboard-sidebar{color:#fff;z-index:100;background:linear-gradient(#667eea 0%,#764ba2 100%);flex-direction:column;width:280px;height:100vh;transition:transform .3s;display:flex;position:fixed}.patient-dashboard-sidebar-header{border-bottom:1px solid #ffffff1a;padding:1.5rem}.patient-dashboard-logo{margin:0;font-size:1.5rem;font-weight:700}.patient-dashboard-portal-tag{background:#fff3;border-radius:20px;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.patient-dashboard-user-section{border-bottom:1px solid #ffffff1a;padding:1.5rem}.patient-dashboard-user-avatar{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:.75rem;font-size:1.5rem;font-weight:600;display:flex}.patient-dashboard-user-name{margin:0;font-size:1.125rem;font-weight:600}.patient-dashboard-user-dni{opacity:.8;margin:.25rem 0 0;font-size:.875rem}.patient-dashboard-nav{flex:1;padding:1rem 0;overflow-y:auto}.patient-dashboard-nav-item{color:#fffc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:.9375rem;text-decoration:none;transition:all .2s;display:flex}.patient-dashboard-nav-item:hover{color:#fff;background:#ffffff1a}.patient-dashboard-nav-item.active{color:#fff;background:#fff3;border-left:3px solid #fff}.patient-dashboard-nav-item.disabled{opacity:.5;cursor:not-allowed}.patient-dashboard-nav-item-icon{text-align:center;width:24px;font-size:1.25rem}.patient-dashboard-nav-item-badge{background:#fff3;border-radius:10px;margin-left:auto;padding:.125rem .5rem;font-size:.6875rem}.patient-dashboard-sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem 1.5rem}.patient-dashboard-logout-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:all .2s;display:flex}.patient-dashboard-logout-btn:hover{background:#fff3}.patient-dashboard-main{flex:1;max-width:1400px;margin-left:280px;padding:2rem}.patient-dashboard-mobile-header{display:none}.patient-dashboard-welcome{margin-bottom:2rem}.patient-dashboard-welcome h1{color:#1a202c;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.patient-dashboard-welcome p{color:#718096;margin:0;font-size:1rem}.patient-dashboard-stats{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.patient-dashboard-stat-card{background:#fff;border-radius:12px;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000000f}.patient-dashboard-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.patient-dashboard-stat-icon.purple{background:linear-gradient(135deg,#667eea26 0%,#764ba226 100%)}.patient-dashboard-stat-icon.blue{background:#4299e126}.patient-dashboard-stat-icon.green{background:#48bb7826}.patient-dashboard-stat-icon.orange{background:#ed893626}.patient-dashboard-stat-content h3{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .25rem;font-size:.8125rem;font-weight:500}.patient-dashboard-stat-content .value{color:#1a202c;margin:0;font-size:1.5rem;font-weight:700}.patient-dashboard-stat-content .subtext{color:#a0aec0;margin:.25rem 0 0;font-size:.8125rem}.patient-dashboard-content{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}.patient-dashboard-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.patient-dashboard-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.patient-dashboard-card-header h2{color:#1a202c;align-items:center;gap:.5rem;margin:0;font-size:1.0625rem;font-weight:600;display:flex}.patient-dashboard-card-link{color:#667eea;font-size:.875rem;font-weight:500;text-decoration:none}.patient-dashboard-card-link:hover{text-decoration:underline}.patient-dashboard-card-body{padding:1.5rem}.patient-dashboard-actions{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.patient-dashboard-action-btn{cursor:pointer;color:inherit;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-decoration:none;transition:all .2s;display:flex}.patient-dashboard-action-btn:hover:not(.disabled){background:#fff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.patient-dashboard-action-btn.disabled{opacity:.5;cursor:not-allowed}.patient-dashboard-action-icon{font-size:2rem}.patient-dashboard-action-text{text-align:center}.patient-dashboard-action-text h4{color:#1a202c;margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.patient-dashboard-action-text p{color:#718096;margin:0;font-size:.8125rem}.patient-dashboard-appointments-list{flex-direction:column;gap:1rem;display:flex}.patient-dashboard-appointment-item{background:#f7fafc;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.patient-dashboard-appointment-date{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.patient-dashboard-appointment-date .day{font-size:1.25rem;font-weight:700;line-height:1}.patient-dashboard-appointment-date .month{text-transform:uppercase;font-size:.6875rem}.patient-dashboard-appointment-info{flex:1}.patient-dashboard-appointment-info h4{color:#1a202c;margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.patient-dashboard-appointment-info p{color:#718096;margin:0;font-size:.8125rem}.patient-dashboard-appointment-status{border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.patient-dashboard-appointment-status.reserved{color:#92400e;background:#fef3c7}.patient-dashboard-appointment-status.attended{color:#065f46;background:#d1fae5}.patient-dashboard-empty-state{text-align:center;color:#718096;padding:2rem}.patient-dashboard-empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.patient-dashboard-empty-state p{margin:0;font-size:.9375rem}.patient-dashboard-profile-info{flex-direction:column;gap:1rem;display:flex}.patient-dashboard-profile-row{border-bottom:1px solid #e2e8f0;align-items:center;padding:.75rem 0;display:flex}.patient-dashboard-profile-row:last-child{border-bottom:none}.patient-dashboard-profile-icon{color:#718096;width:32px;font-size:1rem}.patient-dashboard-profile-label{color:#718096;width:80px;font-size:.8125rem}.patient-dashboard-profile-value{color:#1a202c;flex:1;font-size:.9375rem;font-weight:500}.patient-dashboard-change-password-btn{color:#667eea;cursor:pointer;text-align:center;background:0 0;border:2px solid #667eea;border-radius:8px;width:100%;margin-top:1rem;padding:.875rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.patient-dashboard-change-password-btn:hover{color:#fff;background:#667eea}.patient-dashboard-overlay{display:none}@media (width<=1200px){.patient-dashboard-stats{grid-template-columns:repeat(2,1fr)}.patient-dashboard-content{grid-template-columns:1fr}}@media (width<=768px){.patient-dashboard-sidebar{transform:translate(-100%)}.patient-dashboard-sidebar.open{transform:translate(0)}.patient-dashboard-main{margin-left:0;padding:70px 1rem 1rem}.patient-dashboard-mobile-header{color:#fff;z-index:99;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000026}.patient-dashboard-mobile-menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem}.patient-dashboard-mobile-logo{font-size:1.25rem;font-weight:700}.patient-dashboard-mobile-user{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.patient-dashboard-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.patient-dashboard-overlay.visible{display:block}.patient-dashboard-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.patient-dashboard-stat-card{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1rem}.patient-dashboard-stat-icon{width:40px;height:40px;font-size:1.25rem}.patient-dashboard-stat-content .value{font-size:1.25rem}.patient-dashboard-welcome h1{font-size:1.375rem}.patient-dashboard-actions{grid-template-columns:1fr}.patient-dashboard-action-btn{flex-direction:row;padding:1rem}.patient-dashboard-action-text{text-align:left}}@media (width<=480px){.patient-dashboard-stats{grid-template-columns:1fr}}.patient-dashboard-subscription-card{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:2px solid #667eea}.patient-dashboard-subscription-active{flex-direction:column;gap:1rem;display:flex}.patient-dashboard-subscription-plan{border-bottom:1px solid #667eea33;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.patient-dashboard-subscription-plan-name{color:#4c1d95;font-size:1.125rem;font-weight:600}.patient-dashboard-subscription-plan-price{color:#6b7280;font-size:.875rem}.patient-dashboard-subscription-benefits{flex-direction:column;gap:.5rem;display:flex}.patient-dashboard-subscription-benefit{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.patient-dashboard-subscription-benefit .benefit-icon{font-size:1rem}.patient-dashboard-subscription-promo{text-align:center;padding:.5rem 0}.patient-dashboard-subscription-promo-text{color:#6b7280;margin:0 0 1rem;font-size:.875rem}.patient-dashboard-subscription-promo-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:transform .2s,box-shadow .2s}.patient-dashboard-subscription-promo-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.patient-dashboard-nav-item-badge.active{color:#fff;background:#10b981}.patient-change-password-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.patient-change-password-container{background:#fff;border-radius:16px;width:100%;max-width:480px;padding:2.5rem;box-shadow:0 20px 60px #0003}.patient-change-password-back{color:#667eea;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:0;font-size:.875rem;display:flex}.patient-change-password-back:hover{text-decoration:underline}.patient-change-password-title{color:#1a202c;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.patient-change-password-subtitle{color:#718096;margin:0 0 1.5rem;font-size:.875rem}.patient-change-password-form{flex-direction:column;gap:1.25rem;display:flex}.patient-change-password-form-group{flex-direction:column;gap:.5rem;display:flex}.patient-change-password-label{color:#4a5568;font-size:.875rem;font-weight:500}.patient-change-password-input{border:2px solid #e2e8f0;border-radius:8px;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.patient-change-password-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.patient-change-password-requirements{background-color:#f7fafc;border-radius:8px;padding:1rem}.patient-change-password-requirements-title{color:#4a5568;margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.patient-change-password-requirements-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.patient-change-password-requirements-list li{color:#a0aec0;font-size:.8125rem;transition:color .2s}.patient-change-password-requirements-list li.valid{color:#38a169}.patient-change-password-error{color:#c53030;text-align:center;background-color:#fed7d7;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.patient-change-password-success{color:#276749;text-align:center;background-color:#c6f6d5;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.patient-change-password-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.patient-change-password-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.patient-change-password-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=480px){.patient-change-password-container{padding:1.5rem}.patient-change-password-title{font-size:1.25rem}}.login-page{background:var(--color-bg-secondary);min-height:100vh;display:flex}.login-brand-panel{background:linear-gradient(145deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-light) 100%);padding:var(--spacing-3xl) var(--spacing-2xl);flex-direction:column;flex:0 0 52%;justify-content:space-between;display:none;position:relative;overflow:hidden}@media (width>=900px){.login-brand-panel{display:flex}}.login-brand-blobs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-blob{filter:blur(70px);border-radius:50%;animation:10s ease-in-out infinite login-blob-float;position:absolute}.login-blob-1{background:#ffffff2e;width:450px;height:450px;animation-delay:0s;top:-130px;right:-90px}.login-blob-2{background:#be185d40;width:320px;height:320px;animation-duration:13s;animation-delay:-4s;bottom:5%;left:-80px}.login-blob-3{background:#ffffff38;width:220px;height:220px;animation-duration:15s;animation-delay:-7s;top:42%;right:12%}@keyframes login-blob-float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(24px,-24px)scale(1.06)}66%{transform:translate(-18px,18px)scale(.96)}}.login-brand-content{z-index:1;flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.login-brand-logo{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);animation:.6s both login-fade-in-up;display:flex}.login-brand-icon{color:#ffffffeb;flex-shrink:0;animation:4s ease-in-out infinite login-sparkle}@keyframes login-sparkle{0%,to{opacity:.9;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(12deg)}}.login-brand-name{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);color:#fff;letter-spacing:-.5px}.login-brand-tagline{font-size:var(--font-size-xl);color:#ffffffd1;font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-2xl) 0;max-width:380px;animation:.6s .1s both login-fade-in-up}.login-brand-features{gap:var(--spacing-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.login-brand-features li{align-items:center;gap:var(--spacing-md);color:#ffffffe0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);animation:.5s both login-slide-in-left;display:flex}.login-brand-features li:first-child{animation-delay:.15s}.login-brand-features li:nth-child(2){animation-delay:.25s}.login-brand-features li:nth-child(3){animation-delay:.35s}.login-brand-features li:nth-child(4){animation-delay:.45s}@keyframes login-slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.login-feature-dot{background:#ffffffe0;border-radius:50%;width:7px;min-width:7px;height:7px;box-shadow:0 0 8px #ffffff8c}.login-brand-footer{z-index:1;color:#ffffff73;font-size:var(--font-size-xs);justify-content:space-between;display:flex;position:relative}.login-form-panel{padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-primary);flex:1;justify-content:center;align-items:center;animation:.5s both login-fade-in-up;display:flex}@keyframes login-fade-in-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.login-form-container{width:100%;max-width:400px}.login-mobile-logo{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);display:none}@media (width<=899px){.login-mobile-logo{display:flex}}.login-form-header{margin-bottom:var(--spacing-2xl)}.login-welcome{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;letter-spacing:-.4px;line-height:var(--line-height-tight)}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-tertiary);margin:0}.login-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.login-form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.login-form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{left:var(--spacing-md);color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-base);z-index:1;position:absolute}.login-input-wrapper:focus-within .login-input-icon{color:var(--color-primary)}.login-form-input{width:100%;height:var(--control-height-lg);padding:0 var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-lg);transition:border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);font-family:var(--font-family-base);box-sizing:border-box}.login-input-with-icon{padding-left:calc(var(--spacing-md) + 16px + var(--spacing-sm))}.login-input-with-toggle{padding-right:calc(var(--spacing-md) + 16px + var(--spacing-sm))}.login-form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10);background:var(--color-bg-primary);outline:none}.login-form-input::placeholder{color:var(--color-text-tertiary)}.login-password-toggle{right:var(--spacing-sm);cursor:pointer;color:var(--color-text-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-md);transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;line-height:0;display:flex;position:absolute}.login-password-toggle:hover{color:var(--color-primary)}.login-error{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-error-alpha-10);border:1.5px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:.4s login-shake;display:flex}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-error-icon{font-size:var(--font-size-base);flex-shrink:0}.login-submit-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;height:var(--control-height-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);letter-spacing:.2px;border:none;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0f766e61}.login-submit-btn:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff24 0%,#0000 55%);position:absolute;inset:0}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #0f766e70}.login-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 12px #0f766e47}.login-submit-btn:disabled{opacity:.82;cursor:not-allowed;transform:none}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;min-width:16px;height:16px;animation:.65s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-form-version{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.login-loading{background:var(--color-bg-secondary);min-height:100vh;color:var(--color-text-primary);font-size:var(--font-size-lg);justify-content:center;align-items:center;gap:var(--spacing-md);display:flex}.login-loading:before{content:"";border:2px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.75s linear infinite login-spin}@media (width<=899px){.login-form-panel{background:var(--color-bg-primary);min-height:100vh;padding:var(--spacing-xl) var(--spacing-lg);padding-top:var(--spacing-3xl);align-items:flex-start}.login-welcome{font-size:var(--font-size-2xl)}}[data-theme=dark] .login-brand-panel{background:linear-gradient(145deg, #071615 0%, var(--color-primary-dark) 60%, #0d3d38 100%)}[data-theme=dark] .login-blob-2{background:#c084fc38}[data-theme=dark] .login-form-panel{background:var(--color-bg-primary)}[data-theme=dark] .login-submit-btn{box-shadow:0 4px 16px #2dd4bf47}[data-theme=dark] .login-submit-btn:hover:not(:disabled){box-shadow:0 8px 28px #2dd4bf57}.remembered-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.remembered-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);background:var(--color-bg-secondary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);text-align:center;font-family:var(--font-family-base);flex-direction:column;display:flex;position:relative}.remembered-card:hover{border-color:var(--color-primary);box-shadow:0 4px 20px var(--color-primary-alpha-10);transform:translateY(-2px)}.remembered-card:active{transform:translateY(0)}.remembered-card-remove{top:var(--spacing-xs);right:var(--spacing-xs);border-radius:var(--radius-full);cursor:pointer;width:20px;height:20px;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-base), background var(--transition-base), color var(--transition-base);font-family:var(--font-family-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.remembered-card:hover .remembered-card-remove{opacity:1}.remembered-card-remove:hover{background:var(--color-error-alpha-10);color:var(--color-error)}.remembered-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;width:52px;height:52px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:.5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.remembered-avatar-img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.remembered-info{flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;display:flex}.remembered-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.remembered-email{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.remembered-role{margin-top:var(--spacing-xs);font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);letter-spacing:.3px;text-transform:uppercase;padding:2px 8px}.remembered-role-admin{color:#dc2626;background:#ef44441f}.remembered-role-medical{color:#2563eb;background:#3b82f61f}.remembered-role-assistant{color:#7c3aed;background:#a855f71f}.remembered-role-sales{color:#16a34a;background:#22c55e1f}.remembered-role-default{background:var(--color-border-primary);color:var(--color-text-secondary)}[data-theme=dark] .remembered-role-admin{color:#f87171;background:#ef444433}[data-theme=dark] .remembered-role-medical{color:#60a5fa;background:#3b82f633}[data-theme=dark] .remembered-role-assistant{color:#c084fc;background:#a855f733}[data-theme=dark] .remembered-role-sales{color:#4ade80;background:#22c55e33}.remembered-other-account{border:1.5px dashed var(--color-border-primary);border-radius:var(--radius-lg);width:100%;padding:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-base), color var(--transition-base);font-family:var(--font-family-base);text-align:center;background:0 0;display:block}.remembered-other-account:hover{border-color:var(--color-primary);color:var(--color-primary)}.login-back-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;margin-bottom:var(--spacing-xl);font-family:var(--font-family-base);transition:color var(--transition-base);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.login-back-btn:hover{color:var(--color-primary)}.quick-user-hero{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);display:flex}.quick-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;width:48px;height:48px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quick-user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 2px}.quick-user-email{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.settings-page{padding:var(--spacing-2xl);max-width:var(--width-5xl);margin:0 auto}.settings-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-secondary)}.settings-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.settings-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.settings-content{gap:var(--spacing-2xl);flex-direction:column;display:flex}.settings-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-secondary)}.settings-section-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary)}.settings-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.settings-section-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.settings-group{margin-bottom:var(--spacing-xl)}.settings-group:last-child{margin-bottom:0}.settings-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);display:block}.settings-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-relaxed)}.settings-hint-accent{color:var(--color-primary);font-weight:var(--font-weight-medium)}.theme-options{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.theme-option{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-align:left;flex-direction:column;display:flex;position:relative}.theme-option:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-option-active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-20);background:var(--color-primary-alpha-10)}.theme-option-preview{border-radius:var(--radius-md);border:1px solid var(--color-border-primary);width:100%;height:120px;box-shadow:var(--shadow-sm);overflow:hidden}.theme-option-preview-light{background:#fff}.theme-option-preview-dark{background:#1f2937}.theme-option-preview-auto{box-shadow:none;background:0 0;border:none}.theme-preview-header{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);height:20px}.theme-preview-sidebar{background:#6366f11a;width:40px;height:calc(100% - 20px);position:absolute;top:20px;left:0}.theme-preview-content{flex-direction:column;gap:6px;margin-top:8px;margin-left:48px;padding:8px;display:flex}.theme-preview-card{border-radius:3px;height:16px}.theme-option-preview-light .theme-preview-card{background:#f3f4f6;border:1px solid #e5e7eb}.theme-option-preview-dark .theme-preview-card{background:#374151;border:1px solid #4b5563}.theme-preview-split{height:100%;display:flex}.theme-preview-half{flex:1;position:relative;overflow:hidden}.theme-preview-half-light{background:#fff}.theme-preview-half-dark{background:#1f2937}.theme-preview-half .theme-preview-header{height:24px}.theme-preview-half .theme-preview-content{margin:0;padding:8px}.theme-preview-half-light .theme-preview-card{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;height:20px;margin-bottom:6px}.theme-preview-half-dark .theme-preview-card{background:#374151;border:1px solid #4b5563;border-radius:3px;height:20px;margin-bottom:6px}.theme-option-info{align-items:center;gap:var(--spacing-md);display:flex}.theme-option-icon{font-size:var(--font-size-2xl);line-height:1}.theme-option-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.theme-option-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.theme-option-check{top:var(--spacing-md);right:var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);width:24px;height:24px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex;position:absolute}.settings-info-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.settings-info-item{gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);flex-direction:column;display:flex}.settings-info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.settings-info-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@media (width<=768px){.settings-page{padding:var(--spacing-lg)}.theme-options{grid-template-columns:1fr}.settings-title{font-size:var(--font-size-2xl)}.settings-section{padding:var(--spacing-lg)}}@media (width<=480px){.settings-page{padding:var(--spacing-md)}.settings-header{margin-bottom:var(--spacing-lg)}.settings-section,.theme-option{padding:var(--spacing-md)}.settings-info-grid{grid-template-columns:1fr}}:root{--color-primary:#0f766e;--color-primary-dark:#115e59;--color-primary-light:#14b8a6;--color-primary-container:#ccfbf1;--color-on-primary:#fff;--color-on-primary-container:#042f2e;--color-primary-alpha-10:#0f766e1a;--color-primary-alpha-20:#0f766e33;--color-accent:#be185d;--color-accent-dark:#9d174d;--color-accent-light:#ec4899;--color-accent-container:#fce7f3;--color-accent-alpha-10:#be185d1a;--color-accent-alpha-20:#be185d33;--color-success:#059669;--color-success-dark:#047857;--color-success-light:#34d399;--color-success-alpha-10:#0596691a;--color-warning:#d97706;--color-warning-dark:#b45309;--color-warning-light:#fbbf24;--color-warning-alpha-10:#d977061a;--color-error:#dc2626;--color-error-dark:#b91c1c;--color-error-light:#f87171;--color-error-alpha-10:#dc26261a;--color-info:#0284c7;--color-info-dark:#0369a1;--color-info-light:#38bdf8;--color-info-alpha-10:#0284c71a;--color-bg-primary:#fff;--color-bg-secondary:#f0fdfa;--color-bg-tertiary:#ccfbf1;--color-bg-hover:#f0fdfa;--color-bg-active:#99f6e4;--color-bg-disabled:#f9fafb;--color-bg-overlay:#042f2e8c;--color-text-primary:#134e4a;--color-text-secondary:#1f6b64;--color-text-tertiary:#5eada5;--color-text-disabled:#9ca3af;--color-text-inverse:#fff;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-primary-dark);--color-border-primary:#99f6e4;--color-border-secondary:#ccfbf1;--color-border-focus:var(--color-primary);--color-border-error:var(--color-error);--color-border-success:var(--color-success);--shadow-xs:0 1px 2px 0 #0f766e0f;--shadow-sm:0 1px 3px 0 #0f766e1f, 0 1px 2px -1px #0f766e14;--shadow-md:0 4px 6px -1px #0f766e1f, 0 2px 4px -2px #0f766e14;--shadow-lg:0 10px 15px -3px #0f766e1f, 0 4px 6px -4px #0f766e14;--shadow-xl:0 20px 25px -5px #0f766e1f, 0 8px 10px -6px #0f766e14;--shadow-2xl:0 25px 50px -12px #0f766e40;--shadow-inner:inset 0 2px 4px 0 #0f766e0f;--control-height-sm:32px;--control-height:40px;--control-height-lg:48px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--font-family-base:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono:"SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;--transition-slow:.3s ease-in-out;--transition-slower:.5s ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--width-xs:320px;--width-sm:384px;--width-md:448px;--width-lg:512px;--width-xl:576px;--width-2xl:672px;--width-3xl:768px;--width-4xl:896px;--width-5xl:1024px;--width-6xl:1152px;--width-7xl:1280px;--width-full:100%;--color-status-scheduled:#0284c7;--color-status-scheduled-bg:#0284c71a;--color-status-confirmed:#7c3aed;--color-status-confirmed-bg:#7c3aed1a;--color-status-in-progress:#d97706;--color-status-in-progress-bg:#d977061a;--color-status-completed:#059669;--color-status-completed-bg:#0596691a;--color-status-cancelled:#dc2626;--color-status-cancelled-bg:#dc26261a;--color-status-no-show:#6b7280;--color-status-no-show-bg:#6b72801a;--sidebar-width:250px;--sidebar-width-collapsed:64px;--header-height:60px;--input-height:40px;--button-height:40px}[data-theme=dark]{--color-primary:#2dd4bf;--color-primary-dark:#14b8a6;--color-primary-light:#5eead4;--color-primary-container:#0d3d38;--color-on-primary:#042f2e;--color-on-primary-container:#99f6e4;--color-primary-alpha-10:#2dd4bf26;--color-primary-alpha-20:#2dd4bf40;--color-accent:#c084fc;--color-accent-dark:#a855f7;--color-accent-light:#e879f9;--color-accent-container:#2e1065;--color-accent-alpha-10:#c084fc26;--color-accent-alpha-20:#c084fc40;--color-success:#34d399;--color-success-dark:#10b981;--color-success-light:#6ee7b7;--color-success-alpha-10:#34d39926;--color-warning:#fcd34d;--color-warning-dark:#fbbf24;--color-warning-light:#fde68a;--color-warning-alpha-10:#fcd34d26;--color-error:#f87171;--color-error-dark:#ef4444;--color-error-light:#fca5a5;--color-error-alpha-10:#f8717126;--color-info:#38bdf8;--color-info-dark:#0ea5e9;--color-info-light:#7dd3fc;--color-info-alpha-10:#38bdf826;--color-bg-primary:#0d1e1d;--color-bg-secondary:#071615;--color-bg-tertiary:#152a28;--color-bg-hover:#1a3532;--color-bg-active:#214d49;--color-bg-disabled:#0d1e1d;--color-bg-overlay:#000000bf;--color-text-primary:#f0fdfa;--color-text-secondary:#99f6e4;--color-text-tertiary:#5eead4;--color-text-disabled:#2d6b65;--color-text-inverse:#042f2e;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-primary-light);--color-border-primary:#214d49;--color-border-secondary:#152a28;--color-border-focus:var(--color-primary);--color-border-error:var(--color-error);--color-border-success:var(--color-success);--shadow-xs:0 1px 2px 0 #0006;--shadow-sm:0 1px 3px 0 #00000080, 0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #000000a6, 0 8px 10px -6px #00000080;--shadow-2xl:0 25px 50px -12px #000000bf;--shadow-inner:inset 0 2px 4px 0 #0006;--color-status-scheduled:#38bdf8;--color-status-scheduled-bg:#38bdf82e;--color-status-confirmed:#a78bfa;--color-status-confirmed-bg:#a78bfa2e;--color-status-in-progress:#fcd34d;--color-status-in-progress-bg:#fcd34d2e;--color-status-completed:#34d399;--color-status-completed-bg:#34d3992e;--color-status-cancelled:#f87171;--color-status-cancelled-bg:#f871712e;--color-status-no-show:#9ca3af;--color-status-no-show-bg:#9ca3af2e}html.loading *{transition:none!important}html:not(.loading) *{transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base)}:where([style*=transition]){transition:initial!important}input,textarea,select{transition:border-color var(--transition-base), box-shadow var(--transition-base)}body{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-primary) var(--color-bg-secondary)}.page-header{margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.page-header h1{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0}.header-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:var(--spacing-xs);font-family:var(--font-family-base);box-shadow:var(--shadow-sm);border:none;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-focus)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{margin-bottom:var(--spacing-xs);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:block}.form-label.required:after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-alpha-10);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-error{margin-top:var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-sm)}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-border-error)}.form-hint{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filters{background-color:var(--color-bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm)}.filters-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.filters-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.table-container{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary);overflow:hidden}.table thead{background-color:var(--color-bg-secondary)}.table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);border-bottom:2px solid var(--color-border-primary)}.table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm)}.table tbody tr:last-child td{border-bottom:none}.table-actions{gap:var(--spacing-xs);display:flex}.table-empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-base)}.pagination{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);display:flex}.pagination-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);min-width:36px}.pagination-button:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-primary)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-button.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:0 var(--spacing-md)}.modal-overlay{background-color:var(--color-bg-overlay);z-index:var(--z-modal-backdrop);padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);border:1px solid var(--color-border-secondary);width:100%;max-width:500px;max-height:90vh;z-index:var(--z-modal);position:relative;overflow-y:auto}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);width:32px;height:32px;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.modal-body p{margin:var(--spacing-md) 0;line-height:var(--line-height-relaxed)}.modal-warning{background-color:var(--color-warning-alpha-10);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;text-align:center}.modal-warning strong{color:var(--color-warning-dark);font-size:var(--font-size-lg)}.modal-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-border-secondary);justify-content:flex-end;gap:var(--spacing-sm);display:flex}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;align-items:center;display:inline-flex}.badge-success{background-color:var(--color-success-alpha-10);color:var(--color-success-dark)}.badge-warning{background-color:var(--color-warning-alpha-10);color:var(--color-warning-dark)}.badge-error{background-color:var(--color-error-alpha-10);color:var(--color-error-dark)}.badge-info{background-color:var(--color-info-alpha-10);color:var(--color-info-dark)}.badge-scheduled{background-color:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.badge-confirmed{background-color:var(--color-status-confirmed-bg);color:var(--color-status-confirmed)}.badge-in-progress{background-color:var(--color-status-in-progress-bg);color:var(--color-status-in-progress)}.badge-completed{background-color:var(--color-status-completed-bg);color:var(--color-status-completed)}.badge-cancelled{background-color:var(--color-status-cancelled-bg);color:var(--color-status-cancelled)}.badge-no-show{background-color:var(--color-status-no-show-bg);color:var(--color-status-no-show)}.loading-container{padding:var(--spacing-3xl);justify-content:center;align-items:center;display:flex}.loading-spinner{border:4px solid var(--color-border-secondary);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:40px;height:40px;animation:.8s linear infinite spin}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.card-body{color:var(--color-text-primary)}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-secondary);justify-content:flex-end;gap:var(--spacing-sm);display:flex}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);align-items:flex-start;gap:var(--spacing-md);border-left:4px solid;display:flex}.alert-success{background-color:var(--color-success-alpha-10);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-alpha-10);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-alpha-10);border-color:var(--color-error);color:var(--color-error-dark)}.alert-info{background-color:var(--color-info-alpha-10);border-color:var(--color-info);color:var(--color-info-dark)}.text-secondary{color:var(--color-text-secondary)}.checkbox-label{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);display:flex}.checkbox-input{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary)}.row-deleted{background-color:var(--color-warning-alpha-10);opacity:.7}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start;width:100%}.filters-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.modal-content{max-width:100%;margin:var(--spacing-md)}.pagination{flex-wrap:wrap}}@media (width<=480px){.btn{width:100%}.filters-actions{flex-direction:column}.filters-actions .btn{width:100%}.modal-header,.modal-body,.modal-footer,.card{padding:var(--spacing-lg)}}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start}.form-grid,.detail-grid{grid-template-columns:1fr}.filters-row{flex-direction:column;align-items:stretch}.search-input,.filter-select{width:100%}.table-container{overflow-x:auto}}@keyframes checkmarkPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (width<=768px){.progress-indicator{gap:10px}.progress-step{font-size:12px}.progress-step-icon{width:20px;height:20px;font-size:10px}.form-section-card{margin-bottom:20px;padding:15px}}@media (width<=768px){.calendar-day{min-height:80px}.calendar-appointment{font-size:10px}.calendar-day-name{padding:8px 4px;font-size:11px}}@media (width<=768px){.patient-selector-controls{flex-direction:column}.patient-search-container{width:100%}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@media (width<=768px){.calendar-toolbar{flex-direction:column;align-items:stretch;gap:10px}.calendar-nav-controls{flex-wrap:wrap;justify-content:center}.view-switcher{width:100%}.view-switcher .view-btn{flex:1;justify-content:center}.calendar-title-v2{font-size:18px}.week-header,.week-grid,.day-grid,.day-header{grid-template-columns:60px repeat(7,120px)}.time-gutter{width:60px}.appointment-block .apt-service{display:none}}@media (width<=768px){.stats-grid{grid-template-columns:1fr}}@media (width<=768px){.timeline:before{left:15px}.timeline-item{padding-left:50px}.timeline-marker{width:20px;height:20px;font-size:12px;left:6px}.timeline-header{flex-direction:column}.timeline-header .status-badge{margin-top:10px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.timeline-photo{height:100px}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@media (width>=640px){.appointment-detail-modern{padding:24px}.detail-title{font-size:24px}.info-grid,.action-buttons{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.appointment-detail-modern{padding:32px}.detail-title{font-size:28px}.glass-card{padding:32px}.info-grid,.action-buttons{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.file-upload-button{min-height:160px;padding:24px}.upload-text{font-size:14px}.preview-image{max-height:200px}}@media (width<=640px){.datetime-picker-container{grid-template-columns:1fr}.datetime-calendar-dropdown{left:-8px;right:-8px}}@media (width<=768px){.patient-detail-modern{padding:15px}.patient-name-header{font-size:24px}.tabs-navigation{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{min-width:100px;padding:14px 12px}.tab-icon{font-size:20px}.tab-label{font-size:11px}.tab-content-wrapper{padding:20px}.info-grid-modern{grid-template-columns:1fr}.info-section-icon{font-size:24px}.info-section-header h3{font-size:18px}.empty-state-icon{font-size:60px}.empty-state h4{font-size:20px}.empty-state p{font-size:14px}.treatment-card{padding:20px}.treatment-name{font-size:18px}.treatment-sessions-count{font-size:24px}.treatment-sessions-grid{gap:8px}.session-badge{padding:8px 12px;font-size:12px}}@media (width<=1024px){.patient-dashboard{grid-template-columns:1fr}.patient-hero-content{padding:24px 30px}.patient-hero-name{font-size:26px}.patient-avatar{width:80px;height:80px;font-size:30px}}@media (width<=768px){.patient-hero{margin:-20px -15px 20px}.patient-hero-content{padding:20px}.patient-hero-main{flex-direction:column;align-items:flex-start;gap:16px}.patient-hero-name{font-size:24px}.patient-avatar{width:70px;height:70px;font-size:26px}.patient-hero-meta{font-size:13px}.patient-hero-actions{width:100%}.patient-hero-actions .btn{flex:1;padding:10px 16px;font-size:13px}.patient-dashboard{gap:16px}.activity-stats{grid-template-columns:repeat(2,1fr)}.card-body{padding:18px}.card-header{padding:16px 18px}.card-title{font-size:16px}.action-icon{width:45px;height:45px;font-size:24px}.action-title{font-size:14px}.action-description{font-size:12px}}@media (width>=1200px){.patient-dashboard{grid-template-columns:repeat(3,1fr)}.info-card,.activity-card,.treatments-card,.completed-card,.payment-orders-card,.actions-card{grid-column:span 1}}@media (width<=1199px){.patient-dashboard{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.patient-dashboard{grid-template-columns:1fr}.pending-amount-banner .amount-value{font-size:28px}.completed-icon{width:32px;height:32px;font-size:16px}.payment-order-amount .amount-value{font-size:16px}}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-secondary);color:var(--color-text-primary);line-height:var(--line-height-normal)}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.page-container{max-width:1400px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.page-header h1{color:var(--color-text-primary);margin:0;font-size:28px}.header-actions{gap:10px;display:flex}.btn{height:var(--control-height);padding:0 var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-bg-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-text-tertiary);color:var(--color-bg-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-text-secondary)}.btn-danger{background-color:var(--color-error);color:var(--color-bg-primary)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark)}.btn-success{background-color:var(--color-success);color:var(--color-bg-primary)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-sm{height:var(--control-height-sm);padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}.btn-md{height:var(--control-height);padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{height:var(--control-height-lg);padding:0 var(--spacing-lg);font-size:var(--font-size-base)}.input-group{margin-bottom:20px}.input-label{color:var(--color-text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input{width:100%;height:var(--control-height);padding:0 var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);transition:border-color var(--transition-base);box-sizing:border-box;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.input:focus{border-color:var(--color-primary);outline:none}.input-error{border-color:var(--color-error)}.error-message{color:var(--color-error);margin-top:5px;font-size:12px;display:block}.filters-container{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.filters-row{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.filters-row .input-group{margin-bottom:0}.search-input{flex:1;min-width:250px}.filter-select{min-width:150px}.table-container{background-color:var(--color-bg-primary);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table{border-collapse:collapse;width:100%}.table thead{background-color:var(--color-bg-tertiary);color:var(--color-bg-primary)}.table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:14px 16px;font-size:13px;font-weight:600}.table td{border-bottom:1px solid var(--color-bg-tertiary);padding:14px 16px;font-size:14px}.table tbody tr{transition:background-color .2s}.table tbody tr:hover{background-color:var(--color-bg-secondary)}.table-row-clickable{cursor:pointer}.table-loading,.table-empty{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:25px;padding:20px 0;display:flex}.pagination-btn,.pagination-page{border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled),.pagination-page:hover{background-color:var(--color-bg-tertiary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page.active{background-color:var(--color-primary);color:var(--color-bg-primary);border-color:var(--color-primary)}.pagination-ellipsis{color:var(--color-text-secondary);padding:8px 4px}.loading-container{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner{border:4px solid var(--color-bg-tertiary);border-top:4px solid var(--color-primary);border-radius:50%;width:40px;height:40px;margin-bottom:15px;animation:1s linear infinite spin}.modal-overlay{z-index:var(--z-modal);padding:var(--spacing-md);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-height:90vh;overflow-y:auto}.modal-content.max-w-md{max-width:500px}.modal-content.max-w-2xl{max-width:700px}.modal-content.max-w-4xl{max-width:1000px}.modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.modal-close{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-lg);width:32px;height:32px;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:24px;display:flex}.modal-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);justify-content:flex-end;display:flex}.form-container{background-color:var(--color-bg-primary);border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.form-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-bottom:30px;display:grid}.form-column h3{color:var(--color-text-primary);border-bottom:2px solid var(--color-bg-tertiary);margin-bottom:20px;padding-bottom:10px;font-size:18px}.form-actions{border-top:1px solid var(--color-bg-tertiary);justify-content:flex-end;gap:15px;padding-top:20px;display:flex}.detail-container{background-color:var(--color-bg-primary);border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.detail-section{margin-bottom:35px}.detail-section:last-child{margin-bottom:0}.detail-section h2{color:var(--color-text-primary);border-bottom:2px solid var(--color-bg-tertiary);margin-bottom:20px;padding-bottom:12px;font-size:20px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.detail-item{flex-direction:column;gap:5px;display:flex}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.detail-item span{color:var(--color-text-primary);font-size:15px}.detail-actions{border-top:1px solid var(--color-bg-tertiary);gap:15px;margin-top:30px;padding-top:25px;display:flex}.error-banner{background-color:var(--color-error-alpha-10);color:var(--color-error-dark);border-left:4px solid var(--color-error);border-radius:6px;margin-bottom:20px;padding:15px 20px}.success-banner{background-color:var(--color-success-alpha-10);color:var(--color-success-dark);border-left:4px solid var(--color-success);border-radius:6px;margin-bottom:20px;padding:15px 20px}.info-banner{background-color:var(--color-bg-secondary);color:var(--color-primary-dark);border-left:4px solid var(--color-primary);border-radius:6px;margin-bottom:20px;padding:15px 20px}.results-info{color:var(--color-text-secondary);margin-bottom:15px;font-size:14px}.text-muted{color:var(--color-text-secondary);font-family:monospace;font-size:12px}.text-danger{color:var(--color-error);margin-top:10px;font-size:14px}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start}.form-grid,.detail-grid{grid-template-columns:1fr}.filters-row{flex-direction:column;align-items:stretch}.search-input,.filter-select{width:100%}.table-container{overflow-x:auto}}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-reserved{background-color:var(--color-bg-secondary);color:var(--color-primary-dark)}.status-in-progress{background-color:var(--color-bg-primary)3cd;color:var(--color-warning-dark)}.status-attended{background-color:var(--color-success-alpha-10);color:var(--color-success-dark)}.status-cancelled{background-color:var(--color-error-alpha-10);color:var(--color-error-dark)}.status-no-show{background-color:var(--color-warning-alpha-10);color:var(--color-warning-dark)}.filter-input{min-width:150px}.info-box{background-color:var(--color-bg-secondary);border-left:4px solid var(--color-primary);border-radius:4px;margin-top:20px;padding:15px}.form-section-card{background-color:var(--color-bg-secondary);border:2px solid var(--color-bg-tertiary);border-radius:8px;margin-bottom:30px;padding:20px;transition:all .2s}.form-section-card:hover{border-color:var(--color-border-secondary);box-shadow:0 2px 8px #0000000d}.form-section-card.highlighted{background-color:var(--color-info-alpha-10);border-color:var(--color-bg-secondary)}.form-section-card.highlighted:hover{border-color:var(--color-bg-secondary)}.progress-indicator{border-bottom:2px solid var(--color-bg-tertiary);flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:30px;padding-bottom:20px;display:flex}.progress-step{align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.progress-step.completed{color:var(--color-success)}.progress-step.pending{color:var(--color-text-tertiary)}.progress-step-icon{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;transition:all .3s;display:flex}.progress-step.completed .progress-step-icon{background-color:var(--color-success);color:var(--color-bg-primary);animation:.3s checkmarkPop}.progress-step.pending .progress-step-icon{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.section-header-with-icon{align-items:center;gap:8px;margin-bottom:15px;display:flex}.section-header-with-icon h4{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.info-message{border-radius:6px;gap:10px;margin-top:12px;padding:12px;font-size:13px;transition:all .2s;display:flex}.info-message svg{flex-shrink:0;margin-top:2px}.info-message.info{background-color:var(--color-bg-secondary);border:1px solid var(--color-info-alpha-10);color:var(--color-info-dark)}.info-message.warning{background-color:var(--color-bg-primary)80;border:1px solid var(--color-warning-alpha-10);color:var(--color-warning-dark)}.info-message.error{background-color:var(--color-warning-alpha-10);border:1px solid var(--color-warning-alpha-10);color:var(--color-warning-dark)}.service-card{background-color:var(--color-bg-primary);border:2px solid var(--color-bg-secondary);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.service-card:hover{border-color:var(--color-bg-secondary);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.service-card-content{flex:1}.service-card-title{color:var(--color-text-primary);margin-bottom:4px;font-weight:600}.service-card-meta{color:var(--color-primary);font-size:12px}@media (width<=768px){.progress-indicator{gap:10px}.progress-step{font-size:12px}.progress-step-icon{width:20px;height:20px;font-size:10px}.form-section-card{margin-bottom:20px;padding:15px}}.calendar-container{background:var(--color-bg-primary);border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-nav{align-items:center;gap:20px;display:flex}.calendar-nav-btn{border:1px solid var(--color-border-primary);cursor:pointer;background:0 0;border-radius:4px;padding:8px 12px;font-size:18px;transition:all .2s}.calendar-nav-btn:hover{background-color:var(--color-bg-tertiary)}.calendar-title{color:var(--color-text-primary);text-align:center;min-width:200px;margin:0;font-size:24px;font-weight:600}.calendar-today-btn{background-color:var(--color-primary);color:var(--color-bg-primary);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.calendar-today-btn:hover{background-color:var(--color-primary-dark)}.calendar-grid{background-color:var(--color-bg-tertiary);border:1px solid var(--color-bg-tertiary);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day-name{background-color:var(--color-bg-tertiary);color:var(--color-bg-primary);text-align:center;text-transform:uppercase;padding:12px;font-size:13px;font-weight:600}.calendar-day{background-color:var(--color-bg-primary);cursor:default;min-height:120px;padding:8px;position:relative}.calendar-day.empty{background-color:var(--color-bg-secondary)}.calendar-day.today{background-color:var(--color-success-alpha-10)}.calendar-day-number{color:var(--color-text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.calendar-day.today .calendar-day-number{background-color:var(--color-primary);color:var(--color-bg-primary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.calendar-appointments{flex-direction:column;gap:2px;display:flex}.calendar-appointment{background-color:var(--color-bg-secondary);border-left:3px solid var(--color-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:2px;padding:4px 6px;font-size:11px;transition:all .2s;overflow:hidden}.calendar-appointment:hover{background-color:var(--color-bg-secondary);transform:scale(1.02)}.appointment-time{color:var(--color-text-primary);margin-right:4px;font-weight:600}.appointment-patient{color:var(--color-text-secondary)}.calendar-more{color:var(--color-text-secondary);padding:2px 6px;font-size:11px;font-weight:500}.view-toggle{background-color:var(--color-bg-tertiary);border-radius:6px;gap:0;padding:4px;display:flex}.view-toggle-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.view-toggle-btn.active{background-color:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:0 2px 4px #0000001a}.view-toggle-btn:hover:not(.active){color:var(--color-text-primary)}@media (width<=768px){.calendar-day{min-height:80px}.calendar-appointment{font-size:10px}.calendar-day-name{padding:8px 4px;font-size:11px}}.patient-selector{margin-bottom:20px}.patient-selector-controls{align-items:flex-start;gap:10px;display:flex}.patient-selected{background-color:var(--color-success-alpha-10);border:2px solid var(--color-success);border-radius:6px;flex:1;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.patient-info{flex-direction:column;gap:4px;display:flex}.patient-info strong{color:var(--color-text-primary);font-size:15px}.patient-details{color:var(--color-text-secondary);font-size:13px}.btn-clear-patient{color:var(--color-error);cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:20px;line-height:1;transition:all .2s}.btn-clear-patient:hover{color:var(--color-error-dark);transform:scale(1.2)}.patient-search-container{flex:1;position:relative}.patient-dropdown{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);z-index:9999;border-radius:6px;max-height:400px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.patient-dropdown-item{cursor:pointer;border-bottom:1px solid var(--color-bg-tertiary);padding:12px 15px;transition:background-color .2s}.patient-dropdown-item:last-child{border-bottom:none}.patient-dropdown-item:hover{background-color:var(--color-bg-secondary)}.patient-dropdown-name{color:var(--color-text-primary);margin-bottom:4px;font-weight:500}.patient-dropdown-details{color:var(--color-text-secondary);font-size:12px}.patient-dropdown-loading,.patient-dropdown-empty,.patient-dropdown-info{color:var(--color-text-secondary);text-align:center;font-style:italic}.patient-dropdown-loading:hover,.patient-dropdown-empty:hover,.patient-dropdown-info:hover{background-color:var(--color-bg-primary);cursor:default}.patient-dropdown-create{background-color:var(--color-primary);color:var(--color-bg-primary);text-align:center;border-radius:0 0 6px 6px;font-weight:600}.patient-dropdown-create:hover{background-color:var(--color-primary-dark)}.patient-dropdown-divider{background-color:var(--color-border-secondary);height:1px;margin:5px 0}@media (width<=768px){.patient-selector-controls{flex-direction:column}.patient-search-container{width:100%}}.calendar-container-v2{background:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-md);overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-primary);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.calendar-nav-controls{align-items:center;gap:15px;display:flex}.btn-today{border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);padding:8px 16px}.btn-today:hover{background:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary)}.nav-buttons{gap:5px;display:flex}.btn-nav{width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .2s;display:flex}.btn-nav:hover{background:var(--color-bg-tertiary)}.calendar-title-v2{font-size:22px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.view-switcher{background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);gap:0;padding:4px;display:inline-flex}.view-switcher .view-btn{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);border-radius:var(--radius-lg);background:0 0;border:none;padding:7px 16px}.view-switcher .view-btn.active{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.view-switcher .view-btn:hover:not(.active){background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.calendar-content{background:var(--color-bg-primary);padding:20px}.calendar-month-view{width:100%}.calendar-weekdays{background:var(--color-border-secondary);grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:1px;display:grid}.calendar-weekday{background:var(--color-bg-tertiary);text-align:center;color:var(--color-text-tertiary);text-transform:uppercase;padding:10px;font-size:12px;font-weight:600}.calendar-days-grid{background:var(--color-border-secondary);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day-cell{background:var(--color-bg-primary);cursor:pointer;min-height:120px;padding:8px;transition:background .2s;position:relative}.calendar-day-cell:hover{background:var(--color-bg-secondary)}.calendar-day-cell.empty{background:var(--color-bg-secondary);cursor:default}.calendar-day-cell.today{background:var(--color-bg-secondary)}.day-number{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:500}.calendar-day-cell.today .day-number{background:var(--color-primary);width:26px;height:26px;color:var(--color-bg-primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.day-appointments{flex-direction:column;gap:2px;display:flex}.appointment-item{border-left:3px solid var(--apt-color,var(--color-primary));border-radius:var(--radius-sm);background:var(--apt-bg,var(--color-bg-secondary));cursor:pointer;transition:background var(--transition-base);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:11px;overflow:hidden}.appointment-item:hover{background:var(--color-bg-tertiary)}.apt-time{color:var(--color-text-primary);margin-right:4px;font-weight:600}.apt-patient{color:var(--color-text-secondary)}.more-appointments{color:var(--color-text-secondary);padding:4px 6px;font-size:11px;font-weight:500}.calendar-week-view{width:100%;overflow-x:auto}.week-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);z-index:10;grid-template-columns:80px repeat(7,1fr);display:grid;position:sticky;top:0}.time-gutter{text-align:center;color:var(--color-text-tertiary);border-right:1px solid var(--color-border-primary);padding:10px;font-size:11px}.week-day-header{text-align:center;border-right:1px solid var(--color-border-primary);cursor:pointer;transition:background var(--transition-base);padding:10px}.week-day-header:hover{background:var(--color-bg-secondary)}.week-day-header:last-child{border-right:none}.week-day-header.today{background:var(--color-bg-secondary)}.day-name{text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:4px;font-size:11px;font-weight:500}.day-date{color:var(--color-text-secondary);font-size:24px;font-weight:400}.week-day-header.today .day-date{background:var(--color-primary);width:46px;height:46px;color:var(--color-bg-primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.week-grid{grid-template-columns:80px repeat(7,1fr);display:grid;position:relative}.time-column{border-right:1px solid var(--color-border-primary)}.time-slot{height:60px;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-bg-tertiary);text-align:right;padding:4px 8px;font-size:11px}.day-column{border-right:1px solid var(--color-border-primary);position:relative}.day-column:last-child{border-right:none}.day-column.today{background:var(--color-primary-alpha-10)}.hour-slot{border-bottom:1px solid var(--color-bg-tertiary);background-image:linear-gradient(to right, transparent 0%, var(--color-bg-tertiary) 8px, transparent 8px), linear-gradient(to right, transparent 0%, var(--color-border-secondary) 8px, transparent 8px), linear-gradient(to right, transparent 0%, var(--color-bg-tertiary) 8px, transparent 8px);background-position:0 15px,0 30px,0 45px;background-repeat:no-repeat;background-size:100% 1px;height:60px;position:relative}.apt-status-reserved{--apt-color:var(--color-status-scheduled);--apt-bg:var(--color-status-scheduled-bg)}.apt-status-in-progress{--apt-color:var(--color-status-in-progress);--apt-bg:var(--color-status-in-progress-bg)}.apt-status-attended{--apt-color:var(--color-status-completed);--apt-bg:var(--color-status-completed-bg)}.apt-status-cancelled{--apt-color:var(--color-status-cancelled);--apt-bg:var(--color-status-cancelled-bg)}.apt-status-no-show{--apt-color:var(--color-status-no-show);--apt-bg:var(--color-status-no-show-bg)}.appointment-block{border-radius:var(--radius-md);border-left:3px solid var(--apt-color,var(--color-primary));background:var(--apt-bg,var(--color-primary-alpha-10));cursor:pointer;min-height:30px;transition:all var(--transition-base);box-shadow:var(--shadow-xs);z-index:5;flex-direction:column;justify-content:center;padding:4px 8px 4px 10px;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.appointment-block:hover{box-shadow:var(--shadow-md);z-index:10;filter:brightness(.97);transform:scale(1.02)}.appointment-block .apt-time{font-size:10px;font-weight:var(--font-weight-bold);color:var(--apt-color,var(--color-primary));margin-bottom:1px;line-height:1.2}.appointment-block .apt-title{font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);margin-bottom:1px;line-height:1.2;overflow:hidden}.appointment-block .apt-service{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-secondary);font-size:9px;line-height:1.2;overflow:hidden}.appointment-block.apt-compact{flex-direction:row;align-items:center;gap:4px;padding:2px 6px 2px 8px}.appointment-block.apt-compact .apt-time{flex-shrink:0;margin-bottom:0;font-size:9px}.appointment-block.apt-compact .apt-title{flex:1;margin-bottom:0;font-size:10px}.appointment-block.apt-compact .apt-service{display:none}.hour-slot.drag-over{border:2px dashed var(--color-primary);background-color:#3498db1a}.appointment-block[draggable=true]{cursor:move}.calendar-container-v2.dragging .appointment-block:not(.dragging-block){opacity:.6}.calendar-container-v2.dragging .appointment-block.dragging-block{opacity:.5;cursor:grabbing}.drag-preview-indicator{border:2px solid var(--color-primary);pointer-events:none;z-index:100;background-color:#3498db33;border-radius:4px;position:absolute;left:0;right:0;box-shadow:0 2px 8px #3498db4d}.drag-preview-indicator:before{content:"";background-color:var(--color-primary);border-radius:4px 4px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.preview-time-label{background-color:var(--color-primary);color:var(--color-bg-primary);white-space:nowrap;z-index:1000;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:-24px;left:0;box-shadow:0 2px 6px #0000004d}.hover-helper-indicator{border:2px dashed var(--color-success);pointer-events:auto;z-index:50;background-color:#2ecc7126;border-radius:4px;transition:all .15s;position:absolute;left:0;right:0}.hover-helper-indicator:hover{border-color:var(--color-success);background-color:#2ecc7140}.helper-time-label{background-color:var(--color-success);color:var(--color-bg-primary);white-space:nowrap;pointer-events:none;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:4px;left:4px;box-shadow:0 2px 4px #0003}.resize-handle{cursor:ns-resize;z-index:10;pointer-events:none;height:8px;transition:background-color .2s;position:absolute;left:0;right:0}.appointment-block:hover .resize-handle{pointer-events:auto}.resize-handle:hover{background-color:var(--apt-color,var(--color-primary));opacity:.25}.resize-handle-top{border-top:3px solid #0000;top:0}.resize-handle-top:hover{border-top-color:var(--apt-color,var(--color-primary));opacity:.6}.resize-handle-bottom{border-bottom:3px solid #0000;bottom:0}.resize-handle-bottom:hover{border-bottom-color:var(--apt-color,var(--color-primary));opacity:.6}.appointment-block.resizing{pointer-events:none}.resize-preview-indicator{border:2px dashed var(--apt-color,var(--color-primary));border-radius:var(--radius-md);background:var(--apt-bg,var(--color-primary-alpha-10));pointer-events:none;z-index:100;opacity:.75;box-shadow:var(--shadow-sm);position:absolute;left:0;right:0}.resize-preview-indicator .preview-time-label{background-color:var(--apt-color,var(--color-primary));color:var(--color-on-primary)}.calendar-day-view{width:100%;max-width:100%;overflow-x:auto}.day-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);z-index:10;grid-template-columns:80px 1fr;display:grid;position:sticky;top:0}.day-header-info{text-align:center;background:var(--color-bg-secondary);padding:15px}.day-header-info .day-name{text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:6px;font-size:12px}.day-header-info .day-date{color:var(--color-primary);font-size:32px;font-weight:400}.day-grid{grid-template-columns:80px 1fr;display:grid;position:relative}.events-column{min-height:1440px;position:relative}.blocked-past-overlay{border-bottom:2px solid var(--color-border-primary);z-index:3;pointer-events:none;opacity:.8;background:repeating-linear-gradient(45deg,#9ca3af26,#9ca3af26 10px,#9ca3af0d 10px 20px);position:absolute;top:0;left:0;right:0}[data-theme=dark] .blocked-past-overlay{border-bottom-color:var(--color-border-primary);background:repeating-linear-gradient(45deg,#4b556340,#4b556340 10px,#4b55631a 10px 20px)}.blocked-past-day-overlay{z-index:3;pointer-events:none;opacity:.9;background:repeating-linear-gradient(45deg,#9ca3af33,#9ca3af33 10px,#9ca3af14 10px 20px);position:absolute;inset:0}[data-theme=dark] .blocked-past-day-overlay{background:repeating-linear-gradient(45deg,#4b55634d,#4b55634d 10px,#4b55631f 10px 20px)}.day-column.past-day,.events-column.past-day{cursor:not-allowed}.current-time-indicator{z-index:100;pointer-events:none;align-items:center;display:flex;position:absolute;left:0;right:0}.time-indicator-dot{background:var(--color-error);border:2px solid var(--color-bg-primary);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite pulse-dot;position:absolute;left:-6px;box-shadow:0 0 8px #ef444480}.time-indicator-line{background:var(--color-error);flex:1;height:2px;box-shadow:0 0 4px #ef44444d}.time-indicator-label{background:var(--color-error);color:#fff;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:-20px;left:12px;box-shadow:0 2px 4px #0003}@media (width<=768px){.calendar-toolbar{flex-direction:column;align-items:stretch;gap:10px}.calendar-nav-controls{flex-wrap:wrap;justify-content:center}.view-switcher{width:100%}.view-switcher .view-btn{flex:1;justify-content:center}.calendar-title-v2{font-size:18px}.week-header,.week-grid,.day-grid,.day-header{grid-template-columns:60px repeat(7,120px)}.time-gutter{width:60px}.appointment-block .apt-service{display:none}}.form-group{margin:15px 0}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.checkbox-label span{color:var(--color-text-primary);font-size:14px;font-weight:500}@media (width<=768px){.stats-grid{grid-template-columns:1fr}}.timeline-container{max-width:1200px;margin:0 auto}.timeline{padding:20px 0;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--color-primary), var(--color-success));width:4px;position:absolute;top:0;bottom:0;left:30px}.timeline-item{margin-bottom:50px;padding-left:80px;position:relative}.timeline-marker{background-color:var(--color-primary);border:4px solid var(--color-bg-primary);width:30px;height:30px;color:var(--color-bg-primary);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;top:0;left:16px;box-shadow:0 2px 8px #00000026}.timeline-content{background:var(--color-bg-primary);border-left:4px solid var(--color-primary);border-radius:8px;padding:25px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000001a}.timeline-content:hover{transform:translate(5px);box-shadow:0 4px 12px #00000026}.timeline-header{border-bottom:2px solid var(--color-bg-tertiary);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;display:flex}.timeline-details{background-color:var(--color-bg-secondary);border-radius:6px;margin-bottom:15px;padding:15px}.detail-row{color:var(--color-text-primary);margin-bottom:8px;font-size:14px}.detail-row:last-child{margin-bottom:0}.detail-row strong{color:var(--color-bg-tertiary);margin-right:8px;font-weight:600}.medical-records{border-top:2px solid var(--color-bg-tertiary);margin-top:20px;padding-top:20px}.medical-record-item{background-color:var(--color-bg-primary);border-left:4px solid var(--color-warning);border-radius:6px;margin-bottom:15px;padding:15px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px;display:grid}.timeline-photo{object-fit:cover;border:2px solid var(--color-border-secondary);cursor:pointer;border-radius:6px;width:100%;height:120px;transition:transform .2s,box-shadow .2s}.timeline-photo:hover{border-color:var(--color-primary);transform:scale(1.05);box-shadow:0 4px 12px #0003}@media (width<=768px){.timeline:before{left:15px}.timeline-item{padding-left:50px}.timeline-marker{width:20px;height:20px;font-size:12px;left:6px}.timeline-header{flex-direction:column}.timeline-header .status-badge{margin-top:10px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.timeline-photo{height:100px}}.appointment-detail-modern{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);max-width:1200px;min-height:100vh;margin:0 auto;padding:16px}.detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.btn-back{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-slow);box-shadow:var(--shadow-sm);display:flex}.btn-back:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.detail-title{color:var(--color-text-primary);flex:1;margin:0;font-size:20px;font-weight:700}.detail-actions-mobile{gap:8px;display:flex}.btn-icon{border-radius:var(--radius-xl);cursor:pointer;width:40px;height:40px;transition:all var(--transition-slow);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;display:flex}.btn-icon.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-text-inverse)}.btn-icon.btn-success{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color:var(--color-text-inverse)}.btn-icon.btn-danger{background:linear-gradient(135deg, var(--color-error) 0%, var(--color-error-dark) 100%);color:var(--color-text-inverse)}.btn-icon:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)scale(1.05)}.btn-icon:active{transform:translateY(0)scale(1)}.alert{border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;font-size:14px;font-weight:500;animation:.3s ease-out slideInDown;display:flex}.alert-error{background:linear-gradient(135deg, var(--color-error-alpha-10) 0%, var(--color-error-alpha-10) 100%);border:1px solid var(--color-error-light);color:var(--color-error-dark)}.alert-success{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border:1px solid var(--color-success-light);color:var(--color-success-dark)}.status-section{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.status-badge-large{text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;padding:12px 24px;font-size:16px;font-weight:700;animation:.5s cubic-bezier(.68,-.55,.265,1.55) bounceIn;display:inline-flex;box-shadow:0 4px 6px #0000001a}.status-select{border:2px solid var(--color-border-secondary);background:var(--color-bg-primary);cursor:pointer;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.status-select:hover{border-color:var(--color-primary)}.status-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #6366f11a}.glass-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-slow), transform var(--transition-slow)}.glass-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border-secondary);display:flex}.card-icon{color:var(--color-primary);flex-shrink:0}.card-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.info-grid{grid-template-columns:1fr;gap:20px;display:grid}.info-item.full-width{grid-column:1/-1}.info-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);font-size:12px;font-weight:600}.info-value{color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.4}.info-value.clickable{color:var(--color-primary);cursor:pointer;align-items:center;transition:all .2s;display:inline-flex}.info-value.clickable:hover{color:var(--color-primary-dark);text-decoration:underline}.info-time{color:var(--color-primary);letter-spacing:-1px;font-size:32px;font-weight:800}.services-subtitle{color:var(--color-text-tertiary);margin-bottom:16px;font-size:14px}.services-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.service-item{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:2px solid var(--color-border-secondary);border-radius:16px;justify-content:space-between;align-items:center;padding:16px;transition:all .3s;display:flex}.service-item:hover{border-color:var(--color-primary);transform:translate(4px);box-shadow:0 4px 12px #6366f126}.service-content{flex:1}.service-name{color:var(--color-text-primary);margin:0 0 8px;font-size:16px;font-weight:700}.service-badge{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-secondary) 100%);color:var(--color-primary-dark);border-radius:8px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.service-badge.standalone{background:linear-gradient(135deg, var(--color-bg-tertiary) 0%, var(--color-border-secondary) 100%);color:var(--color-text-tertiary)}.service-price{color:var(--color-success);font-size:20px;font-weight:800}.services-total{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-secondary) 100%);border-radius:16px;justify-content:space-between;align-items:center;margin-top:12px;padding:20px;display:flex}.total-label{color:var(--color-primary-dark);font-size:16px;font-weight:700}.total-amount{color:var(--color-primary-dark);letter-spacing:-1px;font-size:28px;font-weight:900}.payment-card{border:2px solid var(--color-success)}.payment-status{margin-top:20px}.payment-row{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;display:flex}.payment-label{color:var(--color-success-dark);font-size:14px;font-weight:600}.payment-amount{color:var(--color-success-dark);font-size:24px;font-weight:900}.payment-amount.success{color:var(--color-success)}.receipt-preview{text-align:center;margin-top:16px}.receipt-thumbnail{border:2px solid var(--color-border-secondary);cursor:pointer;border-radius:12px;max-width:200px;max-height:200px;margin-bottom:12px;transition:all .3s}.receipt-thumbnail:hover{border-color:var(--color-primary);transform:scale(1.05);box-shadow:0 8px 16px #0000001a}.receipt-link{background:var(--color-primary);color:var(--color-bg-primary);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.receipt-link:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-upload{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-bg-primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.btn-upload.secondary{background:linear-gradient(135deg, var(--color-text-disabled) 0%, var(--color-text-tertiary) 100%)}.btn-upload:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner-small{border:2px solid #ffffff4d;border-top-color:var(--color-bg-primary);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.payment-status.no-reservation{text-align:center;padding:32px 16px}.payment-icon-large{color:var(--color-text-disabled);margin:0 auto 16px}.no-reservation-text{color:var(--color-text-tertiary);margin-bottom:16px;font-size:14px}.payment-pending{background:linear-gradient(135deg, var(--color-warning-alpha-10) 0%, var(--color-warning-alpha-10) 100%);border:2px solid var(--color-warning);border-radius:16px;margin-top:20px;padding:20px}.pending-header{color:var(--color-warning-dark);align-items:center;gap:8px;margin-bottom:12px;display:flex}.pending-title{text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:700}.pending-amount{color:var(--color-warning-dark);letter-spacing:-1px;margin-bottom:16px;font-size:36px;font-weight:900}.btn-pay{background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);color:var(--color-bg-primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:700;transition:all .3s;display:inline-flex;box-shadow:0 4px 12px #f59e0b4d}.btn-pay:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.payment-complete{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);color:var(--color-success-dark);border-radius:16px;justify-content:center;align-items:center;gap:12px;margin-top:20px;padding:20px;font-size:16px;font-weight:700;display:flex}.system-card{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.system-info{flex-direction:column;gap:16px;display:flex}.system-item{border-bottom:1px solid var(--color-border-secondary);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.system-item:last-child{border-bottom:none;padding-bottom:0}.system-item.full{grid-column:1/-1}.system-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-disabled);font-size:11px;font-weight:600}.system-value{color:var(--color-text-secondary);font-size:14px;font-weight:600}.system-id{color:var(--color-text-tertiary);background:var(--color-bg-tertiary);word-break:break-all;border-radius:8px;padding:8px 12px;font-family:Courier New,monospace;font-size:12px;display:block}.action-buttons{grid-template-columns:1fr;gap:12px;margin-top:24px;margin-bottom:32px;display:grid}.action-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-slow);box-shadow:var(--shadow-sm);border:none;display:inline-flex}.action-btn.primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-text-inverse)}.action-btn.success{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color:var(--color-text-inverse)}.action-btn.secondary{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary)}.action-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}@media (width>=640px){.appointment-detail-modern{padding:24px}.detail-title{font-size:24px}.info-grid,.action-buttons{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.appointment-detail-modern{padding:32px}.detail-title{font-size:28px}.glass-card{padding:32px}.info-grid,.action-buttons{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.upload-reservation-form{padding:20px 0}.form-section{flex-direction:column;gap:24px;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-prefix{color:var(--color-text-tertiary);pointer-events:none;font-size:16px;font-weight:700;position:absolute;left:16px}.input-with-prefix{padding-left:48px}.input-help{color:var(--color-text-tertiary);margin-top:8px;font-size:12px;font-style:italic}.file-upload-area{position:relative}.file-input-hidden{display:none}.file-upload-button{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:2px dashed var(--color-border-primary);cursor:pointer;width:100%;min-height:200px;color:var(--color-text-tertiary);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:32px;transition:all .3s;display:flex}.file-upload-button:hover:not(:disabled){border-color:var(--color-primary);background:linear-gradient(135deg, var(--color-primary-alpha-10) 0%, var(--color-primary-alpha-10) 100%);color:var(--color-primary);transform:scale(1.02)}.file-upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-text{margin-top:16px;font-size:16px;font-weight:600}.upload-hint{color:var(--color-text-disabled);margin-top:4px;font-size:13px}.file-preview{background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:20px;display:flex}.preview-image{border:2px solid var(--color-border-secondary);object-fit:contain;border-radius:12px;max-width:100%;max-height:300px}.pdf-preview{color:var(--color-text-tertiary);text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pdf-preview p{word-break:break-word;max-width:100%;font-size:14px;font-weight:600}.remove-file-btn{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);color:var(--color-text-tertiary);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex}.remove-file-btn:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error);background:var(--color-error-alpha-10)}.remove-file-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.file-upload-button{min-height:160px;padding:24px}.upload-text{font-size:14px}.preview-image{max-height:200px}}.datetime-picker{flex-direction:column;gap:8px;display:flex}.datetime-picker-container{grid-template-columns:1fr 1fr;gap:16px;display:grid}.datetime-date-section,.datetime-time-section{flex-direction:column;gap:6px;display:flex}.datetime-sublabel{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.datetime-input-wrapper{position:relative}.datetime-input-button{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s;display:flex}.datetime-input-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-secondary)}.datetime-input-button:disabled{background:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.datetime-input-button svg{color:var(--color-text-tertiary);flex-shrink:0}.datetime-input-placeholder{color:var(--color-text-disabled)}.datetime-input-selected{color:var(--color-text-primary);font-weight:500}.datetime-input-error{border-color:var(--color-error)}.datetime-time-select{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border-radius:8px;width:100%;padding:12px 40px 12px 16px;font-size:14px;transition:all .2s}.datetime-time-select:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-bg-secondary)}.datetime-time-select:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.datetime-time-select.datetime-input-placeholder{color:var(--color-text-disabled)}.datetime-time-select.datetime-input-selected{color:var(--color-text-primary);font-weight:500}.datetime-calendar-dropdown{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);z-index:1000;border-radius:8px;width:280px;padding:12px;animation:.2s fadeIn;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 10px 25px #0000001a}.datetime-calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.datetime-calendar-month{color:var(--color-text-primary);font-size:13px;font-weight:600}.datetime-calendar-nav{background:var(--color-bg-primary);border:1.5px solid var(--color-border-secondary);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s;display:flex}.datetime-calendar-nav:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-secondary)}.datetime-calendar-days-header{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px;display:grid}.datetime-calendar-day-name{text-align:center;color:var(--color-text-tertiary);text-transform:uppercase;padding:2px;font-size:10px;font-weight:600}.datetime-calendar-grid{flex-direction:column;gap:3px;display:flex}.datetime-calendar-week{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.datetime-calendar-day{width:32px;height:32px;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;border:1.5px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .2s;display:flex}.datetime-calendar-day:hover:not(:disabled):not(.datetime-calendar-day-empty){border-color:var(--color-primary);background:var(--color-bg-secondary);color:var(--color-primary)}.datetime-calendar-day-empty{cursor:default;visibility:hidden}.datetime-calendar-day-today{background:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.datetime-calendar-day-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-primary);font-weight:600}.datetime-calendar-day-selected:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-bg-primary)}.datetime-calendar-day-disabled{color:var(--color-border-primary);cursor:not-allowed;text-decoration:line-through}.datetime-calendar-day-disabled:hover{background:var(--color-bg-primary);color:var(--color-border-primary);border-color:#0000}@media (width<=640px){.datetime-picker-container{grid-template-columns:1fr}.datetime-calendar-dropdown{left:-8px;right:-8px}}.patient-detail-modern{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);min-height:100vh;padding:20px}.patient-name-header{color:var(--color-text-primary);margin:10px 0 5px;font-size:32px;font-weight:700}.patient-subtitle{color:var(--color-text-secondary);font-size:14px;font-weight:500}.tabs-container{background:var(--color-bg-primary);border-radius:16px;margin-top:30px;overflow:hidden;box-shadow:0 4px 12px #00000014}.tabs-navigation{background:linear-gradient(135deg, var(--color-bg-tertiary) 0%, var(--color-text-primary) 100%);border-bottom:3px solid var(--color-primary);padding:0;display:flex;overflow-x:auto}.tab-button{cursor:pointer;color:#ffffffb3;background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-width:140px;padding:18px 20px;font-weight:500;transition:all .3s;display:flex;position:relative}.tab-button:hover{color:var(--color-bg-primary);background:#3498db1a}.tab-button-active{color:var(--color-bg-primary);border-bottom-color:var(--color-primary);background:linear-gradient(135deg,#3498db33 0%,#2980b933 100%);font-weight:600}.tab-icon{font-size:24px;transition:transform .3s}.tab-button-active .tab-icon{transform:scale(1.1)}.tab-label{text-align:center;font-size:13px}.tabs-content{background:var(--color-bg-primary);padding:0}.tab-content-wrapper{padding:30px;animation:.4s ease-in-out fadeIn}.info-section{margin-bottom:30px}.info-section:last-child{margin-bottom:0}.info-section-header{border-bottom:3px solid var(--color-bg-tertiary);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.info-section-icon{font-size:28px}.info-section-header h3{color:var(--color-text-primary);margin:0;font-size:22px;font-weight:700}.info-grid-modern{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.info-card{background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:2px solid var(--color-border-secondary);border-radius:12px;padding:20px;transition:all .3s}.info-card:hover{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 6px 16px #0000001a}.info-card-full{grid-column:1/-1}.info-card-label{text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.info-card-value{color:var(--color-text-primary);word-wrap:break-word;font-size:18px;font-weight:600}.info-card-id{color:var(--color-text-secondary);background:var(--color-bg-primary);word-break:break-all;border-radius:6px;padding:10px;font-family:Courier New,monospace;font-size:13px}.empty-state{text-align:center;background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:2px dashed var(--color-border-secondary);border-radius:12px;padding:60px 20px}.empty-state-icon{opacity:.6;margin-bottom:20px;font-size:80px}.empty-state h4{color:var(--color-text-primary);margin-bottom:15px;font-size:24px;font-weight:700}.empty-state p{color:var(--color-text-secondary);max-width:600px;margin-bottom:25px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.6}.treatment-card{background:linear-gradient(135deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);border:2px solid var(--color-border-secondary);border-radius:16px;padding:25px;transition:all .3s;box-shadow:0 4px 12px #00000014}.treatment-card:hover{border-color:var(--color-primary);transform:translate(5px);box-shadow:0 8px 20px #0000001f}.treatment-card-completed{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border-color:var(--color-success)}.treatment-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.treatment-info{flex:1}.treatment-date{color:var(--color-text-secondary);margin:0;font-size:14px}.treatment-progress-indicator{text-align:right}.treatment-sessions-count{color:var(--color-primary);font-size:28px;font-weight:800;line-height:1}.treatment-card-completed .treatment-sessions-count{color:var(--color-success)}.treatment-sessions-label{color:var(--color-text-secondary);margin-top:4px;font-size:12px;font-weight:500}.treatment-progress-bar{background:var(--color-bg-tertiary);border-radius:8px;width:100%;height:12px;margin-bottom:20px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.treatment-price{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.price-original{color:var(--color-text-secondary);font-size:16px;text-decoration:line-through}.price-final{color:var(--color-success);font-size:24px;font-weight:800}.price-discount{color:var(--color-error);background:var(--color-error-alpha-10);border-radius:6px;padding:4px 10px;font-size:14px;font-weight:600}.treatment-sessions{border-top:2px solid var(--color-bg-tertiary);margin-top:20px;padding-top:20px}.treatment-sessions-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:700}.treatment-sessions-grid{flex-wrap:wrap;gap:10px;display:flex}.session-badge{cursor:pointer;border:2px solid;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .3s}.session-badge:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.session-badge-attended{background:var(--color-success-alpha-10);color:var(--color-success-dark);border-color:var(--color-success-alpha-10)}.session-badge-reserved{background:var(--color-bg-primary)3cd;color:var(--color-warning-dark);border-color:var(--color-warning-alpha-10)}.session-badge-cancelled{background:var(--color-error-alpha-10);color:var(--color-error-dark);border-color:var(--color-error-alpha-10)}.session-badge-in_progress{background:var(--color-info-alpha-10);color:var(--color-info-dark);border-color:var(--color-info-alpha-10)}.treatment-completed-badge{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border:2px solid var(--color-success);color:var(--color-success-dark);text-align:center;border-radius:8px;margin-top:20px;padding:12px 20px;font-size:16px;font-weight:700}.treatment-payment-status{border-top:2px solid var(--color-bg-tertiary);margin-top:20px;padding-top:20px}.payment-status-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:15px;font-size:13px;font-weight:700}.payment-pending-info{background:linear-gradient(135deg, var(--color-bg-primary)3cd 0%, var(--color-warning-alpha-10) 100%);border:2px solid var(--color-warning);border-radius:12px;padding:20px}.payment-row{color:var(--color-text-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;display:flex}.payment-row:last-of-type{margin-bottom:0}.payment-row-pending{border-top:2px solid #0000001a;margin-top:12px;padding-top:12px}.payment-amount{font-weight:700}.payment-paid-label{color:var(--color-success);font-weight:600}.payment-paid-amount{color:var(--color-success);font-weight:700}.payment-pending-label{color:var(--color-error);font-weight:700}.payment-pending-amount{color:var(--color-error);font-size:20px;font-weight:900}.payment-warning{color:var(--color-warning-dark);text-align:center;background:#ffffffb3;border-radius:8px;margin-top:15px;padding:12px;font-size:14px;font-weight:600}.payment-complete{background:linear-gradient(135deg, var(--color-success-alpha-10) 0%, var(--color-success-alpha-10) 100%);border:2px solid var(--color-success);color:var(--color-success-dark);border-radius:12px;align-items:center;gap:12px;padding:20px;display:flex}.payment-complete>span{font-size:32px}.payment-complete-title{font-size:16px;font-weight:700}.payment-complete-amount{margin-top:4px;font-size:14px}@media (width<=768px){.patient-detail-modern{padding:15px}.patient-name-header{font-size:24px}.tabs-navigation{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{min-width:100px;padding:14px 12px}.tab-icon{font-size:20px}.tab-label{font-size:11px}.tab-content-wrapper{padding:20px}.info-grid-modern{grid-template-columns:1fr}.info-section-icon{font-size:24px}.info-section-header h3{font-size:18px}.empty-state-icon{font-size:60px}.empty-state h4{font-size:20px}.empty-state p{font-size:14px}.treatment-card{padding:20px}.treatment-name{font-size:18px}.treatment-sessions-count{font-size:24px}.treatment-sessions-grid{gap:8px}.session-badge{padding:8px 12px;font-size:12px}}.patient-hero{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary) 100%);color:var(--color-bg-primary);margin:-20px -20px 30px;padding:0;box-shadow:0 4px 6px #0000001a}.patient-hero-content{max-width:1400px;margin:0 auto;padding:30px 40px}.back-button-hero{color:var(--color-bg-primary);cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:6px;margin-bottom:20px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.back-button-hero:hover{background:#ffffff4d;transform:translate(-4px)}.patient-hero-main{align-items:center;gap:24px;margin-bottom:24px;display:flex}.patient-avatar{width:100px;height:100px;color:var(--color-bg-primary);text-transform:uppercase;background:#fff3;border:3px solid #ffffff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:36px;font-weight:700;display:flex;box-shadow:0 4px 12px #00000026}.patient-hero-info{flex:1}.patient-hero-name{color:var(--color-bg-primary);text-shadow:0 2px 4px #0000001a;margin:0 0 12px;font-size:32px;font-weight:700}.patient-hero-meta{opacity:.95;flex-wrap:wrap;align-items:center;gap:12px;font-size:15px;display:flex}.meta-item{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-weight:500;display:flex}.meta-icon{font-size:16px}.meta-separator{opacity:.5;font-weight:300}.patient-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.patient-hero-actions .btn{background:var(--color-bg-primary);color:var(--color-primary);padding:12px 24px;font-weight:600;box-shadow:0 2px 8px #0000001a}.patient-hero-actions .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.patient-hero-actions .btn-danger{background:var(--color-error);color:var(--color-bg-primary)}.patient-hero-actions .btn-danger:hover{background:var(--color-error-dark)}.patient-dashboard{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px;display:grid}.dashboard-card{background:var(--color-bg-primary);border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card-header{border-bottom:1px solid var(--color-bg-tertiary);background:linear-gradient(to bottom, var(--color-bg-secondary), var(--color-bg-primary));padding:20px 24px}.card-title{color:var(--color-text-primary);align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;display:flex}.card-icon{justify-content:center;align-items:center;font-size:22px;display:inline-flex}.card-body{padding:24px}.info-grid{gap:18px;display:grid}.info-item{flex-direction:column;gap:6px;display:flex}.info-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.info-value{color:var(--color-text-primary);font-size:15px;font-weight:500}.activity-content{flex-direction:column;gap:24px;display:flex}.activity-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-item{text-align:center;background:linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:1px solid var(--color-bg-tertiary);border-radius:10px;padding:16px}.stat-number{color:var(--color-primary);margin-bottom:6px;font-size:28px;font-weight:700;line-height:1;display:block}.stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600;display:block}.last-appointment{background:var(--color-bg-secondary);border-left:4px solid var(--color-primary);border-radius:8px;padding:16px}.last-appointment-header{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.last-appointment-details{flex-direction:column;gap:8px;display:flex}.last-appointment-service{color:var(--color-text-primary);font-size:16px;font-weight:600}.last-appointment-date{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:14px;display:flex}.treatments-list{flex-direction:column;gap:20px;display:flex}.treatment-item{background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:10px;padding:18px;transition:all .2s}.treatment-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.treatment-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.treatment-name{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.treatment-sessions{color:var(--color-text-secondary);background:var(--color-bg-primary);border-radius:12px;padding:4px 12px;font-size:13px;font-weight:600}.treatment-progress-container{align-items:center;gap:12px;display:flex}.treatment-progress-bar{background:var(--color-border-secondary);border-radius:10px;flex:1;height:8px;position:relative;overflow:hidden}.treatment-progress-fill{background:linear-gradient(90deg, var(--color-success) 0%, var(--color-success) 100%);border-radius:10px;height:100%;transition:width .4s;box-shadow:0 0 8px #2ecc7166}.treatment-progress-text{color:var(--color-success);text-align:right;min-width:45px;font-size:13px;font-weight:700}.quick-actions{gap:12px;display:grid}.quick-action-item{background:linear-gradient(to right, var(--color-bg-secondary), var(--color-bg-primary));border:1px solid var(--color-bg-tertiary);cursor:pointer;border-radius:10px;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:all .2s;display:flex}.quick-action-item:hover{background:linear-gradient(to right, var(--color-bg-tertiary), var(--color-bg-tertiary));border-color:var(--color-border-secondary);transform:translate(4px);box-shadow:0 2px 8px #00000014}.action-icon{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary) 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:28px;display:flex}.action-content{flex:1}.action-title{color:var(--color-text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.action-description{color:var(--color-text-secondary);margin:0;font-size:13px}.empty-state-simple{text-align:center;color:var(--color-text-tertiary);padding:32px 20px}.empty-state-simple-icon{opacity:.5;margin-bottom:12px;font-size:48px}.empty-state-simple p{margin:0 0 16px;font-size:14px}.empty-state-simple .btn{margin-top:8px}@media (width<=1024px){.patient-dashboard{grid-template-columns:1fr}.patient-hero-content{padding:24px 30px}.patient-hero-name{font-size:26px}.patient-avatar{width:80px;height:80px;font-size:30px}}@media (width<=768px){.patient-hero{margin:-20px -15px 20px}.patient-hero-content{padding:20px}.patient-hero-main{flex-direction:column;align-items:flex-start;gap:16px}.patient-hero-name{font-size:24px}.patient-avatar{width:70px;height:70px;font-size:26px}.patient-hero-meta{font-size:13px}.patient-hero-actions{width:100%}.patient-hero-actions .btn{flex:1;padding:10px 16px;font-size:13px}.patient-dashboard{gap:16px}.activity-stats{grid-template-columns:repeat(2,1fr)}.card-body{padding:18px}.card-header{padding:16px 18px}.card-title{font-size:16px}.action-icon{width:45px;height:45px;font-size:24px}.action-title{font-size:14px}.action-description{font-size:12px}}.completed-list{flex-direction:column;gap:12px;display:flex}.completed-item{background:linear-gradient(to right, var(--color-bg-secondary), var(--color-bg-primary));border:1px solid var(--color-bg-tertiary);border-radius:8px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.completed-item:hover{background:linear-gradient(to right, var(--color-success-alpha-10), var(--color-success-alpha-10));border-color:var(--color-success-alpha-10)}.completed-icon{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success) 100%);width:36px;height:36px;color:var(--color-bg-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;box-shadow:0 2px 8px #2ecc714d}.completed-content{flex:1}.completed-name{color:var(--color-text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.completed-sessions{color:var(--color-text-secondary);font-size:12px}.payment-orders-content{flex-direction:column;gap:18px;display:flex}.pending-amount-banner{background:linear-gradient(135deg, var(--color-warning) 0%, var(--color-error) 100%);color:var(--color-bg-primary);text-align:center;border-radius:10px;padding:20px;box-shadow:0 4px 12px #f39c124d}.pending-amount-banner .amount-label{text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-bottom:8px;font-size:12px;font-weight:600}.pending-amount-banner .amount-value{text-shadow:0 2px 4px #0000001a;font-size:32px;font-weight:700}.payment-orders-list{flex-direction:column;gap:10px;display:flex}.payment-order-item{background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-left:4px solid var(--color-warning);border-radius:8px;padding:14px 16px;transition:all .2s}.payment-order-item:hover{background:var(--color-bg-primary)5000000;border-left-color:var(--color-error);box-shadow:0 2px 8px #f39c1226}.payment-order-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.payment-order-date{color:var(--color-text-secondary);font-size:12px;font-weight:600}.payment-order-status{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}.payment-order-status.pending{background:var(--color-bg-primary)3cd;color:var(--color-warning-dark)}.payment-order-status.partial{background:var(--color-error-alpha-10);color:var(--color-error-dark)}.payment-order-amount{justify-content:space-between;align-items:center;display:flex}.payment-order-amount .amount-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.payment-order-amount .amount-value{color:var(--color-error);font-size:18px;font-weight:700}.view-all-link{color:var(--color-primary);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;margin-top:6px;padding:12px;font-size:13px;font-weight:600;transition:all .2s}.view-all-link:hover{background:var(--color-bg-secondary);color:var(--color-primary-dark)}.card-badge{background:var(--color-primary);color:var(--color-bg-primary);text-align:center;border-radius:12px;min-width:24px;padding:4px 10px;font-size:12px;font-weight:700}.card-badge.warning{background:var(--color-warning)}.info-link{color:var(--color-primary);text-decoration:none;transition:color .2s}.info-link:hover{color:var(--color-primary-dark);text-decoration:underline}.info-empty{color:var(--color-text-tertiary);font-style:italic}@media (width>=1200px){.patient-dashboard{grid-template-columns:repeat(3,1fr)}.info-card,.activity-card,.treatments-card,.completed-card,.payment-orders-card,.actions-card{grid-column:span 1}}@media (width<=1199px){.patient-dashboard{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.patient-dashboard{grid-template-columns:1fr}.pending-amount-banner .amount-value{font-size:28px}.completed-icon{width:32px;height:32px;font-size:16px}.payment-order-amount .amount-value{font-size:16px}}.add-session-form{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-2xl);border:2px dashed var(--color-border-primary)}.add-session-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);display:flex}.add-session-fields{flex-direction:column;gap:16px;display:flex}.receipt-container{padding:var(--spacing-md);border:2px solid var(--color-success);border-radius:var(--radius-xl);background:var(--color-bg-primary);gap:var(--spacing-sm);flex-direction:column;display:flex}.receipt-image-wrapper{aspect-ratio:4/3;border-radius:var(--radius-lg);border:2px solid var(--color-border-primary);width:100%;max-width:200px;margin:0 auto;overflow:hidden}.receipt-image{object-fit:cover;width:100%;height:100%}.receipt-pdf-icon{background:var(--color-bg-secondary);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.receipt-info{border-top:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.receipt-status{align-items:center;gap:8px;display:flex}.receipt-status-text{color:var(--color-success-dark);font-size:13px;font-weight:600}.receipt-actions{gap:8px;display:flex}.receipt-view-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-success-alpha-10);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success-dark);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);transition:all var(--transition-base);text-decoration:none;display:inline-block}.receipt-view-btn:hover{background:var(--color-success-alpha-10);transform:translateY(-1px)}.receipt-change-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-base)}.receipt-change-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus)}.upload-receipt-button{width:100%;padding:var(--spacing-md);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-xl);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.upload-receipt-button:hover{border-color:var(--color-primary);background:var(--color-primary-alpha-10)}.upload-icon{color:var(--color-text-tertiary)}.upload-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.upload-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.notes-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border-primary);border-radius:var(--radius-xl);font-size:var(--font-size-sm);resize:vertical;transition:all var(--transition-base);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:inherit}.notes-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10);outline:none}.notes-textarea::placeholder{color:var(--color-text-tertiary)}.field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);display:block}.loading-orders{color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.header-spacer{width:40px}.service-selector{margin-bottom:0}.service-search-container{position:relative}.service-search-input-wrapper{align-items:center;display:flex;position:relative}.service-search-icon{color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0;position:absolute;left:12px}.service-search-input{padding-left:36px!important}.service-selected{background-color:var(--color-primary-container);border:2px solid var(--color-primary);border-radius:var(--radius-lg);min-height:var(--control-height);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.service-selected-error{border-color:var(--color-error);background-color:var(--color-error-alpha-10,#fef2f2)}.service-selected-info{flex-direction:column;gap:2px;min-width:0;display:flex}.service-selected-name{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.service-selected-meta{color:var(--color-text-secondary);font-size:12px}.btn-clear-service{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-base), background-color var(--transition-base);background:0 0;border:none;flex-shrink:0;margin-left:8px;padding:4px 6px;font-size:16px;line-height:1}.btn-clear-service:hover{color:var(--color-error);background-color:var(--color-error-alpha-10,#fef2f2)}.service-dropdown{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto}.service-dropdown-item{cursor:pointer;border-bottom:1px solid var(--color-bg-tertiary);transition:background-color var(--transition-base);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;display:flex}.service-dropdown-item:last-child{border-bottom:none}.service-dropdown-item:hover{background-color:var(--color-bg-secondary)}.service-dropdown-name{font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1;min-width:0;font-weight:500}.service-dropdown-meta{color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;font-size:12px}.service-dropdown-empty{color:var(--color-text-tertiary);text-align:center;cursor:default;justify-content:center;font-style:italic}.service-dropdown-empty:hover{background-color:var(--color-bg-primary)}
