.session-timeout-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease-in-out}.session-timeout-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:32px;max-width:480px;width:90%;text-align:center;animation:slideIn .3s ease-out}.session-timeout-icon{font-size:48px;color:#ff9800;margin-bottom:20px;animation:pulse 2s infinite}.session-timeout-title{font-size:24px;font-weight:600;color:#333;margin-bottom:20px;margin-top:0}.session-timeout-message{margin-bottom:24px}.session-timeout-message p{color:#666;font-size:16px;margin:8px 0}.session-timeout-countdown{margin:20px 0;padding:16px;background:#f5f5f5;border-radius:8px}.countdown-timer{font-size:28px;font-weight:700;color:#ff9800;font-family:Courier New,monospace;transition:color .3s ease}.countdown-timer.critical{color:#f44336;animation:blink 1s infinite}.session-timeout-actions{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.btn-extend-session,.btn-logout-now{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-extend-session{background:#4caf50;color:#fff;flex:1}.btn-extend-session:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-logout-now{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-logout-now:hover{background:#e0e0e0;color:#333}.session-timeout-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:16px;border-top:1px solid #eee;color:#999;font-size:14px}.session-timeout-hint i{color:#2196f3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}@media(max-width:480px){.session-timeout-modal{padding:24px;width:95%}.session-timeout-icon{font-size:36px}.session-timeout-title{font-size:20px}.countdown-timer{font-size:24px}.session-timeout-actions{flex-direction:column}.btn-extend-session,.btn-logout-now{width:100%}}.session-expired-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;animation:sessionExpiredFadeIn .3s ease-in-out}.session-expired-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:32px;max-width:480px;width:90%;text-align:center;animation:sessionExpiredSlideIn .3s ease-out}.session-expired-icon{font-size:48px;color:#2196f3;margin-bottom:20px}.session-expired-title{font-size:24px;font-weight:600;color:#333;margin-bottom:20px;margin-top:0}.session-expired-message{margin-bottom:24px}.session-expired-message p{color:#666;font-size:16px;margin:8px 0;line-height:1.5}.session-expired-actions{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.btn-login-again,.btn-go-home{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login-again{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;flex:1}.btn-login-again:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d266}.btn-login-again:active{transform:translateY(0)}.btn-go-home{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-go-home:hover{background:#e0e0e0;color:#333}.session-expired-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:16px;border-top:1px solid #eee;color:#999;font-size:14px}.session-expired-hint i{color:#2196f3}@keyframes sessionExpiredFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sessionExpiredSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:480px){.session-expired-modal{padding:24px;width:95%}.session-expired-icon{font-size:36px}.session-expired-title{font-size:20px}.session-expired-actions{flex-direction:column}.btn-login-again,.btn-go-home{width:100%}}.export-indicator-container{position:fixed;width:340px;max-height:320px;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,inset 0 1px #fffc;border:1px solid rgba(0,81,137,.1);overflow:hidden;z-index:1000001;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.export-indicator-container.dragging{cursor:grabbing;user-select:none}.export-indicator-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#005189,#00395e);color:#fff;cursor:grab}.export-indicator-header .header-icon{width:20px;height:20px;flex-shrink:0}.export-indicator-header .header-title{font-size:14px;font-weight:600;letter-spacing:.01em;color:#f4f7fb}.export-indicator-header .active-count{font-weight:400;opacity:.92;margin-left:4px;color:#e5edf7}.export-indicator-list{max-height:320px;overflow-y:auto;padding:8px}.export-indicator-list::-webkit-scrollbar{width:6px}.export-indicator-list::-webkit-scrollbar-track{background:transparent}.export-indicator-list::-webkit-scrollbar-thumb{background:#00518933;border-radius:3px}.export-indicator-list::-webkit-scrollbar-thumb:hover{background:#0051894d}.export-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#fff);margin-bottom:6px;transition:all .2s ease;border:1px solid transparent}.export-item:last-child{margin-bottom:0}.export-item:hover{background:linear-gradient(135deg,#f1f3f4,#fff)}.export-item.complete{border-color:#27ae604d;background:linear-gradient(135deg,#27ae6014,#fff)}.export-item.failed,.export-item.cancelled{border-color:#e74c3c4d;background:linear-gradient(135deg,#e74c3c14,#fff)}.export-item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#e8f4fc,#d4e9f7)}.export-item-icon .format-icon{width:22px;height:22px;color:#005189}.export-item-icon .format-icon.pdf{color:#dc3545}.export-item-icon .format-icon.pptx{color:#d35400}.format-icon-img{width:22px;height:22px;object-fit:contain}.export-item-content{flex:1;min-width:0}.export-item-name{font-size:13px;font-weight:600;color:#1a1a2e;word-break:break-word;line-height:1.3;margin-bottom:4px}.export-item-progress{display:flex;align-items:center;gap:6px}.progress-text{font-size:12px;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-icon{width:14px;height:14px;flex-shrink:0}.status-icon.success{color:#27ae60}.status-icon.error{color:#e74c3c}.status-spinner{width:14px;height:14px;flex-shrink:0}.status-spinner svg{width:100%;height:100%;color:#005189;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-item-action{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#9ca3af;transition:all .2s ease}.export-item-action svg{width:14px;height:14px}.export-item-action:hover{background:#0000000f;color:#6c757d}.export-item.complete .export-item-action:hover,.export-item.failed .export-item-action:hover,.export-item.cancelled .export-item-action:hover{background:#00000014;color:#495057}@media(max-width:400px){.export-indicator-container{left:12px;right:12px;width:auto}}:root{--color-brand-primary: #005189;--color-brand-primary-hover: #004f8c;--color-brand-primary-light: #ebf5ff;--color-brand-primary-dark: #003d6b;--color-brand-secondary: #0066b3;--color-brand-accent: #00a3e0;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #065f46;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #92400e;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #991b1b;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-info-dark: #1e40af;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--text-link: #0066b3;--text-link-hover: #005189;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-overlay: rgba(0, 0, 0, .5);--bg-hover: rgba(0, 81, 137, .04);--bg-selected: #ebf5ff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-focus: #005189;--border-error: #ef4444;--border-success: #10b981;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 4px 12px rgba(0, 81, 137, .15);--shadow-primary-lg: 0 10px 24px rgba(0, 81, 137, .2);--shadow-success: 0 4px 12px rgba(16, 185, 129, .15);--shadow-error: 0 4px 12px rgba(239, 68, 68, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--focus-ring: 0 0 0 3px rgba(0, 81, 137, .1);--focus-ring-offset: 2px;--focus-ring-color: var(--color-brand-primary);--opacity-disabled: .5;--opacity-hover: .9;--opacity-loading: .6;--button-padding-sm: var(--spacing-2) var(--spacing-4);--button-padding-md: var(--spacing-3) var(--spacing-6);--button-padding-lg: var(--spacing-4) var(--spacing-8);--button-height-sm: 32px;--button-height-md: 40px;--button-height-lg: 48px;--input-padding: var(--spacing-3) var(--spacing-4);--input-height: 44px;--input-border-width: 1px;--card-padding: var(--spacing-6);--card-padding-sm: var(--spacing-4);--card-padding-lg: var(--spacing-8);--table-cell-padding: var(--spacing-3) var(--spacing-4);--table-header-height: 48px;--table-row-height: 56px}:root{--primary-color: #139958;--primary-hover: #0d7a44;--secondary-color: #d1d5db;--text-primary: #1f2937;--text-secondary: #374151;--text-muted: #6b7280;--background-main: #f9fafb;--background-card: #ffffff;--border-light: #e5e7eb;--border-medium: #d1d5db;--error-color: #dc3545;--success-color: #28a745;--warning-color: #ffc107;--info-color: #17a2b8;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;line-height:1.5;overflow-x:hidden}#root{width:100%;min-height:100vh;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:#dc3545;font-size:14px;margin-top:8px}.success-text{color:#28a745;font-size:14px;margin-top:8px}.page-container{padding:20px;width:100%;box-sizing:border-box}.wip-image{width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:8px}.card{background:#fff;border:1px solid #ddd;padding:30px;margin-top:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.card.center,.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}
