:root{--color-primary: #6f263d;--color-primary-hover: #5c1f33;--color-primary-active: #4a1929;--color-primary-tint: #8a4258;--color-primary-subtle: #f3e9ec;--color-primary-contrast: #ffffff;--color-background: #f5f4f1;--color-surface: #ffffff;--color-surface-subtle: #faf9f7;--color-text-primary: #171717;--color-text-secondary: #6b6b6b;--color-text-muted: #999999;--color-border: #e6e3de;--color-border-strong: #d7d3cc;--color-sidebar: #191919;--color-sidebar-text: #e6e3de;--color-sidebar-text-muted: #8f8b85;--color-success-fg: #1f7a4d;--color-success-bg: #e8f3ec;--color-warning-fg: #96620a;--color-warning-bg: #fbf1de;--color-error-fg: #b3261e;--color-error-bg: #fbe9e7;--color-info-fg: #3a5a75;--color-info-bg: #e9eff4;--color-neutral-fg: #5c5c5c;--color-neutral-bg: #efeeeb;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-dropdown: 0 4px 12px rgba(23, 23, 23, .1), 0 1px 3px rgba(23, 23, 23, .06);--shadow-modal: 0 16px 40px rgba(23, 23, 23, .18), 0 4px 12px rgba(23, 23, 23, .08);--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-feature-tabular: "tnum" 1, "lnum" 1;--font-size-h1: 28px;--font-size-h2: 22px;--font-size-h3: 17px;--font-size-body: 14px;--font-size-caption: 12px;--line-height-h1: 1.25;--line-height-h2: 1.3;--line-height-h3: 1.4;--line-height-body: 1.55;--line-height-caption: 1.45;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--sidebar-width: 248px;--header-height: 60px;--content-max-width: 1200px;--focus-ring-color: var(--color-primary);--focus-ring-width: 2px;--focus-ring-offset: 2px;--z-base: 0;--z-sticky: 100;--z-header: 200;--z-sidebar: 300;--z-dropdown: 400;--z-drawer: 500;--z-modal-backdrop: 600;--z-modal: 700;--z-toast: 800;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}*,*:before,*:after{box-sizing:border-box}body{margin:0;color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.app-shell__skip-link{position:absolute;top:-48px;left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);text-decoration:none;transition:top var(--transition-fast)}.app-shell__skip-link:focus{top:var(--space-2)}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar header" "sidebar main";background:var(--color-background)}.app-shell__main{grid-area:main;min-width:0;width:100%;max-width:var(--content-max-width);margin-inline:auto;padding:var(--space-6)}.app-sidebar{grid-area:sidebar;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;min-height:0;background:var(--color-sidebar);color:var(--color-sidebar-text);overflow-y:auto}.app-sidebar__brand{display:flex;align-items:center;flex-shrink:0;height:var(--header-height);padding-inline:var(--space-5);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);letter-spacing:.01em;color:var(--color-sidebar-text)}.app-sidebar__close{display:none;margin-left:auto;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);color:var(--color-sidebar-text);cursor:pointer}.app-sidebar__nav{flex:1 1 auto;padding:var(--space-3) var(--space-3) var(--space-6)}.app-sidebar__group+.app-sidebar__group{margin-top:var(--space-5)}.app-sidebar__group-heading{margin:0 0 var(--space-2);padding-inline:var(--space-3);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-sidebar-text-muted)}.app-sidebar__list{margin:0;padding:0;list-style:none}.nav-link{display:block;padding:var(--space-2) var(--space-3);border-left:2px solid transparent;border-radius:var(--radius-sm);color:var(--color-sidebar-text);text-decoration:none;font-size:var(--font-size-body);line-height:var(--line-height-body);transition:background-color var(--transition-fast),color var(--transition-fast)}.nav-link:hover{background:#ffffff0f}.nav-link[aria-current=page]{background:#6f263d3d;border-left-color:var(--color-primary-tint);color:#fff;font-weight:var(--font-weight-semibold)}.app-sidebar__user{flex-shrink:0;padding:var(--space-4) var(--space-5);border-top:1px solid rgba(255,255,255,.08);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.app-sidebar__user-name{display:block;color:var(--color-sidebar-text);font-size:var(--font-size-body)}.app-sidebar__user-role{color:var(--color-sidebar-text-muted);letter-spacing:.04em}.app-header{grid-area:header;position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-3);height:var(--header-height);padding-inline:var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__menu{display:none;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer}.app-header__title{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.app-header__user{position:relative;flex-shrink:0}.app-header__user-trigger{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);cursor:pointer}.app-header__user-role{color:var(--color-text-secondary);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em}.app-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:var(--z-dropdown)}.app-menu__email{margin:0;padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-caption);word-break:break-all}.app-menu__sep{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.app-menu__item{display:block;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);text-align:left;color:var(--color-text-primary);font-size:var(--font-size-body);cursor:pointer}.app-menu__item:hover{background:var(--color-surface-subtle)}.app-shell__backdrop{display:none}@media (max-width: 767.98px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "main"}.app-sidebar{position:fixed;top:0;left:0;bottom:0;height:auto;width:var(--sidebar-width);max-width:85vw;z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--transition-fast)}.app-sidebar--open{transform:translate(0)}.app-sidebar__close{display:inline-flex}.app-shell__backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:#17171780}.app-header__menu{display:inline-flex}}@media (prefers-reduced-motion: reduce){.app-shell__skip-link,.app-sidebar,.nav-link{transition:none}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ui-button:disabled{cursor:default;opacity:.6}.ui-button--primary{color:var(--color-primary-contrast);background:var(--color-primary);border-color:var(--color-primary)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.ui-button--secondary{color:var(--color-text-primary);background:var(--color-surface);border-color:var(--color-border-strong)}.ui-button--secondary:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-text-muted)}.ui-button--secondary:active:not(:disabled){background:var(--color-border)}.ui-button--danger{color:var(--color-error-fg);background:var(--color-error-bg);border-color:var(--color-error-fg)}.ui-button--danger:hover:not(:disabled){color:var(--color-primary-contrast);background:var(--color-error-fg)}.ui-button--danger:active:not(:disabled){color:var(--color-primary-contrast);background:var(--color-error-fg);opacity:.85}.ui-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.85;animation:ui-spin .6s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{display:flex;flex-direction:column;gap:var(--space-2)}.ui-field__label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ui-input{width:100%;height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.ui-input:hover{border-color:var(--color-text-muted)}.ui-input:focus{border-color:var(--color-primary)}.ui-input:disabled{cursor:default;color:var(--color-text-muted);background:var(--color-surface-subtle)}.ui-input[aria-invalid=true]{border-color:var(--color-error-fg)}.ui-field__hint{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.ui-field__error{margin:0;padding:var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-error-fg);background:var(--color-error-bg);border:1px solid var(--color-error-fg);border-radius:var(--radius-md)}.absences-select,.candidates-select,.employee-profile-select,.incidents-select,.operations-calendar-select,.recruitment-pipeline-select,.reports-select,.shifts-select,.staffing-gaps-select,.users-select{height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.candidates-textarea,.incidents-textarea,.recruitment-pipeline-textarea{width:100%;min-height:80px;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);resize:vertical}.ui-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-2);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption);border-radius:var(--radius-sm);white-space:nowrap}.ui-badge:before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:currentColor}.ui-badge--success{color:var(--color-success-fg);background:var(--color-success-bg)}.ui-badge--warning{color:var(--color-warning-fg);background:var(--color-warning-bg)}.ui-badge--error{color:var(--color-error-fg);background:var(--color-error-bg)}.ui-badge--info{color:var(--color-info-fg);background:var(--color-info-bg)}.ui-badge--neutral{color:var(--color-neutral-fg);background:var(--color-neutral-bg)}@media (prefers-reduced-motion: reduce){.ui-button,.ui-input{transition:none}.ui-button__spinner{animation-duration:1.5s}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background:var(--color-background)}.login-card{width:100%;max-width:380px;padding:var(--space-8);box-shadow:var(--shadow-dropdown)}.login-brand{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.login-title{margin:var(--space-2) 0 var(--space-6);font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-password-field{position:relative}.login-password-field .ui-input{padding-right:44px}.login-password-toggle{position:absolute;top:-2px;right:2px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast)}.login-password-toggle:hover{color:var(--color-text-primary)}@media (max-width: 400px){.login-card{padding:var(--space-6)}}@media (prefers-reduced-motion: reduce){.login-password-toggle{transition:none}}.dashboard-stats{display:flex;flex-wrap:wrap;gap:var(--space-6)}.dashboard-stat{min-width:180px}.dashboard-stat-value{font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dashboard-stat-label{margin-top:var(--space-1);color:var(--color-text-secondary)}.dashboard-stat-note{margin-top:var(--space-1);font-size:var(--font-size-caption);color:var(--color-text-muted)}.employees-toolbar{margin-bottom:var(--space-3)}.employees-filter-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.employee-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.employees-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.employees-form h3{margin:0}.employees-form-actions{display:flex;gap:var(--space-2)}.employees-select{width:100%;height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.locations-toolbar{margin-bottom:var(--space-3)}.location-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.locations-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.locations-form h3{margin:0}.locations-form-actions{display:flex;gap:var(--space-2)}.positions-toolbar{margin-bottom:var(--space-3)}.positions-filter-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.position-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.positions-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.positions-form h3{margin:0}.positions-form-actions{display:flex;gap:var(--space-2)}.shifts-toolbar{margin-bottom:var(--space-3)}.shifts-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.shifts-filter-date{height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.shift-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.shifts-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.shifts-form h3{margin:0}.shifts-form-actions{display:flex;gap:var(--space-2)}.absences-toolbar{margin-bottom:var(--space-3)}.absences-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.absences-filter-date{height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.absence-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:170px}.absence-decision-note{font-size:var(--font-size-caption);padding:0 var(--space-2);height:28px;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.absences-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.absences-form h3{margin:0}.absences-form-actions{display:flex;gap:var(--space-2)}.staffing-gaps-toolbar{margin-bottom:var(--space-3)}.staffing-gaps-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.staffing-gaps-filter-date{height:40px;padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.staffing-gaps-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.staffing-gaps-form h3{margin:0}.staffing-gaps-form-actions{display:flex;gap:var(--space-2)}.incidents-toolbar{margin-bottom:var(--space-3)}.incidents-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.incidents-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.incidents-form h3{margin:0}.incidents-form-actions{display:flex;gap:var(--space-2)}.incidents-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:180px}.candidates-toolbar{margin-bottom:var(--space-3)}.candidates-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.candidates-form h3{margin:0}.candidates-form-actions{display:flex;gap:var(--space-2)}.candidates-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:200px}.candidates-status-row{display:flex;gap:var(--space-1)}.users-toolbar{margin-bottom:var(--space-3)}.users-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.users-form h3{margin:0}.users-form-actions{display:flex;gap:var(--space-2)}.users-actions{display:flex;flex-direction:column;gap:var(--space-1);min-width:220px}.users-role-row{display:flex;gap:var(--space-1)}.recruitment-pipeline-toolbar{margin-bottom:var(--space-3)}.recruitment-pipeline-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.recruitment-pipeline-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.recruitment-pipeline-form h3{margin:0}.recruitment-pipeline-form-actions{display:flex;gap:var(--space-2)}.recruitment-pipeline-detail-actions{margin-top:var(--space-2);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.employee-profile-action-row{margin-bottom:var(--space-2);display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
