:root{--brand-blue-dark: #3e8faf;--brand-blue: #65d5ef;--brand-blue-light: #b2e8f7;--brand-violet: #8f92d1;--brand-yellow: #f4d373;--brand-dark: #383838;--color-primary-50: #f0f9fc;--color-primary-100: #d9eef5;--color-primary-200: #b2dde9;--color-primary-300: #8bcbdc;--color-primary-400: #65bad0;--color-primary-500: #3e8faf;--color-primary-600: #2f7894;--color-primary-700: #235e75;--color-primary-800: #194556;--color-primary-900: #102d38;--color-accent-100: #e6f7fd;--color-accent-200: #b2e8f7;--color-accent-300: #8edff3;--color-accent-400: #65d5ef;--color-accent-500: #2bb8d8;--color-violet-100: #eaebf6;--color-violet-200: #cfd0e9;--color-violet-300: #b0b2dd;--color-violet-400: #8f92d1;--color-violet-500: #6669be;--color-yellow-100: #fdf5dc;--color-yellow-200: #faead0;--color-yellow-300: #f4d373;--color-yellow-400: #eebc46;--color-yellow-500: #c89a2c;--color-neutral-0: #ffffff;--color-neutral-50: #fafafa;--color-app-bg: #f7f9ff;--color-neutral-100: #f4f4f5;--color-neutral-200: #e5e5e7;--color-neutral-300: #d4d4d8;--color-neutral-400: #a1a1aa;--color-neutral-500: #71717a;--color-neutral-600: #52525b;--color-neutral-700: #404048;--color-neutral-800: #383838;--color-neutral-900: #1a1a1d;--color-success-100: #d1fae5;--color-success-500: #10b981;--color-success-700: #047857;--color-warning-100: #fef3c7;--color-warning-500: #f4d373;--color-warning-700: #a16207;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-700: #b91c1c;--color-info-100: #e6f7fd;--color-info-500: #65d5ef;--color-info-700: #2f7894;--color-bg: var(--color-neutral-50);--color-surface: var(--color-neutral-0);--color-surface-alt: var(--color-neutral-100);--color-border: var(--color-neutral-200);--color-border-strong: var(--color-neutral-300);--color-text: var(--color-neutral-800);--color-text-muted: var(--color-neutral-600);--color-text-subtle: var(--color-neutral-500);--color-text-on-primary: var(--color-neutral-0);--color-action: var(--color-primary-600);--color-action-hover: var(--color-primary-700);--color-action-active: var(--color-primary-800);--color-focus-ring: var(--color-primary-500);--color-background: var(--color-bg);--color-icon: var(--color-primary-600);--color-button: var(--color-primary-600);--color-card: var(--color-surface);--color-ink: var(--color-primary-700);--color-ink-deep: var(--color-primary-800);--color-accent-teal: var(--color-primary-500);--color-icon-tint: rgba(62, 143, 175, .1);--font-sans: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;--font-size-xs: clamp(.75rem, .71rem + .18vw, .8125rem);--font-size-sm: clamp(.875rem, .83rem + .22vw, .9375rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--font-size-lg: clamp(1.125rem, 1.06rem + .32vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.16rem + .45vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.36rem + .71vw, 2rem);--font-size-3xl: clamp(1.875rem, 1.65rem + 1.13vw, 2.625rem);--font-size-4xl: clamp(2.25rem, 1.93rem + 1.6vw, 3.25rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .04em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-pill: 9999px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(56, 56, 56, .05);--shadow-sm: 0 1px 3px rgba(56, 56, 56, .08), 0 1px 2px rgba(56, 56, 56, .04);--shadow-md: 0 4px 6px -1px rgba(56, 56, 56, .08), 0 2px 4px -2px rgba(56, 56, 56, .05);--shadow-lg: 0 10px 15px -3px rgba(56, 56, 56, .08), 0 4px 6px -4px rgba(56, 56, 56, .05);--shadow-xl: 0 20px 25px -5px rgba(56, 56, 56, .1), 0 8px 10px -6px rgba(56, 56, 56, .05);--shadow-modal: 0 18px 48px rgba(10, 16, 18, .22);--shadow-focus-ring: 0 0 0 3px rgba(62, 143, 175, .35);--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-overlay: 1200;--z-modal: 1300;--z-popover: 1400;--z-toast: 1500;--z-tooltip: 1600;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--easing-standard: cubic-bezier(.4, 0, .2, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1);--container-max: 1280px;--container-padding-inline: clamp(1rem, 4vw, 2rem);font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg)}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 1ms;--duration-base: 1ms;--duration-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}p{line-height:var(--line-height-relaxed)}a{color:var(--color-action);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--duration-fast) var(--easing-standard)}a:hover{color:var(--color-action-hover)}img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary-200);color:var(--color-primary-900)}*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.skip-link{position:absolute;top:-100px;left:var(--space-2);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background:var(--color-action);color:var(--color-text-on-primary);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);text-decoration:none;transition:top var(--duration-fast) var(--easing-standard)}.skip-link:focus,.skip-link:focus-visible{top:var(--space-2);color:var(--color-text-on-primary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding-inline)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--primary{background:var(--color-action);color:var(--color-text-on-primary)}.btn--primary:hover{background:var(--color-action-hover)}.btn--primary:active{background:var(--color-action-active)}.btn--secondary{background:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-200)}.btn--secondary:hover{background:var(--color-primary-100);border-color:var(--color-primary-300)}.btn--ghost{background:transparent;color:var(--color-text)}.btn--ghost:hover{background:var(--color-surface-alt)}.btn--neutral{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--neutral:hover{background:var(--color-surface-alt)}.btn--danger{background:var(--color-error-500);color:var(--color-neutral-0)}.btn--danger:hover{background:var(--color-error-700)}.btn--danger-soft{background:var(--color-error-100);color:var(--color-error-700)}.btn--danger-soft:hover{background:var(--color-error-500);color:var(--color-neutral-0)}.btn--success{background:var(--color-success-500);color:var(--color-neutral-0)}.btn--success:hover{background:var(--color-success-700)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn--pill{border-radius:var(--radius-pill)}.btn--block{width:100%}.btn--icon{width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-md)}.btn--icon.btn--sm{width:1.75rem;height:1.75rem}.btn--icon.btn--lg{width:2.75rem;height:2.75rem}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.secondary-button:hover{background:var(--color-primary-100)}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:0;background:var(--color-error-100);color:var(--color-error-700);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.danger-button:hover{background:var(--color-error-500);color:var(--color-neutral-0)}.primary-link-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-action);color:var(--color-text-on-primary);font-weight:var(--font-weight-semibold);text-decoration:none;transition:background-color var(--duration-fast) var(--easing-standard)}.primary-link-button:hover{background:var(--color-action-hover);color:var(--color-text-on-primary)}.filter-clear-btn{padding:var(--space-2) var(--space-4);background:var(--color-action);color:var(--color-text-on-primary);border:0;border-radius:var(--radius-md);font-family:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.filter-clear-btn:hover{background:var(--color-action-hover)}.document-download-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-primary-700);color:var(--color-neutral-0);font-weight:var(--font-weight-semibold);cursor:pointer;flex:0 0 auto;transition:background-color var(--duration-fast) var(--easing-standard)}.document-download-button:hover{background:var(--color-primary-800)}.document-download-button:disabled{opacity:.6;cursor:wait}.workdays-contract-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-primary-700);padding:var(--space-1) var(--space-3);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.workdays-contract-button:disabled{opacity:.8;cursor:default}.workdays-contract-button.is-active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-neutral-0)}.workdays-open-button{border:1px solid var(--color-primary-500);border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary-700);padding:var(--space-2) var(--space-3);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.workdays-open-button:hover{background:var(--color-primary-100)}.directory-view-switch button{border:0;background:var(--color-surface-alt);color:var(--color-text);padding:var(--space-2) var(--space-3);cursor:pointer;font-weight:var(--font-weight-medium)}.directory-view-switch button.is-active{background:var(--color-action);color:var(--color-text-on-primary)}.validation-action,.validation-expand{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.validation-action:hover,.validation-expand:hover{background:var(--color-surface-alt)}.validation-expand{min-width:2.5rem;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2)}.upload-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;border:0;background:transparent;cursor:pointer;color:var(--color-action);padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--easing-standard)}.upload-icon:hover{color:var(--color-action-hover)}.upload-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-neutral-800);color:var(--color-neutral-0);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;visibility:hidden;opacity:0;transition:opacity var(--duration-fast) var(--easing-standard);pointer-events:none;z-index:var(--z-tooltip)}.upload-icon:hover .upload-tooltip,.upload-icon:focus-visible .upload-tooltip{visibility:visible;opacity:1}@media (max-width: 767.98px){.document-download-button,.employee-document-row .secondary-button,.filter-clear-btn{width:100%}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap}.badge--neutral{background:var(--color-neutral-100);color:var(--color-neutral-700)}.badge--primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge--accent{background:var(--color-accent-100);color:var(--color-info-700)}.badge--violet{background:var(--color-violet-100);color:var(--color-violet-500)}.badge--success{background:var(--color-success-100);color:var(--color-success-700)}.badge--warning{background:var(--color-warning-100);color:var(--color-warning-700)}.badge--error{background:var(--color-error-100);color:var(--color-error-700)}.badge--solid.badge--primary{background:var(--color-action);color:var(--color-text-on-primary)}.badge--solid.badge--success{background:var(--color-success-500);color:var(--color-neutral-0)}.badge--solid.badge--error{background:var(--color-error-500);color:var(--color-neutral-0)}.dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--radius-pill);background:var(--color-neutral-400)}.dot--success{background:var(--color-success-500)}.dot--warning{background:var(--color-warning-500)}.dot--error{background:var(--color-error-500)}.dot--info{background:var(--color-info-500)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-pill);background:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);flex-shrink:0}.avatar--sm{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}.avatar--lg{width:2.75rem;height:2.75rem;font-size:var(--font-size-sm)}.employee-work-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.employee-work-badge-present{background:var(--color-success-100);color:var(--color-success-700)}.employee-work-badge-absent{background:var(--color-error-100);color:var(--color-error-700)}.document-expiry-badge{color:var(--color-error-700);font-size:var(--font-size-xs);margin-left:var(--space-1);vertical-align:middle;cursor:default}.employee-hero-badges{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2)}.employee-hero-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-text-on-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.employee-hero-badge-soft{background:var(--color-surface);color:var(--color-primary-700);border:1px solid var(--color-primary-200);box-shadow:none}.admin-security-count{display:inline-flex;align-items:center;border:1px solid var(--color-primary-200);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);background:var(--color-primary-50)}.legend-dot{width:.95rem;height:.95rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.validation-dot{width:.5rem;height:.5rem;border-radius:var(--radius-pill);background:var(--color-warning-500)}.validation-avatar{width:2rem;height:2rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);background:var(--color-primary-100);color:var(--color-primary-700)}.validation-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);border:1px solid var(--color-primary-300);background:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1;padding:var(--space-1) var(--space-2)}@media (min-width: 768px){.employee-hero-badges{justify-content:flex-end}}.input,.select,.textarea,.login-form input,.documents-upload-form input,.documents-upload-form select,.employee-details-form input,.employee-details-form select,.planning-form input,.planning-form select,.hours-logs-search input,.search-modal input,.search-card input,.validation-comment-row input,.filter-select,.search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.input:hover,.select:hover,.textarea:hover,.login-form input:hover,.search-input:hover,.filter-select:hover{border-color:var(--color-border-strong)}.input:focus,.input:focus-visible,.select:focus,.select:focus-visible,.textarea:focus,.textarea:focus-visible,.login-form input:focus,.search-input:focus,.filter-select:focus,.documents-upload-form input:focus,.documents-upload-form select:focus,.employee-details-form input:focus,.employee-details-form select:focus,.planning-form input:focus,.planning-form select:focus,.hours-logs-search input:focus,.search-modal input:focus,.search-card input:focus,.validation-comment-row input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus-ring)}.input::placeholder,.textarea::placeholder,.search-input::placeholder,.validation-comment-row input::placeholder{color:var(--color-text-subtle)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-error-500)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--color-error-100)}.textarea{min-height:6rem;resize:vertical}.field{display:grid;gap:var(--space-1)}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.field-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.field-error{font-size:var(--font-size-xs);color:var(--color-error-700);font-weight:var(--font-weight-medium)}.error-text{font-size:var(--font-size-sm);color:var(--color-error-700);font-weight:var(--font-weight-medium)}.success-text{font-size:var(--font-size-sm);color:var(--color-success-700);font-weight:var(--font-weight-medium)}.password-input-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.password-input-row input{flex:1 1 220px}.login-form{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.login-form label{display:grid;gap:var(--space-1)}.documents-upload-form,.identity-doc-upload-form{display:grid;gap:var(--space-3);margin:var(--space-1) 0 var(--space-3)}.identity-doc-upload-form{margin-top:var(--space-4)}.documents-upload-form label,.employee-details-form label{display:grid;gap:var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-text)}.hours-logs-search{display:grid;gap:var(--space-1);min-width:min(100%,320px);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.planning-form{display:grid;grid-template-columns:1fr;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-4)}.planning-form label{display:grid;gap:var(--space-1);font-weight:var(--font-weight-semibold)}.employee-filter-field,.employee-filter-dropdown{position:relative}.employee-filter-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:var(--font-weight-normal)}.employee-filter-summary::-webkit-details-marker{display:none}.employee-filter-summary:after{content:"▾";color:var(--color-text-muted)}.employee-filter-menu{position:absolute;z-index:20;top:calc(100% + var(--space-1));left:0;width:max-content;min-width:100%;max-width:320px;max-height:260px;overflow-y:auto;display:grid;gap:2px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.approvals-filters .employee-filter-option{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);white-space:nowrap;text-align:left}.approvals-filters .employee-filter-option input[type=checkbox]{width:1rem;height:1rem;padding:0;border:none;border-radius:0;background:none;flex:0 0 auto}.employee-filter-option span{overflow:hidden;text-overflow:ellipsis;text-align:left}.employee-filter-option:hover{background:var(--color-surface-alt)}.employee-filter-select-all{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);margin-bottom:var(--space-1);font-weight:var(--font-weight-semibold)}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none}.search-input{padding-left:2.5rem}.search-clear{position:absolute;right:var(--space-3);background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--easing-standard)}.search-clear:hover{color:var(--color-action)}.filter-controls{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.filter-select{min-width:100%}.validation-filter-row{margin:var(--space-3) 0;display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;flex-wrap:wrap}.validation-comment-row{display:grid;grid-template-columns:1fr;gap:var(--space-2)}@media (min-width: 768px){.planning-form{grid-template-columns:repeat(2,minmax(200px,1fr))}.planning-form button{grid-column:span 2;justify-self:start}.validation-comment-row{grid-template-columns:1fr auto auto}.filter-select{min-width:200px}.filter-controls{flex-direction:row}}.field-required{color:var(--color-error-500);margin-left:var(--space-1)}.field .field-label{display:inline-flex;align-items:center;font-size:var(--font-size-sm)}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus,.textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 5000s ease-in-out 0s}.input,.textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}.input[type=search]::-webkit-search-decoration,.input[type=search]::-webkit-search-cancel-button,.input[type=search]::-webkit-search-results-button,.input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-toolbar{--filter-toolbar-action: var(--color-action, #277f99);--filter-toolbar-violet: var(--color-violet-500, #6669be);--filter-toolbar-border: #ececf6;--filter-toolbar-inner-border: #dfe2ec;--filter-toolbar-soft: #f8f8fc;--filter-toolbar-muted: #8b8fa8;--filter-toolbar-radius: 20px;--filter-toolbar-control-radius: 14px;--filter-toolbar-control-height: 48px;--filter-toolbar-search-min: 280px;--filter-toolbar-field-min: 220px;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:var(--space-4);padding:8px;border:1px solid var(--filter-toolbar-border);border-radius:var(--filter-toolbar-radius);background:radial-gradient(circle at 0% 0%,rgba(102,105,190,.09),transparent 32%),linear-gradient(180deg,#fbfbff 0%,var(--filter-toolbar-soft) 100%);box-shadow:inset 0 1px #fffffff2,0 10px 26px #2b2d540d}.filter-toolbar__search{position:relative;min-width:0;width:100%}.filter-toolbar__input{width:100%;min-height:var(--filter-toolbar-control-height);padding:0 2.75rem 0 2.5rem;border:1px solid var(--filter-toolbar-inner-border);border-radius:var(--filter-toolbar-control-radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:none;transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.filter-toolbar__input::placeholder{color:var(--filter-toolbar-muted)}.filter-toolbar__input[type=search]::-webkit-search-cancel-button,.filter-toolbar__input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-toolbar__search-icon{position:absolute;top:50%;left:var(--space-3);z-index:1;transform:translateY(-50%);color:var(--filter-toolbar-muted);pointer-events:none}.filter-toolbar__search-clear{position:absolute;top:50%;right:var(--space-2);width:1.875rem;height:1.875rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--filter-toolbar-muted);transform:translateY(-50%);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.filter-toolbar__search-clear:hover{background:var(--shell-nav-hover-bg, #f7f6ff);color:var(--filter-toolbar-violet)}.filter-toolbar__field{min-width:0;width:100%;min-height:var(--filter-toolbar-control-height);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:3px;padding:6px 12px;border:1px solid var(--filter-toolbar-inner-border);border-radius:var(--filter-toolbar-control-radius);background:var(--color-surface);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.filter-toolbar__label{display:block;min-width:0;color:var(--filter-toolbar-muted);font-size:10px;font-weight:850;line-height:1;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.filter-toolbar__select{min-width:0;width:100%;min-height:22px;padding:0 1.75rem 0 0;border:0;background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);line-height:1.2;outline:none;cursor:pointer}.filter-toolbar__input,.filter-toolbar__select{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-toolbar__select:disabled,.filter-toolbar__input:disabled{color:var(--color-text-muted);cursor:not-allowed}.filter-toolbar__input:focus,.filter-toolbar__field:focus-within{border-color:color-mix(in srgb,var(--filter-toolbar-action) 65%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-toolbar-action) 14%,transparent)}.filter-toolbar__search-clear:focus-visible,.filter-toolbar__reset:focus-visible{outline:2px solid color-mix(in srgb,var(--filter-toolbar-action) 60%,white);outline-offset:2px}.filter-toolbar__reset{width:100%;min-height:var(--filter-toolbar-control-height);height:var(--filter-toolbar-control-height);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--filter-toolbar-inner-border);border-radius:var(--filter-toolbar-control-radius);background:var(--color-surface);color:var(--filter-toolbar-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),opacity var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}.filter-toolbar__reset:hover:not(:disabled){background:var(--shell-nav-hover-bg, #f7f6ff);border-color:color-mix(in srgb,var(--filter-toolbar-violet) 24%,white);color:var(--filter-toolbar-violet)}.filter-toolbar__reset:disabled{opacity:.55;cursor:default}@media (min-width: 640px){.filter-toolbar{flex-direction:row;align-items:center;flex-wrap:wrap}.filter-toolbar__search{flex:1.45 1 var(--filter-toolbar-search-min);width:auto;min-width:min(100%,var(--filter-toolbar-search-min));max-width:100%}.filter-toolbar__field{flex:1 1 var(--filter-toolbar-field-min);width:auto;min-width:min(100%,var(--filter-toolbar-field-min));max-width:100%}.filter-toolbar__reset{flex:0 0 var(--filter-toolbar-control-height);width:var(--filter-toolbar-control-height);min-width:var(--filter-toolbar-control-height)}.filter-toolbar__reset:hover:not(:disabled){transform:translateY(-1px)}}.filter-toolbar--wrap{flex-wrap:wrap}.filter-toolbar--compact{--filter-toolbar-control-height: 42px;--filter-toolbar-search-min: 240px;--filter-toolbar-field-min: 190px;--filter-toolbar-control-radius: 12px;--filter-toolbar-radius: 18px}.filter-toolbar--compact .filter-toolbar__field{padding-block:5px}.filter-toolbar--full-width .filter-toolbar__search,.filter-toolbar--full-width .filter-toolbar__field{flex:1 1 100%}@media (prefers-reduced-motion: reduce){.filter-toolbar__input,.filter-toolbar__search-clear,.filter-toolbar__field,.filter-toolbar__reset{transition:none}}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.metric-card{--metric-color: var(--color-violet-500, #6669be);--metric-soft: #f0f0fb;min-width:0;padding:var(--space-4);border:1px solid #ececf6;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:0 12px 30px #2b2d540d}.metric-card--pending{--metric-color: #245b83;--metric-soft: #d6e9ff}.metric-card--success{--metric-color: #16a085;--metric-soft: rgba(22, 160, 133, .12)}.metric-card--warning{--metric-color: #d99025;--metric-soft: rgba(217, 144, 37, .14)}.metric-card--danger{--metric-color: #d96d4e;--metric-soft: rgba(217, 109, 78, .14)}.metric-card__icon{width:28px;height:28px;display:grid;place-items:center;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--metric-soft);color:var(--metric-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold)}.metric-card__label{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.metric-card__value{display:block;margin-top:var(--space-2);color:var(--metric-color);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.04em}.metric-card__description{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}@media (max-width: 980px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.metric-grid{grid-template-columns:1fr}}.calendar-shell{--calendar-shell-violet: var(--color-violet-500, #6669be);--calendar-shell-violet-soft: #f0f0fb;--calendar-shell-border: #ececf6;--calendar-shell-surface-soft: #f8f8fc;--calendar-shell-muted: var(--color-text-muted, #777c91);--calendar-shell-success: #16a085;--calendar-shell-success-soft: rgba(22, 160, 133, .12);--calendar-shell-warning: #d99025;--calendar-shell-warning-soft: rgba(217, 144, 37, .14);--calendar-shell-danger: #d96d4e;--calendar-shell-danger-soft: rgba(217, 109, 78, .14);--calendar-shell-pending: #245b83;--calendar-shell-pending-soft: #d6e9ff;border:1px solid var(--calendar-shell-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-4);box-shadow:0 12px 30px #2b2d540d}.calendar-shell__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.calendar-shell__heading{min-width:0}.calendar-shell__kicker{display:inline-flex;margin-bottom:var(--space-1);color:var(--calendar-shell-violet);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);line-height:1;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.calendar-shell__heading h2{margin:0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.03em}.calendar-shell__heading p{margin:var(--space-2) 0 0;color:var(--calendar-shell-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.calendar-shell__actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.calendar-shell__content{overflow-x:auto;border:1px solid var(--calendar-shell-border);border-radius:var(--radius-xl);background:var(--color-surface)}.calendar-shell__legend{margin-top:var(--space-3)}.calendar-shell__content .fc{min-width:720px;padding:var(--space-3);font-family:inherit}.calendar-shell__content .fc-toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.calendar-shell__content .fc-toolbar-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.03em}.calendar-shell__content .fc-button{border:1px solid var(--calendar-shell-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--calendar-shell-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);box-shadow:none}.calendar-shell__content .fc-button:hover,.calendar-shell__content .fc-button-primary:not(:disabled).fc-button-active{background:var(--calendar-shell-violet-soft);border-color:var(--calendar-shell-border);color:var(--calendar-shell-violet)}.calendar-shell__content .fc-button-primary:disabled{background:var(--calendar-shell-surface-soft);border-color:var(--calendar-shell-border);color:var(--calendar-shell-muted);opacity:.65}.calendar-shell__content .fc-scrollgrid,.calendar-shell__content .fc-theme-standard td,.calendar-shell__content .fc-theme-standard th{border-color:var(--calendar-shell-border)}.calendar-shell__content .fc-scrollgrid{border-radius:var(--radius-lg);overflow:hidden}.calendar-shell__content .fc-col-header-cell,.calendar-shell__content .fc-datagrid-header,.calendar-shell__content .fc-timeline-header-row{background:#fbfbff}.calendar-shell__content .fc-col-header-cell-cushion,.calendar-shell__content .fc-datagrid-cell-cushion{color:var(--calendar-shell-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);text-transform:uppercase;text-decoration:none}.calendar-shell__content .fc-daygrid-day-number{padding:var(--space-2);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);text-decoration:none}.calendar-shell__content .fc-daygrid-day-frame{min-height:96px}.calendar-shell__content .fc-day-other{background:#fbfbfd}.calendar-shell__content .fc-day-other .fc-daygrid-day-number{color:#bdc0ce}.calendar-shell__content .fc-day-today{background:var(--calendar-shell-violet-soft)!important;box-shadow:inset 0 0 0 2px #6669be2e}.calendar-shell__content .fc-resource-timeline-divider{width:0}.calendar-shell__content .fc-event{border:0;border-radius:var(--radius-pill);padding:2px 6px;font-weight:var(--font-weight-bold);box-shadow:none}.calendar-shell__content .fc-event-title{font-weight:var(--font-weight-extrabold)}.fc-weekend-slot,.fc-weekend-slot-label{background:#fafbff}.fc-holiday-slot,.fc-holiday-slot-label{background:color-mix(in srgb,var(--calendar-shell-warning) 8%,white)}.fc-today-slot,.fc-today-slot-label{background:var(--calendar-shell-violet-soft)}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--calendar-shell-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.calendar-legend__item{display:inline-flex;align-items:center;gap:var(--space-1)}.calendar-legend__dot{width:9px;height:9px;border-radius:var(--radius-pill);background:var(--calendar-shell-muted)}.calendar-legend__dot--pending{background:var(--calendar-shell-pending-soft)}.calendar-legend__dot--success{background:var(--calendar-shell-success)}.calendar-legend__dot--danger{background:var(--calendar-shell-danger)}.calendar-legend__dot--warning{background:var(--calendar-shell-warning)}.calendar-legend__dot--today{background:var(--calendar-shell-violet)}.calendar-legend__dot--neutral{background:var(--calendar-shell-muted)}@media (max-width: 720px){.calendar-shell{border-radius:var(--radius-lg);padding:var(--space-3)}.calendar-shell__header{flex-direction:column;align-items:stretch}.calendar-shell__actions{width:100%}.calendar-shell__content .fc{min-width:680px}}.popup-backdrop,.workdays-modal-backdrop,.search-modal-backdrop,.calendar-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1a1a1d80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);padding:var(--space-4);animation:modal-fade-in var(--duration-base) var(--easing-standard)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.popup-card,.workdays-modal-panel,.search-modal,.calendar-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--space-5);max-height:90vh;overflow:auto;animation:modal-slide-up var(--duration-base) var(--easing-emphasized)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.popup-backdrop,.workdays-modal-backdrop,.search-modal-backdrop,.calendar-modal-backdrop,.popup-card,.workdays-modal-panel,.search-modal,.calendar-modal{animation:none}}.popup-card{width:min(96vw,920px)}.workdays-modal-panel{width:min(96vw,1200px)}.calendar-modal{width:min(96vw,1120px)}.search-modal{width:min(96vw,1000px);max-height:min(88vh,920px)}.popup-card--success{border-color:var(--color-success-500)}.popup-card--error{border-color:var(--color-error-500)}.popup-card-header,.workdays-modal-header,.search-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.popup-card-header strong,.search-modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.workdays-modal-header{align-items:flex-start}.workdays-modal-header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.popup-close-button,.search-modal-close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.popup-close-button:hover,.search-modal-close:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.workdays-modal-close{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.workdays-modal-close:hover{background:var(--color-neutral-200)}.popup-card p{margin:0;color:var(--color-text)}.workdays-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.workdays-modal-save{display:inline-flex;align-items:center;gap:var(--space-2);border:0;border-radius:var(--radius-md);background:var(--color-action);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.workdays-modal-save:hover{background:var(--color-action-hover)}.workdays-modal-save:disabled{opacity:.6;cursor:wait}.table{width:100%;border-collapse:collapse;background:var(--color-surface);font-size:var(--font-size-sm)}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:var(--color-surface-alt);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--duration-fast) var(--easing-standard)}.table tbody tr:hover{background:var(--color-primary-50)}.table--card{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table--compact th,.table--compact td{padding:var(--space-2) var(--space-3)}.table tr.is-alert td,.table tr.is-error td{background:var(--color-error-100);color:var(--color-error-700)}.table tr.is-success td{background:var(--color-success-100);color:var(--color-success-700)}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.workdays-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.workdays-table td{border-bottom:1px solid var(--color-border);padding:var(--space-2)}.workdays-table tr:last-child td{border-bottom:0}.medical-visit-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--font-size-sm)}.medical-visit-table th,.medical-visit-table td{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border)}.medical-visit-table th{background:var(--color-surface-alt);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.medical-visit-table tr.is-alert td{background:var(--color-error-100);color:var(--color-error-700)}.medical-visit-alert-badge{font-weight:var(--font-weight-bold);color:var(--color-error-700)}.login,.login *{box-sizing:border-box}.login{--login-bg: var(--color-app-bg);--login-surface: var(--color-surface, #ffffff);--login-surface-soft: var(--color-surface-alt, #f8fbff);--login-text: var(--color-text, #1f2a44);--login-muted: var(--color-text-muted, #6f7c95);--login-subtle: var(--color-text-subtle, #9aa6bb);--login-border: var(--color-border, #dde4f1);--login-primary: var(--color-primary-500, #7b79dd);--login-primary-strong: var(--color-primary-600, #6866d8);--login-accent: var(--color-accent-400, #4ccbe6);--login-yellow: var(--color-yellow-500, #f2c94c);--login-violet: var(--color-violet-500, #7476dc);--login-radius-card: var(--radius-2xl, 1.25rem);--login-radius-field: var(--radius-md, .75rem);--login-shadow-card: 0 28px 80px rgba(47, 57, 102, .1);width:100%;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow-x:clip;background:radial-gradient(circle at 8% 10%,rgba(125,126,224,.13) 0 16rem,transparent 29rem),radial-gradient(circle at 88% 8%,rgba(75,203,230,.1) 0 12rem,transparent 30rem),radial-gradient(circle at 46% 96%,rgba(125,126,224,.09) 0 18rem,transparent 38rem),linear-gradient(135deg,var(--login-surface) 0%,var(--login-bg) 100%);color:var(--login-text)}.login:before{content:none}.login-hero{position:relative;display:none;min-width:0;flex-direction:column;align-self:stretch;padding:clamp(3.5rem,7vh,5.25rem) 0 14rem;isolation:isolate}.login-hero:before{content:"";position:absolute;inset:0 auto 0 -20vw;width:74vw;z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.92),transparent 28rem),linear-gradient(120deg,#ffffffb8,#fff0)}.login-hero__logo{width:clamp(10rem,15vw,13.25rem);max-width:100%;height:auto;display:block;margin-bottom:clamp(2.25rem,5vh,4rem)}.login-hero__title{margin:0;max-width:12ch;color:var(--login-text);font-size:clamp(2rem,3vw,2.55rem);font-weight:var(--font-weight-extrabold, 800);line-height:1.22;letter-spacing:-.035em}.login-hero__title-line{white-space:nowrap}.login-hero__accent{color:var(--login-accent)}.login-hero__desc{margin:clamp(1.55rem,3vh,2rem) 0 0;max-width:34ch;color:var(--login-muted);font-size:clamp(1rem,1.25vw,1.08rem);line-height:1.75}.login-hero__features{list-style:none;margin:clamp(2rem,4vh,2.75rem) 0 0;padding:0;display:grid;gap:clamp(1.25rem,2.5vh,1.75rem)}.login-feature{display:flex;align-items:center;gap:1.15rem;min-width:0}.login-feature__icon{width:3.5rem;height:3.5rem;flex:0 0 3.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.9rem;box-shadow:inset 0 1px #ffffffb8,0 12px 30px #48578614}.login-feature__icon--blue{background:#4ccbe629;color:var(--login-accent)}.login-feature__icon--yellow{background:#f2c94c2e;color:var(--login-yellow)}.login-feature__icon--violet{background:#7476dc24;color:var(--login-violet)}.login-feature__text{min-width:0;display:grid;gap:.25rem}.login-feature__text strong{color:var(--login-text);font-size:1rem;font-weight:var(--font-weight-bold, 700);line-height:1.25}.login-feature__text span{color:var(--login-muted);font-size:.95rem;line-height:1.45}.login-hero__mascot{position:absolute;bottom:0;left:-.25rem;width:clamp(13rem,19vw,17.5rem);max-width:72%;height:auto;display:none;pointer-events:none;filter:drop-shadow(0 24px 48px rgba(82,91,150,.1))}.login-main{min-width:0;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,4rem) clamp(1rem,4vw,2rem)}.login-card{width:min(100%,37.75rem);min-width:0;margin:0 auto;padding:clamp(2rem,4vw,3.65rem) clamp(1.35rem,4vw,3.75rem) clamp(1.9rem,3.5vw,3.1rem);text-align:center;background:#ffffffdb;border:1px solid rgba(255,255,255,.88);border-radius:var(--login-radius-card);box-shadow:var(--login-shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card__logo{width:clamp(3.6rem,5vw,4.35rem);height:clamp(3.6rem,5vw,4.35rem);object-fit:contain;margin:0 auto 1.85rem;display:block}.login-card__title{margin:0 0 .65rem;color:var(--login-text);font-size:clamp(1.65rem,2.2vw,2rem);font-weight:var(--font-weight-bold, 700);line-height:1.15;letter-spacing:-.025em}.login-card__subtitle{margin:0 0 clamp(2rem,4vh,2.75rem);color:var(--login-muted);font-size:1rem;line-height:1.45}.login-form{display:grid;gap:1.35rem;text-align:left}.login .field{display:grid;gap:.65rem;min-width:0}.login .field-label{color:var(--login-text);font-size:.95rem;font-weight:var(--font-weight-bold, 700);line-height:1.25}.input-affix{position:relative;display:flex;align-items:center;min-width:0}.input-affix__icon{position:absolute;left:1rem;z-index:1;display:inline-flex;color:var(--login-subtle);pointer-events:none}.login .input{width:100%;min-width:0;height:3.45rem;padding:0 1rem;color:var(--login-text);font:inherit;font-size:.98rem;background:#ffffffeb;border:1px solid var(--login-border);border-radius:var(--login-radius-field);box-shadow:0 1px 2px #202a4408;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.login .input::placeholder{color:#b2bbca}.login .input:hover{border-color:color-mix(in srgb,var(--login-border) 72%,var(--login-primary))}.login .input:focus{outline:none;background:#fff;border-color:color-mix(in srgb,var(--login-primary) 72%,white);box-shadow:0 0 0 4px #7b79dd24}.input--affix{padding-left:3.15rem!important}.input--affix-end{padding-right:3.15rem!important}.input-affix__toggle{position:absolute;right:.75rem;z-index:2;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:.5rem;background:transparent;color:var(--login-subtle);cursor:pointer;transition:color .16s ease,background-color .16s ease}.input-affix__toggle:hover,.input-affix__toggle:focus-visible{color:var(--login-text);background:#7b79dd14;outline:none}.login .field-error{color:var(--color-danger-600, #d14343);font-size:.85rem;line-height:1.35}.login-forgot{justify-self:end;margin-top:-.35rem;color:var(--login-primary-strong);font-size:.92rem;font-weight:var(--font-weight-medium, 500);text-decoration:none}.login-forgot:hover,.login-forgot:focus-visible{text-decoration:underline}.login-form>button,.login-form [type=submit]{width:100%;min-height:3.45rem;margin-top:.95rem;border-radius:var(--login-radius-field);box-shadow:0 14px 30px #6866d83d}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.9rem 0 1.7rem;color:var(--login-subtle);font-size:.92rem;line-height:1}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--login-border)}.login-sso{display:grid;gap:.85rem}.login-sso__btn{width:100%;min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:.75rem 1rem;color:var(--login-text);font:inherit;font-size:1rem;font-weight:var(--font-weight-semibold, 600);background:#ffffffeb;border:1px solid var(--login-border);border-radius:var(--login-radius-field);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.login-sso__btn img{width:1.15rem;height:1.15rem;flex:0 0 auto}.login-sso__btn:hover{background:var(--login-surface-soft);border-color:color-mix(in srgb,var(--login-border) 70%,var(--login-primary))}.login-sso__btn:active{transform:translateY(1px)}.login-sso__btn[aria-disabled=true]{opacity:.95}.login-noaccount{margin:2rem 0 0;color:var(--login-muted);font-size:.92rem;line-height:1.45}.login-noaccount a{color:var(--login-primary-strong);font-weight:var(--font-weight-semibold, 600);text-decoration:none}.login-noaccount a:hover,.login-noaccount a:focus-visible{text-decoration:underline}.login-footer{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:1.25rem max(1rem,calc((100% - 76rem)/2));color:var(--login-muted);font-size:.88rem;line-height:1.35;text-align:center;border-top:1px solid rgba(221,228,241,.74);background:#ffffff8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-footer__links{display:flex;align-items:center;justify-content:center;gap:clamp(.9rem,3vw,2rem);flex-wrap:wrap;min-width:0}.login-footer__links a{color:var(--login-muted);text-decoration:none}.login-footer__links a:hover,.login-footer__links a:focus-visible{color:var(--login-primary-strong)}@media (max-width: 767px){.login{background:radial-gradient(circle at 10% 0%,rgba(125,126,224,.15),transparent 17rem),radial-gradient(circle at 100% 12%,rgba(76,203,230,.12),transparent 18rem),linear-gradient(135deg,#ffffff 0%,var(--login-bg) 100%)}.login-main{align-items:start;padding:clamp(1.1rem,5vw,2rem) 1rem}.login-card{max-width:30rem;padding:1.75rem 1.15rem;border-radius:1rem}.login-card__logo{margin-bottom:1.35rem}.login-card__subtitle{margin-bottom:1.75rem}.login-form{gap:1.05rem}.login .input,.login-sso__btn,.login-form>button,.login-form [type=submit]{min-height:3.15rem}.login-noaccount{margin-top:1.45rem}}@media (min-width: 768px) and (max-width: 1023px){.login-main{padding:3rem 1.5rem}.login-card{max-width:34rem}}@media (min-width: 1024px){.login{grid-template-columns:minmax(2rem,1fr) minmax(22.5rem,31.25rem) clamp(2.5rem,5vw,5rem) minmax(28.75rem,37.75rem) minmax(2rem,1fr);grid-template-areas:". hero gap form ." "footer footer footer footer footer"}.login-hero{grid-area:hero;display:flex}.login-hero__mascot{display:block}.login-main{grid-area:form;padding-inline:0}.login-footer{grid-area:footer;flex-direction:row;justify-content:space-between;text-align:left}}@media (min-width: 1280px){.login-main{padding-block:clamp(4rem,7vh,5.25rem)}}@media (max-height: 820px) and (min-width: 1024px){.login-hero{padding-top:2.75rem;padding-bottom:10.5rem}.login-hero__logo{margin-bottom:1.8rem}.login-hero__desc{margin-top:1.2rem;line-height:1.55}.login-hero__features{margin-top:1.4rem;gap:1rem}.login-feature__icon{width:3rem;height:3rem;flex-basis:3rem}.login-card{padding-top:2.15rem;padding-bottom:2rem}.login-card__logo{margin-bottom:1.15rem}.login-card__subtitle{margin-bottom:1.45rem}.login-form{gap:1rem}.login-divider{margin-block:1.25rem}.login-noaccount{margin-top:1.25rem}}.employees-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.employees-list{grid-template-columns:1fr}.directory-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.directory-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.directory-header h2{margin:0}.directory-view-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.hours-logs-toolbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.hours-logs-summary{margin:0;color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.hours-logs-pagination,.employees-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.hours-logs-pagination span,.employees-pagination span{color:var(--color-text);font-weight:var(--font-weight-bold)}.org-graph-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.org-graph-hint{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.org-graph-canvas{width:100%;height:72vh;min-height:480px;display:block;background:var(--color-surface-alt);cursor:grab;touch-action:none}.org-graph-canvas:active{cursor:grabbing}.org-link{fill:none;stroke:var(--color-border-strong);stroke-width:2}.org-node{cursor:pointer}.org-node-box{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.2;filter:drop-shadow(0 3px 8px rgba(56,56,56,.08))}.org-node-name{font-size:14px;font-weight:700;fill:var(--color-text)}.org-node-role{font-size:12px;font-weight:600;fill:var(--color-text-muted)}.org-node-meta{font-size:11px;fill:var(--color-text-subtle)}.org-node-status{font-size:11px;font-weight:700}.org-node-status.is-present{fill:var(--color-success-700)}.org-node-status.is-absent{fill:var(--color-error-700)}.employee-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-3);transition:box-shadow var(--duration-fast) var(--easing-standard)}.employee-card:hover{box-shadow:var(--shadow-md)}.employee-card h3,.employee-card p{margin:0 0 var(--space-1)}.employee-main-role,.employee-meta-line{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text)}.employee-main-role{font-weight:var(--font-weight-bold)}.employee-meta-line{color:var(--color-text-muted)}.employee-status-line{display:block;margin-top:var(--space-2)}.employee-name-link{color:var(--color-action);text-decoration:none;border-bottom:1px dashed transparent;font-weight:var(--font-weight-semibold);transition:border-color var(--duration-fast) var(--easing-standard)}.employee-name-link:hover{border-bottom-color:var(--color-action)}.employee-details-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.employee-details-header{display:grid;gap:var(--space-4)}.employee-details-header h2{margin:0 0 var(--space-2)}.employee-details-back-link{display:inline-block;margin-bottom:var(--space-3);color:var(--color-action);font-weight:var(--font-weight-semibold);text-decoration:none}.employee-details-back-link:hover{text-decoration:underline}.employee-details-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-1)}.employee-details-nav-link{border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.employee-details-nav-link:hover{background:var(--color-primary-50);border-color:var(--color-primary-300)}.employee-details-nav-link.is-active{background:var(--color-action);color:var(--color-text-on-primary);border-color:var(--color-action)}.employee-document-list{display:grid;gap:var(--space-3)}.employee-details-grid,.employee-details-grid-single,.employee-summary-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4)}.employee-relations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.employee-details-stack{display:grid;gap:var(--space-4)}.employee-summary-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-4);box-shadow:var(--shadow-sm)}.employee-summary-card-top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.employee-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--color-primary-100);color:var(--color-primary-700)}.employee-summary-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}.employee-summary-value{margin:0;font-size:var(--font-size-base);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);color:var(--color-text)}.employee-summary-hint{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.employee-summary-card.is-missing{border-color:var(--color-warning-500);background:var(--color-warning-100)}.employee-summary-card.is-missing .employee-summary-value,.employee-summary-card.is-missing .employee-summary-hint{color:var(--color-warning-700)}.employee-details-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.employee-details-card h3{margin:0 0 var(--space-3);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-extrabold);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.employee-details-card dl{margin:0}.employee-details-form .employee-details-card{display:grid;gap:var(--space-2)}.employee-details-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.employee-history-list{display:grid;gap:var(--space-4)}.employee-history-entry{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.employee-history-entry-head{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-alt)}.employee-history-entry-head strong{display:block;color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-snug)}.employee-history-entry-head p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.employee-history-changes{display:grid;gap:var(--space-3);padding:var(--space-3)}.employee-history-change{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.employee-history-change-label{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-primary-50);color:var(--color-primary-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.employee-history-change-values{display:grid;grid-template-columns:1fr}.employee-history-change-values>div{padding:var(--space-3)}.employee-history-change-values>div+div{border-top:1px solid var(--color-border)}.employee-history-change-values span{display:block;margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.employee-history-change-values p{margin:0;color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal);word-break:break-word}.workdays-contract-picker{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.employee-detail-row{display:grid;grid-template-columns:1fr;gap:var(--space-1);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);align-items:start}.employee-detail-row:last-child{border-bottom:0}.employee-detail-row dt{font-weight:var(--font-weight-bold);color:var(--color-text-muted);font-size:var(--font-size-sm)}.employee-detail-row dd{margin:0;color:var(--color-text);line-height:var(--line-height-snug)}.employee-detail-row.is-missing dd{background:var(--color-warning-100);border:1px dashed var(--color-warning-500);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--color-warning-700);font-style:italic}.employee-detail-value{display:block}.employee-record-list{display:grid;gap:var(--space-3)}.employee-record-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-3)}.employee-record-card p{margin:var(--space-1) 0 0;color:var(--color-text-muted);overflow-wrap:break-word;word-break:break-word}.employee-record-phone{display:flex;align-items:center;gap:var(--space-2)}.employee-copy-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:0;color:var(--color-text-subtle);cursor:pointer}.employee-copy-button:hover{color:var(--color-text)}.employee-record-title{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text);font-weight:var(--font-weight-bold)}.employee-relation-panel{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-4)}.employee-relation-panel h4{margin:0 0 var(--space-3);font-size:var(--font-size-base)}.employee-empty-state{margin:0;color:var(--color-text-subtle);font-style:italic}.employee-hero{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:linear-gradient(135deg,var(--color-primary-50),var(--color-surface))}.employee-hero-copy h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-3xl);color:var(--color-text)}.employee-hero-kicker{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.employee-hero-dot{opacity:.7}@media (min-width: 768px){.employee-details-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.employee-details-grid-single{grid-template-columns:repeat(2,minmax(240px,1fr))}.employee-summary-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.employee-hero{flex-direction:row;align-items:flex-start}.employee-detail-row{grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:var(--space-3)}.employee-history-entry-head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.employee-history-change-values{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-history-change-values>div+div{border-top:0;border-left:1px solid var(--color-border)}}@media (min-width: 1024px){.employee-summary-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}.documents-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.documents-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-4)}.documents-kicker{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.documents-header h2{margin:0 0 var(--space-2)}.documents-subtitle{margin:0;max-width:56rem;color:var(--color-text-muted)}.documents-admin-hint{margin:0 0 var(--space-3);color:var(--color-text-muted)}.documents-summary{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.documents-summary article{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.documents-summary strong{display:block;font-size:var(--font-size-2xl);line-height:1;color:var(--color-text);font-weight:var(--font-weight-extrabold)}.documents-summary span{display:block;margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.documents-layout{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.documents-panel{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);padding:var(--space-4);display:grid;gap:var(--space-3);box-shadow:var(--shadow-sm)}.documents-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.documents-panel-head h3{margin:0 0 var(--space-1);color:var(--color-text)}.documents-panel-head p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.documents-empty-state{margin:0;color:var(--color-text-subtle);font-style:italic}.document-card,.employee-document-row{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--space-3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);justify-content:space-between;transition:box-shadow var(--duration-fast) var(--easing-standard)}.document-card:hover,.employee-document-row:hover{box-shadow:var(--shadow-md)}.document-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background:var(--color-primary-100);color:var(--color-primary-700);flex:0 0 auto}.document-card-body,.employee-document-row-copy{min-width:0;flex:1 1 auto}.document-card-title{margin:0 0 var(--space-1);font-weight:var(--font-weight-extrabold);color:var(--color-text)}.document-card-meta,.employee-document-row-copy p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.document-card-filename{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-subtle);word-break:break-word}.employee-document-row-title{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);color:var(--color-text)}.employee-document-row-title strong{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.employee-document-row-copy p+p{margin-top:var(--space-1);font-size:var(--font-size-sm);word-break:break-word}.document-card-expiry-warn{border-left:3px solid var(--color-error-500)}@media (min-width: 768px){.documents-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.documents-layout{grid-template-columns:repeat(2,minmax(280px,1fr))}.document-card,.employee-document-row{flex-direction:row;align-items:center}}@media (min-width: 1024px){.documents-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}}.planning-page{--planning-violet: var(--color-violet-500, #6669be);--planning-violet-soft: #f0f0fb;--planning-blue: var(--color-action, #277f99);--planning-border: #ececf6;--planning-inner-border: #dfe2ec;--planning-muted: var(--color-text-muted, #777c91);--planning-success: #16a085;--planning-success-soft: rgba(22, 160, 133, .12);--planning-danger: #d96d4e;--planning-danger-soft: rgba(217, 109, 78, .14);--planning-pending: #245b83;--planning-pending-soft: #d6e9ff;display:grid;gap:var(--space-4)}.planning-panel{border:1px solid var(--planning-border);background:var(--color-surface);box-shadow:0 12px 30px #2b2d540d}.planning-kicker{display:inline-flex;margin-bottom:var(--space-1);color:var(--planning-violet);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);line-height:1;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.planning-request-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:var(--space-3)}.planning-panel{border-radius:var(--radius-xl);padding:var(--space-4)}.planning-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.planning-section-head h2{margin:0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.03em}.planning-section-head p{margin:var(--space-2) 0 0;color:var(--planning-muted);line-height:var(--line-height-normal);font-size:var(--font-size-sm)}.planning-form{display:grid;gap:var(--space-3)}.planning-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.planning-form-helper{color:var(--planning-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.planning-form-alert{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--planning-danger) 26%,transparent);border-radius:var(--radius-lg);background:var(--planning-danger-soft);color:var(--planning-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}.planning-field{min-width:0;min-height:58px;display:grid;align-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--planning-inner-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.planning-field:focus-within{border-color:color-mix(in srgb,var(--planning-blue) 65%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--planning-blue) 14%,transparent)}.planning-field span{color:var(--planning-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);line-height:1;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.planning-field input,.planning-field select{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.planning-upload{min-height:66px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px dashed color-mix(in srgb,var(--planning-violet) 34%,transparent);border-radius:var(--radius-lg);background:#fbfbff;cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.planning-upload:hover{background:#f7f6ff;border-color:color-mix(in srgb,var(--planning-violet) 50%,transparent)}.planning-upload input{display:none}.planning-upload__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--planning-violet-soft);color:var(--planning-violet);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold)}.planning-upload__text{min-width:0}.planning-upload__text strong,.planning-upload__text small{display:block}.planning-upload__text strong{color:var(--color-text);font-size:var(--font-size-sm)}.planning-upload__text small{margin-top:var(--space-1);color:var(--planning-muted);font-size:var(--font-size-xs)}.planning-form-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.planning-form-footer p{margin:0;color:var(--planning-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.planning-rule-list{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.planning-rule{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--planning-border);border-radius:var(--radius-lg);background:#f8f8fcbf}.planning-rule span{color:var(--planning-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.planning-rule strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);text-align:right}.planning-info-box{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--planning-violet-soft)}.planning-info-box strong{color:var(--planning-violet);font-size:var(--font-size-sm)}.planning-info-box p{margin:var(--space-1) 0 0;color:var(--planning-muted);font-size:var(--font-size-sm)}.planning-request-list{display:grid;gap:var(--space-2)}.planning-request-row{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--planning-border);border-radius:var(--radius-lg);background:var(--color-surface)}.planning-request-row div{min-width:0}.planning-request-row strong,.planning-request-row span{display:block}.planning-request-row strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold)}.planning-request-row div span{margin-top:var(--space-1);color:var(--planning-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.planning-status{flex:0 0 auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold)}.planning-status.is-pending{background:var(--planning-pending-soft);color:var(--planning-pending)}.planning-status.is-approved{background:var(--planning-success-soft);color:var(--planning-success)}.planning-status.is-refused{background:var(--planning-danger-soft);color:var(--planning-danger)}.planning-empty{margin:0;color:var(--planning-muted)}@media (max-width: 980px){.planning-request-grid{grid-template-columns:1fr}}@media (max-width: 720px){.planning-section-head,.planning-form-footer,.planning-request-row{flex-direction:column;align-items:stretch}.planning-form-grid{grid-template-columns:1fr}}@media (max-width: 520px){.planning-panel{border-radius:var(--radius-lg);padding:var(--space-3)}}.planning-rules-modal{display:grid;gap:var(--space-3)}.planning-rules-modal>p{margin:0;color:var(--planning-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.planning-feedback{display:grid;gap:var(--space-2)}.planning-feedback p{margin:0;color:var(--planning-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.planning-feedback--success p{color:var(--planning-success)}.planning-feedback--error p{color:var(--planning-danger)}.approvals-panel{display:grid;gap:var(--space-4);width:100%}.approvals-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.approvals-header h2{margin:0}.approvals-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center}.legend-title{font-weight:var(--font-weight-bold);color:var(--color-text)}.legend-item{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-sm)}.approvals-calendar{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);min-height:76vh;width:100%}.my-absences-calendar{width:100%;min-height:82vh;align-self:stretch;justify-self:stretch}.approvals-calendar .fc{font-size:var(--font-size-sm);width:100%}.approvals-calendar .fc .fc-scrollgrid,.approvals-calendar .fc .fc-scrollgrid-sync-table{width:100%}.approvals-calendar .fc .fc-toolbar.fc-header-toolbar{margin:0;padding:var(--space-3);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.approvals-calendar .fc .fc-button{background:var(--color-action);border-color:var(--color-action);color:var(--color-text-on-primary)}.approvals-calendar .fc .fc-button:hover{background:var(--color-action-hover);border-color:var(--color-action-hover)}.approvals-calendar .fc button[class*=todayDate-button]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);pointer-events:none;cursor:default;opacity:1;font-weight:var(--font-weight-bold)}.approvals-calendar .fc .fc-resource-timeline-divider{background:var(--color-border)}.approvals-calendar .fc .fc-datagrid-cell{vertical-align:middle}.approvals-calendar .fc .fc-datagrid-cell.fc-resource-group{background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}.approvals-calendar .fc .fc-datagrid-cell.fc-resource-group .fc-datagrid-cell-cushion{padding:var(--space-2) var(--space-3)}.approvals-calendar .fc .fc-datagrid-cell-cushion,.approvals-calendar .fc .fc-timeline-slot-cushion{padding:var(--space-2)}.approvals-calendar .fc .timeline-weekday,.approvals-calendar .fc .timeline-daynum{display:block;text-align:center;line-height:1.1}.approvals-calendar .fc .timeline-weekday{font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide)}.approvals-calendar .fc .timeline-daynum{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-top:var(--space-1)}.approvals-calendar .fc .fc-timeline-lane.fc-weekend-slot,.approvals-calendar .fc .fc-timeline-slot.fc-weekend-slot,.approvals-calendar .fc .fc-timeline-slot-frame.fc-weekend-slot,.approvals-calendar .fc .fc-datagrid-cell.fc-weekend-slot-label{background:var(--color-neutral-100)}.approvals-calendar .fc .fc-timeline-lane.fc-holiday-slot,.approvals-calendar .fc .fc-timeline-slot.fc-holiday-slot,.approvals-calendar .fc .fc-timeline-slot-frame.fc-holiday-slot,.approvals-calendar .fc .fc-datagrid-cell.fc-holiday-slot-label{background:var(--color-neutral-200)}.approvals-calendar .fc .fc-timeline-lane.fc-today-slot,.approvals-calendar .fc .fc-timeline-slot.fc-today-slot,.approvals-calendar .fc .fc-timeline-slot-frame.fc-today-slot{background:var(--color-warning-100);box-shadow:inset 1px 0 0 var(--color-warning-500),inset -1px 0 0 var(--color-warning-500)}.approvals-calendar .fc .fc-datagrid-cell.fc-today-slot-label{background:var(--color-warning-100);color:var(--color-warning-700);font-weight:var(--font-weight-bold)}@media (min-width: 768px){.approvals-header{flex-direction:row;align-items:center}.approvals-legend{gap:var(--space-2) var(--space-4)}}.validation-page--screenshot{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-4);margin-top:var(--space-4);border-radius:var(--radius-lg)}.validation-top-row{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.validation-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.validation-tab{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.validation-tab:hover{background:var(--color-primary-50);border-color:var(--color-primary-300)}.validation-tab.is-active{background:var(--color-action);color:var(--color-text-on-primary);border-color:var(--color-action)}.validation-summary-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.validation-summary-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-sm)}.validation-summary-card p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.validation-summary-card strong{margin-top:var(--space-1);display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-text)}.validation-summary-card .is-pending{color:var(--color-warning-700)}.validation-summary-card .is-approved{color:var(--color-success-700)}.validation-summary-card .is-refused{color:var(--color-error-700)}.validation-list{display:grid;gap:var(--space-2)}.validation-request{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;cursor:pointer;transition:box-shadow var(--duration-fast) var(--easing-standard)}.validation-request:hover{box-shadow:var(--shadow-sm)}.validation-request.is-expanded{border-color:var(--color-primary-300);box-shadow:var(--shadow-md)}.validation-request-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)}.validation-request-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.validation-checkbox-wrap{position:relative;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.validation-checkbox-wrap input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.validation-checkmark{width:1.25rem;height:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.validation-checkmark:after{content:"";width:.6rem;height:.35rem;border-left:2px solid var(--color-text-on-primary);border-bottom:2px solid var(--color-text-on-primary);transform:rotate(-45deg) translateY(-1px);opacity:0}.validation-checkbox-wrap input:checked+.validation-checkmark{background:var(--color-action);border-color:var(--color-action)}.validation-checkbox-wrap input:checked+.validation-checkmark:after{opacity:1}.validation-checkbox-wrap input:focus-visible+.validation-checkmark{outline:2px solid var(--color-focus-ring);outline-offset:2px}.validation-name{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.validation-team{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.validation-period,.validation-duration{color:var(--color-text);font-size:var(--font-size-sm)}.validation-duration{color:var(--color-text-muted)}.validation-request-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.validation-bulk-actions{display:inline-flex;gap:var(--space-2);flex-wrap:wrap;width:100%}.validation-request-details{border-top:1px solid var(--color-border);padding:var(--space-3);background:var(--color-surface-alt);display:grid;gap:var(--space-3)}.validation-details-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2) var(--space-4)}.validation-details-grid p{margin:0}.validation-details-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.validation-highlight-green{color:var(--color-success-700);font-weight:var(--font-weight-semibold)}.validation-reason-box{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-2) var(--space-3);cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard)}.validation-reason-box:hover{border-color:var(--color-border-strong)}.validation-reason-box p{margin:0}.validation-pdf-preview{width:100%;min-height:420px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.validation-warning-box{border:1px solid var(--color-warning-500);background:var(--color-warning-100);border-radius:var(--radius-md);color:var(--color-warning-700);padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.validation-current-status{margin:0;padding:0 var(--space-3) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.validation-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3);margin:0;color:var(--color-text-muted);text-align:center}@media (min-width: 768px){.validation-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.validation-request-main{flex-direction:row;align-items:center}.validation-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-bulk-actions{width:auto}}.validation-search,.validation-filter-row select{min-height:48px;width:100%;border:1px solid #dfe2ec;border-radius:14px;background:var(--color-surface);color:var(--color-text);padding:0 var(--space-3);font:inherit;font-size:var(--font-size-sm);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.validation-search{min-width:min(290px,100%)}.validation-filter-row select{min-width:165px;cursor:pointer}.validation-search:focus,.validation-filter-row select:focus{outline:none;border-color:color-mix(in srgb,var(--color-action) 65%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-action) 14%,transparent)}.validation-search::placeholder{color:var(--color-text-subtle)}.admin-security-page{width:100%;max-width:none}.admin-security-card{padding:var(--space-4)}.admin-security-summary-note{margin-top:var(--space-2);color:var(--color-text-muted)}.admin-security-list-header{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.admin-security-list-header h3{margin:0}.admin-security-list-header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-security-card-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-4)}.admin-security-card-column{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-security-card-header h3,.admin-security-card-column h3{margin:0;color:var(--color-text)}.admin-security-card-header p,.admin-security-card-column>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-security-form{margin-top:0}.admin-security-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.admin-security-card-actions button{flex:1 1 180px}.admin-security-accounts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2)}.admin-security-account-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xl);padding:var(--space-3);text-align:left;display:grid;gap:var(--space-1);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.admin-security-account-chip:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-sm)}.admin-security-account-chip.is-active{border-color:var(--color-action);box-shadow:var(--shadow-md)}.admin-security-account-chip span{font-weight:var(--font-weight-bold)}.admin-security-account-chip small{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media (min-width: 768px){.admin-security-list-header{flex-direction:row;align-items:center}.admin-security-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.admin-card-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--font-size-base);color:var(--color-text)}.admin-card-title svg{color:var(--color-primary-600);flex-shrink:0}.admin-card-text{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.admin-card-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-action);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-decoration:none}.admin-card-link:hover{text-decoration:underline}@media (min-width: 768px){.admin-cards-grid{grid-template-columns:repeat(2,1fr)}}.search-card-shell{border:0;background:transparent;display:flex;justify-content:center;padding:var(--space-1) 0}.search-card{width:min(720px,92vw);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);padding:var(--space-4);box-shadow:var(--shadow-lg)}.search-card h2{margin-top:0;margin-bottom:var(--space-3)}.search-results-list{display:grid;gap:var(--space-2);max-height:380px;overflow:auto}.search-result-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface);transition:border-color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.search-result-row:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.search-result-row strong,.search-result-row span{display:block}.search-result-row strong{color:var(--color-text);font-weight:var(--font-weight-semibold)}.search-result-row span{color:var(--color-text-muted);margin-top:var(--space-1);font-size:var(--font-size-sm)}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-card--elevated{box-shadow:var(--shadow-md)}.ui-card--p-none{padding:0}.ui-card--p-sm{padding:var(--space-3)}.ui-card--p-md{padding:var(--space-4)}.ui-card--p-lg{padding:var(--space-6)}.ui-card__header{padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.ui-card__body{display:grid;gap:var(--space-3)}.ui-card__footer{padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-2)}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#1a1a1d80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ui-modal-fade var(--duration-base) var(--easing-standard)}.ui-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:ui-modal-slide var(--duration-base) var(--easing-emphasized)}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:640px}.ui-modal--lg{max-width:880px}.ui-modal--xl{max-width:1120px}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.ui-modal__title{margin:0;font-size:var(--font-size-lg)}.ui-modal__body{padding:var(--space-4);overflow:auto}.ui-modal__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-2)}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.ui-modal-backdrop,.ui-modal{animation:none}}.ui-toast-stack{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:grid;gap:var(--space-2);max-width:min(420px,calc(100vw - var(--space-8)))}.ui-toast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:ui-toast-in var(--duration-base) var(--easing-emphasized)}.ui-toast__icon{display:inline-flex}.ui-toast__message{font-size:var(--font-size-sm)}.ui-toast__close{background:transparent;border:0;cursor:pointer;color:var(--color-text-muted);display:inline-flex;padding:var(--space-1);border-radius:var(--radius-sm)}.ui-toast__close:hover{color:var(--color-text)}.ui-toast--success{border-left:3px solid var(--color-success-500)}.ui-toast--success .ui-toast__icon{color:var(--color-success-700)}.ui-toast--error{border-left:3px solid var(--color-error-500)}.ui-toast--error .ui-toast__icon{color:var(--color-error-700)}.ui-toast--info{border-left:3px solid var(--color-info-500)}.ui-toast--info .ui-toast__icon{color:var(--color-info-700)}.ui-toast--warning{border-left:3px solid var(--color-warning-500)}.ui-toast--warning .ui-toast__icon{color:var(--color-warning-700)}@keyframes ui-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.ui-toast{animation:none}}.ui-empty{display:grid;gap:var(--space-2);justify-items:center;text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}.ui-empty__icon{color:var(--color-text-subtle)}.ui-empty__title{margin:0;color:var(--color-text);font-size:var(--font-size-lg)}.ui-empty__description{margin:0;max-width:40ch;font-size:var(--font-size-sm)}.ui-empty__action{margin-top:var(--space-2)}.ui-skeleton{display:inline-block;background:linear-gradient(90deg,var(--color-neutral-100),var(--color-neutral-200),var(--color-neutral-100));background-size:200% 100%;animation:ui-skeleton 1.4s ease-in-out infinite}.ui-skeleton--sm{border-radius:var(--radius-sm)}.ui-skeleton--md{border-radius:var(--radius-md)}.ui-skeleton--lg{border-radius:var(--radius-lg)}.ui-skeleton--pill{border-radius:var(--radius-pill)}@keyframes ui-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.ui-skeleton{animation:none}}.ui-spinner{display:inline-block;border:2px solid var(--color-primary-200);border-top-color:var(--color-action);border-radius:var(--radius-pill);animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-spinner{animation:none}}.ui-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm)}.ui-breadcrumb li{display:inline-flex;align-items:center}.ui-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.ui-breadcrumb a:hover{color:var(--color-action);text-decoration:underline}.ui-breadcrumb [aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-semibold)}.ui-breadcrumb__sep{color:var(--color-text-subtle)}.page{display:grid;gap:var(--space-5);padding:var(--space-6) 0}.page-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm)}.page-breadcrumb li{display:inline-flex;align-items:center}.page-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.page-breadcrumb a:hover{color:var(--color-action);text-decoration:underline}.page-breadcrumb [aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-semibold)}.page-breadcrumb__sep{color:var(--color-text-subtle)}.page-header{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;justify-content:space-between}.page-title{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.page-description{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.page-content{display:grid;gap:var(--space-4)}@media (min-width: 768px){.page-header{flex-direction:row;align-items:center}}.section-title{margin:0 0 var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.table-actions{display:flex;gap:var(--space-1)}.planning-form__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.cards-stack{display:grid;gap:var(--space-3)}.entry-card{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.entry-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.entry-card__meta{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-shell{--sidebar-w: 264px;--sidebar-w-collapsed: 76px;--sidebar-mobile-w: min(82vw, 320px);--shell-nav-hover-bg: #f7f6ff;--shell-nav-active-bg: #f0f0fb;--shell-nav-active-color: var(--color-violet-500, #6669be);--shell-nav-muted-color: var(--color-text-muted);--shell-nav-panel-shadow: 0 16px 40px rgba(56, 56, 56, .1);--sidebar-flyout-gap: var(--space-2);min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:var(--color-app-bg, var(--color-bg));overflow-x:hidden}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.app-shell__main{min-width:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-shell__topbar{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--color-surface) 94%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-shell__content{flex:1;width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding-inline)}.app-shell__scrim{display:none}.sidebar{position:sticky;top:0;align-self:start;z-index:var(--z-popover);height:100vh;height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);overflow:visible}.sidebar__brand{flex-shrink:0;padding:var(--space-2) var(--space-2) 0}.sidebar__logo{width:300px;height:auto;display:block;justify-self:center}.sidebar__nav{min-height:0;flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-1);overflow-y:auto;overflow-x:hidden}.sidebar__link,.sidebar__group-trigger{width:100%;min-height:44px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:0;border-radius:var(--radius-lg);background:transparent;color:var(--shell-nav-muted-color);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}.sidebar__link:hover,.sidebar__group-trigger:hover{background:var(--shell-nav-hover-bg);color:var(--color-text)}.sidebar__link.is-active,.sidebar__group.is-active>.sidebar__group-trigger{background:var(--shell-nav-active-bg);color:var(--shell-nav-active-color)}.sidebar__link.is-active .sidebar__icon,.sidebar__group.is-active>.sidebar__group-trigger .sidebar__icon{color:var(--shell-nav-active-color)}.sidebar__icon{flex:0 0 auto}.sidebar__label{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.25}.sidebar__chevron{flex:0 0 auto;margin-left:auto;opacity:.45;transition:transform var(--duration-fast) var(--easing-standard),opacity var(--duration-fast) var(--easing-standard)}.sidebar__group.is-submenu-open .sidebar__chevron,.sidebar__group.is-active .sidebar__chevron{opacity:.75;transform:rotate(90deg)}.sidebar__group{position:relative}.sidebar__group:after{content:"";position:absolute;top:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));left:100%;width:var(--sidebar-flyout-gap);display:block;opacity:0;pointer-events:none}.sidebar__group.is-submenu-open:after{pointer-events:auto}.sidebar__submenu{position:absolute;top:0;left:var(--sidebar-w);z-index:var(--z-popover, 1400);min-width:232px;max-width:min(320px,calc(100vw - var(--sidebar-w) - 3rem));max-height:min(70vh,520px);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);overflow-y:auto;overflow-x:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shell-nav-panel-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px) scale(.985);transform-origin:left top;transition:opacity .26s var(--easing-standard),transform .34s var(--easing-emphasized),visibility 0s linear .34s;will-change:opacity,transform}.sidebar__group.is-submenu-open .sidebar__submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0) scale(1);transition-delay:0s}.sidebar__submenu-title{display:block;padding:var(--space-1) var(--space-3) var(--space-2);color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.sidebar__sublink{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.sidebar__sublink:hover{background:var(--shell-nav-hover-bg);color:var(--color-text)}.sidebar__sublink.is-active{background:var(--shell-nav-active-bg);color:var(--shell-nav-active-color);font-weight:var(--font-weight-semibold)}.app-shell.is-collapsed .sidebar,.sidebar.is-collapsed{align-items:center;padding-inline:var(--space-2);overflow:visible}.app-shell.is-collapsed .sidebar__brand,.sidebar.is-collapsed .sidebar__brand{padding-inline:0}.app-shell.is-collapsed .sidebar__logo,.sidebar.is-collapsed .sidebar__logo{width:42px;max-width:42px;object-fit:cover;object-position:left}.app-shell.is-collapsed .sidebar__nav,.sidebar.is-collapsed .sidebar__nav{width:100%;overflow:visible}.app-shell.is-collapsed .sidebar__link,.app-shell.is-collapsed .sidebar__group-trigger,.sidebar.is-collapsed .sidebar__link,.sidebar.is-collapsed .sidebar__group-trigger{justify-content:center;padding-inline:var(--space-2)}.app-shell.is-collapsed .sidebar__label,.app-shell.is-collapsed .sidebar__chevron,.sidebar.is-collapsed .sidebar__label,.sidebar.is-collapsed .sidebar__chevron{display:none}.app-shell.is-collapsed .sidebar__submenu,.sidebar.is-collapsed .sidebar__submenu{max-width:min(320px,calc(100vw - var(--sidebar-w-collapsed) - 2rem))}.app-shell.is-collapsed .sidebar__group.is-submenu-open .sidebar__submenu,.sidebar.is-collapsed .sidebar__group.is-submenu-open .sidebar__submenu{position:absolute;top:0;left:var(--sidebar-w);z-index:var(--z-popover, 1400);min-width:232px;opacity:1;visibility:visible;pointer-events:auto;transform:translate(0) scale(1)}.app-shell.is-collapsed .sidebar__submenu-title,.sidebar.is-collapsed .sidebar__submenu-title{display:block}.sidebar__collapse{flex-shrink:0;width:100%;min-height:44px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:0;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.sidebar__collapse:hover{background:var(--shell-nav-hover-bg);color:var(--color-text)}.sidebar__collapse-icon{flex:0 0 auto;transition:transform var(--duration-base) var(--easing-standard)}.app-shell.is-collapsed .sidebar__collapse,.sidebar.is-collapsed .sidebar__collapse{justify-content:center;padding-inline:var(--space-2)}.app-shell.is-collapsed .sidebar__collapse-icon,.sidebar.is-collapsed .sidebar__collapse-icon{transform:rotate(180deg)}.workspace-toggle.workspace-switch{--workspace-active-color: var(--shell-nav-active-color, #6669be);--workspace-muted: var(--color-text-muted, #72758c);--workspace-text: var(--color-text, #303247);--workspace-soft-bg: #f7f7fc;--workspace-border: #ececf6;position:relative;flex-shrink:0;width:100%;min-width:0;display:grid;gap:6px;padding:6px;margin-inline:0;border:1px solid var(--workspace-border);border-radius:24px;background:radial-gradient(circle at 20% 20%,rgba(102,105,190,.1),transparent 30%),linear-gradient(180deg,#fbfbff 0%,var(--workspace-soft-bg) 100%);box-shadow:inset 0 1px #ffffffe6,0 10px 26px #2b2d540d;overflow:hidden}.workspace-switch__indicator{position:absolute;z-index:0;top:6px;left:6px;right:6px;height:56px;border-radius:18px;background:linear-gradient(135deg,#fffffffa,#ffffffe0);box-shadow:0 12px 28px #34366e1f,inset 0 0 0 1px #6669be1a;transform:translateY(0);transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}.workspace-switch.is-management .workspace-switch__indicator{transform:translateY(62px)}.workspace-switch__option{position:relative;z-index:1;min-width:0;min-height:56px;display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:center;gap:10px;padding:9px 12px 9px 10px;border:0;border-radius:18px;background:transparent;color:var(--workspace-muted);font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .22s ease,transform .22s ease}.workspace-switch__option:focus-visible{outline:2px solid rgba(102,105,190,.45);outline-offset:2px}.workspace-switch__option:hover{color:var(--workspace-text);transform:translate(2px)}.workspace-switch__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:13px;background:#6669be17;color:var(--workspace-active-color);transition:background .22s ease,color .22s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.workspace-switch__content{min-width:0;display:grid;gap:3px}.workspace-switch__content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:13px;font-weight:800;line-height:1.05}.workspace-switch__content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9a9db0;font-size:11px;font-weight:650;line-height:1.05;transition:color .22s ease}.workspace-switch__dot{width:7px;height:7px;border-radius:999px;background:#d7d9ea;transform:scale(.75);transition:background .22s ease,transform .22s ease,box-shadow .22s ease}.workspace-switch__option.is-active{color:var(--workspace-active-color)}.workspace-switch__option.is-active .workspace-switch__icon{background:#6669be21;transform:scale(1.04) rotate(-2deg)}.workspace-switch__option.is-active .workspace-switch__content small{color:#777bcf}.workspace-switch__option.is-active .workspace-switch__dot{background:var(--workspace-active-color);transform:scale(1);box-shadow:0 0 0 4px #6669be21}.workspace-toggle-mini{flex-shrink:0;display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid #ececf6;border-radius:var(--radius-lg);background:#f8f8fc;color:var(--shell-nav-active-color);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.workspace-toggle-mini:hover{background:var(--shell-nav-hover-bg)}.app-shell.is-collapsed .workspace-toggle,.sidebar.is-collapsed .workspace-toggle{display:none}.app-shell.is-collapsed .workspace-toggle-mini,.sidebar.is-collapsed .workspace-toggle-mini{display:inline-flex}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--container-padding-inline)}.topbar__menu{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.topbar__menu:hover{background:var(--shell-nav-hover-bg);color:var(--shell-nav-active-color)}.topbar__actions{min-width:0;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.topbar__icon{flex:0 0 auto;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.topbar__icon:hover{background:var(--shell-nav-hover-bg);color:var(--shell-nav-active-color)}.topbar__profile{position:relative;flex:0 0 auto}.topbar__profile-trigger{display:flex;align-items:center;gap:var(--space-2);min-height:2.5rem;max-width:min(320px,45vw);padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.topbar__profile-trigger:hover{background:var(--shell-nav-hover-bg)}.topbar__avatar{flex:0 0 auto;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-violet-400),var(--color-violet-500));color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.topbar__profile-info{min-width:0;display:none;flex-direction:column;line-height:1.2;text-align:left}.topbar__profile-info strong,.topbar__profile-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__profile-info strong{color:var(--color-text);font-size:var(--font-size-sm)}.topbar__profile-info small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.topbar__dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-dropdown);width:max-content;min-width:200px;max-width:min(92vw,280px);display:grid;gap:var(--space-1);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shell-nav-panel-shadow)}.topbar__dropdown a,.topbar__dropdown button{width:100%;display:block;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:left;text-decoration:none;cursor:pointer}.topbar__dropdown a:hover,.topbar__dropdown button:hover{background:var(--shell-nav-hover-bg);color:var(--shell-nav-active-color)}.app-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--container-padding-inline);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.app-footer__links a{color:var(--color-text-muted);text-decoration:none}.app-footer__links a:hover{color:var(--shell-nav-active-color)}@media (min-width: 768px){.topbar__profile-info{display:flex}.app-footer{flex-direction:row;justify-content:space-between}}@media (max-width: 1023px){.app-shell,.app-shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.topbar__menu{display:inline-flex}.sidebar,.app-shell.is-collapsed .sidebar,.sidebar.is-collapsed{position:fixed;inset:0 auto 0 0;z-index:var(--z-overlay);width:var(--sidebar-mobile-w);max-width:320px;height:100vh;height:100dvh;align-items:stretch;padding:var(--space-5) var(--space-3);overflow:hidden;transform:translate(-100%);transition:transform var(--duration-base) var(--easing-standard);box-shadow:var(--shadow-xl)}.app-shell.is-mobile-nav-open .sidebar{transform:translate(0)}.app-shell__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-overlay) - 1);display:none;background:#10182852}.app-shell.is-mobile-nav-open .app-shell__scrim{display:block}.sidebar__nav,.app-shell.is-collapsed .sidebar__nav,.sidebar.is-collapsed .sidebar__nav{overflow-y:auto;overflow-x:hidden}.app-shell.is-collapsed .sidebar__logo,.sidebar.is-collapsed .sidebar__logo{width:120px;max-width:120px}.app-shell.is-collapsed .sidebar__link,.app-shell.is-collapsed .sidebar__group-trigger,.sidebar.is-collapsed .sidebar__link,.sidebar.is-collapsed .sidebar__group-trigger{justify-content:flex-start;padding-inline:var(--space-3)}.app-shell.is-collapsed .sidebar__label,.app-shell.is-collapsed .sidebar__chevron,.sidebar.is-collapsed .sidebar__label,.sidebar.is-collapsed .sidebar__chevron{display:inline-flex}.app-shell.is-collapsed .workspace-toggle,.sidebar.is-collapsed .workspace-toggle{display:grid}.app-shell.is-collapsed .workspace-toggle-mini,.sidebar.is-collapsed .workspace-toggle-mini,.sidebar__collapse{display:none}.sidebar__group:after{display:none}.sidebar__submenu,.app-shell.is-collapsed .sidebar__submenu,.sidebar.is-collapsed .sidebar__submenu{position:static;min-width:0;max-width:none;max-height:none;margin:var(--space-1) 0 var(--space-1) calc(var(--space-3) + 20px);padding:0;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}.sidebar__group.is-submenu-open .sidebar__submenu{display:flex}.sidebar__submenu-title{display:none}}@media (max-width: 480px){.topbar{padding-inline:var(--space-3)}.topbar__actions{gap:var(--space-1)}.topbar__icon,.topbar__menu{width:2.25rem;height:2.25rem}.topbar__profile-trigger{padding-inline:var(--space-1)}.app-footer{text-align:center}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar__submenu,.sidebar__chevron,.sidebar__collapse-icon,.workspace-switch__indicator,.workspace-switch__option,.workspace-switch__icon,.workspace-switch__content small,.workspace-switch__dot,.topbar__menu,.topbar__icon,.topbar__profile-trigger{transition:none}}.hours-toolbar__summary{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.hours-list{display:flex;flex-direction:column;gap:var(--space-2)}.hours-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.hours-card__header{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:0;background:var(--color-surface);cursor:pointer;text-align:left;transition:background-color var(--duration-fast) var(--easing-standard)}.hours-card__header:hover{background:var(--color-surface-alt)}.hours-card__chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--duration-base) var(--easing-standard)}.hours-card__chevron.is-open{transform:rotate(90deg)}.hours-card__name{flex:1}.hours-card__name h3{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.hours-card__name h3 svg{color:var(--color-primary-600)}.hours-card__name p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.hours-card__status{width:12px;height:12px;border-radius:var(--radius-pill);flex-shrink:0}.hours-card__status.is-ok{background:var(--color-success-500)}.hours-card__status.is-late{background:var(--color-error-500)}.hours-card__body{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);background:var(--color-surface-alt)}.hours-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-2)}.hours-day{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.hours-day.is-holiday{background:var(--color-neutral-100);opacity:.7}.hours-day__name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.hours-day.is-holiday .hours-day__name{color:var(--color-text-subtle)}.hours-day__date{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:2px}.hours-day__holiday{margin-top:var(--space-2);font-size:var(--font-size-xs);font-style:italic;color:var(--color-text-subtle)}.hours-day__empty{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.hours-day__entries{margin-top:var(--space-2);display:grid;gap:2px;font-size:var(--font-size-xs)}.hours-entry{display:flex;align-items:center;gap:var(--space-1)}.hours-entry svg{flex-shrink:0}.hours-entry--arrival{color:var(--color-success-700)}.hours-entry--lunch-title{color:var(--color-warning-700);font-weight:var(--font-weight-semibold)}.hours-entry--lunch{color:var(--color-warning-700)}.hours-entry--departure{color:var(--color-error-700)}.hours-entry--worked{margin-top:var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-primary-600)}.hours-card__nodata{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-2) 0 0}.hours-annual-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.hours-annual-controls__action{padding-bottom:2px}.hours-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}
