.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:-moz-fit-content;max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--bg-app: #0f1724;--bg-shell: #122033;--bg-surface: #16263c;--bg-surface-2: #1b314d;--bg-card: #1a2c44;--bg-card-hover: #1f3352;--bg-input: #0f1c2e;--bg-overlay: rgba(7, 14, 26, .78);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f3f7fc;--text-secondary: #b7c6d8;--text-muted: #8ea3bb;--text-disabled: #5d7a94;--text-on-accent: #ffffff;--accent-primary: #3b82f6;--accent-primary-hover: #4a8df7;--accent-primary-pressed: #2f6fda;--accent-soft: rgba(59, 130, 246, .14);--success: #16c784;--success-soft: rgba(22, 199, 132, .14);--warning: #f5b942;--warning-soft: rgba(245, 185, 66, .16);--danger: #ff5a5f;--danger-soft: rgba(255, 90, 95, .14);--info: #4cc9f0;--info-soft: rgba(76, 201, 240, .14);--state-available-bg: rgba(22, 199, 132, .14);--state-available-fg: #23d18b;--state-pending-bg: rgba(245, 185, 66, .16);--state-pending-fg: #f5b942;--state-overtime-bg: rgba(255, 90, 95, .16);--state-assigned-bg: rgba(59, 130, 246, .14);--state-assigned-fg: #66a3ff;--state-active-bg: rgba(59, 130, 246, .12);--state-active-fg: #66a3ff;--state-active-border: rgba(59, 130, 246, .2);--state-active-dot: #66a3ff;--state-requested-bg: rgba(76, 201, 240, .12);--state-requested-fg: #4cc9f0;--state-requested-border: rgba(76, 201, 240, .2);--state-requested-dot: #4cc9f0;--state-expiring-bg: rgba(245, 185, 66, .14);--state-expiring-fg: #f5b942;--state-expiring-border: rgba(245, 185, 66, .24);--state-expiring-dot: #f5b942;--state-overtime-border: rgba(255, 90, 95, .24);--state-overtime-dot: #ff6b70;--state-approval-bg: rgba(245, 185, 66, .14);--state-approval-fg: #f5b942;--state-approval-border: rgba(245, 185, 66, .24);--state-approval-dot: #f5b942;--state-approved-bg: rgba(22, 199, 132, .12);--state-approved-fg: #16c784;--state-approved-border: rgba(22, 199, 132, .2);--state-approved-dot: #16c784;--state-denied-bg: rgba(255, 90, 95, .12);--state-denied-fg: #ff5a5f;--state-denied-border: rgba(255, 90, 95, .2);--state-denied-dot: #ff5a5f;--state-neutral-bg: rgba(141, 152, 167, .1);--state-neutral-fg: #8d98a7;--state-neutral-border: rgba(141, 152, 167, .16);--state-neutral-dot: #8d98a7;--status-pending-bg: var(--state-requested-bg);--status-pending-fg: var(--state-requested-fg);--status-pending-border: var(--state-requested-border);--status-assigned-bg: var(--state-active-bg);--status-assigned-fg: var(--state-active-fg);--status-assigned-border: var(--state-active-border);--status-active-bg: var(--state-active-bg);--status-active-fg: var(--state-active-fg);--status-active-border: var(--state-active-border);--status-arrived-bg: var(--state-approved-bg);--status-arrived-fg: var(--state-approved-fg);--status-arrived-border: var(--state-approved-border);--status-complete-bg: var(--state-approved-bg);--status-complete-fg: var(--state-approved-fg);--status-complete-border: var(--state-approved-border);--status-cancelled-bg: var(--state-neutral-bg);--status-cancelled-fg: var(--state-neutral-fg);--status-cancelled-border: var(--state-neutral-border);--status-overdue-bg: var(--state-overtime-bg);--status-overdue-fg: var(--state-overtime-fg);--status-overdue-border: var(--state-overtime-border);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .18);--shadow-md: 0 10px 28px rgba(0, 0, 0, .24);--shadow-lg: 0 22px 60px rgba(0, 0, 0, .34);--radius-input: 10px;--radius-card: 14px;--radius-modal: 18px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--font-size-page-title: 34px;--font-size-section-label: 11px;--font-size-card-title: 16px;--font-size-body: 14px;--font-size-meta: 12px;--font-size-kpi: 24px;--font-size-primary-data: 20px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-normal: 1.4;--bg-primary: #122033;--border: rgba(255, 255, 255, .09);--bg-hover: rgba(255, 255, 255, .06);--state-overtime-bg: rgba(255, 90, 95, .14);--state-overtime-fg: #ff6b70;--sidebar-width: 220px;--sidebar-width-collapsed: 72px;--content-max-width: 1400px;--topbar-height: 56px;--mobile-topbar-height: 56px;--control-height: 40px;--control-height-touch: 44px;--button-height: 40px;--button-height-touch: 44px;--z-sidebar: 20;--z-topbar: 30;--z-overlay: 100;--z-modal: 110;--z-toast: 120}.theme-dark{--bg-app: #0f1724;--bg-shell: #122033;--bg-surface: #16263c;--bg-surface-2: #1b314d;--bg-card: #1a2c44;--bg-card-hover: #1f3352;--bg-input: #0f1c2e;--bg-overlay: rgba(7, 14, 26, .78);--bg-primary: #0f1724;--bg-hover: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .09);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f3f7fc;--text-secondary: #b7c6d8;--text-muted: #8ea3bb;--text-disabled: #5d7a94;--text-on-accent: #ffffff;--accent-primary: #3b82f6;--accent-primary-hover: #4a8df7;--accent-primary-pressed: #2f6fda;--accent-soft: rgba(59, 130, 246, .14);--success: #16c784;--success-soft: rgba(22, 199, 132, .14);--warning: #f5b942;--warning-soft: rgba(245, 185, 66, .16);--danger: #ff5a5f;--danger-soft: rgba(255, 90, 95, .14);--info: #4cc9f0;--info-soft: rgba(76, 201, 240, .14);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .18);--shadow-md: 0 10px 28px rgba(0, 0, 0, .24);--shadow-lg: 0 22px 60px rgba(0, 0, 0, .34);--state-active-bg: rgba(59, 130, 246, .12);--state-active-fg: #66a3ff;--state-active-border: rgba(59, 130, 246, .2);--state-active-dot: #66a3ff;--state-requested-bg: rgba(76, 201, 240, .12);--state-requested-fg: #4cc9f0;--state-requested-border: rgba(76, 201, 240, .2);--state-requested-dot: #4cc9f0;--state-expiring-bg: rgba(245, 185, 66, .14);--state-expiring-fg: #f5b942;--state-expiring-border: rgba(245, 185, 66, .24);--state-expiring-dot: #f5b942;--state-overtime-bg: rgba(255, 90, 95, .14);--state-overtime-fg: #ff6b70;--state-overtime-border: rgba(255, 90, 95, .24);--state-overtime-dot: #ff6b70;--state-approval-bg: rgba(245, 185, 66, .14);--state-approval-fg: #f5b942;--state-approval-border: rgba(245, 185, 66, .24);--state-approval-dot: #f5b942;--state-approved-bg: rgba(22, 199, 132, .12);--state-approved-fg: #16c784;--state-approved-border: rgba(22, 199, 132, .2);--state-approved-dot: #16c784;--state-denied-bg: rgba(255, 90, 95, .12);--state-denied-fg: #ff5a5f;--state-denied-border: rgba(255, 90, 95, .2);--state-denied-dot: #ff5a5f;--state-neutral-bg: rgba(141, 152, 167, .1);--state-neutral-fg: #8d98a7;--state-neutral-border: rgba(141, 152, 167, .16);--state-neutral-dot: #8d98a7;--state-available-bg: rgba(22, 199, 132, .14);--state-available-fg: #23d18b;--state-pending-bg: rgba(245, 185, 66, .16);--state-pending-fg: #f5b942;--state-assigned-bg: rgba(59, 130, 246, .14);--state-assigned-fg: #66a3ff}.theme-light{--bg-app: #f4f5f7;--bg-shell: #ffffff;--bg-surface: #ffffff;--bg-surface-2: #f8f9fb;--bg-card: #ffffff;--bg-card-hover: #f5f6f8;--bg-input: #ffffff;--bg-primary: #f4f5f7;--bg-overlay: rgba(15, 17, 21, .42);--bg-hover: rgba(15, 23, 42, .04);--border: rgba(15, 23, 42, .1);--border-subtle: rgba(15, 23, 42, .06);--border-default: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .18);--text-primary: #0b1220;--text-secondary: #334155;--text-muted: #5e6b7a;--text-disabled: #9aa5b4;--text-on-accent: #ffffff;--accent-primary: #2f5f89;--accent-primary-hover: #274d6f;--accent-primary-pressed: #213f59;--accent-soft: rgba(47, 95, 137, .1);--success: #047857;--success-soft: rgba(4, 120, 87, .1);--warning: #b45309;--warning-soft: rgba(180, 83, 9, .1);--danger: #b91c1c;--danger-soft: rgba(185, 28, 28, .1);--info: #0369a1;--info-soft: rgba(3, 105, 161, .1);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.1);--state-active-bg: rgba(29, 78, 216, .08);--state-active-fg: #1d4ed8;--state-active-border: rgba(29, 78, 216, .2);--state-active-dot: #1d4ed8;--state-requested-bg: rgba(14, 116, 144, .08);--state-requested-fg: #0e7490;--state-requested-border: rgba(14, 116, 144, .2);--state-requested-dot: #0e7490;--state-expiring-bg: rgba(180, 83, 9, .08);--state-expiring-fg: #b45309;--state-expiring-border: rgba(180, 83, 9, .2);--state-expiring-dot: #b45309;--state-overtime-bg: rgba(185, 28, 28, .08);--state-overtime-fg: #b91c1c;--state-overtime-border: rgba(185, 28, 28, .2);--state-overtime-dot: #b91c1c;--state-approval-bg: rgba(180, 83, 9, .08);--state-approval-fg: #b45309;--state-approval-border: rgba(180, 83, 9, .2);--state-approval-dot: #b45309;--state-approved-bg: rgba(4, 120, 87, .08);--state-approved-fg: #047857;--state-approved-border: rgba(4, 120, 87, .2);--state-approved-dot: #047857;--state-denied-bg: rgba(185, 28, 28, .08);--state-denied-fg: #b91c1c;--state-denied-border: rgba(185, 28, 28, .2);--state-denied-dot: #b91c1c;--state-neutral-bg: rgba(75, 85, 99, .08);--state-neutral-fg: #4b5563;--state-neutral-border: rgba(75, 85, 99, .14);--state-neutral-dot: #4b5563;--state-available-bg: rgba(4, 120, 87, .08);--state-available-fg: #047857;--state-pending-bg: rgba(180, 83, 9, .1);--state-pending-fg: #b45309;--state-assigned-bg: rgba(29, 78, 216, .08);--state-assigned-fg: #1d4ed8}html,body{margin:0;padding:0;height:100%}#root{height:100%}@keyframes state-pulse{0%,to{opacity:1}50%{opacity:.3}}.frontdesk-surface{--fd-bg-0: #080d14;--fd-bg-1: #0d1117;--fd-bg-2: #111923;--fd-bg-3: #1b2533;--fd-card: #151c27;--fd-panel: #151c27;--fd-panel-2: #1b2533;--fd-border: rgba(148, 163, 184, .24);--fd-border-strong: rgba(148, 163, 184, .36);--fd-text: #f3f7fc;--fd-muted: #94a3b8;--fd-muted-2: #64748b;--fd-input-bg: #0d1117;--fd-chip-bg: #111923;--fd-bottom-bar: #0d1117;background:var(--fd-bg-0)}.theme-light .frontdesk-surface{--fd-bg-0: #f4f5f7;--fd-bg-1: #ffffff;--fd-bg-2: #f8fafc;--fd-bg-3: #f1f5f9;--fd-card: #ffffff;--fd-panel: #ffffff;--fd-panel-2: #f8fafc;--fd-border: #d8dee8;--fd-border-strong: #cbd5e1;--fd-text: #0f172a;--fd-muted: #64748b;--fd-muted-2: #94a3b8;--fd-input-bg: #ffffff;--fd-chip-bg: #f1f5f9;--fd-bottom-bar: #ffffff;background:var(--fd-bg-0)}.app-shell--frontdesk{--accent-primary: #d8aa4c;--accent-primary-hover: #e0b85a;--accent-soft: rgba(216, 170, 76, .12);--nav-active-bg: rgba(216, 170, 76, .1)}.theme-dark .app-shell--frontdesk{--bg-primary: #080d14;--bg-app: #080d14;--bg-shell: #0f1823;--bg-surface: #111923;--bg-surface-2: #162130;--bg-card: #151b23;--bg-input: #0c1520;--bg-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f3f7fc;--text-secondary: rgba(255, 255, 255, .72);--text-muted: rgba(148, 163, 184, .72);--text-disabled: rgba(148, 163, 184, .4);color-scheme:dark}.theme-dark .app-shell--frontdesk .app-sidebar{background:#111923;border-right-color:#ffffff1a}.theme-dark .app-shell--frontdesk .app-header{background:#0f1823;border-bottom-color:#ffffff1a}.theme-dark .app-shell--frontdesk .app-main{background:#080d14}.app-shell--frontdesk .sidebar-nav-item.active{background:#d8aa4c1a!important;color:#d8aa4c!important;border-left-color:#d8aa4c!important}.app-shell--frontdesk .sidebar-nav-item.active svg{color:#d8aa4c!important}.theme-dark .app-shell--frontdesk .sidebar-nav-item{color:#94a3b8b8}:root{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-xs: 11px;--font-sm: 13px;--font-base: 15px;--font-md: 17px;--font-lg: 20px;--font-xl: 24px;--font-2xl: 30px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--transition: .2s ease;--azzurro-50: #f3f8fc;--azzurro-100: #e8f1f8;--azzurro-200: #d3e4f1;--azzurro-300: #b3d0e6;--azzurro-400: #8cb6d6;--azzurro-500: #5f95c0;--azzurro-600: #3f78a8;--azzurro-700: #2f5f89;--azzurro-800: #274d6f;--azzurro-900: #213f59;--ink: #0B1220;--ink-deep: #09111D;--stone: #5E6673;--sand: #F7F6F3;--line: #E7E5E1;--white: #FFFFFF;--gold: #B68A35;--success: #059669;--warning: #D97706;--danger: #DC2626;--shadow-soft: 0 20px 60px rgba(15, 23, 42, .08);--shadow-panel: 0 10px 30px rgba(2, 6, 23, .06)}.theme-dark{--bg-primary: #0f1724;--bg-surface: #16263c;--bg-card: #1a2c44;--bg-card-hover: #1f3352;--bg-input: #0f1c2e;--bg-overlay: rgba(7, 14, 26, .78);--border: rgba(255, 255, 255, .09);--border-focus: var(--azzurro-500);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f3f7fc;--text-secondary: #b7c6d8;--text-muted: #8ea3bb;--text-disabled: rgba(255, 255, 255, .35);--text-inverse: #0f1724;--accent-primary: var(--azzurro-600);--accent-primary-hover: var(--azzurro-700);--accent-primary-muted: rgba(95, 149, 192, .18);--accent-secondary: var(--gold);--accent-secondary-hover: #C9A042;--accent-secondary-muted: rgba(182, 138, 53, .15);--shadow-sm: 0 1px 0 rgba(255,255,255,.03);--shadow-card: var(--shadow-panel);--shadow-lg: var(--shadow-soft);--shadow-focus: 0 0 0 3px rgba(95, 149, 192, .3);--status-pending-bg: rgba(202,138,4,.12);--status-pending-fg: #D4A017;--status-pending-border: rgba(202,138,4,.25);--status-assigned-bg: rgba(59,130,246,.12);--status-assigned-fg: #6BA3F7;--status-assigned-border: rgba(59,130,246,.25);--status-active-bg: rgba(139,92,246,.12);--status-active-fg: #A78BFA;--status-active-border: rgba(139,92,246,.25);--status-arrived-bg: rgba(16,185,129,.12);--status-arrived-fg: #34D399;--status-arrived-border: rgba(16,185,129,.25);--status-overdue-bg: rgba(239,68,68,.12);--status-overdue-fg: #F87171;--status-overdue-border: rgba(239,68,68,.25);--status-complete-bg: rgba(16,185,129,.08);--status-complete-fg: #6EE7B7;--status-complete-border: rgba(16,185,129,.15);--status-cancelled-bg: rgba(107,114,128,.12);--status-cancelled-fg: #9CA3AF;--status-cancelled-border: rgba(107,114,128,.2)}.theme-light{--bg-primary: #F4F5F7;--bg-shell: #FFFFFF;--bg-surface: #FFFFFF;--bg-surface-2: #F8F9FB;--bg-card: #FFFFFF;--bg-card-hover: #F5F6F8;--bg-app: #F4F5F7;--bg-input: #FFFFFF;--bg-overlay: rgba(0,0,0,.4);--bg-hover: rgba(15, 23, 42, .04);--border: rgba(15, 23, 42, .1);--border-subtle: rgba(15, 23, 42, .06);--border-default: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .18);--border-focus: var(--azzurro-500);--text-primary: #0B1220;--text-secondary: #334155;--text-muted: #5E6B7A;--text-disabled: #9AA5B4;--text-inverse: #FFFFFF;--text-on-accent: #FFFFFF;--accent-primary: #2F5F89;--accent-primary-hover: #274D6F;--accent-primary-pressed:#213F59;--accent-primary-muted: rgba(47, 95, 137, .1);--accent-soft: rgba(47, 95, 137, .1);--accent-secondary: #9A7D08;--accent-secondary-hover: #7D6506;--accent-secondary-muted: rgba(154, 125, 8, .1);--success: #047857;--success-soft: rgba(4, 120, 87, .1);--warning: #B45309;--warning-soft: rgba(180, 83, 9, .1);--danger: #B91C1C;--danger-soft: rgba(185, 28, 28, .1);--info: #0369A1;--info-soft: rgba(3, 105, 161, .1);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-card: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.1);--shadow-focus: 0 0 0 3px rgba(47, 95, 137, .2);--state-active-bg: rgba(29, 78, 216, .08);--state-active-fg: #1D4ED8;--state-active-border: rgba(29, 78, 216, .2);--state-active-dot: #1D4ED8;--state-requested-bg: rgba(14, 116, 144, .08);--state-requested-fg: #0E7490;--state-requested-border: rgba(14, 116, 144, .2);--state-requested-dot: #0E7490;--state-expiring-bg: rgba(180, 83, 9, .08);--state-expiring-fg: #B45309;--state-expiring-border: rgba(180, 83, 9, .2);--state-expiring-dot: #B45309;--state-overtime-bg: rgba(185, 28, 28, .08);--state-overtime-fg: #B91C1C;--state-overtime-border: rgba(185, 28, 28, .2);--state-overtime-dot: #B91C1C;--state-approval-bg: rgba(180, 83, 9, .08);--state-approval-fg: #B45309;--state-approval-border: rgba(180, 83, 9, .2);--state-approval-dot: #B45309;--state-approved-bg: rgba(4, 120, 87, .08);--state-approved-fg: #047857;--state-approved-border: rgba(4, 120, 87, .2);--state-approved-dot: #047857;--state-denied-bg: rgba(185, 28, 28, .08);--state-denied-fg: #B91C1C;--state-denied-border: rgba(185, 28, 28, .2);--state-denied-dot: #B91C1C;--state-neutral-bg: rgba(75, 85, 99, .08);--state-neutral-fg: #4B5563;--state-neutral-border: rgba(75, 85, 99, .14);--state-neutral-dot: #4B5563;--status-pending-bg: #FEF3C7;--status-pending-fg: #92400E;--status-pending-border: #FDE68A;--status-assigned-bg: #DBEAFE;--status-assigned-fg: #1E40AF;--status-assigned-border: #BFDBFE;--status-active-bg: #EDE9FE;--status-active-fg: #5B21B6;--status-active-border: #DDD6FE;--status-arrived-bg: #D1FAE5;--status-arrived-fg: #065F46;--status-arrived-border: #A7F3D0;--status-overdue-bg: #FEE2E2;--status-overdue-fg: #991B1B;--status-overdue-border: #FECACA;--status-complete-bg: #F0FDF4;--status-complete-fg: #166534;--status-complete-border: #BBF7D0;--status-cancelled-bg: #F3F4F6;--status-cancelled-fg: #6B7280;--status-cancelled-border:#E5E7EB}.rdp{--rdp-background-color: var(--bg-hover, rgba(59, 130, 246, .15));--rdp-accent-color: var(--accent-primary, #3B82F6);--rdp-day-font: inherit;color:var(--text-primary)}.rdp-button:hover:not([disabled]):not(.rdp-day_selected){background-color:var(--bg-hover)}.rdp-day_selected,.rdp-day_selected:focus-visible,.rdp-day_selected:hover{background-color:var(--accent-primary);color:#fff}.rdp-day_selected:not([disabled]){background-color:var(--accent-primary);color:#fff}.rdp-nav_button{color:var(--text-primary)}.rdp-month_caption{color:var(--text-primary);font-weight:600}.rdp-weekday{color:var(--text-muted);font-size:12px}.rdp-day_button{color:var(--text-primary)}.rdp-day_outside{opacity:.4}.rdp-root{--rdp-accent-color: var(--accent-primary, #3B82F6);--rdp-background-color: var(--bg-hover, rgba(59, 130, 246, .15))}.ui-page{max-width:var(--content-max-width);margin:0;padding:12px 16px 24px;color:var(--text-primary)}@media(min-width:768px){.ui-page{padding:16px 20px 28px}}@media(min-width:1024px){.ui-page{padding:20px 24px 32px}}.ui-page-title{font:var(--font-weight-bold) var(--font-size-page-title) / var(--line-height-tight) var(--font-family-sans);color:var(--text-primary);margin:0}.ui-page-subtitle{font:var(--font-weight-regular) var(--font-size-body) / var(--line-height-normal) var(--font-family-sans);color:var(--text-muted);margin:4px 0 0}.ui-section-label{font:var(--font-weight-bold) var(--font-size-section-label) / 1 var(--font-family-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 8px}.ui-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}.ui-card--interactive:hover{background:var(--bg-card-hover)}.ui-kpi-card{padding:12px;min-height:86px;display:flex;flex-direction:column;justify-content:space-between}.ui-kpi-label{font:var(--font-weight-bold) var(--font-size-section-label) / 1.2 var(--font-family-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.ui-kpi-value{font:var(--font-weight-bold) var(--font-size-kpi) / 1 var(--font-family-sans);color:var(--text-primary)}.ui-list-row{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-default)}.ui-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-pill);font:var(--font-weight-semibold) var(--font-size-meta) / 1 var(--font-family-sans)}.ui-pill--available{background:var(--state-available-bg);color:var(--state-available-fg)}.ui-pill--pending{background:var(--state-pending-bg);color:var(--state-pending-fg)}.ui-pill--overtime{background:var(--state-overtime-bg);color:var(--state-overtime-fg)}.ui-pill--assigned{background:var(--state-assigned-bg);color:var(--state-assigned-fg)}.ui-input,.ui-select,.ui-textarea{width:100%;border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-input);font:var(--font-weight-regular) var(--font-size-body) / 1.4 var(--font-family-sans);box-sizing:border-box}.ui-input,.ui-select{height:var(--control-height);padding:0 12px}.ui-textarea{min-height:96px;padding:10px 12px;resize:vertical}@media(max-width:767px){.ui-input,.ui-select{height:var(--control-height-touch)}}.ui-button{min-height:var(--button-height);padding:0 14px;border:0;border-radius:12px;font:var(--font-weight-semibold) var(--font-size-body) / 1 var(--font-family-sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}@media(max-width:767px){.ui-button{min-height:var(--button-height-touch)}}.ui-button--primary{background:var(--accent-primary);color:var(--text-on-accent)}.ui-button--secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.ui-button--danger{background:var(--danger);color:var(--text-on-accent)}.ui-sheet-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}:root{--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 32px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 22px;--font-size-2xl: 26px;--font-size-3xl: 32px;--font-size-4xl: 40px;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--transition-fast: .15s ease;--transition-base: .25s ease;--z-dropdown: 1000;--z-modal: 1100;--z-tooltip: 1200;--z-toast: 1300}@media(max-width:1024px){:root{--sidebar-width: 80px;--header-height: 56px;--content-padding: 16px;--card-padding: 12px}}@media(min-width:1025px)and (max-width:1439px){:root{--sidebar-width: 248px;--header-height: 64px;--content-padding: 20px;--card-padding: 16px}}@media(min-width:1440px){:root{--sidebar-width: 248px;--header-height: 64px;--content-padding: 24px;--card-padding: 20px}}.app-shell{height:100vh;width:100%;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-base)}.sidebar-header{padding:16px 20px;border-bottom:1px solid var(--border)}.sidebar-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.sidebar-content{padding:16px 0;overflow-y:auto;overflow-x:hidden;flex:1}.sidebar-expanded{width:var(--sidebar-width)}.sidebar-collapsed{width:80px}.nav-group-label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--border-radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item:active{background:var(--accent-primary);color:#fff;font-weight:600}.nav-item-icon{width:20px;height:20px;display:flex;align-items:center;color:var(--text-muted)}.nav-item-label{color:var(--text-primary);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{background:var(--accent-error);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:12px;margin-left:8px}.collapse-toggle{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-muted);padding:4px;cursor:pointer;border-radius:4px}.collapse-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.header{background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 24px;grid-column:2 / span 2}.header-left{display:flex;align-items:center;gap:16px}.location-name{font-size:16px;font-weight:700;color:var(--text-primary)}.header-divider{color:var(--text-muted);font-size:14px}.current-page{font-size:14px;color:var(--text-muted);font-weight:500}.header-center{display:flex;align-items:center;gap:12px}.status-indicators{display:flex;gap:8px;align-items:center}.header-right{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.header-button{background:transparent;border:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.header-button:hover{background:var(--bg-hover);color:var(--text-primary)}.main-content{overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.content-wrapper{flex:1;overflow:hidden;display:flex;flex-direction:column}.content-area{overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);flex:1}.page-content{overflow-y:auto;overflow-x:hidden;padding:var(--content-padding)}.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.grid-3-col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.grid-4-col{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--card-padding);box-shadow:0 1px 3px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.card-title{font-size:16px;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:var(--spacing-2)}.card-actions{display:flex;gap:var(--spacing-2)}.card-body{color:var(--text-primary);line-height:var(--line-height-normal)}.status-dot{width:8px;height:8px;border-radius:50%}.status-ok{background:#10b981}.status-warning{background:#f59e0b}.status-error{background:#ef4444}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--text-muted)}.loading-spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0);border-top-color:var(--accent-primary)}to{transform:rotate(360deg);border-top-color:var(--accent-primary)}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:var(--bg-surface)}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.page-content::-webkit-scrollbar{width:8px}.page-content::-webkit-scrollbar-track{background:var(--bg-surface)}.page-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}*:focus-visible>*{outline:none}@media(max-width:1024px){.nav-item-label{font-size:13px}.card{padding:var(--card-padding)}}@media print{.sidebar,.header,.header-button{display:none}.main-content{display:block;overflow:visible}}.rdp-root{--rdp-accent-color: var(--accent-primary, #3B82F6);--rdp-background-color: var(--bg-hover, rgba(59, 130, 246, .15));color:var(--text-primary, #E5E7EB)}.rdp-root .rdp-button:hover:not([disabled]):not(.rdp-day_selected){background-color:var(--bg-hover, rgba(255,255,255,.05))}.rdp-root .rdp-day_selected,.rdp-root .rdp-day_selected:focus-visible,.rdp-root .rdp-day_selected:hover{background-color:var(--accent-primary, #3B82F6);color:#fff}.rdp-root .rdp-nav_button{color:var(--text-primary, #E5E7EB)}.rdp-root .rdp-chevron{fill:var(--text-primary, #E5E7EB)}.rdp-root .rdp-month_caption{color:var(--text-primary, #E5E7EB);font-weight:600}.rdp-root .rdp-weekday{color:var(--text-muted, #6B7280);font-size:12px}.rdp-root .rdp-day_button{color:var(--text-primary, #E5E7EB)}.rdp-root .rdp-day_outside{opacity:.4}.rdp-root .rdp-day_today:not(.rdp-day_selected){font-weight:700;color:var(--accent-primary, #3B82F6)}.rdp-root .rdp-months{display:flex;justify-content:center}.rdp-root .rdp-month_grid{border-collapse:collapse}
