@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Outfit:wght@400;500;600;700&display=swap";:root{--font-primary: "Outfit", "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--sidebar-width: 140px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--control-height: 48px;--control-padding-x: 16px;--control-padding-y: 12px;--control-icon-space: 42px;--color-text-primary: #1e293b;--color-text-strong: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #475569;--color-surface-page: #f8fafc;--color-surface-panel: rgba(255, 255, 255, .75);--color-surface-subtle: rgba(255, 255, 255, .4);--color-surface-secondary: rgba(241, 245, 249, .6);--color-surface-hover: rgba(236, 242, 255, .8);--color-skeleton: #e2e8f0;--color-border-default: rgba(203, 213, 225, .6);--color-border-subtle: rgba(226, 232, 240, .4);--color-border-card: rgba(255, 255, 255, .8);--color-border-accent: rgba(22, 50, 112, .14);--color-accent: #163270;--color-accent-gradient: linear-gradient(135deg, #163270 0%, #25408a 100%);--color-accent-strong: #0f214a;--color-accent-soft: #16327014;--color-accent-glow: rgba(22, 50, 112, .3);--color-primary: #163270;--color-success: #059669;--color-danger: #e11d48;--shadow-sm: 0 2px 4px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-glow: 0 0 16px -2px var(--color-accent-glow);--glass-blur: blur(16px);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--z-negative: -1;--z-base: 0;--z-above: 50;--z-sticky: 100;--z-nav: 1000;--z-dropdown: 1500;--z-overlay: 1800;--z-modal: 2000;--z-toast: 3000}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;min-width:320px;background:var(--color-surface-page);color:var(--color-text-primary);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--fw-normal);font-synthesis:none;line-height:1.5;overflow-x:hidden;scrollbar-gutter:stable;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:1.2}h2{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:1.25}h3{font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:1.3}button,input,select,textarea{font-family:var(--font-primary)}button{min-height:40px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-accent-gradient);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:1.2;box-shadow:var(--shadow-sm);transition:transform var(--transition-bounce),box-shadow var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}button.secondary{background:var(--color-surface-secondary);color:var(--color-accent-strong);border:1px solid var(--color-border-subtle);box-shadow:none}button:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md),var(--shadow-glow)}button.secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-default);box-shadow:var(--shadow-sm)}button:active:not(:disabled){transform:translateY(0) scale(.98)}button:disabled{cursor:not-allowed;opacity:.6;filter:grayscale(100%)}label{display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-normal);line-height:1.35}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-surface-page);font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:1.5;color:var(--color-text-strong);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;padding:0;margin:0;cursor:pointer;accent-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--control-icon-space);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%231d2939' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px}input[type=date],input[type=datetime-local],input[type=time]{padding-right:var(--control-icon-space);line-height:normal}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft),var(--shadow-sm);outline:none}textarea{padding-top:12px;resize:vertical}.center-message{display:grid;min-height:100vh;padding:var(--space-6);place-items:center}.stack,.nav-stack{display:grid;gap:var(--space-4)}.grid{display:grid;align-items:start;gap:var(--space-4)}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.page-loading,.skeleton-grid{display:grid;gap:var(--space-4)}.skeleton-card{min-height:140px}.skeleton-card--hero{min-height:180px}.skeleton-card--table{min-height:320px}.skeleton-line{display:block;height:14px;border-radius:999px;background:var(--color-skeleton);opacity:.9}.skeleton-line+.skeleton-line{margin-top:var(--space-3)}.skeleton-line--title{width:220px;height:22px}.skeleton-line--metric{width:72px;height:34px}.skeleton-line--short{width:140px}.skeleton-line--medium{width:60%}.skeleton-line--long{width:82%}.action-row,.button-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.password-field{display:grid;align-items:center;gap:var(--space-2);grid-template-columns:1fr auto}.row-actions{gap:var(--space-2)}.row-actions button,.table button,.icon-button{min-height:34px;padding:8px 12px}.icon-button{min-width:78px}.table button{font-size:var(--text-xs)}.page-section--top{align-items:start}.compact-form{align-content:start;gap:var(--space-3)}.compact-form>.muted{font-size:var(--text-xs);line-height:1.6}.compact-form>button:not(.secondary):not(.icon-button){justify-self:start;min-width:180px}.compact-table-card,.leave-balance-card{align-self:start}.card{padding:var(--space-5);border:1px solid var(--color-border-card);border-radius:var(--radius-xl);background:var(--color-surface-panel);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card h3{margin-bottom:var(--space-3);color:var(--color-text-strong);font-size:var(--text-lg);font-weight:var(--fw-semibold);letter-spacing:-.01em}.dense-table-card .table-wrap{max-height:620px}.eyebrow{color:#2563eb;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--fw-normal)}.success-text{color:var(--color-success);font-size:var(--text-sm)}.error-text{color:var(--color-danger);font-size:var(--text-sm)}.mono{font-family:var(--font-mono)}@media (max-width: 1100px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.table th,.table td{white-space:nowrap}.row-actions{min-width:180px}}@media (max-width: 640px){.center-message{padding:var(--space-4)}.card{padding:var(--space-4);border-radius:14px}.action-row{align-items:stretch;flex-direction:column}.button-row{align-items:stretch;justify-content:flex-start}.button-row button{width:100%}.password-field{grid-template-columns:1fr}}.error-boundary-card{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;margin:16px 0;background:#e11d480a;border:1px solid rgba(225,29,72,.15);border-radius:16px;color:var(--color-text-primary)}.error-boundary-icon{font-size:24px;flex-shrink:0;margin-top:2px}.error-boundary-body{display:flex;flex-direction:column;gap:6px;min-width:0}.error-boundary-body h3{font-size:var(--text-md);font-weight:600;color:var(--color-danger);margin:0}.error-boundary-context{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.error-boundary-message{font-size:var(--text-sm);color:var(--color-text-secondary);word-break:break-word;margin:0}.error-boundary-retry{align-self:flex-start;min-height:34px;padding:6px 16px;margin-top:8px;font-size:var(--text-xs)!important}
