:root{--font-family-base: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--color-primary: #0ea5e9;--color-primary-dark: #0284c7;--color-primary-light: #38bdf8;--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #34d399;--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fbbf24;--accent-green: #10b981;--accent-yellow: #f59e0b;--accent-red: #ef4444;--accent-green-light: #10b981;--accent-yellow-light: #f59e0b;--accent-red-light: #ef4444;--accent-green-dark: #10b981;--accent-yellow-dark: #f59e0b;--accent-red-dark: #ef4444;--color-info: #3b82f6;--color-info-dark: #2563eb;--color-info-light: #60a5fa;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--accent-color: #0ea5e9;--accent-hover: #0284c7;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-surface: #ffffff;--color-text: #1e293b;--color-text-light: #64748b;--color-border: #e2e8f0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-dropdown: 1000;--z-modal: 2000;--z-tooltip: 3000}:root.dark,[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: #334155;--accent-color: #0ea5e9;--accent-hover: #0284c7;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-surface: #1e293b;--color-text: #f8fafc;--color-text-light: #cbd5e1;--color-border: #334155}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.h-full{height:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer;border:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 24px;font-size:16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0}.card-body{padding:var(--spacing-md) 0}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:14px;font-family:inherit;transition:all var(--transition-base)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0ea5e91a}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-primary)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:80px}.form-error{color:var(--color-error);font-size:13px;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--text-tertiary);pointer-events:none}.input-wrapper .form-input{padding-left:40px}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;white-space:nowrap}.badge-primary{background:#0ea5e91a;color:var(--color-primary)}.badge-success{background:#10b9811a;color:var(--color-success)}.badge-error{background:#ef44441a;color:var(--color-error)}.badge-warning{background:#f59e0b1a;color:var(--color-warning)}.badge-info{background:#3b82f61a;color:var(--color-info)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-base)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:90%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-title{font-size:20px;font-weight:600;color:var(--color-text);margin:0}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all var(--transition-base)}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.table{width:100%;border-collapse:collapse;background:var(--color-surface)}.table th{background:var(--bg-secondary);padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--color-border)}.table td{padding:12px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px}.table tr:hover{background:var(--bg-secondary)}.table tr:last-child td{border-bottom:none}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-light)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-light);text-align:center}.empty-state h3{font-size:20px;font-weight:600;color:var(--color-text);margin:16px 0 8px}.empty-state p{font-size:14px;margin:0}.logo-spinner{margin-bottom:16px;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.spinning-logo{width:80px;height:80px;object-fit:contain;animation:pulse-spin 2s ease-in-out infinite}.alert{padding:12px 16px;border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.alert-success{background:#10b9811a;color:var(--color-success-dark);border:1px solid rgba(16,185,129,.3)}.alert-error{background:#ef44441a;color:var(--color-error-dark);border:1px solid rgba(239,68,68,.3)}.alert-warning{background:#f59e0b1a;color:var(--color-warning-dark);border:1px solid rgba(245,158,11,.3)}.alert-info{background:#3b82f61a;color:var(--color-info-dark);border:1px solid rgba(59,130,246,.3)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown);animation:slideDown var(--transition-fast)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 16px;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);font-size:14px}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-divider{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0}.tabs{display:flex;gap:var(--spacing-sm);border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg)}.tab{padding:12px 20px;font-size:14px;font-weight:600;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--transition-base)}.tab:hover{color:var(--color-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.toggle-switch{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.slider{position:relative;width:48px;height:26px;background:#cbd5e1;border-radius:26px;transition:all var(--transition-base);flex-shrink:0}.slider:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all var(--transition-base);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.slider{background:var(--color-primary)}.toggle-switch input:checked+.slider:before{transform:translate(22px)}.toggle-label{font-size:14px;font-weight:500;color:var(--color-text)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;color:var(--color-text);margin:0}.divider{height:1px;background:var(--color-border);margin:var(--spacing-lg) 0}.text-input-wrapper{display:flex;flex-direction:column;gap:6px}.text-input-wrapper label{font-size:14px;font-weight:500;color:var(--color-text)}.text-input-wrapper input{padding:10px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:14px;color:var(--text-primary, #1e293b);background:var(--bg-primary, white);transition:all .2s;width:100%}.text-input-wrapper input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.text-input-wrapper input.error{border-color:#ef4444}.text-input-wrapper input.error:focus{box-shadow:0 0 0 3px #ef44441a}.text-input-wrapper input:disabled{background:var(--bg-tertiary, #f1f5f9);cursor:not-allowed;opacity:.6}.text-input-wrapper input::placeholder{color:var(--text-tertiary, #94a3b8)}.error-message{font-size:12px;color:#ef4444;margin-top:-2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse-spin{0%,to{transform:scale(1) rotate(0);opacity:1}25%{transform:scale(1.1) rotate(90deg);opacity:.8}50%{transform:scale(1) rotate(180deg);opacity:1}75%{transform:scale(1.1) rotate(270deg);opacity:.8}}.list-view{padding:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:24px;font-weight:600;color:var(--color-text);margin:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-content{flex:1}.card-value{font-size:28px;font-weight:700;color:var(--color-text);line-height:1.2}.card-label{font-size:13px;color:var(--color-text-light);margin-top:4px}.btn-primary:hover{background:#0284c7;transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px #0ea5e933}.filter-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.table-scroll-top{overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--color-border)}.table-scroll-top::-webkit-scrollbar{height:8px}.table-scroll-top::-webkit-scrollbar-track{background:var(--color-bg)}.table-scroll-top::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.table-wrapper{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 400px)}.table-wrapper::-webkit-scrollbar{height:8px;width:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--color-bg)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.data-table{width:100%;border-collapse:collapse;min-width:2000px}.data-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table tbody tr{background:var(--color-surface)}.data-table td{padding:12px 16px;font-size:14px;color:var(--color-text);border-bottom:1px solid var(--color-border);white-space:nowrap;background:inherit}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.actions-column{position:sticky;right:0;background:var(--color-surface);border-left:1px solid var(--color-border)}.data-table tbody tr:hover .actions-column{background:var(--color-bg-secondary)}.action-buttons{display:flex;gap:4px}.btn-icon{padding:6px;background:transparent;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;color:var(--color-text-light);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:var(--color-bg-secondary);color:var(--color-text)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 8px 8px;gap:16px;flex-wrap:wrap}.pagination-info{font-size:14px;color:var(--color-text-light)}.pagination-controls{display:flex;gap:8px;align-items:center}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text);cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.page-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.page-size-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-light)}.detail-view{display:flex;flex-direction:column;gap:16px}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:16px}.detail-row label{font-weight:600;color:var(--color-text)}.detail-row span{color:var(--color-text-light)}.location-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border)}.table-container{background:var(--color-surface);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:24px}.table-scroll-top,.table-scroll-bottom{overflow-x:auto;overflow-y:hidden;height:16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.table-scroll-bottom{border-bottom:none;border-top:1px solid var(--color-border)}.table-wrapper{overflow-x:auto;max-height:calc(100vh - 400px)}.data-table{width:100%;border-collapse:collapse;min-width:1400px}.data-table thead{background:var(--color-bg-secondary);position:sticky;top:0;z-index:10}.data-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:var(--color-text);border-bottom:2px solid var(--color-border);white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text);white-space:nowrap}.data-table tbody tr:hover{background:var(--color-bg)}.actions-column{width:180px;text-align:center}.action-buttons{display:flex;gap:6px;justify-content:center}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--color-surface);border-radius:8px;box-shadow:0 1px 3px #0000001a}.pagination-info{font-size:14px;color:var(--color-text)}.pagination-controls{display:flex;align-items:center;gap:12px}.page-size-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text)}.page-select{padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:20px}.detail-view{display:flex;flex-direction:column;gap:24px}.detail-section{display:flex;flex-direction:column;gap:16px}.detail-section h3{font-size:16px;font-weight:600;color:var(--color-text);margin:0;padding-bottom:8px;border-bottom:2px solid var(--color-border)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:13px;font-weight:500;color:var(--color-text-light)}.detail-item span{font-size:14px;color:var(--color-text)}.location-form{display:flex;flex-direction:column;gap:24px}.form-section{display:flex;flex-direction:column;gap:16px;margin-top:10px;margin-bottom:25px}.form-section h3{font-size:16px;font-weight:600;color:var(--color-text);margin:0;padding-bottom:8px;border-bottom:2px solid var(--color-border)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-row.grid-4{grid-template-columns:repeat(4,1fr)}.form-row.grid-3{grid-template-columns:repeat(3,1fr)}.form-row.grid-1{grid-template-columns:1fr}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}@media (max-width: 768px){.form-row,.form-row.grid-4,.form-row.grid-3{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:14px;font-weight:500;color:var(--color-text)}.form-field input[type=text],.form-field input[type=email],.form-field input[type=number],.form-field textarea{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text);background:var(--color-surface);transition:all .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.form-field input.error,.form-field textarea.error{border-color:#ef4444}.form-field input.error:focus,.form-field textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.error-message{display:flex;align-items:center;gap:6px;font-size:12px;color:#ef4444;margin-top:-2px}.required{color:#ef4444}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;margin-top:4px}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--color-border)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#0ea5e9;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0ea5e933}.btn-primary.btn-sm{padding:8px 16px;font-size:13px}.btn-primary:hover:not(:disabled){background:#0284c7;transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:10px 20px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text);transition:all .2s}.btn-secondary:hover{background:var(--color-bg-secondary)}.btn-warning{padding:10px 20px;border:1px solid var(--color-border);background:var(--color-warning);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text);transition:all .2s}.btn-warning:hover{background:var(--color-warning-dark)}.badge{display:inline-flex;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;width:fit-content}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.field-value{display:block;padding:.75rem 0;color:var(--text-primary);font-size:.9375rem;line-height:1.5}.form-field .badge{display:inline-block;margin-top:.5rem}.required-mark{color:var(--color-error)!important;margin-left:2px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s;font-family:var(--font-family-base);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh}a{color:var(--accent-color);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-base)}button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-header[data-v-497bb2e7]{position:fixed;top:0;left:0;right:0;height:64px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100}.header-left[data-v-497bb2e7]{display:flex;align-items:center;gap:1rem}.menu-toggle[data-v-497bb2e7]{display:none;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-primary)}.hamburger[data-v-497bb2e7]{display:block;width:24px;height:2px;background:currentColor;position:relative}.hamburger[data-v-497bb2e7]:before,.hamburger[data-v-497bb2e7]:after{content:"";position:absolute;width:24px;height:2px;background:currentColor;left:0}.hamburger[data-v-497bb2e7]:before{top:-8px}.hamburger[data-v-497bb2e7]:after{top:8px}.logo[data-v-497bb2e7]{display:flex;align-items:center;gap:.75rem}.logo-image[data-v-497bb2e7]{height:40px;width:auto;object-fit:contain}.logo-text[data-v-497bb2e7]{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.header-center[data-v-497bb2e7]{flex:1;display:flex;justify-content:center;padding:0 2rem;overflow:visible}.search-container[data-v-497bb2e7]{display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:600px;width:100%}.search-section[data-v-497bb2e7]{position:relative;flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;overflow:visible}.search-icon[data-v-497bb2e7]{color:var(--text-tertiary);flex-shrink:0}.search-input[data-v-497bb2e7]{flex:1;background:none;border:none;color:var(--text-primary);font-size:.9rem;outline:none;min-width:0}.search-input[data-v-497bb2e7]::placeholder{color:var(--text-tertiary)}.search-divider[data-v-497bb2e7]{width:1px;height:24px;background:var(--border-color)}.search-results[data-v-497bb2e7]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:400px;overflow-y:auto;z-index:1000}.mega-menu[data-v-497bb2e7]{position:absolute;top:calc(100% + .5rem);left:0;min-width:600px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:1000;padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.mega-menu-section[data-v-497bb2e7]{display:flex;flex-direction:column;gap:.75rem}.mega-menu-section-header[data-v-497bb2e7]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.mega-menu-items[data-v-497bb2e7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.mega-menu-category[data-v-497bb2e7]{display:flex;flex-direction:column;gap:.25rem}.mega-menu-category-title[data-v-497bb2e7]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.mega-menu-item[data-v-497bb2e7]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;color:var(--text-primary);text-decoration:none;border-radius:6px;font-size:.875rem;transition:all .2s}.mega-menu-item[data-v-497bb2e7]:hover{background:var(--bg-secondary);color:var(--primary-color)}.employee-results[data-v-497bb2e7]{min-width:400px}.employee-result-item[data-v-497bb2e7]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:var(--text-primary);text-decoration:none;transition:background .2s;border-bottom:1px solid var(--border-color)}.employee-result-item[data-v-497bb2e7]:last-child{border-bottom:none}.employee-result-item[data-v-497bb2e7]:hover{background:var(--bg-secondary)}.employee-avatar[data-v-497bb2e7]{width:40px;height:40px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.employee-details[data-v-497bb2e7]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.employee-name[data-v-497bb2e7]{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.employee-meta[data-v-497bb2e7]{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.employee-code[data-v-497bb2e7]{color:var(--text-secondary);font-weight:500;padding:.125rem .5rem;background:var(--bg-secondary);border-radius:4px}.employee-email[data-v-497bb2e7]{color:var(--text-tertiary)}.header-right[data-v-497bb2e7]{display:flex;align-items:center;gap:1rem}.theme-toggle[data-v-497bb2e7]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem .75rem;cursor:pointer;font-size:1.25rem;transition:all .2s}.theme-toggle[data-v-497bb2e7]:hover{background:var(--bg-tertiary)}.user-menu[data-v-497bb2e7]{position:relative}.user-button[data-v-497bb2e7]{display:flex;align-items:center;gap:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1rem;cursor:pointer;transition:all .2s}.user-button[data-v-497bb2e7]:hover{background:var(--bg-tertiary)}.user-avatar[data-v-497bb2e7]{width:32px;height:32px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.user-name[data-v-497bb2e7]{color:var(--text-primary);font-weight:500}.user-dropdown[data-v-497bb2e7]{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.dropdown-item[data-v-497bb2e7]{display:block;padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;transition:background .2s}.dropdown-item[data-v-497bb2e7]:hover{background:var(--bg-secondary)}.dropdown-divider[data-v-497bb2e7]{height:1px;background:var(--border-color);margin:.5rem 0}@media (max-width: 768px){.menu-toggle[data-v-497bb2e7]{display:block}.logo-text[data-v-497bb2e7],.user-name[data-v-497bb2e7]{display:none}.app-header[data-v-497bb2e7]{padding:0 1rem}.header-center[data-v-497bb2e7]{display:none}}.menu-item[data-v-1fe8be86]{margin-bottom:.25rem}.menu-button[data-v-1fe8be86],.menu-link[data-v-1fe8be86]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:.9rem;transition:all .2s;text-align:left;text-decoration:none}.menu-button[data-v-1fe8be86]:hover,.menu-link[data-v-1fe8be86]:hover{background:var(--bg-secondary);color:var(--text-primary)}.menu-link.router-link-active[data-v-1fe8be86]{background:var(--accent-color);color:#fff}.item-icon[data-v-1fe8be86]{flex-shrink:0;width:18px;height:18px}.item-label[data-v-1fe8be86]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-arrow[data-v-1fe8be86]{font-size:.7rem;color:var(--text-tertiary)}.menu-children[data-v-1fe8be86]{margin-top:.25rem}.collapsed .item-label[data-v-1fe8be86],.collapsed .item-arrow[data-v-1fe8be86]{display:none}.collapsed .menu-item[data-v-1fe8be86]{padding-left:.5rem!important}.collapsed .menu-button[data-v-1fe8be86],.collapsed .menu-link[data-v-1fe8be86]{padding-left:.25rem}.app-sidebar[data-v-2e243a6c]{position:fixed;left:0;top:64px;bottom:48px;width:280px;background:var(--bg-primary);border-right:1px solid var(--border-color);transition:width .3s,transform .3s;z-index:90;overflow:hidden}.app-sidebar.collapsed[data-v-2e243a6c]{width:72px}.sidebar-overlay[data-v-2e243a6c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:89;display:none}.sidebar-content[data-v-2e243a6c]{height:100%;overflow-y:auto;overflow-x:hidden}.collapse-btn-float[data-v-2e243a6c]{position:fixed;top:80px;left:4rem;background:var(--accent-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s;z-index:999;box-shadow:0 4px 12px #0003;opacity:0;pointer-events:none}.collapse-btn-float[data-v-2e243a6c]:hover{background:var(--accent-hover);transform:scale(1.15);box-shadow:0 6px 16px #0000004d}.collapsed .collapse-btn-float[data-v-2e243a6c]{opacity:1;pointer-events:auto}.sidebar-header[data-v-2e243a6c]{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:.5rem}.dashboard-link[data-v-2e243a6c]{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;text-decoration:none;color:var(--text-primary);font-weight:600;transition:all .2s;flex:1;min-width:0}.dashboard-link[data-v-2e243a6c]:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.dashboard-link.router-link-active[data-v-2e243a6c]{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.dashboard-icon[data-v-2e243a6c]{flex-shrink:0;width:20px;height:20px}.dashboard-label[data-v-2e243a6c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.collapsed .dashboard-label[data-v-2e243a6c]{display:none}.collapsed .dashboard-link[data-v-2e243a6c]{justify-content:center;flex:0;min-width:40px}.collapse-btn[data-v-2e243a6c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--text-primary);font-size:1rem;transition:all .2s;flex-shrink:0}.collapse-btn[data-v-2e243a6c]:hover{background:var(--bg-tertiary)}.collapsed .collapse-btn[data-v-2e243a6c]{display:none}.menu-sections[data-v-2e243a6c]{padding:.5rem}.menu-section[data-v-2e243a6c]{margin-bottom:.5rem}.section-header[data-v-2e243a6c]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--text-primary);font-weight:600;transition:background .2s;text-align:left;text-decoration:none}.section-header[data-v-2e243a6c]:hover,.section-header.active[data-v-2e243a6c],.section-header.router-link-active[data-v-2e243a6c]{background:var(--bg-secondary)}.section-icon[data-v-2e243a6c]{flex-shrink:0;width:20px;height:20px}.section-label[data-v-2e243a6c]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-arrow[data-v-2e243a6c]{font-size:.75rem;color:var(--text-secondary)}.collapsed .section-label[data-v-2e243a6c],.collapsed .section-arrow[data-v-2e243a6c]{display:none}.section-content[data-v-2e243a6c]{padding-left:.5rem}@media (max-width: 768px){.sidebar-overlay[data-v-2e243a6c]{display:block}.app-sidebar[data-v-2e243a6c]{transform:translate(-100%);width:280px;z-index:100;top:0;bottom:0}.app-sidebar.mobile-open[data-v-2e243a6c]{transform:translate(0);box-shadow:4px 0 24px #00000026}.collapsed .section-label[data-v-2e243a6c],.collapsed .section-arrow[data-v-2e243a6c]{display:block}.app-sidebar.collapsed[data-v-2e243a6c]{width:280px}.collapse-btn-float[data-v-2e243a6c]{display:none}.sidebar-header[data-v-2e243a6c]{display:flex;padding:1.5rem 1rem 1rem}.collapse-btn[data-v-2e243a6c],.collapsed .collapse-btn[data-v-2e243a6c]{display:none}.collapsed .dashboard-label[data-v-2e243a6c]{display:block}.collapsed .dashboard-link[data-v-2e243a6c]{flex:1;justify-content:flex-start}.sidebar-content[data-v-2e243a6c]{padding-top:1rem}}.app-footer[data-v-fdb1d5c8]{position:fixed;bottom:0;left:0;right:0;height:48px;background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;z-index:100}.footer-content[data-v-fdb1d5c8]{padding:0 1.5rem}.footer-content p[data-v-fdb1d5c8]{margin:0;color:var(--text-secondary);font-size:.875rem}.login-page[data-v-3d64da81]{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-page[data-v-3d64da81]:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-page[data-v-3d64da81]:after{content:"";position:absolute;bottom:-30%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-container[data-v-3d64da81]{width:100%;max-width:1200px;display:grid;grid-template-columns:480px 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.login-card[data-v-3d64da81]{background:#fff;border-radius:24px;padding:3rem;box-shadow:0 20px 60px #00000014;border:1px solid rgba(226,232,240,.8)}.login-header[data-v-3d64da81]{margin-bottom:2.5rem}.logo-section[data-v-3d64da81]{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.logo-image[data-v-3d64da81]{height:60px;width:auto;object-fit:contain}.brand-name[data-v-3d64da81]{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.login-title[data-v-3d64da81]{font-size:1.875rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;line-height:1.2}.login-subtitle[data-v-3d64da81]{color:#64748b;font-size:1rem;margin:0}.login-form[data-v-3d64da81]{display:flex;flex-direction:column;gap:1.5rem}.error-message[data-v-3d64da81]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:.875rem;font-weight:500}.form-group[data-v-3d64da81]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-3d64da81]{font-weight:600;color:#334155;font-size:.875rem;letter-spacing:.01em}.input-wrapper[data-v-3d64da81]{position:relative;display:flex;align-items:center}.input-icon[data-v-3d64da81]{position:absolute;left:1rem;color:#94a3b8;pointer-events:none}.form-input[data-v-3d64da81]{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .2s;background:#f8fafc;color:#1e293b}.form-input[data-v-3d64da81]:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.form-input[data-v-3d64da81]:disabled{opacity:.6;cursor:not-allowed}.form-input.has-error[data-v-3d64da81]{border-color:#f87171;background:#fef2f2}.form-input.has-error[data-v-3d64da81]:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.field-error[data-v-3d64da81]{display:flex;align-items:center;gap:.375rem;color:#dc2626;font-size:.8125rem;font-weight:500;margin-top:-.25rem}.toggle-password[data-v-3d64da81]{position:absolute;right:1rem;background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.toggle-password[data-v-3d64da81]:hover:not(:disabled){color:#3b82f6}.toggle-password[data-v-3d64da81]:disabled{opacity:.5;cursor:not-allowed}.form-options[data-v-3d64da81]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.checkbox-label[data-v-3d64da81]{display:flex;align-items:center;gap:.5rem;color:#64748b;cursor:pointer;font-weight:500}.checkbox-label input[data-v-3d64da81]{cursor:pointer;width:16px;height:16px}.forgot-link[data-v-3d64da81]{color:#3b82f6;text-decoration:none;font-weight:600;transition:color .2s}.forgot-link[data-v-3d64da81]:hover{color:#2563eb}.submit-button[data-v-3d64da81]{padding:1rem;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d;margin-top:.5rem}.submit-button[data-v-3d64da81]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.submit-button[data-v-3d64da81]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-3d64da81]{animation:spin-3d64da81 1s linear infinite}@keyframes spin-3d64da81{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.divider[data-v-3d64da81]{position:relative;text-align:center;margin:1.5rem 0}.divider[data-v-3d64da81]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0}.divider span[data-v-3d64da81]{position:relative;background:#fff;padding:0 1rem;color:#94a3b8;font-size:.875rem;font-weight:500}.alt-login[data-v-3d64da81]{display:flex;flex-direction:column;gap:.75rem}.alt-button[data-v-3d64da81]{padding:.875rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem;color:#64748b}.alt-button[data-v-3d64da81]:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.alt-button[data-v-3d64da81]:disabled{opacity:.5;cursor:not-allowed}.login-footer[data-v-3d64da81]{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;color:#64748b;font-size:.875rem}.login-footer a[data-v-3d64da81]{color:#3b82f6;text-decoration:none;font-weight:600}.login-footer a[data-v-3d64da81]:hover{color:#2563eb}.info-section[data-v-3d64da81]{display:flex;align-items:center;justify-content:center;padding:2rem}.info-content[data-v-3d64da81]{max-width:520px}.info-header[data-v-3d64da81]{margin-bottom:3rem}.info-header h2[data-v-3d64da81]{font-size:2.5rem;font-weight:700;color:#0f172a;margin:0 0 1rem;line-height:1.2}.info-header p[data-v-3d64da81]{font-size:1.125rem;color:#64748b;margin:0;line-height:1.6}.features-list[data-v-3d64da81]{display:grid;gap:2rem;margin-bottom:3rem}.feature-item[data-v-3d64da81]{display:flex;gap:1.25rem;align-items:flex-start}.feature-icon[data-v-3d64da81]{width:56px;height:56px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0284c7}.feature-content h3[data-v-3d64da81]{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.feature-content p[data-v-3d64da81]{font-size:.95rem;color:#64748b;margin:0;line-height:1.6}.security-badge[data-v-3d64da81]{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #bbf7d0;border-radius:14px;color:#166534}.security-text[data-v-3d64da81]{display:flex;flex-direction:column;gap:.25rem}.security-text strong[data-v-3d64da81]{font-size:.95rem;font-weight:600}.security-text span[data-v-3d64da81]{font-size:.875rem;color:#15803d}@media (max-width: 1024px){.login-container[data-v-3d64da81]{grid-template-columns:1fr;max-width:500px;gap:2rem}.info-section[data-v-3d64da81]{display:none}.login-card[data-v-3d64da81]{padding:2.5rem}}@media (max-width: 640px){.login-page[data-v-3d64da81]{padding:1rem}.login-card[data-v-3d64da81]{padding:2rem 1.5rem;border-radius:20px}.login-title[data-v-3d64da81]{font-size:1.5rem}.logo-icon[data-v-3d64da81]{width:40px;height:40px;font-size:1.25rem}.brand-name[data-v-3d64da81]{font-size:1.25rem}.form-input[data-v-3d64da81]{padding:.75rem 1rem .75rem 2.75rem}.submit-button[data-v-3d64da81]{padding:.875rem}}.api-loading-overlay[data-v-b6d4f990]{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#000000d9,#000000f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content[data-v-b6d4f990]{display:flex;flex-direction:column;align-items:center;gap:48px}.logo-wrapper[data-v-b6d4f990]{perspective:1000px}.logo-container[data-v-b6d4f990]{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;animation:float-b6d4f990 3s ease-in-out infinite}.logo[data-v-b6d4f990]{width:140px;height:140px;object-fit:contain;position:relative;z-index:10;filter:drop-shadow(0 8px 32px rgba(14,165,233,.4));animation:logoGlow-b6d4f990 2s ease-in-out infinite}.ring[data-v-b6d4f990]{position:absolute;border-radius:50%;border:2px solid;opacity:0}.ring-1[data-v-b6d4f990]{width:100%;height:100%;border-color:#0ea5e999;animation:ripple-b6d4f990 2.5s ease-out infinite}.ring-2[data-v-b6d4f990]{width:100%;height:100%;border-color:#3b82f680;animation:ripple-b6d4f990 2.5s ease-out infinite .5s}.ring-3[data-v-b6d4f990]{width:100%;height:100%;border-color:#60a5fa66;animation:ripple-b6d4f990 2.5s ease-out infinite 1s}.particle[data-v-b6d4f990]{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fbbf24,#fbbf2400 70%);box-shadow:0 0 12px #fbbf24cc}.particle-1[data-v-b6d4f990]{top:10%;left:50%;animation:orbit1-b6d4f990 4s linear infinite}.particle-2[data-v-b6d4f990]{top:50%;right:10%;animation:orbit2-b6d4f990 4s linear infinite}.particle-3[data-v-b6d4f990]{bottom:10%;left:50%;animation:orbit3-b6d4f990 4s linear infinite}.particle-4[data-v-b6d4f990]{top:50%;left:10%;animation:orbit4-b6d4f990 4s linear infinite}.loading-text-container[data-v-b6d4f990]{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-text[data-v-b6d4f990]{font-size:20px;font-weight:600;color:#fffffff2;letter-spacing:.5px}.loading-dots[data-v-b6d4f990]{display:flex;gap:8px;font-size:32px;font-weight:700;color:#ffffffe6;letter-spacing:4px}.dot[data-v-b6d4f990]{animation:bounce-b6d4f990 1.4s ease-in-out infinite}.dot[data-v-b6d4f990]:nth-child(2){animation-delay:.2s}.dot[data-v-b6d4f990]:nth-child(3){animation-delay:.4s}@keyframes float-b6d4f990{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.02)}}@keyframes logoGlow-b6d4f990{0%,to{filter:drop-shadow(0 8px 32px rgba(14,165,233,.4))}50%{filter:drop-shadow(0 8px 48px rgba(59,130,246,.7)) brightness(1.1)}}@keyframes ripple-b6d4f990{0%{transform:scale(.8);opacity:0}50%{opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes orbit1-b6d4f990{0%{transform:translate(-50%,-50%) rotate(0) translate(90px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translate(90px) rotate(-360deg)}}@keyframes orbit2-b6d4f990{0%{transform:translate(50%,-50%) rotate(90deg) translate(90px) rotate(-90deg)}to{transform:translate(50%,-50%) rotate(450deg) translate(90px) rotate(-450deg)}}@keyframes orbit3-b6d4f990{0%{transform:translate(-50%,50%) rotate(180deg) translate(90px) rotate(-180deg)}to{transform:translate(-50%,50%) rotate(540deg) translate(90px) rotate(-540deg)}}@keyframes orbit4-b6d4f990{0%{transform:translate(-50%,-50%) rotate(270deg) translate(90px) rotate(-270deg)}to{transform:translate(-50%,-50%) rotate(630deg) translate(90px) rotate(-630deg)}}@keyframes bounce-b6d4f990{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.fade-enter-active[data-v-b6d4f990],.fade-leave-active[data-v-b6d4f990]{transition:opacity .4s ease}.fade-enter-from[data-v-b6d4f990],.fade-leave-to[data-v-b6d4f990]{opacity:0}@media (max-width: 768px){.logo-container[data-v-b6d4f990]{width:160px;height:160px}.logo[data-v-b6d4f990]{width:110px;height:110px}.loading-text[data-v-b6d4f990]{font-size:18px}.loading-dots[data-v-b6d4f990]{font-size:24px;gap:6px}.particle[data-v-b6d4f990]{width:6px;height:6px}}.message-modal-overlay[data-v-e4ac55fe]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.message-modal[data-v-e4ac55fe]{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;overflow:hidden;border:1px solid var(--border-color)}.message-header[data-v-e4ac55fe]{padding:24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border-color)}.header-icon[data-v-e4ac55fe]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-info .header-icon[data-v-e4ac55fe]{background:#3b82f61a;color:#3b82f6}.type-success .header-icon[data-v-e4ac55fe]{background:#10b9811a;color:#10b981}.type-warning .header-icon[data-v-e4ac55fe]{background:#f59e0b1a;color:#f59e0b}.type-error .header-icon[data-v-e4ac55fe]{background:#ef44441a;color:#ef4444}.type-confirm .header-icon[data-v-e4ac55fe]{background:#8b5cf61a;color:#8b5cf6}.header-title[data-v-e4ac55fe]{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.message-body[data-v-e4ac55fe]{padding:24px}.message-text[data-v-e4ac55fe]{font-size:15px;line-height:1.6;color:var(--text-secondary);margin:0;white-space:pre-wrap}.message-footer[data-v-e4ac55fe]{padding:16px 24px;background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-color)}.message-button[data-v-e4ac55fe]{padding:10px 24px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;border:none;min-width:80px}.variant-primary[data-v-e4ac55fe]{background:var(--accent-color);color:#fff}.variant-primary[data-v-e4ac55fe]:hover{opacity:.9;transform:translateY(-1px)}.variant-secondary[data-v-e4ac55fe]{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.variant-secondary[data-v-e4ac55fe]:hover{background:var(--bg-tertiary)}.variant-danger[data-v-e4ac55fe]{background:#ef4444;color:#fff}.variant-danger[data-v-e4ac55fe]:hover{background:#dc2626}.variant-success[data-v-e4ac55fe]{background:#10b981;color:#fff}.variant-success[data-v-e4ac55fe]:hover{background:#059669}.fade-enter-active[data-v-e4ac55fe],.fade-leave-active[data-v-e4ac55fe]{transition:opacity .2s ease}.fade-enter-from[data-v-e4ac55fe],.fade-leave-to[data-v-e4ac55fe]{opacity:0}.slide-enter-active[data-v-e4ac55fe],.slide-leave-active[data-v-e4ac55fe]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.slide-enter-from[data-v-e4ac55fe],.slide-leave-to[data-v-e4ac55fe]{opacity:0;transform:scale(.9) translateY(-20px)}@media (max-width: 640px){.message-modal[data-v-e4ac55fe]{max-width:calc(100vw - 32px)}.message-header[data-v-e4ac55fe]{padding:20px}.header-icon[data-v-e4ac55fe]{width:40px;height:40px}.header-title[data-v-e4ac55fe]{font-size:18px}.message-body[data-v-e4ac55fe]{padding:20px}.message-footer[data-v-e4ac55fe]{flex-direction:column-reverse;gap:8px}.message-button[data-v-e4ac55fe]{width:100%}}.notification-toast[data-v-0e05b55a]{position:fixed;bottom:2rem;right:2rem;width:380px;max-width:calc(100vw - 4rem);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #00000026,0 4px 12px #0000001a;padding:1.5rem;z-index:10000}.dark-theme{background:#1e293b;border-color:#334155}.close-button[data-v-0e05b55a]{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button[data-v-0e05b55a]:hover{background:#f3f4f6;color:#1f2937}.dark-theme{color:#94a3b8}.dark-theme{background:#334155;color:#f1f5f9}.notification-content[data-v-0e05b55a]{padding-right:1.5rem}.notification-title[data-v-0e05b55a]{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.dark-theme{color:#f1f5f9}.notification-description[data-v-0e05b55a]{font-size:.9375rem;color:#6b7280;line-height:1.5;margin:0 0 1.25rem}.dark-theme{color:#cbd5e1}.notification-actions[data-v-0e05b55a]{display:flex;flex-direction:column;gap:.5rem}.notification-button[data-v-0e05b55a]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.notification-button.primary[data-v-0e05b55a]{background:var(--primary-color);color:#fff}.notification-button.primary[data-v-0e05b55a]:hover{background:var(--primary-hover)}.notification-button.secondary[data-v-0e05b55a]{background:#f3f4f6;color:#1f2937;border:1px solid #e5e7eb}.notification-button.secondary[data-v-0e05b55a]:hover{background:#e5e7eb}.dark-theme{background:#334155;color:#f1f5f9;border-color:#475569}.dark-theme{background:#475569}.notification-button.success[data-v-0e05b55a]{background:#10b981;color:#fff}.notification-button.success[data-v-0e05b55a]:hover{background:#059669}.notification-button.danger[data-v-0e05b55a]{background:#ef4444;color:#fff}.notification-button.danger[data-v-0e05b55a]:hover{background:#dc2626}.slide-fade-enter-active[data-v-0e05b55a]{transition:all .4s cubic-bezier(.16,1,.3,1)}.slide-fade-leave-active[data-v-0e05b55a]{transition:all .3s cubic-bezier(.4,0,1,1)}.slide-fade-enter-from[data-v-0e05b55a],.slide-fade-leave-to[data-v-0e05b55a]{transform:translate(100%);opacity:0}@media (max-width: 480px){.notification-toast[data-v-0e05b55a]{bottom:1rem;right:1rem;width:calc(100vw - 2rem);max-width:none}}.toast-container[data-v-2d21f334]{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast[data-v-2d21f334]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);min-width:320px;max-width:500px;pointer-events:auto}.toast-icon[data-v-2d21f334]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-success[data-v-2d21f334]{border-left:4px solid var(--color-success)}.toast-success .toast-icon[data-v-2d21f334]{color:var(--color-success)}.toast-error[data-v-2d21f334]{border-left:4px solid var(--color-error)}.toast-error .toast-icon[data-v-2d21f334]{color:var(--color-error)}.toast-warning[data-v-2d21f334]{border-left:4px solid var(--color-warning)}.toast-warning .toast-icon[data-v-2d21f334]{color:var(--color-warning)}.toast-info[data-v-2d21f334]{border-left:4px solid var(--color-info)}.toast-info .toast-icon[data-v-2d21f334]{color:var(--color-info)}.toast-message[data-v-2d21f334]{flex:1;font-size:14px;color:var(--text-primary);line-height:1.5}.toast-close[data-v-2d21f334]{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .2s ease}.toast-close[data-v-2d21f334]:hover{background:var(--bg-secondary);color:var(--text-primary)}.toast-fade-enter-active[data-v-2d21f334],.toast-fade-leave-active[data-v-2d21f334]{transition:all .3s ease}.toast-fade-enter-from[data-v-2d21f334],.toast-fade-leave-to[data-v-2d21f334]{opacity:0;transform:translate(100%)}.toast-fade-move[data-v-2d21f334]{transition:transform .3s ease}@media (max-width: 640px){.toast-container[data-v-2d21f334]{left:1rem;right:1rem}.toast[data-v-2d21f334]{min-width:auto;width:100%}}.modal-overlay[data-v-94513716]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.modal-container[data-v-94513716]{background:var(--color-surface);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-header[data-v-94513716]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title[data-v-94513716]{font-size:20px;font-weight:600;color:var(--color-text);margin:0}.modal-close[data-v-94513716]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.modal-close[data-v-94513716]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body[data-v-94513716]{flex:1;overflow:hidden;padding:var(--spacing-lg)}.audit-container[data-v-94513716]{display:flex;flex-direction:column;height:100%;min-height:400px}.audit-scroll-top[data-v-94513716],.audit-scroll-bottom[data-v-94513716]{overflow-x:auto;overflow-y:hidden;height:12px}.audit-scroll-top[data-v-94513716]::-webkit-scrollbar,.audit-scroll-bottom[data-v-94513716]::-webkit-scrollbar{height:8px}.audit-scroll-top[data-v-94513716]::-webkit-scrollbar-track,.audit-scroll-bottom[data-v-94513716]::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.audit-scroll-top[data-v-94513716]::-webkit-scrollbar-thumb,.audit-scroll-bottom[data-v-94513716]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.audit-scroll-top[data-v-94513716]::-webkit-scrollbar-thumb:hover,.audit-scroll-bottom[data-v-94513716]::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.audit-scroll-main[data-v-94513716]{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px}.audit-scroll-main[data-v-94513716]::-webkit-scrollbar{width:8px}.audit-scroll-main[data-v-94513716]::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.audit-scroll-main[data-v-94513716]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.audit-scroll-main[data-v-94513716]::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.audit-loading[data-v-94513716],.audit-empty[data-v-94513716]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--color-text-light)}.audit-loading p[data-v-94513716],.audit-empty p[data-v-94513716]{margin:16px 0 0;font-size:14px}.audit-log[data-v-94513716]{display:flex;flex-direction:column;gap:12px}.audit-item[data-v-94513716]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;transition:all .2s}.audit-item[data-v-94513716]:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.audit-item-inner[data-v-94513716]{display:flex;gap:16px;padding:16px}.audit-icon[data-v-94513716]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;flex-shrink:0}.audit-icon-created[data-v-94513716]{background:#22c55e1a;color:#22c55e}.audit-icon-updated[data-v-94513716]{background:#0ea5e91a;color:#0ea5e9}.audit-icon-deleted[data-v-94513716]{background:#ef44441a;color:#ef4444}.audit-icon-enabled[data-v-94513716],.audit-icon-activated[data-v-94513716],.audit-icon-approved[data-v-94513716]{background:#22c55e1a;color:#22c55e}.audit-icon-disabled[data-v-94513716],.audit-icon-deactivated[data-v-94513716],.audit-icon-rejected[data-v-94513716]{background:#ef44441a;color:#ef4444}.audit-icon-submitted[data-v-94513716],.audit-icon-reviewed[data-v-94513716]{background:#a855f71a;color:#a855f7}.audit-icon-archived[data-v-94513716]{background:#94a3b81a;color:#94a3b8}.audit-icon-restored[data-v-94513716]{background:#f973161a;color:#f97316}.audit-content[data-v-94513716]{flex:1;min-width:0}.audit-header[data-v-94513716]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}.audit-title[data-v-94513716]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-action[data-v-94513716]{font-weight:600;font-size:14px;padding:2px 8px;border-radius:4px}.action-created[data-v-94513716]{background:#22c55e1a;color:#22c55e}.action-updated[data-v-94513716]{background:#0ea5e91a;color:#0ea5e9}.action-deleted[data-v-94513716]{background:#ef44441a;color:#ef4444}.action-enabled[data-v-94513716],.action-activated[data-v-94513716],.action-approved[data-v-94513716]{background:#22c55e1a;color:#22c55e}.action-disabled[data-v-94513716],.action-deactivated[data-v-94513716],.action-rejected[data-v-94513716]{background:#ef44441a;color:#ef4444}.action-submitted[data-v-94513716],.action-reviewed[data-v-94513716]{background:#a855f71a;color:#a855f7}.action-archived[data-v-94513716]{background:#94a3b81a;color:#94a3b8}.action-restored[data-v-94513716]{background:#f973161a;color:#f97316}.audit-user[data-v-94513716]{font-size:13px;color:var(--color-text-light)}.audit-date[data-v-94513716]{font-size:12px;color:var(--color-text-light);white-space:nowrap}.audit-description[data-v-94513716]{font-size:14px;color:var(--color-text);margin-bottom:8px;line-height:1.5}.audit-changes[data-v-94513716]{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--color-bg-primary);border-radius:6px;border:1px solid var(--color-border)}.change-item[data-v-94513716]{display:flex;flex-direction:column;gap:4px}.change-field[data-v-94513716]{font-size:12px;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.change-values[data-v-94513716]{display:flex;align-items:center;gap:8px;font-size:13px}.change-old[data-v-94513716]{padding:4px 8px;background:#ef44441a;color:#ef4444;border-radius:4px;word-break:break-word}.change-new[data-v-94513716]{padding:4px 8px;background:#22c55e1a;color:#22c55e;border-radius:4px;word-break:break-word}.modal-enter-active[data-v-94513716],.modal-leave-active[data-v-94513716]{transition:opacity var(--transition-base)}.modal-enter-from[data-v-94513716],.modal-leave-to[data-v-94513716]{opacity:0}.modal-enter-active .modal-container[data-v-94513716],.modal-leave-active .modal-container[data-v-94513716]{transition:transform var(--transition-base)}.modal-enter-from .modal-container[data-v-94513716],.modal-leave-to .modal-container[data-v-94513716]{transform:scale(.95)}@media (max-width: 768px){.modal-container[data-v-94513716]{max-width:100%;max-height:95vh}.audit-item-inner[data-v-94513716]{flex-direction:column;gap:12px}.audit-header[data-v-94513716]{flex-direction:column;align-items:flex-start}.change-values[data-v-94513716]{flex-wrap:wrap}}.error-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:24px}.error-content{text-align:center;max-width:500px}.error-content h2{color:var(--color-error);margin-bottom:16px}.error-content p{color:var(--text-secondary);margin-bottom:24px}.retry-button{padding:12px 24px;background:var(--accent-color);color:#fff;border-radius:var(--radius-md);font-weight:500}.retry-button:hover{background:var(--accent-hover)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-container{min-height:100vh;background:var(--bg-primary)}.main-content{margin-left:280px;margin-top:64px;margin-bottom:48px;min-height:calc(100vh - 112px);transition:margin-left .3s}.collapsed+.main-content{margin-left:72px}@media (max-width: 768px){.main-content{margin-left:0}}.dashboard-view[data-v-1c79add0]{padding:2rem;max-width:1800px;margin:0 auto}.dashboard-header[data-v-1c79add0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.dashboard-header h1[data-v-1c79add0]{font-size:2rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.dashboard-subtitle[data-v-1c79add0]{color:var(--text-secondary);font-size:.95rem;margin:0}.header-actions[data-v-1c79add0]{display:flex;gap:1rem}.current-date[data-v-1c79add0]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-secondary);border-radius:8px;font-size:.875rem;color:var(--text-primary);border:1px solid var(--border-color)}.date-icon[data-v-1c79add0]{display:flex;align-items:center;color:var(--accent-color)}.quick-stats[data-v-1c79add0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-1c79add0]{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000001a;transition:all .2s;border-left:4px solid transparent;text-decoration:none}.stat-card.clickable[data-v-1c79add0]{cursor:pointer}.stat-card[data-v-1c79add0]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-card.clickable[data-v-1c79add0]:hover{box-shadow:0 6px 12px #0003}.stat-card.primary[data-v-1c79add0]{border-left-color:#0ea5e9}.stat-card.success[data-v-1c79add0]{border-left-color:#10b981}.stat-card.warning[data-v-1c79add0]{border-left-color:#f59e0b}.stat-card.info[data-v-1c79add0]{border-left-color:#8b5cf6}.stat-icon[data-v-1c79add0]{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:12px;flex-shrink:0;color:var(--accent-color)}.stat-content[data-v-1c79add0]{flex:1;min-width:0}.stat-value[data-v-1c79add0]{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-label[data-v-1c79add0]{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.stat-change[data-v-1c79add0]{font-size:.75rem;color:var(--text-tertiary)}.stat-change.positive[data-v-1c79add0]{color:#10b981}.dashboard-grid[data-v-1c79add0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.dashboard-card[data-v-1c79add0]{background:var(--bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dashboard-card.large[data-v-1c79add0]{grid-column:span 2}.card-header[data-v-1c79add0]{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.card-header h2[data-v-1c79add0]{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.card-subtitle[data-v-1c79add0]{font-size:.8125rem;color:var(--text-secondary);margin:.25rem 0 0}.view-all[data-v-1c79add0]{color:var(--accent-color);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.view-all[data-v-1c79add0]:hover{color:var(--accent-hover)}.card-content[data-v-1c79add0]{padding:1.5rem}.loading-state[data-v-1c79add0],.empty-state[data-v-1c79add0]{text-align:center;padding:2rem;color:var(--text-tertiary);font-size:.875rem}.overview-stats[data-v-1c79add0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem}.overview-item[data-v-1c79add0]{text-align:center;text-decoration:none;padding:1rem;border-radius:8px;transition:all .2s}.overview-item.clickable[data-v-1c79add0]{cursor:pointer}.overview-item.clickable[data-v-1c79add0]:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.overview-icon[data-v-1c79add0]{width:56px;height:56px;margin:0 auto .75rem;border-radius:12px;display:flex;align-items:center;justify-content:center}.overview-icon.present[data-v-1c79add0]{background:#d1fae5;color:#065f46}.overview-icon.late[data-v-1c79add0]{background:#fef3c7;color:#92400e}.overview-icon.absent[data-v-1c79add0]{background:#fee2e2;color:#991b1b}.overview-icon.leave[data-v-1c79add0]{background:#e0e7ff;color:#3730a3}.overview-value[data-v-1c79add0]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.overview-label[data-v-1c79add0]{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.quick-actions[data-v-1c79add0]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.quick-action-btn[data-v-1c79add0]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;background:var(--bg-primary);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .2s;border:1px solid var(--border-color)}.quick-action-btn[data-v-1c79add0]:hover{background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.action-icon[data-v-1c79add0]{display:flex;align-items:center;justify-content:center;color:var(--accent-color)}.activity-list[data-v-1c79add0]{display:flex;flex-direction:column;gap:1rem}.activity-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px;transition:background .2s}.activity-item[data-v-1c79add0]:hover{background:var(--bg-tertiary)}.activity-icon[data-v-1c79add0]{width:40px;height:40px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-color)}.activity-info[data-v-1c79add0]{flex:1;min-width:0}.activity-title[data-v-1c79add0]{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.activity-time[data-v-1c79add0]{font-size:.75rem;color:var(--text-tertiary)}.pending-list[data-v-1c79add0]{display:flex;flex-direction:column;gap:.75rem}.pending-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color);text-decoration:none}.pending-item.clickable-item[data-v-1c79add0]{cursor:pointer;transition:all .2s}.pending-item.clickable-item[data-v-1c79add0]:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.pending-item.highlight[data-v-1c79add0]{border-color:#f59e0b;background:#fef3c7}.pending-icon[data-v-1c79add0]{width:40px;height:40px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-color)}.pending-info[data-v-1c79add0]{flex:1;min-width:0}.pending-title[data-v-1c79add0]{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.pending-count[data-v-1c79add0]{font-size:.75rem;color:var(--text-secondary)}.pending-action[data-v-1c79add0]{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border-radius:6px;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .2s}.pending-action[data-v-1c79add0]:hover{background:var(--accent-hover)}.pending-action-badge[data-v-1c79add0]{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border-radius:6px;font-size:.8125rem;font-weight:500;white-space:nowrap}.event-list[data-v-1c79add0]{display:flex;flex-direction:column;gap:1rem}.event-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px}.event-date[data-v-1c79add0]{width:50px;height:50px;background:var(--accent-color);color:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.event-day[data-v-1c79add0]{font-size:1.25rem;font-weight:700;line-height:1}.event-month[data-v-1c79add0]{font-size:.75rem;text-transform:uppercase}.event-info[data-v-1c79add0]{flex:1;min-width:0}.event-title[data-v-1c79add0]{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.event-type[data-v-1c79add0]{font-size:.75rem;color:var(--text-secondary)}.chart-container[data-v-1c79add0]{display:flex;flex-direction:column;gap:1rem}.chart-row[data-v-1c79add0]{display:flex;flex-direction:column;gap:.5rem}.chart-label[data-v-1c79add0]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.chart-bar-wrapper[data-v-1c79add0]{display:flex;align-items:center;gap:.75rem}.chart-bar[data-v-1c79add0]{flex:1;height:28px;background:var(--bg-primary);border-radius:6px;overflow:hidden}.chart-fill[data-v-1c79add0]{height:100%;background:linear-gradient(135deg,#0ea5e9,#06b6d4);transition:width .6s ease}.chart-value[data-v-1c79add0]{font-size:.875rem;font-weight:600;color:var(--text-primary);min-width:30px;text-align:right}.birthday-list[data-v-1c79add0]{display:flex;flex-direction:column;gap:.75rem;height:300px;overflow:scroll}.birthday-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px}.birthday-avatar[data-v-1c79add0]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.birthday-info[data-v-1c79add0]{flex:1;min-width:0}.birthday-name[data-v-1c79add0]{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.birthday-date[data-v-1c79add0]{font-size:.75rem;color:var(--text-secondary)}.status-list[data-v-1c79add0]{display:flex;flex-direction:column;gap:1rem}.status-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px}.status-indicator[data-v-1c79add0]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-indicator.active[data-v-1c79add0]{background:#10b981;box-shadow:0 0 8px #10b98180}.status-info[data-v-1c79add0]{flex:1;min-width:0}.status-label[data-v-1c79add0]{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.status-value[data-v-1c79add0]{font-size:.75rem;color:var(--text-secondary)}.modal-overlay[data-v-1c79add0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-1c79add0]{background:var(--bg-secondary);border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-content.list-modal[data-v-1c79add0]{max-width:600px}.modal-header[data-v-1c79add0]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-1c79add0]{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.close-btn[data-v-1c79add0]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s}.close-btn[data-v-1c79add0]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-1c79add0]{padding:1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.search-box[data-v-1c79add0]{position:relative;display:flex;align-items:center}.search-icon[data-v-1c79add0]{position:absolute;left:1rem;color:var(--text-secondary);pointer-events:none}.search-input[data-v-1c79add0]{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;transition:all .2s}.search-input[data-v-1c79add0]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #0ea5e91a}.search-input[data-v-1c79add0]::placeholder{color:var(--text-secondary)}.empty-search[data-v-1c79add0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);text-align:center}.empty-search p[data-v-1c79add0]{margin-top:1rem;font-size:.9375rem}.list-container[data-v-1c79add0]{display:flex;flex-direction:column;gap:.75rem}.list-item[data-v-1c79add0]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color);transition:all .2s}.list-item[data-v-1c79add0]:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.list-avatar[data-v-1c79add0]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.list-info[data-v-1c79add0]{flex:1;min-width:0}.list-name[data-v-1c79add0]{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.list-meta[data-v-1c79add0]{font-size:.8125rem;color:var(--text-secondary)}.status-badge[data-v-1c79add0]{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge.active[data-v-1c79add0]{background:#d1fae5;color:#065f46}.status-badge.warning[data-v-1c79add0]{background:#fef3c7;color:#92400e}.status-badge.inactive[data-v-1c79add0]{background:#fee2e2;color:#991b1b}.status-badge.info[data-v-1c79add0]{background:#e0e7ff;color:#3730a3}.holiday-item[data-v-1c79add0]{background:var(--bg-primary)}.holiday-date[data-v-1c79add0]{width:50px;height:50px;background:var(--accent-color);color:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.holiday-day[data-v-1c79add0]{font-size:1.25rem;font-weight:700;line-height:1}.holiday-month[data-v-1c79add0]{font-size:.75rem;text-transform:uppercase}@media (max-width: 1400px){.dashboard-card.large[data-v-1c79add0]{grid-column:span 1}}@media (max-width: 768px){.dashboard-view[data-v-1c79add0]{padding:1rem}.dashboard-header[data-v-1c79add0]{flex-direction:column}.quick-stats[data-v-1c79add0],.dashboard-grid[data-v-1c79add0]{grid-template-columns:1fr}.dashboard-card.large[data-v-1c79add0]{grid-column:span 1}.overview-stats[data-v-1c79add0]{grid-template-columns:repeat(2,1fr)}.quick-actions[data-v-1c79add0]{grid-template-columns:1fr}}.page-container[data-v-c5690242]{padding:2rem}.page-header[data-v-c5690242]{margin-bottom:2rem}.page-header h1[data-v-c5690242]{font-size:1.875rem;font-weight:600;margin:0;color:var(--text-primary)}.page-content[data-v-c5690242]{color:var(--text-secondary)}@media (max-width: 768px){.page-container[data-v-c5690242]{padding:1rem}}.search-filter-panel[data-v-e4e95029]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px;margin-bottom:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-box[data-v-e4e95029]{display:flex;align-items:center;gap:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;flex:1;min-width:250px}.search-box input[data-v-e4e95029]{border:none;background:transparent;outline:none;font-size:14px;color:var(--color-text);width:100%}.filter-section[data-v-e4e95029]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-buttons[data-v-e4e95029]{display:flex;gap:8px;margin-left:auto}.modal-overlay[data-v-c7de0bfd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container[data-v-c7de0bfd]{background:var(--color-surface, #fff);border-radius:8px;width:90%;max-width:600px;max-height:90vh;box-shadow:0 10px 40px #0003;border:1px solid var(--color-border, #e5e7eb);display:flex;flex-direction:column}.modal-container.modal-large[data-v-c7de0bfd]{max-width:900px}.modal-header[data-v-c7de0bfd]{padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-c7de0bfd]{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.modal-header-actions[data-v-c7de0bfd]{display:flex;align-items:center;gap:8px}.close-btn[data-v-c7de0bfd]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-light, #6b7280);cursor:pointer;border-radius:6px;font-size:28px;line-height:1;transition:all .2s}.close-btn[data-v-c7de0bfd]:hover{background:var(--color-bg, #f3f4f6);color:var(--color-text, #111827)}.modal-body[data-v-c7de0bfd]{padding:24px;overflow-y:auto;flex:1}.modal-enter-active[data-v-c7de0bfd],.modal-leave-active[data-v-c7de0bfd]{transition:opacity .2s}.modal-enter-from[data-v-c7de0bfd],.modal-leave-to[data-v-c7de0bfd]{opacity:0}.modal-enter-active .modal-container[data-v-c7de0bfd],.modal-leave-active .modal-container[data-v-c7de0bfd]{transition:transform .2s}.modal-enter-from .modal-container[data-v-c7de0bfd],.modal-leave-to .modal-container[data-v-c7de0bfd]{transform:scale(.95)}.modal-overlay[data-v-4ec622bd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container[data-v-4ec622bd]{background:#fff;border-radius:8px;width:90%;max-width:450px;box-shadow:0 10px 40px #0003;border:1px solid var(--color-border)}.modal-header[data-v-4ec622bd]{padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-4ec622bd]{margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.modal-body[data-v-4ec622bd]{padding:24px}.modal-body p[data-v-4ec622bd]{margin:0;color:var(--color-text-light);line-height:1.5}.modal-footer[data-v-4ec622bd]{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:12px}.modal-footer button[data-v-4ec622bd]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-secondary[data-v-4ec622bd]{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary[data-v-4ec622bd]:hover{background:var(--color-bg-tertiary)}.btn-primary[data-v-4ec622bd]{background:var(--color-primary);color:#fff}.btn-primary[data-v-4ec622bd]:hover{background:var(--color-primary-dark)}.btn-danger[data-v-4ec622bd]{background:#ef4444}.btn-danger[data-v-4ec622bd]:hover{background:#dc2626}.modal-enter-active[data-v-4ec622bd],.modal-leave-active[data-v-4ec622bd]{transition:opacity .2s}.modal-enter-from[data-v-4ec622bd],.modal-leave-to[data-v-4ec622bd]{opacity:0}.modal-enter-active .modal-container[data-v-4ec622bd],.modal-leave-active .modal-container[data-v-4ec622bd]{transition:transform .2s}.modal-enter-from .modal-container[data-v-4ec622bd],.modal-leave-to .modal-container[data-v-4ec622bd]{transform:scale(.95)}.modal-overlay[data-v-e5f76ac9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn-e5f76ac9 .2s ease-out}.modal-content[data-v-e5f76ac9]{background:var(--bg-primary);border-radius:1rem;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp-e5f76ac9 .3s ease-out}.modal-header[data-v-e5f76ac9]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-e5f76ac9]{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.close-btn[data-v-e5f76ac9]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn[data-v-e5f76ac9]:hover{color:var(--text-primary)}.modal-body[data-v-e5f76ac9]{flex:1;overflow-y:auto;padding:1.5rem}.loading-state[data-v-e5f76ac9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.spinner[data-v-e5f76ac9]{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin-e5f76ac9 .8s linear infinite;margin-bottom:1rem}@keyframes spin-e5f76ac9{to{transform:rotate(360deg)}}.status-banner[data-v-e5f76ac9]{background:var(--bg-secondary);border-radius:.75rem;padding:1rem 1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--accent-blue)}.status-banner.pending[data-v-e5f76ac9]{border-left-color:#f59e0b;background:#fffbeb}.status-banner.approved[data-v-e5f76ac9]{border-left-color:var(--accent-green);background:#f0fdf4}.status-banner.rejected[data-v-e5f76ac9]{border-left-color:var(--accent-red);background:#fef2f2}.status-content[data-v-e5f76ac9]{display:flex;flex-direction:column;gap:.25rem}.status-label[data-v-e5f76ac9]{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.status-value[data-v-e5f76ac9]{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.details-section[data-v-e5f76ac9]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.details-section h4[data-v-e5f76ac9]{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.detail-row[data-v-e5f76ac9]{display:flex;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.detail-row[data-v-e5f76ac9]:first-child{padding-top:0}.detail-row[data-v-e5f76ac9]:last-child{border-bottom:none;padding-bottom:0}.detail-label[data-v-e5f76ac9]{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:120px;flex-shrink:0}.detail-value[data-v-e5f76ac9]{font-size:.9375rem;color:var(--text-primary);font-weight:500;flex:1}.employee-code[data-v-e5f76ac9]{display:inline-block;background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;color:var(--accent-blue);margin-right:.5rem}.employee-name[data-v-e5f76ac9]{font-weight:600}.leave-badge[data-v-e5f76ac9]{display:inline-block;background:#dbeafe;color:#1e40af;padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:600}.dates-row[data-v-e5f76ac9]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex-direction:column}.date-item[data-v-e5f76ac9]{display:flex;flex-direction:column;gap:.25rem}.date-item .detail-label[data-v-e5f76ac9]{min-width:auto}.days-badge[data-v-e5f76ac9]{display:inline-block;background:var(--accent-green);color:#fff;padding:.25rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;width:fit-content}.reason-text[data-v-e5f76ac9]{line-height:1.6;white-space:pre-wrap}.action-section[data-v-e5f76ac9]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;border:2px solid var(--accent-blue)}.action-section h4[data-v-e5f76ac9]{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.remarks-input[data-v-e5f76ac9]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--input-bg);color:var(--text-primary);font-size:.875rem;resize:vertical;margin-bottom:1rem}.remarks-input[data-v-e5f76ac9]:focus{outline:none;border-color:var(--accent-blue)}.action-buttons[data-v-e5f76ac9]{display:flex;gap:.75rem}.action-buttons button[data-v-e5f76ac9]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.9375rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.btn-approve[data-v-e5f76ac9]{background:var(--accent-green);color:#fff}.btn-approve[data-v-e5f76ac9]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-reject[data-v-e5f76ac9]{background:var(--accent-red);color:#fff}.btn-reject[data-v-e5f76ac9]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.action-buttons button[data-v-e5f76ac9]:disabled{opacity:.5;cursor:not-allowed}.timeline-section[data-v-e5f76ac9]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem}.timeline-section h4[data-v-e5f76ac9]{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.timeline[data-v-e5f76ac9]{position:relative;padding-left:3rem}.timeline[data-v-e5f76ac9]:before{content:"";position:absolute;left:.25rem;top:1.25rem;bottom:1.25rem;width:2px;background:var(--border-color)}.timeline-item[data-v-e5f76ac9]{position:relative;padding-bottom:1.5rem}.timeline-item[data-v-e5f76ac9]:last-child{padding-bottom:0}.timeline-marker[data-v-e5f76ac9]{position:absolute;left:-2.75rem;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-primary);border:2px solid var(--accent-blue);display:flex;align-items:center;justify-content:center;color:var(--accent-blue);transition:all .2s}.timeline-icon[data-v-e5f76ac9]{display:flex;align-items:center;justify-content:center}.timeline-marker.submitted[data-v-e5f76ac9]{border-color:var(--accent-blue);background:#eff6ff;color:var(--accent-blue)}.timeline-marker.pending[data-v-e5f76ac9]{border-color:#f59e0b;background:#fffbeb;color:#f59e0b}.timeline-marker.approved[data-v-e5f76ac9]{border-color:var(--accent-green);background:#f0fdf4;color:var(--accent-green)}.timeline-marker.rejected[data-v-e5f76ac9]{border-color:var(--accent-red);background:#fef2f2;color:var(--accent-red)}.timeline-marker.supervisor_approval[data-v-e5f76ac9]{border-color:#8b5cf6;background:#f5f3ff;color:#8b5cf6}.timeline-marker.department_head_approval[data-v-e5f76ac9]{border-color:#0891b2;background:#ecfeff;color:#0891b2}.timeline-marker.hr_approval[data-v-e5f76ac9]{border-color:#f97316;background:#fff7ed;color:#f97316}.timeline-marker.user_approval[data-v-e5f76ac9]{border-color:#10b981;background:#ecfdf5;color:#10b981}.timeline-content[data-v-e5f76ac9]{padding-left:.5rem}.timeline-header[data-v-e5f76ac9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.timeline-action[data-v-e5f76ac9]{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.timeline-date[data-v-e5f76ac9]{font-size:.8125rem;color:var(--text-tertiary)}.timeline-actor[data-v-e5f76ac9]{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.actor-code[data-v-e5f76ac9]{color:var(--text-tertiary);font-size:.8125rem}.timeline-remarks[data-v-e5f76ac9]{font-size:.875rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.5rem .75rem;border-radius:.375rem;border-left:3px solid var(--accent-blue);margin-top:.5rem}.remarks-label[data-v-e5f76ac9]{font-weight:600;color:var(--text-primary)}.timeline-empty[data-v-e5f76ac9]{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.875rem}@keyframes fadeIn-e5f76ac9{0%{opacity:0}to{opacity:1}}@keyframes slideUp-e5f76ac9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.modal-overlay[data-v-e5f76ac9]{padding:0;align-items:flex-end}.modal-content[data-v-e5f76ac9]{margin:0;border-radius:1rem 1rem 0 0;max-height:95vh;max-width:100%}.modal-header[data-v-e5f76ac9]{padding:1rem}.modal-header h3[data-v-e5f76ac9]{font-size:1.125rem}.modal-body[data-v-e5f76ac9]{padding:1rem}.status-banner[data-v-e5f76ac9]{padding:.75rem 1rem;margin-bottom:1rem}.status-label[data-v-e5f76ac9]{font-size:.75rem}.status-value[data-v-e5f76ac9]{font-size:1rem}.details-section[data-v-e5f76ac9],.action-section[data-v-e5f76ac9],.timeline-section[data-v-e5f76ac9]{padding:1rem;margin-bottom:1rem}.details-section h4[data-v-e5f76ac9],.action-section h4[data-v-e5f76ac9],.timeline-section h4[data-v-e5f76ac9]{font-size:.9375rem;margin-bottom:.75rem}.detail-row[data-v-e5f76ac9]{flex-direction:column;gap:.375rem;padding:.625rem 0}.detail-label[data-v-e5f76ac9]{min-width:auto;font-size:.8125rem}.detail-value[data-v-e5f76ac9]{font-size:.875rem}.employee-code[data-v-e5f76ac9]{font-size:.75rem;padding:.1875rem .375rem}.employee-name[data-v-e5f76ac9]{display:block;margin-top:.25rem}.leave-badge[data-v-e5f76ac9]{font-size:.8125rem;padding:.3125rem .625rem}.dates-row[data-v-e5f76ac9]{grid-template-columns:1fr;gap:.75rem}.remarks-input[data-v-e5f76ac9]{font-size:.8125rem;padding:.625rem}.action-buttons[data-v-e5f76ac9]{flex-direction:column;gap:.625rem}.action-buttons button[data-v-e5f76ac9]{padding:.625rem 1rem;font-size:.875rem}.timeline[data-v-e5f76ac9]{padding-left:2.5rem}.timeline[data-v-e5f76ac9]:before{left:.125rem}.timeline-marker[data-v-e5f76ac9]{left:-2.25rem;width:2rem;height:2rem}.timeline-icon svg[data-v-e5f76ac9]{width:16px;height:16px}.timeline-item[data-v-e5f76ac9]{padding-bottom:1rem}.timeline-header[data-v-e5f76ac9]{flex-direction:column;align-items:flex-start;gap:.25rem}.timeline-action[data-v-e5f76ac9]{font-size:.875rem}.timeline-date[data-v-e5f76ac9]{font-size:.75rem}.timeline-actor[data-v-e5f76ac9]{font-size:.8125rem}.actor-code[data-v-e5f76ac9]{display:block;margin-top:.125rem}.timeline-remarks[data-v-e5f76ac9]{font-size:.8125rem;padding:.5rem}.loading-state[data-v-e5f76ac9]{padding:2rem 1rem}.spinner[data-v-e5f76ac9]{width:32px;height:32px}}.leave-requests-view[data-v-4dbf80a8]{padding:24px}.page-header[data-v-4dbf80a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1[data-v-4dbf80a8]{font-size:24px;font-weight:600;color:var(--color-text);margin:0}.btn-primary[data-v-4dbf80a8]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0ea5e94d}.btn-primary[data-v-4dbf80a8]:hover{background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e966}.filter-select[data-v-4dbf80a8]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.table-container[data-v-4dbf80a8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow-x:auto;overflow-y:visible;margin-bottom:20px}.data-table[data-v-4dbf80a8]{width:100%;border-collapse:collapse;table-layout:auto}.data-table thead[data-v-4dbf80a8]{background:var(--color-bg-secondary)}.data-table th[data-v-4dbf80a8]{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.data-table th[data-v-4dbf80a8]:last-child{position:sticky;right:0;background:var(--color-bg-secondary);z-index:10;box-shadow:-2px 0 4px #0000000d}.data-table td[data-v-4dbf80a8]{padding:12px 16px;font-size:14px;color:var(--color-text-light);border-bottom:1px solid var(--color-border)}.data-table tbody tr[data-v-4dbf80a8]:not(.timeline-row):hover{background:var(--color-bg)}.data-table tbody tr.expanded[data-v-4dbf80a8]{background:var(--color-bg)}.timeline-row[data-v-4dbf80a8]{background:var(--color-bg)!important}.timeline-container[data-v-4dbf80a8]{padding:24px}.timeline[data-v-4dbf80a8]{position:relative;padding-left:40px}.timeline[data-v-4dbf80a8]:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--color-border)}.timeline-item[data-v-4dbf80a8]{position:relative;margin-bottom:24px}.timeline-item[data-v-4dbf80a8]:last-child{margin-bottom:0}.timeline-marker[data-v-4dbf80a8]{position:absolute;left:-40px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border);background:var(--color-surface);z-index:1}.timeline-marker.marker-submit[data-v-4dbf80a8]{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.timeline-marker.marker-review[data-v-4dbf80a8]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.timeline-marker.marker-approve[data-v-4dbf80a8]{background:#dcfce7;border-color:#22c55e;color:#166534}.timeline-marker.marker-reject[data-v-4dbf80a8]{background:#fee2e2;border-color:#ef4444;color:#991b1b}.timeline-marker.marker-cancel[data-v-4dbf80a8]{background:#f3f4f6;border-color:#9ca3af;color:#4b5563}.timeline-content[data-v-4dbf80a8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.timeline-header[data-v-4dbf80a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.timeline-header h4[data-v-4dbf80a8]{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.timeline-date[data-v-4dbf80a8]{font-size:12px;color:var(--color-text-light)}.timeline-details p[data-v-4dbf80a8]{margin:8px 0;font-size:14px;color:var(--color-text-light);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-arrow[data-v-4dbf80a8]{color:var(--color-text-light)}.actions-cell[data-v-4dbf80a8]{white-space:nowrap;width:180px;min-width:180px;position:sticky!important;right:0;background:var(--color-surface);z-index:5;box-shadow:-2px 0 4px #0000000d}.data-table tbody tr:hover .actions-cell[data-v-4dbf80a8],.data-table tbody tr.expanded .actions-cell[data-v-4dbf80a8]{background:var(--color-bg)}.action-buttons[data-v-4dbf80a8]{display:flex!important;gap:8px;justify-content:flex-start;align-items:center}.btn-icon[data-v-4dbf80a8]{padding:8px;background:#fff;border:1.5px solid;border-radius:6px;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;transition:all .2s;min-width:36px;min-height:36px;flex-shrink:0}.btn-view[data-v-4dbf80a8]{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.btn-view[data-v-4dbf80a8]:hover{background:#dbeafe;border-color:#2563eb;color:#1e40af;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f633}.btn-approve[data-v-4dbf80a8]{border-color:#22c55e;color:#22c55e;background:#f0fdf4}.btn-approve[data-v-4dbf80a8]:hover{background:#dcfce7;border-color:#16a34a;color:#166534;transform:translateY(-1px);box-shadow:0 2px 4px #22c55e33}.btn-reject[data-v-4dbf80a8]{border-color:#ef4444;color:#ef4444;background:#fef2f2}.btn-reject[data-v-4dbf80a8]:hover{background:#fee2e2;border-color:#dc2626;color:#991b1b;transform:translateY(-1px);box-shadow:0 2px 4px #ef444433}.btn-icon.disabled[data-v-4dbf80a8],.btn-icon[data-v-4dbf80a8]:disabled{opacity:.4;cursor:not-allowed;background:#f3f4f6;border-color:#d1d5db;color:#9ca3af}.btn-icon.disabled[data-v-4dbf80a8]:hover,.btn-icon[data-v-4dbf80a8]:disabled:hover{transform:none;box-shadow:none;background:#f3f4f6;border-color:#d1d5db;color:#9ca3af}.badge[data-v-4dbf80a8]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-pending[data-v-4dbf80a8],.badge-under_review[data-v-4dbf80a8]{background:#fef3c7;color:#92400e}.badge-approved[data-v-4dbf80a8]{background:#dcfce7;color:#166534}.badge-rejected[data-v-4dbf80a8],.badge-cancelled[data-v-4dbf80a8]{background:#fee2e2;color:#991b1b}.pagination[data-v-4dbf80a8]{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;gap:16px}.pagination-info[data-v-4dbf80a8]{font-size:14px;color:var(--color-text-light)}.pagination-controls[data-v-4dbf80a8]{display:flex;gap:8px;align-items:center}.btn-secondary[data-v-4dbf80a8]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text);cursor:pointer;transition:all .2s}.btn-secondary[data-v-4dbf80a8]:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-secondary[data-v-4dbf80a8]:disabled{opacity:.5;cursor:not-allowed}.page-select[data-v-4dbf80a8]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.request-details[data-v-4dbf80a8]{display:flex;flex-direction:column;gap:16px}.detail-row[data-v-4dbf80a8]{display:grid;grid-template-columns:150px 1fr;gap:16px}.detail-row label[data-v-4dbf80a8]{font-weight:600;color:var(--color-text)}.detail-row span[data-v-4dbf80a8]{color:var(--color-text-light)}
