:root{--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 28px;--radius-pill: 9999px;--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-emphasized-decel: cubic-bezier(.05, .7, .1, 1);--ease-spring: cubic-bezier(.34, 1.45, .64, 1);--duration-short: .18s;--duration-medium: .28s;--duration-long: .42s;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-display: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--shadow-1: 0 1px 3px rgba(0, 31, 36, .08), 0 1px 2px rgba(0, 31, 36, .05);--shadow-2: 0 4px 12px rgba(0, 31, 36, .1), 0 2px 4px rgba(0, 31, 36, .06);--shadow-3: 0 12px 32px rgba(0, 31, 36, .14), 0 4px 10px rgba(0, 31, 36, .08);--shadow-fab: 0 6px 18px rgba(0, 104, 116, .28), 0 2px 6px rgba(0, 31, 36, .14);--md-primary: #006874;--md-on-primary: #ffffff;--md-primary-container: #97f0ff;--md-on-primary-container: #001f24;--md-secondary: #4a6267;--md-on-secondary: #ffffff;--md-secondary-container: #cde7ec;--md-on-secondary-container: #051f23;--md-tertiary: #b44b23;--md-on-tertiary: #ffffff;--md-tertiary-container: #ffdbd0;--md-on-tertiary-container: #390c00;--md-warning: #8c5000;--md-warning-container: #ffdcba;--md-on-warning-container: #2d1600;--md-success: #146c43;--md-success-container: #c4eed0;--md-on-success-container: #042111;--md-purple: #5d4b8c;--md-purple-container: #e8ddff;--md-on-purple-container: #1b0b42;--md-error: #ba1a1a;--md-on-error: #ffffff;--md-error-container: #ffdad6;--md-on-error-container: #410002;--md-surface: #f4fafb;--md-surface-dim: #d5dbdc;--md-surface-bright: #f4fafb;--md-surface-container-lowest: #ffffff;--md-surface-container-low: #eef5f6;--md-surface-container: #e8eff0;--md-surface-container-high: #e2e9eb;--md-surface-container-highest: #dce4e5;--md-on-surface: #161d1e;--md-on-surface-variant: #3f484a;--md-outline: #6f797b;--md-outline-variant: #bfc8ca;--md-inverse-surface: #2b3133;--md-inverse-on-surface: #ecf2f3;--md-scrim: rgba(11, 20, 22, .45)}[data-theme=dark]{--shadow-1: 0 1px 3px rgba(0, 0, 0, .32), 0 1px 2px rgba(0, 0, 0, .24);--shadow-2: 0 4px 14px rgba(0, 0, 0, .38), 0 2px 5px rgba(0, 0, 0, .25);--shadow-3: 0 14px 36px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .35);--shadow-fab: 0 6px 20px rgba(0, 0, 0, .48), 0 2px 6px rgba(79, 216, 235, .18);--md-primary: #4fd8eb;--md-on-primary: #00363d;--md-primary-container: #004f58;--md-on-primary-container: #97f0ff;--md-secondary: #b1cbd0;--md-on-secondary: #1c3438;--md-secondary-container: #334b4f;--md-on-secondary-container: #cde7ec;--md-tertiary: #ffb59c;--md-on-tertiary: #5d1900;--md-tertiary-container: #862e0c;--md-on-tertiary-container: #ffdbd0;--md-warning: #ffb870;--md-warning-container: #633600;--md-on-warning-container: #ffdcba;--md-success: #7bd89e;--md-success-container: #0d4a2c;--md-on-success-container: #c4eed0;--md-purple: #cbbaff;--md-purple-container: #453372;--md-on-purple-container: #e8ddff;--md-error: #ffb4ab;--md-on-error: #690005;--md-error-container: #93000a;--md-on-error-container: #ffdad6;--md-surface: #0e1415;--md-surface-dim: #0e1415;--md-surface-bright: #343a3b;--md-surface-container-lowest: #090f10;--md-surface-container-low: #161d1e;--md-surface-container: #1a2122;--md-surface-container-high: #252b2c;--md-surface-container-highest: #2f3637;--md-on-surface: #dee3e4;--md-on-surface-variant: #bfc8ca;--md-outline: #899294;--md-outline-variant: #3f484a;--md-inverse-surface: #dee3e4;--md-inverse-on-surface: #2b3133;--md-scrim: rgba(0, 0, 0, .64)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--md-surface);color:var(--md-on-surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.45;-webkit-text-size-adjust:100%}#root{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit;touch-action:manipulation}button,a{cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tabular{font-variant-numeric:tabular-nums}.display-md{font-family:var(--font-display);font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;font-variant-numeric:tabular-nums}.headline-md{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:750;letter-spacing:-.015em;line-height:1.22}.title-lg{font-size:1.125rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.title-md{font-size:.975rem;font-weight:650;line-height:1.35}.label-md{font-size:.78rem;font-weight:600;letter-spacing:.02em}.body-sm{font-size:.85rem;color:var(--md-on-surface-variant)}.app-shell{display:flex;min-height:100dvh;background:var(--md-surface)}.nav-rail{display:none}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.app-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top,0px)) 16px 12px;background:color-mix(in srgb,var(--md-surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--md-outline-variant) 45%,transparent)}.app-content{width:100%;max-width:1200px;margin:0 auto;padding:16px 16px 32px;display:flex;flex-direction:column;gap:16px;animation:fadeSlideIn var(--duration-medium) var(--ease-emphasized-decel)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--md-surface-container);border-top:1px solid color-mix(in srgb,var(--md-outline-variant) 50%,transparent);box-shadow:0 -4px 20px #0000000f}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 2px;color:var(--md-on-surface-variant);font-size:.72rem;font-weight:600;transition:color var(--duration-short) var(--ease-emphasized)}.bottom-nav-pill{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:var(--radius-pill);transition:background-color var(--duration-medium) var(--ease-spring),transform var(--duration-short) var(--ease-spring),width var(--duration-medium) var(--ease-spring)}.bottom-nav-item.active{color:var(--md-on-surface);font-weight:700}.bottom-nav-item.active .bottom-nav-pill{background:var(--md-primary-container);color:var(--md-on-primary-container);width:64px}.bottom-nav-item:active .bottom-nav-pill{transform:scale(.92)}.m3-fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:28;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;min-width:56px;padding:0 18px;border-radius:18px;background:var(--md-primary);color:var(--md-on-primary);font-weight:700;font-size:.95rem;box-shadow:var(--shadow-fab);transition:transform var(--duration-short) var(--ease-spring),border-radius var(--duration-medium) var(--ease-spring),box-shadow var(--duration-short) var(--ease-emphasized)}.m3-fab:hover{transform:translateY(-2px);border-radius:22px}.m3-fab:active{transform:scale(.95)}.m3-fab-label{display:none}@media(min-width:840px){.nav-rail{position:sticky;top:0;height:100dvh;width:96px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:16px 10px;gap:12px;background:var(--md-surface-container-low);border-right:1px solid color-mix(in srgb,var(--md-outline-variant) 50%,transparent)}.nav-rail-brand-text{display:none}.nav-rail-items{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.nav-rail-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;color:var(--md-on-surface-variant);font-size:.72rem;font-weight:600;border-radius:var(--radius-md)}.nav-rail-pill{display:flex;align-items:center;justify-content:center;width:56px;height:32px;border-radius:var(--radius-pill);transition:background-color var(--duration-medium) var(--ease-spring),transform var(--duration-short) var(--ease-spring)}.nav-rail-item:hover .nav-rail-pill{background:var(--md-surface-container-high)}.nav-rail-item.active{color:var(--md-on-surface);font-weight:750}.nav-rail-item.active .nav-rail-pill{background:var(--md-primary-container);color:var(--md-on-primary-container)}.bottom-nav{display:none}.app-main{padding-bottom:32px}.app-content{padding:20px 28px 48px;gap:20px}.m3-fab{right:28px;bottom:28px;padding:0 22px;border-radius:20px}.m3-fab-label{display:inline}}@media(min-width:1120px){.nav-rail{width:224px;align-items:stretch;padding:18px 14px}.nav-rail-brand-text{display:block}.nav-rail-item{flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px;font-size:.88rem;border-radius:var(--radius-pill);transition:background-color var(--duration-short) var(--ease-emphasized)}.nav-rail-pill{width:auto;height:auto;background:transparent!important}.nav-rail-item:hover{background:var(--md-surface-container-high)}.nav-rail-item.active{background:var(--md-primary-container);color:var(--md-on-primary-container)}}.m3-card{background:var(--md-surface-container-lowest);border:1px solid color-mix(in srgb,var(--md-outline-variant) 55%,transparent);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-1)}.m3-card-tonal{background:var(--md-surface-container-low);border:1px solid color-mix(in srgb,var(--md-outline-variant) 40%,transparent);border-radius:var(--radius-lg);padding:18px}.m3-card-primary{background:linear-gradient(135deg,var(--md-primary-container),color-mix(in srgb,var(--md-primary-container) 72%,var(--md-surface-container-lowest)));color:var(--md-on-primary-container);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-1)}.m3-card-tertiary{background:linear-gradient(135deg,var(--md-tertiary-container),color-mix(in srgb,var(--md-tertiary-container) 72%,var(--md-surface-container-lowest)));color:var(--md-on-tertiary-container);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-1)}.m3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--radius-pill);font-weight:650;font-size:.88rem;transition:transform var(--duration-short) var(--ease-spring),background-color var(--duration-short) var(--ease-emphasized),box-shadow var(--duration-short) var(--ease-emphasized)}.m3-btn:active{transform:scale(.97)}.m3-btn:disabled{opacity:.45;cursor:not-allowed}.m3-btn-filled{background:var(--md-primary);color:var(--md-on-primary)}.m3-btn-filled:hover:not(:disabled){box-shadow:var(--shadow-2)}.m3-btn-tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.m3-btn-tertiary{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}.m3-btn-outlined{border:1.5px solid var(--md-outline-variant);background:transparent;color:var(--md-on-surface)}.m3-btn-outlined:hover:not(:disabled){background:var(--md-surface-container)}.m3-btn-text{background:transparent;color:var(--md-primary);padding:0 12px}.m3-btn-text:hover:not(:disabled){background:color-mix(in srgb,var(--md-primary) 10%,transparent)}.m3-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-pill);color:var(--md-on-surface-variant);transition:background-color var(--duration-short) var(--ease-emphasized)}.m3-icon-btn:hover{background:var(--md-surface-container-high);color:var(--md-on-surface)}.m3-chip-row{display:flex;flex-wrap:wrap;gap:8px}.m3-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--md-outline-variant);background:var(--md-surface-container-lowest);color:var(--md-on-surface-variant);font-size:.82rem;font-weight:600;transition:border-radius var(--duration-medium) var(--ease-spring),background-color var(--duration-short) var(--ease-emphasized),color var(--duration-short) var(--ease-emphasized),transform var(--duration-short) var(--ease-spring)}.m3-chip.selected{border-radius:var(--radius-pill);border-color:transparent;background:var(--md-primary-container);color:var(--md-on-primary-container)}.m3-chip:active{transform:scale(.96)}.m3-segmented{display:inline-flex;background:var(--md-surface-container);border-radius:var(--radius-pill);padding:4px;gap:4px;border:1px solid color-mix(in srgb,var(--md-outline-variant) 45%,transparent)}.m3-segmented-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--radius-pill);font-size:.82rem;font-weight:650;color:var(--md-on-surface-variant);transition:background-color var(--duration-short) var(--ease-emphasized),color var(--duration-short) var(--ease-emphasized)}.m3-segmented-btn.active{background:var(--md-surface-container-lowest);color:var(--md-primary);box-shadow:var(--shadow-1)}.m3-field{display:flex;flex-direction:column;gap:6px}.m3-field-label{font-size:.82rem;font-weight:650;color:var(--md-on-surface-variant)}.m3-input,.m3-select,.m3-textarea{width:100%;min-width:0;max-width:100%;padding:11px 14px;border-radius:var(--radius-md);border:1.5px solid var(--md-outline-variant);background:var(--md-surface-container-lowest);color:var(--md-on-surface);font-size:16px;transition:border-color var(--duration-short) var(--ease-emphasized)}.m3-input:focus,.m3-select:focus,.m3-textarea:focus{outline:none;border-color:var(--md-primary)}.rgpd-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--md-warning-container);color:var(--md-on-warning-container);font-size:.77rem;font-weight:600}.m3-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--md-scrim);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .18s ease-out}.m3-sheet{width:100%;max-width:640px;max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:var(--md-surface-container-low);color:var(--md-on-surface);border-radius:28px 28px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-3);animation:sheetUp var(--duration-medium) var(--ease-spring)}.m3-sheet-handle{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--md-outline-variant);margin:0 auto 14px}@media(min-width:720px){.m3-scrim{align-items:center;padding:20px}.m3-sheet{border-radius:28px;max-height:88dvh;padding:22px 26px 26px}.m3-sheet-handle{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.m3-snackbar{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:12px;min-width:min(92vw,320px);max-width:min(94vw,520px);padding:12px 16px;border-radius:var(--radius-md);background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);box-shadow:var(--shadow-3);font-size:.88rem;font-weight:550;animation:snackbarIn var(--duration-short) var(--ease-spring)}@media(min-width:840px){.m3-snackbar{bottom:24px}}@keyframes snackbarIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:680px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.cal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:780px){.cal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}@media(min-width:640px){.cal-grid{gap:8px}}.cal-day-cell{min-height:70px;padding:5px 4px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--md-outline-variant) 45%,transparent);background:var(--md-surface-container-lowest);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;text-align:left;position:relative;min-width:0;overflow:hidden;transition:transform var(--duration-short) var(--ease-spring),border-color var(--duration-short) var(--ease-emphasized),background-color var(--duration-short) var(--ease-emphasized)}@media(min-width:720px){.cal-day-cell{min-height:98px;padding:8px;gap:4px;border-radius:var(--radius-md)}}.cal-holiday-label{display:none}@media(min-width:640px){.cal-holiday-label{display:inline}}.cal-holiday-dot{width:6px;height:6px;border-radius:9999px;background:var(--md-tertiary);flex-shrink:0}@media(min-width:640px){.cal-holiday-dot{display:none}}.shift-label-desktop{display:none}.shift-label-mobile{display:inline}@media(min-width:640px){.shift-label-desktop{display:inline}.shift-label-mobile{display:none}}@media(max-width:639px){.shift-badge{padding:2px 4px;font-size:.63rem;gap:2px;border-radius:6px;justify-content:center}}.cal-day-cell:hover{border-color:var(--md-primary);transform:translateY(-1px)}.cal-day-cell.outside{opacity:.42;background:var(--md-surface-container-low)}.cal-day-cell.today{border:2px solid var(--md-primary)}.cal-day-cell.is-holiday{background:color-mix(in srgb,var(--md-tertiary-container) 26%,var(--md-surface-container-lowest))}.cal-day-cell.is-saliente{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--md-secondary-container) 55%,transparent),color-mix(in srgb,var(--md-secondary-container) 55%,transparent) 6px,transparent 6px,transparent 12px)}.shift-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:9px;font-size:.69rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-weekday{background:var(--md-primary-container);color:var(--md-on-primary-container)}.shift-holiday{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}.shift-special{background:var(--md-tertiary);color:var(--md-on-tertiary)}.shift-localized{background:var(--md-purple-container);color:var(--md-on-purple-container);border:1px dashed var(--md-purple)}.shift-reinforcement{background:var(--md-warning-container);color:var(--md-on-warning-container)}.shift-vacation{background:var(--md-success-container);color:var(--md-on-success-container)}.shift-saliente{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
