:root{--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--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 2px rgba(15, 23, 28, .06), 0 1px 3px rgba(15, 23, 28, .04);--shadow-2: 0 6px 16px rgba(15, 23, 28, .08), 0 2px 5px rgba(15, 23, 28, .05);--shadow-3: 0 16px 38px rgba(15, 23, 28, .14), 0 4px 12px rgba(15, 23, 28, .07);--shadow-fab: 0 8px 22px rgba(20, 77, 86, .24), 0 2px 6px rgba(15, 23, 28, .12);--md-primary: #144d56;--md-on-primary: #ffffff;--md-primary-container: #dde8eb;--md-on-primary-container: #0c2e34;--md-secondary: #4a5761;--md-on-secondary: #ffffff;--md-secondary-container: #e6eaee;--md-on-secondary-container: #1f272e;--md-tertiary: #8c3826;--md-on-tertiary: #ffffff;--md-tertiary-container: #f3e3df;--md-on-tertiary-container: #4a1910;--md-warning: #8a5614;--md-warning-container: #f3ead9;--md-on-warning-container: #452905;--md-success: #235942;--md-success-container: #e0ebe5;--md-on-success-container: #0f3021;--md-purple: #4a4273;--md-purple-container: #e8e6f1;--md-on-purple-container: #221d3e;--md-error: #9e2525;--md-on-error: #ffffff;--md-error-container: #f5e2e2;--md-on-error-container: #4d0d0d;--md-surface: #f5f6f7;--md-surface-dim: #dfe3e6;--md-surface-bright: #ffffff;--md-surface-container-lowest: #ffffff;--md-surface-container-low: #f0f2f4;--md-surface-container: #e8ebee;--md-surface-container-high: #dfe4e8;--md-surface-container-highest: #d5dce0;--md-on-surface: #14191d;--md-on-surface-variant: #4f5961;--md-outline: #79848d;--md-outline-variant: #cfd6dc;--md-inverse-surface: #1e2429;--md-inverse-on-surface: #eef1f3;--md-scrim: rgba(12, 17, 21, .52)}[data-theme=dark]{--shadow-1: 0 1px 3px rgba(0, 0, 0, .36), 0 1px 2px rgba(0, 0, 0, .24);--shadow-2: 0 6px 18px rgba(0, 0, 0, .44), 0 2px 6px rgba(0, 0, 0, .28);--shadow-3: 0 16px 40px rgba(0, 0, 0, .56), 0 4px 12px rgba(0, 0, 0, .38);--shadow-fab: 0 8px 24px rgba(0, 0, 0, .52), 0 2px 8px rgba(111, 179, 190, .16);--md-primary: #6fb3be;--md-on-primary: #0b252a;--md-primary-container: #19363c;--md-on-primary-container: #cee3e7;--md-secondary: #aab6bf;--md-on-secondary: #1e252b;--md-secondary-container: #262d33;--md-on-secondary-container: #d8e0e6;--md-tertiary: #d68d7b;--md-on-tertiary: #3b130b;--md-tertiary-container: #45241d;--md-on-tertiary-container: #f3dad4;--md-warning: #d1a05a;--md-warning-container: #3a2b16;--md-on-warning-container: #f0dfbe;--md-success: #79b396;--md-success-container: #1a3528;--md-on-success-container: #d0e7db;--md-purple: #aaa2d6;--md-purple-container: #28243f;--md-on-purple-container: #dedaf2;--md-error: #dd8484;--md-on-error: #450b0b;--md-error-container: #481c1c;--md-on-error-container: #f6dada;--md-surface: #0e1114;--md-surface-dim: #0b0d10;--md-surface-bright: #2e343a;--md-surface-container-lowest: #0a0c0f;--md-surface-container-low: #15191d;--md-surface-container: #1b2025;--md-surface-container-high: #23292f;--md-surface-container-highest: #2c333a;--md-on-surface: #e5e9ec;--md-on-surface-variant: #9da7af;--md-outline: #6c767f;--md-outline-variant: #2f363d;--md-inverse-surface: #e5e9ec;--md-inverse-on-surface: #1e2429;--md-scrim: rgba(0, 0, 0, .68)}*,*: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(145deg,color-mix(in srgb,var(--md-primary-container) 78%,var(--md-surface-container-lowest)),var(--md-surface-container-lowest) 92%);color:var(--md-on-surface);border:1px solid color-mix(in srgb,var(--md-primary) 22%,var(--md-outline-variant));border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-1)}.m3-card-tertiary{background:linear-gradient(145deg,color-mix(in srgb,var(--md-tertiary-container) 76%,var(--md-surface-container-lowest)),var(--md-surface-container-lowest) 92%);color:var(--md-on-surface);border:1px solid color-mix(in srgb,var(--md-tertiary) 22%,var(--md-outline-variant));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:var(--md-primary);background:var(--md-primary);color:var(--md-on-primary);box-shadow:var(--shadow-1)}.m3-chip:active{transform:scale(.96)}.m3-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:700;border:1px solid transparent}.m3-badge-primary{background:var(--md-primary-container);color:var(--md-on-primary-container);border-color:color-mix(in srgb,var(--md-primary) 28%,transparent)}.m3-badge-tertiary{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container);border-color:color-mix(in srgb,var(--md-tertiary) 28%,transparent)}.m3-badge-error{background:var(--md-error-container);color:var(--md-on-error-container);border-color:color-mix(in srgb,var(--md-error) 28%,transparent)}.m3-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.83rem;font-weight:600;border-left:3px solid var(--md-outline);background:var(--md-surface-container);color:var(--md-on-surface)}.m3-alert.error{border-left-color:var(--md-error);background:var(--md-error-container);color:var(--md-on-error-container)}.m3-alert.warning{border-left-color:var(--md-warning);background:var(--md-warning-container);color:var(--md-on-warning-container)}.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-surface-container);border-left:3px solid var(--md-warning);color:var(--md-on-surface-variant);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);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-primary) 20%,transparent)}.cal-day-cell.is-holiday{background:color-mix(in srgb,var(--md-tertiary-container) 34%,var(--md-surface-container-lowest))}.cal-day-cell.is-saliente{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--md-secondary-container) 62%,transparent),color-mix(in srgb,var(--md-secondary-container) 62%,transparent) 6px,transparent 6px,transparent 12px)}.shift-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:7px;font-size:.69rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent}.shift-weekday{background:var(--md-primary-container);color:var(--md-on-primary-container);border-left:3px solid var(--md-primary)}.shift-holiday{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container);border-left:3px solid var(--md-tertiary)}.shift-special{background:var(--md-tertiary);color:var(--md-on-tertiary);border-color:var(--md-tertiary)}.shift-localized{background:var(--md-purple-container);color:var(--md-on-purple-container);border:1px dashed var(--md-purple);border-left:3px solid var(--md-purple)}.shift-reinforcement{background:var(--md-warning-container);color:var(--md-on-warning-container);border-left:3px solid var(--md-warning)}.shift-vacation{background:var(--md-success-container);color:var(--md-on-success-container);border-left:3px solid var(--md-success)}.shift-saliente{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border:1px solid color-mix(in srgb,var(--md-secondary) 26%,transparent)}
