@import url(https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap);:root{--color-primary:#2f5dd1;--color-secondary:#c9a24b;--color-third:#0b1220;--ink-900:var(--color-third);--ink-800:#121a2c;--ink-700:#1c2740;--primary-600:var(--color-primary);--primary-700:#24469e;--primary-100:#e8edfb;--accent-500:var(--color-secondary);--accent-300:#ddc07f;--slate-900:#101828;--slate-600:#475467;--slate-500:#667085;--slate-400:#98a2b3;--slate-200:#e4e7ec;--slate-100:#f2f4f7;--slate-50:#f8fafc;--white:#fff;--surface-bg:#f8fafc;--surface-panel:#fff;--surface-muted:#f2f4f7;--surface-card:#fff;--surface-input:#f8fafc;--surface-input-focus:#fff;--text-primary:#101828;--text-secondary:#475467;--text-muted:#667085;--text-inverse:#fff;--border-default:#e4e7ec;--border-subtle:#f2f4f7;--header-bg:#ffffffeb;--header-border:#e4e7ec;--header-text:#101828;--header-btn-bg:#fff;--header-btn-hover:#f2f4f7;--header-border-hover:#98a2b3;--header-mark-bg:#e8edfb;--header-mark-border:#e8edfb;--error-bg:#fef3f2;--error-border:#fda29b;--error-text:#b42318;--success-bg:#ecfdf3;--success-border:#a6f4c5;--success-text:#027a48;--success-500:#12b76a;--font-display:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 12px 32px #1018281f}[data-theme=dark]{--slate-900:#f0f4f8;--slate-800:#e2e8f0;--slate-700:#cbd5e1;--slate-600:#98a2b3;--slate-500:#667085;--slate-400:#475467;--slate-200:#ffffff1a;--slate-100:#ffffff0f;--slate-50:#141c2b;--white:#0d1117;--primary-100:#2f5dd12e;--surface-bg:#0a0f18;--surface-panel:#121a2c;--surface-muted:#1a2234;--surface-card:#121a2c;--surface-input:#1a2234;--surface-input-focus:#1e2838;--text-primary:#f0f4f8;--text-secondary:#98a2b3;--text-muted:#667085;--text-inverse:#fff;--border-default:#ffffff1a;--border-subtle:#ffffff0f;--header-bg:#0a0f18eb;--header-border:#ffffff14;--header-text:#f0f4f8;--header-btn-bg:#ffffff0f;--header-btn-hover:#ffffff1a;--header-border-hover:#ffffff2e;--header-mark-bg:#ffffff14;--header-mark-border:#ffffff1f;--error-bg:#b423181f;--error-border:#fda29b59;--error-text:#fda29b;--success-bg:#027a481f;--success-border:#a6f4c540;--success-text:#6ce9a6;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 32px #00000073}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--surface-bg);color:#101828;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);margin:0;transition:background-color .2s ease,color .2s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.asset-table-wrapper,.client-table-wrapper,.data-table-container,.document-table-wrapper,.employee-table-wrapper,.holiday-table-wrapper,.leave-table-wrapper,.menu-table-wrapper,.org-table-wrapper,.payroll-table-wrapper,.performance-table-wrapper,.ra-table-wrap,.table-responsive,.user-table-wrapper{-webkit-overflow-scrolling:touch;border-radius:8px;display:block;margin-bottom:4px;max-width:100%;overflow-x:auto;width:100%}.asset-table-wrapper table,.client-table-wrapper table,.data-table-container table,.document-table-wrapper table,.employee-table-wrapper table,.holiday-table-wrapper table,.leave-table-wrapper table,.menu-table-wrapper table,.org-table-wrapper table,.payroll-table-wrapper table,.performance-table-wrapper table,.ra-table-wrap table,.table-responsive table,.user-table-wrapper table{min-width:680px}.data-table-container::-webkit-scrollbar,.ra-table-wrap::-webkit-scrollbar,.table-responsive::-webkit-scrollbar,.user-table-wrapper::-webkit-scrollbar{height:6px}.data-table-container::-webkit-scrollbar-track,.ra-table-wrap::-webkit-scrollbar-track,.table-responsive::-webkit-scrollbar-track,.user-table-wrapper::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.data-table-container::-webkit-scrollbar-thumb,.ra-table-wrap::-webkit-scrollbar-thumb,.table-responsive::-webkit-scrollbar-thumb,.user-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:3px}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:11000}.toast-rectangle{align-items:center;animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards;background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000f;display:flex;gap:12px;max-width:380px;min-width:260px;overflow:hidden;padding:12px 16px;pointer-events:auto;position:relative;transition:transform .2s ease,opacity .2s ease}.toast-rectangle.toast-exiting{animation:slideOutRight .25s cubic-bezier(.4,0,1,1) forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(120%)}}.toast-success{background:#fff;border-left:4px solid #10b981}.toast-error{background:#fff;border-left:4px solid #ef4444}.toast-info{background:#fff;border-left:4px solid #3b82f6}.toast-warning{background:#fff;border-left:4px solid #f59e0b}.toast-icon{align-items:center;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-warning .toast-icon{color:#f59e0b}.toast-content{display:flex;flex:1 1;flex-direction:column}.toast-title{color:#0f172a;font-size:13px;font-weight:700;line-height:1.2}.toast-message{color:#334155;font-size:13px;line-height:1.3;margin-top:2px;word-break:break-word}.toast-close{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;transition:color .15s ease}.toast-close:hover{color:#334155}.toast-progress{animation:progressDrain 1.5s linear forwards;background:#10b981;bottom:0;height:2.5px;left:0;position:absolute;width:100%}.toast-error .toast-progress{background:#ef4444}.toast-info .toast-progress{background:#3b82f6}.toast-warning .toast-progress{background:#f59e0b}@keyframes progressDrain{0%{width:100%}to{width:0}}.error-modal-backdrop{align-items:center;animation:errorFadeIn .2s cubic-bezier(.16,1,.3,1) forwards;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background-color:#0f172aa6;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}@keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}.error-modal-dialog{animation:errorScaleUp .25s cubic-bezier(.16,1,.3,1) forwards;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a,0 0 0 1px #ef444426;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:100%}@keyframes errorScaleUp{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.error-modal-header{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:1px solid #fecaca;gap:14px;padding:20px 24px}.error-icon-wrapper,.error-modal-header{align-items:center;display:flex;flex-shrink:0}.error-icon-wrapper{background:#fee2e2;border:2px solid #ef4444;border-radius:50%;box-shadow:0 2px 8px #ef444433;color:#dc2626;height:44px;justify-content:center;width:44px}.error-icon-wrapper svg{height:24px;width:24px}.error-header-text{flex:1 1}.error-modal-title{color:#991b1b;font-size:18px;font-weight:700;line-height:1.3;margin:0}.error-status-badge{background:#dc26261f;border:1px solid #dc262633;border-radius:12px;color:#b91c1c;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:4px;padding:2px 8px;text-transform:uppercase}.error-modal-close-btn{background:#0000;border:none;border-radius:6px;color:#991b1b;cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;transition:all .15s ease}.error-modal-close-btn:hover{background:#ef444426;color:#7f1d1d}.error-modal-body{color:#334155;flex:1 1;font-size:14px;line-height:1.6;min-height:0;overflow-y:auto;padding:20px 24px}.error-modal-message{color:#1e293b;font-weight:500;margin:0;max-height:45vh;overflow-wrap:anywhere;padding-right:6px;word-break:break-word}.error-modal-details,.error-modal-message{overflow-y:auto;user-select:text;-webkit-user-select:text;white-space:pre-wrap}.error-modal-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;margin-top:16px;max-height:200px;padding:12px;word-break:break-all}.error-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.error-modal-btn-copy{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:9px 16px;transition:all .15s ease}.error-modal-btn-copy:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.error-modal-btn-dismiss{background:#dc2626;border:none;border-radius:8px;box-shadow:0 1px 2px #dc262633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .15s ease}.error-modal-btn-dismiss:hover{background:#b91c1c;box-shadow:0 4px 10px #dc26264d}.error-modal-btn-dismiss:active{transform:translateY(1px)}.login-page{background:var(--surface-bg);display:flex;flex-direction:column;min-height:100vh}.login-page-exiting .login-screen{animation:loginExit .28s ease forwards}@keyframes loginExit{to{opacity:0;transform:scale(.98)}}.login-screen{background:var(--surface-bg);display:flex;flex:1 1;min-height:0}.login-brand{align-items:center;background:linear-gradient(160deg,var(--ink-900) 0,var(--ink-800) 55%,var(--ink-700) 100%);display:flex;flex:0 0 60%;max-width:60%;min-height:100vh;overflow:hidden;padding:64px;position:relative}.login-brand-grid{background-image:linear-gradient(#ffffff0d 1px,#0000 0),linear-gradient(90deg,#ffffff0d 1px,#0000 0);background-size:56px 56px;inset:0;-webkit-mask-image:radial-gradient(ellipse 85% 70% at 30% 40%,#000 40%,#0000 85%);mask-image:radial-gradient(ellipse 85% 70% at 30% 40%,#000 40%,#0000 85%);position:absolute}.login-brand-glow{border-radius:50%;filter:blur(70px);pointer-events:none;position:absolute}.login-brand-glow-a{animation:driftA 16s ease-in-out infinite;background:radial-gradient(circle,#2f5dd159,#0000 70%);height:460px;left:-100px;top:-120px;width:460px}.login-brand-glow-b{animation:driftB 20s ease-in-out infinite;background:radial-gradient(circle,#c9a24b38,#0000 70%);bottom:-140px;height:380px;right:-60px;width:380px}@keyframes driftA{0%,to{transform:translate(0)}50%{transform:translate(30px,25px)}}@keyframes driftB{0%,to{transform:translate(0)}50%{transform:translate(-25px,-20px)}}.login-brand-content{color:var(--white);max-width:460px;position:relative;width:100%;z-index:1}.login-mark{align-items:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;color:var(--accent-300);display:flex;height:44px;justify-content:center;margin-bottom:48px;width:44px}.login-brand-title{font-family:var(--font-display);font-size:34px;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0 0 16px}.login-brand-subtitle{color:#ffffff9e;font-size:15.5px;line-height:1.6;margin:0 0 44px;max-width:380px}.login-brand-features{border-top:1px solid #ffffff1f;display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:28px 0 0}.login-brand-features li{align-items:flex-start;color:#ffffffd1;display:flex;font-size:14px;gap:12px;line-height:1.5}.login-brand-features li svg{color:var(--accent-300);flex:0 0 auto;margin-top:1px}.login-panel{align-items:center;background:var(--surface-panel);display:flex;flex:0 0 40%;justify-content:center;max-width:40%;min-height:100%;padding:48px 40px;position:relative}.login-panel:before{background:linear-gradient(to bottom,#0000 0,var(--border-default) 12%,var(--border-default) 88%,#0000 100%);bottom:0;content:"";left:0;position:absolute;top:0;width:1px}.login-panel-inner{max-width:360px;width:100%}.login-mark-mobile{background:var(--primary-100);border:1px solid var(--primary-100);color:var(--primary-600);display:none;margin-bottom:28px}.login-form-header{margin-bottom:32px}.login-form-header h2{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.login-form-header p{color:var(--text-secondary);font-size:14.5px;margin:0}.login-form-error{align-items:flex-start;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);display:flex;font-size:13.5px;gap:8px;line-height:1.4;margin-bottom:20px;padding:11px 13px}.login-form-error svg{flex:0 0 auto;margin-top:1px}.login-form{display:flex;flex-direction:column}.login-field+.login-field{margin-top:18px}.login-label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:7px}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--slate-400);display:flex;left:13px;pointer-events:none;position:absolute}.login-input-wrap input{background:var(--surface-input);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:14.5px;padding:11px 14px 11px 38px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.login-input-wrap input::placeholder{color:var(--slate-400)}.login-input-wrap input:focus{background:var(--surface-input-focus);border-color:var(--primary-600);box-shadow:0 0 0 3.5px var(--primary-100);outline:none}.login-input-wrap input:disabled{cursor:not-allowed;opacity:.65}.login-input-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--slate-400);cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;right:8px;width:30px}.login-input-toggle:hover:not(:disabled){background:var(--surface-muted);color:var(--text-secondary)}.login-input-toggle:disabled{cursor:not-allowed}.login-remember{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13.5px;gap:9px;margin-top:22px;-webkit-user-select:none;user-select:none}.login-remember input[type=checkbox]{accent-color:var(--primary-600);cursor:pointer;height:16px;width:16px}.login-submit{align-items:center;background:var(--primary-600);border:none;border-radius:8px;color:var(--white);cursor:pointer;display:flex;font-family:var(--font-body);font-size:14.5px;font-weight:600;gap:8px;justify-content:center;margin-top:28px;padding:12px;transition:background .15s ease,transform .05s ease}.login-submit:hover:not(:disabled){background:var(--primary-700)}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{background:var(--slate-400);cursor:not-allowed}.login-input-toggle:focus-visible,.login-input-wrap input:focus-visible,.login-submit:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.login-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top:2px solid var(--white);height:14px;width:14px}.login-footnote{align-items:center;color:var(--slate-400);display:flex;font-size:12.5px;gap:6px;margin:28px 0 0}@media (max-width:980px){.login-brand{flex-basis:52%;max-width:52%;padding:48px}.login-panel{flex-basis:48%;max-width:48%;padding:40px 32px}.login-brand-title{font-size:28px}}@media (max-width:760px){.login-screen{display:block}.login-brand{display:none}.login-panel{flex-basis:100%;max-width:100%;min-height:100vh;padding:40px 24px}.login-panel:before{display:none}.login-mark-mobile{display:flex}}@media (prefers-reduced-motion:reduce){.login-brand-glow-a,.login-brand-glow-b,.login-page-exiting .login-screen{animation:none}}.header-menu{position:relative}.header-menu-trigger{align-items:center;background:var(--header-btn-bg);border:1px solid var(--header-border);border-radius:8px;color:var(--header-text);cursor:pointer;display:flex;gap:6px;padding:6px 10px;transition:all .15s ease}.header-menu-trigger-active,.header-menu-trigger:hover{background:var(--header-btn-hover);border-color:var(--header-border-hover)}.header-menu-trigger:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.header-menu-trigger-icon{color:var(--accent-500)}.header-menu-dots,.header-menu-trigger-icon{align-items:center;display:flex;justify-content:center}.header-menu-dots{opacity:.8}.header-menu-dropdown{animation:menuDropIn .18s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-panel);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;position:absolute;right:0;top:calc(100% + 8px);width:290px;z-index:300}@keyframes menuDropIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.header-menu-section{padding:4px}.header-menu-section-header{align-items:center;display:flex;justify-content:space-between;padding:2px 4px 6px}.header-menu-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.header-menu-mode-badge{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:999px;color:var(--primary-600);font-size:10.5px;font-weight:600;padding:2px 8px;text-transform:capitalize}.header-menu-user-badge{align-items:center;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:9px;display:flex;gap:10px;margin-bottom:6px;padding:8px 10px}.header-menu-user-avatar{align-items:center;background:var(--primary-100);border-radius:50%;color:var(--primary-600);display:flex;height:32px;justify-content:center;width:32px}.header-menu-user-info{display:flex;flex-direction:column}.header-menu-user-name{color:var(--text-primary);font-size:13px;font-weight:600}.header-menu-user-status{color:var(--success-text);font-size:11px;font-weight:500}.header-menu-user-refresh{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:24px;justify-content:center;line-height:1;margin-left:auto;transition:all .15s ease;width:24px}.header-menu-user-refresh:hover{background:var(--surface-panel);border-color:var(--border-default);color:var(--primary-600)}.header-menu-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:13.5px;font-weight:500;gap:10px;padding:9px 10px;text-decoration:none;transition:background .12s ease,color .12s ease;width:100%}.header-menu-item:hover{background:var(--surface-muted)}.header-menu-item-primary{background:var(--primary-100);color:var(--primary-600);font-weight:600}.header-menu-item-primary:hover{background:var(--primary-600);color:var(--white)}.header-menu-item-danger{color:var(--error-text)}.header-menu-item-danger:hover{background:var(--error-bg)}.header-menu-divider{background:var(--border-default);height:1px;margin:6px 4px}.header-menu-colors-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.header-menu-color-row{align-items:center;background:var(--surface-muted);border-radius:8px;display:flex;justify-content:space-between;padding:6px 8px}.header-menu-color-info{align-items:center;display:flex;gap:8px}.header-menu-color-dot{border-radius:50%;box-shadow:0 0 0 1px #00000026;height:14px;width:14px}.header-menu-color-title{color:var(--text-primary);font-size:12.5px;font-weight:500}.header-menu-color-picker-wrap{align-items:center;display:flex;gap:6px}.header-menu-color-input{background:#0000;border:1px solid var(--border-default);border-radius:6px;cursor:pointer;height:24px;padding:0;width:28px}.header-menu-color-code{color:var(--text-muted);font-family:monospace;font-size:11px;text-align:right;width:54px}.header-menu-presets-wrap{margin-top:8px;padding:4px}.header-menu-presets-title{color:var(--text-muted);display:block;font-size:11px;font-weight:600;margin-bottom:6px}.header-menu-presets-grid{display:flex;gap:6px}.header-menu-preset-btn{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:7px;cursor:pointer;display:flex;flex:1 1;gap:2px;justify-content:center;padding:6px 4px;transition:transform .12s ease,border-color .12s ease}.header-menu-preset-btn:hover{border-color:var(--primary-600);transform:translateY(-1px)}.header-menu-preset-swatch{border-radius:50%;height:10px;width:10px}.header-menu-mode-group{display:flex;gap:6px;margin-top:6px}.header-menu-mode-btn{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:9px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--font-body);font-size:11.5px;font-weight:500;gap:4px;justify-content:center;padding:8px 4px;transition:all .12s ease}.header-menu-mode-btn:hover{background:var(--surface-muted);color:var(--text-primary)}.header-menu-mode-btn-active{background:var(--primary-100);border-color:var(--primary-600);color:var(--primary-600);font-weight:600}[data-theme=dark] .header-menu-mode-btn-active{background:#2f5dd133}@media (prefers-reduced-motion:reduce){.header-menu-dropdown{animation:none}}.app-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--header-bg);border-bottom:1px solid var(--header-border);justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.app-header-left{align-items:center;display:flex}.app-header-left{gap:12px;min-width:0}.app-header-mark{align-items:center;background:var(--header-mark-bg);border:1px solid var(--header-mark-border);border-radius:8px;color:var(--accent-300);display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.app-header-titles{display:flex;flex-direction:column;min-width:0}.app-header-brand{color:var(--header-text);font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.app-header-page{color:var(--text-secondary);font-size:12px;line-height:1.3}.app-header-subtitle{color:var(--text-muted);font-size:11.5px}.app-header-menu-toggle{align-items:center;background:var(--header-btn-bg);border:1px solid var(--header-border);border-radius:8px;color:var(--header-text);cursor:pointer;display:none;flex-shrink:0;height:36px;justify-content:center;outline:none;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:36px}.app-header-menu-toggle:hover{background:var(--header-btn-hover);border-color:var(--header-border-hover)}.app-header-menu-toggle:active{transform:scale(.95)}@media (max-width:1024px){.app-header-menu-toggle{display:flex}.app-header-mark{display:none}}@media (max-width:640px){.app-header{padding:10px 12px}.app-header-subtitle{display:none}.app-header-brand{font-size:13.5px}.app-header-brand,.app-header-page{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-page{color:var(--text-secondary);display:inline-block;font-size:11.5px;max-width:140px}}.dashboard-welcome{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.dashboard-welcome h1{color:var(--slate-900);font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.dashboard-welcome p{color:var(--slate-600);font-size:14.5px;margin:0}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card{background:var(--white);background:var(--surface-card,var(--white));border:1px solid var(--border-default,var(--slate-200));border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;padding:24px}.dashboard-card-wide{grid-column:1/-1}.dashboard-card h2{color:var(--slate-900);color:var(--text-primary,var(--slate-900));font-family:var(--font-display);font-size:16px;font-weight:600;margin:0 0 8px}.dashboard-card-desc{color:var(--slate-600);color:var(--text-secondary,var(--slate-600));font-size:13.5px;line-height:1.5;margin:0 0 16px}.dashboard-card-empty{color:var(--slate-500);color:var(--text-muted,var(--slate-500));font-size:13.5px;margin:0}.dashboard-quick-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.dashboard-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;padding:10px 18px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.dashboard-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-btn.primary{background:#2f5dd1;background:var(--color-primary,#2f5dd1);color:#fff}.dashboard-btn.secondary{background:var(--slate-100);background:var(--surface-input,var(--slate-100));border:1px solid var(--border-default,var(--slate-200));color:var(--slate-900);color:var(--text-primary,var(--slate-900))}.dashboard-btn.secondary:hover{background:#2f5dd12e;background:var(--primary-100,#2f5dd12e);border-color:#2f5dd1;border-color:var(--color-primary,#2f5dd1);color:#fff;color:var(--text-primary,#fff)}.dashboard-btn.success{background:#10b981;color:#fff}.dashboard-btn.danger{background:#ef4444;color:#fff}.dashboard-action-list{display:flex;flex-direction:column;gap:12px;margin-top:4px}.dashboard-action-item{align-items:center;background:var(--slate-50);background:var(--surface-input,var(--slate-50));border:1px solid var(--border-default,var(--slate-200));border-radius:10px;color:var(--slate-900);color:var(--text-primary,var(--slate-900));display:flex;gap:14px;padding:12px 16px;text-decoration:none;transition:background .15s ease,border-color .15s ease}.dashboard-action-item:hover{background:var(--white);border-color:#2f5dd1;border-color:var(--color-primary,#2f5dd1)}.dashboard-action-item .action-icon{font-size:20px}.dashboard-action-item strong{display:block;font-size:14px;font-weight:600}.dashboard-action-item span{color:var(--slate-500);font-size:12px}.dashboard-test-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-grid{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-welcome h1{font-size:20px}.dashboard-card{padding:18px}}.employee-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;margin-bottom:24px;overflow:hidden}.employee-form-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.employee-form-title{color:#0f172a;font-size:18px;font-weight:700;margin:0}.employee-form-subtitle{color:#64748b;font-size:13px;margin:4px 0 0}.employee-form-body{padding:24px}.form-section-title{border-bottom:1px dashed #cbd5e1;color:#475569;font-size:14px;font-weight:700;letter-spacing:.5px;margin:16px 0;padding-bottom:6px;text-transform:uppercase}.form-section-title:first-child{margin-top:0}.form-grid{grid-gap:18px 20px;display:grid;gap:18px 20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-group{display:flex;flex-direction:column;position:relative}.form-group label .required-asterisk{color:#dc2626;margin-left:2px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border-radius:6px;font-family:inherit;font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.form-group input.has-error,.form-group select.has-error{background-color:#fffbfb;border-color:#ef4444}.form-group input.has-error:focus,.form-group select.has-error:focus{box-shadow:0 0 0 3px #ef444426}.input-feedback{font-size:12px;line-height:1.2;margin-top:4px}.input-feedback.error{color:#dc2626}.input-feedback.checking{color:#0284c7}.input-feedback.available{color:#16a34a}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input{width:100%}.input-status-icon{font-size:14px;pointer-events:none;position:absolute;right:10px}.form-actions{border-top:1px solid #e2e8f0;margin-top:28px;padding-top:18px}.btn-secondary{border:1px solid #cbd5e1;font-size:14px;padding:9px 18px;transition:all .15s ease}.btn-secondary:hover{color:#1e293b}.btn-primary{align-items:center;background:#2563eb;border:1px solid #1d4ed8;border-radius:6px;box-shadow:0 1px 2px #2563eb33;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:9px 22px;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 6px -1px #2563eb4d}.btn-primary:disabled{cursor:not-allowed;opacity:.65}.spinner{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:14px;width:14px}.employee-page-container{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1200px;padding:8px 0 40px}.employee-page-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.employee-page-title-group h1{color:#0f172a;font-size:24px;font-weight:700;margin:0}.employee-page-title-group p{color:#64748b;font-size:14px;margin:4px 0 0}.employee-header-actions{align-items:center;display:flex;gap:12px}.btn-toggle-form{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:9px 18px;transition:all .2s ease}.btn-toggle-form.primary{background:#2563eb;box-shadow:0 2px 4px #2563eb40;color:#fff}.btn-toggle-form.primary:hover{background:#1d4ed8}.btn-toggle-form.secondary{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.btn-toggle-form.secondary:hover{background:#e2e8f0}.employee-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;flex-wrap:wrap;gap:16px;padding:16px 20px}.employee-toolbar,.search-box{align-items:center;display:flex}.search-box{flex:1 1;min-width:260px;position:relative}.search-box svg{color:#94a3b8;left:12px;pointer-events:none;position:absolute}.search-input{border:1px solid #cbd5e1;border-radius:8px;font-size:14px;outline:none;padding:9px 12px 9px 38px;transition:all .15s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.manager-filter-box{align-items:center;display:flex;gap:10px}.manager-filter-box label{color:#475569;font-size:13px;font-weight:600;white-space:nowrap}.manager-input{border:1px solid #cbd5e1;border-radius:8px;font-size:14px;outline:none;padding:8px 12px;width:140px}.manager-input:focus{border-color:#3b82f6}.btn-filter-action{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .15s ease}.btn-filter-action:hover{background:#f1f5f9;color:#0f172a}.btn-filter-clear{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:13px;padding:8px 12px;text-decoration:underline}.btn-filter-clear:hover{color:#dc2626}.employee-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.table-header-info{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.table-header-info .title{color:#334155;font-size:15px;font-weight:600}.table-header-info .count-badge{background:#e2e8f0;border-radius:20px;color:#475569;font-size:12px;font-weight:600;padding:2px 10px}.table-responsive{overflow-x:auto;width:100%}.employee-table{border-collapse:collapse;text-align:left;width:100%}.employee-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;white-space:nowrap}.employee-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px;padding:14px 16px;vertical-align:middle}.employee-table tbody tr:hover{background-color:#f8fafc}.emp-name-cell{display:flex;flex-direction:column}.emp-full-name{color:#0f172a;font-weight:600}.emp-sub-email{color:#64748b;font-size:12px}.emp-code-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#2563eb;display:inline-block;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12px;font-weight:600;padding:2px 8px}.status-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.status-pill.active{background:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.status-pill.inactive{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.status-pill.resigned{background:#fef3c7;border:1px solid #fde68a;color:#b45309}.status-pill.terminated{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.status-pill-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.action-cell-group{align-items:center;display:flex;gap:8px}.status-select-inline{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:12px;font-weight:600;padding:5px 8px;transition:border-color .15s}.status-select-inline:focus{border-color:#3b82f6;outline:none}.btn-action-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:5px 8px;transition:all .15s ease}.btn-action-icon:hover{background:#f1f5f9;color:#0f172a}.btn-action-icon.danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.empty-state{color:#64748b;padding:48px 24px;text-align:center}.empty-state-icon{color:#94a3b8;font-size:32px;margin-bottom:12px}.empty-state p{font-size:15px;margin:0}.user-page-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px;padding:24px}.user-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.user-page-title-group h1{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:24px;font-weight:700;margin:0}.user-page-title-group p{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:14px;margin:4px 0 0}.btn-add-user{align-items:center;background-color:#3b82f6;background-color:var(--primary-color,#3b82f6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;text-decoration:none;transition:all .2s ease}.btn-add-user:hover{filter:brightness(1.1);transform:translateY(-1px)}.user-table-card{background:#1e293b;background:var(--bg-card,#1e293b);border:1px solid #334155;border:1px solid var(--border-color,#334155);border-radius:12px;box-shadow:0 4px 12px #00000026;overflow:hidden;padding:20px}.user-table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.user-table-header .title{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:16px;font-weight:600}.user-table-header .count-badge{background:#3b82f626;border-radius:20px;color:#60a5fa;font-size:12px;font-weight:600;padding:4px 10px}.user-table{border-collapse:collapse;min-width:680px;text-align:left;width:100%}.user-table th{background:#0000001a;color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.user-table td,.user-table th{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color,#334155);padding:12px 14px;white-space:nowrap}.user-table td{color:#e2e8f0;color:var(--text-color,#e2e8f0);font-size:13.5px}.user-table tr:hover td{background-color:#ffffff05}.user-id-badge{background:#38bdf81a;border-radius:4px;color:#38bdf8;font-family:monospace;font-weight:600;padding:4px 8px}.role-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase}.role-badge.admin{background:#ef444426;color:#f87171}.role-badge.employee{background:#3b82f626;color:#60a5fa}.role-badge.user{background:#10b98126;color:#34d399}.user-actions{display:flex;gap:8px}.btn-user-action{background:none;border:1px solid #475569;border:1px solid var(--border-color,#475569);border-radius:6px;color:#e2e8f0;color:var(--text-color,#e2e8f0);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .15s ease}.btn-user-action:hover{background:#ffffff14}.btn-user-action.danger:hover{background:#ef444433;border-color:#ef4444;color:#f87171}.edit-user-modal{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-user-modal-content{background:#1e293b;background:var(--bg-card,#1e293b);border:1px solid #334155;border:1px solid var(--border-color,#334155);border-radius:12px;box-shadow:0 10px 25px #0006;max-width:500px;padding:24px;width:90%}.modal-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.modal-form-group label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:13px;font-weight:500}.modal-form-group input,.modal-form-group select{background:#0f172a;background:var(--bg-input,#0f172a);border:1px solid #475569;border:1px solid var(--border-color,#475569);border-radius:6px;color:#fff;font-size:14px;padding:8px 12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}@media (max-width:768px){.user-page-container{box-sizing:border-box;gap:12px;padding:14px 12px;width:100%}.user-page-header{align-items:center;flex-direction:row;gap:10px;justify-content:space-between}.user-page-title-group h1{font-size:18px;font-weight:600}.user-page-title-group p{font-size:12.5px;margin-top:2px}.btn-add-user{border-radius:8px;flex-shrink:0;font-size:13px;padding:8px 14px}.user-table-card{border-radius:10px;box-sizing:border-box;padding:14px 12px;width:100%}.user-table-header{margin-bottom:12px}.user-table-header .title{font-size:14px;font-weight:600}.user-table-header .count-badge{font-size:11px;padding:3px 8px}.user-table-wrapper{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.user-table{min-width:640px}.user-table th{font-size:11.5px}.user-table td,.user-table th{padding:8px 10px;white-space:nowrap}.user-table td{font-size:13px;font-weight:400}.user-actions{flex-direction:row;gap:6px}.user-actions .btn-user-action{font-size:12px;padding:5px 10px}.edit-user-modal{align-items:flex-start;overflow-y:auto;padding:16px 12px}.edit-user-modal-content{margin:auto 0;padding:20px;width:100%}.modal-actions{flex-direction:row;gap:8px}.modal-actions .btn-add-user,.modal-actions .btn-user-action{flex:1 1;justify-content:center}}.dynamic-form-card{animation:formFadeIn .35s ease;background:var(--white);background:var(--surface-card,var(--white));border:1px solid var(--border-default,var(--slate-200));border-radius:12px;box-shadow:var(--shadow-sm);padding:28px 32px}@keyframes formFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dynamic-form-header{border-bottom:1px solid var(--border-default,var(--slate-200));margin-bottom:24px;padding-bottom:20px}.dynamic-form-header h2{color:var(--slate-900);color:var(--text-primary,var(--slate-900));font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.dynamic-form-header p{color:var(--slate-600);color:var(--text-secondary,var(--slate-600));font-size:14px;margin:0}.dynamic-form-alert{align-items:flex-start;border-radius:8px;display:flex;font-size:13.5px;gap:8px;line-height:1.4;margin-bottom:20px;padding:11px 13px}.dynamic-form-alert svg{flex:0 0 auto;margin-top:1px}.dynamic-form-alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.dynamic-form-alert-success{background:#ecfdf3;background:var(--success-bg,#ecfdf3);border:1px solid #a6f4c5;border:1px solid var(--success-border,#a6f4c5);color:#027a48;color:var(--success-text,#027a48)}.dynamic-form-grid{grid-gap:18px 20px;display:grid;gap:18px 20px;grid-template-columns:repeat(2,1fr)}.dynamic-form-field-wide{grid-column:1/-1}.dynamic-form-label{color:var(--slate-900);color:var(--text-primary,var(--slate-900));display:block;font-size:13px;font-weight:600;margin-bottom:7px}.dynamic-form-required{color:var(--error-text);margin-left:2px}.dynamic-form-field input,.dynamic-form-field select,.dynamic-form-field textarea{background:var(--slate-50);background:var(--surface-input,var(--slate-50));border:1px solid var(--border-default,var(--slate-200));border-radius:8px;color:var(--slate-900);color:var(--text-primary,var(--slate-900));font-family:var(--font-body);font-size:14px;padding:10px 13px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.dynamic-form-field textarea{min-height:80px;resize:vertical}.dynamic-form-field input::placeholder,.dynamic-form-field textarea::placeholder{color:var(--slate-400)}.dynamic-form-field input:focus,.dynamic-form-field select:focus,.dynamic-form-field textarea:focus{background:var(--white);border-color:var(--primary-600);box-shadow:0 0 0 3.5px var(--primary-100);outline:none}.dynamic-form-field input:disabled,.dynamic-form-field select:disabled,.dynamic-form-field textarea:disabled{cursor:not-allowed;opacity:.65}.dynamic-form-input-wrap{align-items:center;display:flex;position:relative}.dynamic-form-input-wrap input{padding-right:56px}.dynamic-form-toggle-pw{background:#0000;border:none;border-radius:5px;color:var(--slate-500);cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;position:absolute;right:8px}.dynamic-form-toggle-pw:hover:not(:disabled){background:var(--slate-100);color:var(--primary-600)}.dynamic-form-checkbox{align-items:center;display:flex;min-height:42px}.dynamic-form-field .dynamic-form-checkbox input[type=checkbox]{accent-color:var(--primary-600);background:#0000;border:none;border-radius:4px;cursor:pointer;height:18px;padding:0;width:18px}.dynamic-form-field .dynamic-form-checkbox input[type=checkbox]:focus{box-shadow:none;outline:2px solid var(--primary-600);outline-offset:2px}.dynamic-form-hint{color:var(--slate-500);display:block;font-size:12px;margin-top:5px}.dynamic-form-actions{border-top:1px solid var(--slate-200);display:flex;gap:12px;justify-content:flex-end;margin-top:28px;padding-top:20px}.dynamic-form-cancel{align-items:center;background:var(--white);border:1px solid var(--slate-200);border-radius:8px;color:var(--slate-700);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:14.5px;font-weight:600;justify-content:center;padding:11px 22px;transition:background .15s ease,border-color .15s ease}.dynamic-form-cancel:hover:not(:disabled){background:var(--slate-50);border-color:var(--slate-300)}.dynamic-form-cancel:disabled{cursor:not-allowed;opacity:.6}.dynamic-form-submit{align-items:center;background:var(--primary-600);border:none;border-radius:8px;color:var(--white);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:14.5px;font-weight:600;gap:8px;justify-content:center;padding:11px 28px;transition:background .15s ease,transform .05s ease}.dynamic-form-submit:hover:not(:disabled){background:var(--primary-700)}.dynamic-form-submit:active:not(:disabled){transform:translateY(1px)}.dynamic-form-submit:disabled{background:var(--slate-400);cursor:not-allowed}.dynamic-form-submit:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.dynamic-form-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top:2px solid var(--white);height:14px;width:14px}@media (max-width:720px){.dynamic-form-grid{grid-template-columns:1fr}.dynamic-form-field-wide{grid-column:auto}.dynamic-form-card{padding:20px}}@media (prefers-reduced-motion:reduce){.dynamic-form-card{animation:none}}.registration-page{animation:pageSlideIn .3s ease;max-width:820px}.registration-unknown{background:var(--white);background:var(--surface-card,var(--white));border:1px solid var(--border-default,var(--slate-200));border-radius:12px;box-shadow:var(--shadow-sm);padding:32px}.registration-unknown h2{color:var(--slate-900);color:var(--text-primary,var(--slate-900));font-family:var(--font-display);font-size:20px;margin:0 0 8px}.registration-unknown p{color:var(--slate-600);color:var(--text-secondary,var(--slate-600));font-size:14px;margin:0}.registration-back-link{background:var(--primary-600);border-radius:8px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-top:18px;padding:10px 22px;text-decoration:none}.registration-back-link:hover{background:var(--primary-700)}.registration-lookup-hint{color:var(--slate-500);color:var(--text-muted,var(--slate-500));font-size:12.5px;margin:12px 0 0}@keyframes pageSlideIn{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.registration-page{animation:none}}.auth-loading{align-items:center;background:var(--slate-50);color:var(--slate-600);display:flex;flex-direction:column;font-size:14px;gap:14px;justify-content:center;min-height:100vh}.auth-loading-spinner{animation:spin .7s linear infinite;border:3px solid var(--slate-200);border-radius:50%;border-top-color:var(--primary-600);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.session-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.session-modal{background:#fff;border-radius:8px;padding:24px;width:320px}.session-modal-actions{display:flex;gap:10px;margin-top:16px}.session-modal-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;padding:8px}.session-modal-actions .secondary{background:#eee}.main-layout{background:var(--surface-bg);display:flex;min-height:100vh}.main-layout-sidebar{background:var(--ink-900);color:var(--white);display:flex;flex:0 0 240px;flex-direction:column;height:100vh;min-height:100vh;overflow:visible;position:-webkit-sticky;position:sticky;top:0;transition:flex-basis .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);width:240px;z-index:300}.main-layout-sidebar.is-collapsed{flex:0 0 68px;width:68px}.sidebar-brand{border-bottom:1px solid #ffffff14;box-sizing:border-box;gap:12px;height:64px;overflow:hidden;padding:14px 16px}.sidebar-brand,.sidebar-mark{align-items:center;display:flex}.sidebar-mark{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;color:#a5b4fc;color:var(--accent-300,#a5b4fc);cursor:pointer;flex-shrink:0;height:36px;justify-content:center;outline:none;padding:0;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px}.sidebar-mark:hover{background:#ffffff29;border-color:#ffffff47;box-shadow:0 0 12px #a5b4fc33;color:#fff;transform:scale(1.04)}.sidebar-mark:active{transform:scale(.95)}.sidebar-mark:focus-visible{box-shadow:0 0 0 2px #a5b4fc;box-shadow:0 0 0 2px var(--accent-300,#a5b4fc)}.hexagon-icon{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.sidebar-mark-collapsed .hexagon-icon{transform:rotate(180deg)}.sidebar-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;opacity:1;transition:opacity .2s ease;white-space:nowrap}.main-layout-sidebar.is-collapsed .sidebar-title{opacity:0;visibility:hidden}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-x:visible;overflow-y:auto;padding:16px 10px}.sidebar-menu-row{align-items:center;background:#0000;border-radius:8px;box-sizing:border-box;color:#ffffffb8;cursor:pointer;display:flex;font-family:var(--font-body);font-size:13.5px;font-weight:500;justify-content:flex-start;overflow:hidden;padding:10px 12px;transition:background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;width:100%}.sidebar-menu-row:hover{background:#ffffff0f;color:var(--white)}.sidebar-menu-row-active{background:#ffffff1a;color:var(--white)}.sidebar-menu-left{align-items:center;display:flex;flex-shrink:0;gap:12px;min-width:0}.sidebar-menu-left i,.sidebar-menu-left svg{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:2px;width:20px}.sidebar-menu-label{opacity:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease;white-space:nowrap}.main-layout-sidebar.is-collapsed .sidebar-menu-label,.main-layout-sidebar.is-collapsed .sidebar-subgroup-label{opacity:0;visibility:hidden}.sidebar-add-btn{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:24px;justify-content:center;line-height:1;opacity:1;text-decoration:none;transition:all .15s ease;width:24px}.main-layout-sidebar.is-collapsed .sidebar-add-btn{opacity:0;visibility:hidden}.sidebar-add-btn-sm{flex:0 0 auto;font-size:14px;height:22px;margin-right:4px;width:22px}.sidebar-add-btn:hover{transform:scale(1.1)}.sidebar-add-btn-active,.sidebar-add-btn:hover{background:#3b82f6;background:var(--primary-color,#3b82f6);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);color:#fff}.sidebar-link{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffb8;cursor:pointer;display:flex;font-family:var(--font-body);font-size:13.5px;font-weight:500;gap:10px;padding:10px 12px;text-decoration:none;transition:background .15s ease,color .15s ease;width:100%}.sidebar-link:hover{background:#ffffff0f;color:var(--white)}.sidebar-link-active{background:#ffffff1a;color:var(--white)}.sidebar-link svg{flex-shrink:0;opacity:.85}.sidebar-group-toggle{justify-content:flex-start}.sidebar-chevron{margin-left:auto;opacity:.6;transition:transform .2s ease}.sidebar-chevron-open{transform:rotate(180deg)}.sidebar-submenu{display:flex;flex-direction:column;gap:2px;list-style:none;margin:4px 0 0;padding:0 0 0 12px}.sidebar-main-group-row{color:#ffffffe6;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-main-group-row:hover{background:#ffffff0f;color:var(--white)}.sidebar-main-group-row-open{background:#ffffff0a;color:var(--white)}.sidebar-subgroup-label{color:#fff6;font-size:11px;font-weight:600;letter-spacing:.04em;list-style:none;opacity:1;overflow:hidden;padding:10px 12px 2px 24px;text-transform:uppercase;transition:opacity .2s ease;white-space:nowrap}.sidebar-empty{color:#ffffff80;font-size:13px;padding:12px;text-align:center}.sidebar-sublink{border-radius:7px;color:#ffffff94;display:block;flex:1 1;font-size:13px;font-weight:500;min-width:0;padding:8px 12px 8px 28px;position:relative;text-decoration:none;transition:background .15s ease,color .15s ease}.sidebar-sublink-row{align-items:center;display:flex;gap:6px;list-style:none}.sidebar-sublink:before{background:#ffffff4d;border-radius:50%;content:"";height:4px;left:14px;position:absolute;top:50%;transform:translateY(-50%);width:4px}.sidebar-sublink:hover{background:#ffffff0d;color:#ffffffd9}.sidebar-sublink-active{background:#ffffff14;color:var(--accent-300)}.sidebar-sublink-active:before{background:var(--accent-300)}.sidebar-footer{display:none}.main-layout-sidebar.is-collapsed .sidebar-group{position:relative}.main-layout-sidebar.is-collapsed .sidebar-submenu{animation:submenuFlyout .2s cubic-bezier(.16,1,.3,1);background:#1e293b;background:var(--ink-800,#1e293b);border:1px solid #ffffff1f;border-radius:8px;box-shadow:0 12px 32px #00000073;display:none;flex-direction:column;gap:4px;left:calc(100% + 8px);margin:0;min-width:210px;padding:8px;position:absolute;top:0;z-index:450}@keyframes submenuFlyout{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.main-layout-sidebar.is-collapsed .sidebar-group:focus-within .sidebar-submenu,.main-layout-sidebar.is-collapsed .sidebar-group:hover .sidebar-submenu{display:flex}.main-layout-sidebar.is-collapsed .sidebar-sublink{padding:8px 12px;white-space:nowrap}.main-layout-sidebar.is-collapsed .sidebar-sublink:before{display:inline-block}.main-layout-sidebar.is-collapsed [data-tooltip]{position:relative}.main-layout-sidebar.is-collapsed .sidebar-menu-row[data-tooltip]:after,.main-layout-sidebar.is-collapsed .sidebar-sublink-row[data-tooltip]:after{background:#0f172a;border-radius:6px;box-shadow:0 4px 16px #0006,0 0 0 1px #ffffff1f;color:#f8fafc;content:attr(data-tooltip);font-size:12.5px;font-weight:500;left:calc(100% + 12px);opacity:0;padding:6px 12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) translateX(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;visibility:hidden;white-space:nowrap;z-index:500}.main-layout-sidebar.is-collapsed .sidebar-menu-row[data-tooltip]:before,.main-layout-sidebar.is-collapsed .sidebar-sublink-row[data-tooltip]:before{border-color:#0000 #0f172a #0000 #0000;border-style:solid;border-width:5px 6px 5px 0;content:"";left:calc(100% + 6px);opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .18s ease,visibility .18s ease;visibility:hidden;z-index:501}.main-layout-sidebar.is-collapsed .sidebar-menu-row[data-tooltip]:hover:after,.main-layout-sidebar.is-collapsed .sidebar-menu-row[data-tooltip]:hover:before,.main-layout-sidebar.is-collapsed .sidebar-sublink-row[data-tooltip]:hover:after,.main-layout-sidebar.is-collapsed .sidebar-sublink-row[data-tooltip]:hover:before{opacity:1;transform:translateY(-50%) translateX(0);visibility:visible}.main-layout-sidebar.is-collapsed .sidebar-group:hover .sidebar-menu-row[data-tooltip]:after,.main-layout-sidebar.is-collapsed .sidebar-group:hover .sidebar-menu-row[data-tooltip]:before{display:none!important}.main-layout-body{display:flex;flex:1 1;flex-direction:column;min-width:0}.main-layout-content{flex:1 1;overflow-y:auto;padding:32px}.main-layout-content.page-enter{animation:dashboardEnter .4s ease}@keyframes dashboardEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.main-layout-backdrop{display:none}@media (max-width:1024px){.main-layout{overflow-x:hidden;position:relative}.main-layout-sidebar{bottom:0;box-shadow:10px 0 35px #00000080;display:flex!important;flex:0 0!important;left:0;max-width:82vw!important;min-width:0!important;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.16,1,.3,1);width:270px!important;z-index:10000}.main-layout-sidebar.is-collapsed{box-shadow:none;pointer-events:none;transform:translateX(-100%)}.main-layout-sidebar .sidebar-add-btn,.main-layout-sidebar .sidebar-menu-label,.main-layout-sidebar .sidebar-subgroup-label,.main-layout-sidebar .sidebar-title{opacity:1!important;visibility:visible!important}.main-layout-backdrop{animation:backdropFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f172aa6;display:block;inset:0;position:fixed;z-index:9999}.main-layout-body{flex:1 1;max-width:100vw;min-width:0;width:100%}.main-layout-content{box-sizing:border-box;padding:12px 10px;width:100%}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:640px){.main-layout-content{box-sizing:border-box;padding:10px 8px;width:100%}}@media (prefers-reduced-motion:reduce){.main-layout-content.page-enter{animation:none}}.org-page{margin:0 auto;max-width:1400px;padding:24px}.org-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.org-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.org-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);display:flex;gap:8px;margin-bottom:24px}.org-tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s ease}.org-tab-btn.active,.org-tab-btn:hover{color:#2563eb;color:var(--primary-color,#2563eb)}.org-tab-btn.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary-color,#2563eb)}.org-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.org-search-input{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:8px 14px;width:280px}.btn-primary-action{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:8px;box-shadow:0 2px 6px #2563eb40;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:9px 18px;transition:transform .15s ease,box-shadow .15s ease}.btn-primary-action:hover{box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.data-table-container{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 2px 10px #00000008;overflow-x:auto}.custom-table{border-collapse:collapse;font-size:.9rem;text-align:left;width:100%}.custom-table th{background:#f8fafc;background:var(--bg-subtle,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);color:#475569;color:var(--text-secondary,#475569);font-weight:600;padding:12px 16px}.custom-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-color,#f1f5f9);color:#1e293b;color:var(--text-primary,#1e293b);padding:12px 16px}.custom-table tr:hover{background:#f8fafc;background:var(--bg-hover,#f8fafc)}.badge{border-radius:12px;font-size:.78rem;font-weight:600;padding:3px 10px;text-transform:uppercase}.badge-active{background:#dcfce7;color:#166534}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-info{background:#e0f2fe;color:#0369a1}.action-btns{display:flex;gap:8px}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px}.btn-edit{background:#f1f5f9;color:#334155}.btn-edit:hover{background:#e2e8f0}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#fee2e2}.modal-overlay{align-items:center;background:#0f172a80}.modal-content{background:#fff;background:var(--bg-card,#fff);border-radius:14px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:540px}.modal-header h2{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.25rem}.close-btn{background:#0000;color:#64748b;color:var(--text-secondary,#64748b);font-size:1.5rem}.form-group label{color:#334155;color:var(--text-primary,#334155);font-size:.85rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;box-sizing:border-box;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:9px 12px;width:100%}.btn-secondary{background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-weight:600;padding:9px 16px}.btn-secondary:hover{background:#e2e8f0}.shift-page{margin:0 auto;max-width:1400px;padding:24px}.shift-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.shift-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.shift-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);display:flex;gap:8px;margin-bottom:24px}.shift-tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s ease}.shift-tab-btn.active,.shift-tab-btn:hover{color:#2563eb;color:var(--primary-color,#2563eb)}.shift-tab-btn.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary-color,#2563eb)}.shift-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.shift-search-input{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:8px 14px;width:280px}.attendance-page{margin:0 auto;max-width:1400px;padding:24px}.attendance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.attendance-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.quick-checkin-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 2px 10px #00000008;margin-bottom:24px;padding:20px}.quick-checkin-card h3{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.1rem;margin-bottom:16px;margin-top:0}.quick-checkin-form{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.quick-checkin-form input{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:9px 14px;width:220px}.btn-checkin{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:9px 18px}.btn-checkin:hover{background:#059669}.btn-checkout{background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:9px 18px}.btn-checkout:hover{background:#d97706}.attendance-filters{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#475569;color:var(--text-secondary,#475569);font-size:.85rem;font-weight:600}.filter-group input{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:6px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.85rem;padding:7px 12px}.badge-PRESENT{background:#dcfce7;color:#15803d}.badge-ABSENT{background:#fee2e2;color:#b91c1c}.badge-HALF_DAY{background:#fef3c7;color:#b45309}.badge-ON_LEAVE{background:#e0e7ff;color:#4338ca}.badge-HOLIDAY{background:#f3e8ff;color:#6b21a8}.badge-WEEK_OFF{background:#f1f5f9;color:#475569}.leave-page{margin:0 auto;max-width:1400px;padding:24px}.leave-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.leave-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.leave-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);display:flex;gap:8px;margin-bottom:24px}.leave-tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s ease}.leave-tab-btn.active,.leave-tab-btn:hover{color:#2563eb;color:var(--primary-color,#2563eb)}.leave-tab-btn.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary-color,#2563eb)}.leave-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.badge-PENDING{background:#fef3c7;color:#b45309}.badge-APPROVED{background:#dcfce7;color:#15803d}.badge-REJECTED{background:#fee2e2;color:#b91c1c}.badge-CANCELLED{background:#f1f5f9;color:#64748b}.btn-approve{background:#10b981}.btn-approve,.btn-reject{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px}.btn-reject{background:#ef4444}.holiday-page{margin:0 auto;max-width:1400px;padding:24px}.holiday-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.holiday-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.holiday-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.badge-NATIONAL{background:#fee2e2;color:#991b1b}.badge-FESTIVAL{background:#fef3c7;color:#92400e}.badge-OPTIONAL{background:#e0f2fe;color:#075985}.badge-RESTRICTED{background:#f3e8ff;color:#6b21a8}.payroll-page{margin:0 auto;max-width:1400px;padding:24px}.payroll-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.payroll-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.payroll-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);display:flex;gap:8px;margin-bottom:24px}.payroll-tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s ease}.payroll-tab-btn.active,.payroll-tab-btn:hover{color:#2563eb;color:var(--primary-color,#2563eb)}.payroll-tab-btn.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary-color,#2563eb)}.payroll-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.generate-payroll-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 2px 10px #00000008;margin-bottom:24px;padding:20px}.generate-payroll-card h3{font-size:1.1rem;margin-bottom:16px;margin-top:0}.generate-form{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.generate-form input,.generate-form select{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:8px 12px}.badge-GENERATED{background:#e0f2fe;color:#0369a1}.badge-PAID{background:#dcfce7;color:#15803d}.badge-CANCELLED{background:#fee2e2;color:#b91c1c}.badge-ON_HOLD{background:#fef3c7;color:#b45309}.btn-mark-paid{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px}.asset-page{margin:0 auto;max-width:1400px;padding:24px}.asset-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.asset-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.asset-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.badge-AVAILABLE{background:#dcfce7;color:#15803d}.badge-ISSUED{background:#e0f2fe;color:#0369a1}.badge-RETURNED{background:#f1f5f9;color:#475569}.badge-DAMAGED{background:#fee2e2;color:#b91c1c}.badge-LOST{background:#fef3c7;color:#b45309}.badge-RETIRED{background:#e2e8f0;color:#334155}.btn-issue{background:#2563eb}.btn-issue,.btn-return{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px}.btn-return{background:#f59e0b}.document-page{margin:0 auto;max-width:1400px;padding:24px}.document-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.document-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.document-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.badge-verified{background:#dcfce7;color:#15803d}.badge-unverified{background:#fef3c7;color:#b45309}.btn-verify{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px}.review-page{margin:0 auto;max-width:1400px;padding:24px}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.review-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.6rem;font-weight:700;margin:0}.review-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.badge-DRAFT{background:#f1f5f9;color:#475569}.badge-SUBMITTED{background:#e0f2fe;color:#0369a1}.badge-REVIEWED{background:#fef3c7;color:#b45309}.badge-ACKNOWLEDGED{background:#dcfce7;color:#15803d}.rating-pill{align-items:center;background:#fef9c3;border-radius:8px;color:#a16207;display:inline-flex;font-size:.85rem;font-weight:700;gap:4px;padding:2px 8px}.ra-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1300px;padding:24px}.ra-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.ra-title-group h1{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:24px;font-weight:700;margin:0}.ra-title-group p{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:14px;margin:4px 0 0}.ra-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s ease}.ra-btn-primary{background:#3b82f6;background:var(--primary-color,#3b82f6);color:#fff}.ra-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.ra-btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.ra-btn-secondary{background:#ffffff14;border:1px solid #475569;border:1px solid var(--border-color,#475569);color:#e2e8f0;color:var(--text-color,#e2e8f0)}.ra-btn-secondary:hover{background:#ffffff1f}.ra-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.ra-btn-danger{background:#ef4444;color:#fff}.ra-btn-danger:hover{filter:brightness(1.1)}.ra-btn-icon{background:none;border:1px solid #475569;border:1px solid var(--border-color,#475569);border-radius:6px;color:#e2e8f0;color:var(--text-color,#e2e8f0);cursor:pointer;font-size:12px;padding:5px 10px;transition:all .15s ease}.ra-btn-icon:hover{background:#ffffff14}.ra-btn-edit:hover{border-color:#3b82f6;color:#60a5fa}.ra-btn-del:hover{background:#ef44441a;border-color:#ef4444;color:#f87171}.ra-card{background:#1e293b;background:var(--bg-card,#1e293b);border:1px solid #334155;border:1px solid var(--border-color,#334155);border-radius:12px;box-shadow:0 4px 12px #00000026;padding:20px}.ra-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ra-card-title{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:16px;font-weight:600}.ra-badge{background:#3b82f626;border-radius:20px;color:#60a5fa;font-size:12px;font-weight:600;padding:4px 10px}.ra-loading{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:12px;padding:40px 0;text-align:center}.ra-spinner{animation:ra-spin .8s linear infinite;border:3px solid #3b82f633;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}@keyframes ra-spin{to{transform:rotate(1turn)}}.ra-empty{color:#94a3b8;padding:40px 0;text-align:center}.ra-empty-icon{display:block;font-size:32px;margin-bottom:8px}.ra-table-wrap{overflow-x:auto}.ra-table{border-collapse:collapse;text-align:left;width:100%}.ra-table th{background:#0000001a;color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ra-table td,.ra-table th{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color,#334155);padding:12px 14px}.ra-table td{color:#e2e8f0;color:var(--text-color,#e2e8f0);font-size:13px}.ra-table tr:hover td{background-color:#ffffff05}.ra-id-badge{background:#38bdf81a;border-radius:4px;color:#38bdf8;font-family:monospace;font-size:12px;font-weight:600;padding:3px 8px}.ra-remarks{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-date,.ra-remarks{color:#94a3b8;color:var(--text-muted,#94a3b8)}.ra-date{font-size:12px}.ra-tag{border-radius:6px;display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase}.ra-tag-admin{background:#ef444426;color:#f87171}.ra-tag-user{background:#10b98126;color:#34d399}.ra-tag-super{background:#a855f726;color:#c084fc}.ra-status{border-radius:4px;font-size:12px;font-weight:600;padding:2px 8px}.ra-status-yes{background:#10b9811a;color:#34d399}.ra-status-no{background:#94a3b81a;color:#94a3b8}.ra-actions{display:flex;gap:6px}.ra-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ra-modal{background:#1e293b;background:var(--bg-card,#1e293b);border:1px solid #334155;border:1px solid var(--border-color,#334155);border-radius:12px;box-shadow:0 10px 25px #0006;max-height:80vh;max-width:520px;overflow-y:auto;width:90%}.ra-modal-sm{max-width:420px}.ra-modal-head{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color,#334155);display:flex;justify-content:space-between;padding:16px 20px}.ra-modal-head h2{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:18px;margin:0}.ra-modal-close{background:none;border:none;color:#94a3b8;color:var(--text-muted,#94a3b8);cursor:pointer;font-size:18px;padding:4px}.ra-modal-close:hover{color:#fff}.ra-modal-body{padding:20px}.ra-modal-foot{border-top:1px solid #334155;border-top:1px solid var(--border-color,#334155);display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.ra-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ra-form-group label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:13px;font-weight:500}.ra-form-group input[type=email],.ra-form-group input[type=text],.ra-form-group select,.ra-form-group textarea{background:#0f172a;background:var(--bg-input,#0f172a);border:1px solid #475569;border:1px solid var(--border-color,#475569);border-radius:6px;color:#fff;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.ra-form-group input:focus,.ra-form-group select:focus,.ra-form-group textarea:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.ra-req{color:#ef4444}.ra-checkbox-group{margin-bottom:0}.ra-checkbox-label{align-items:center;color:#e2e8f0!important;color:var(--text-color,#e2e8f0)!important;cursor:pointer;display:flex;font-size:14px;font-weight:400!important;gap:8px}.ra-checkbox-label input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary-color,#3b82f6);height:16px;width:16px}.ra-hint{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;margin-left:24px}.ra-delete-confirm{padding:10px 0;text-align:center}.ra-del-icon{display:block;font-size:36px;margin-bottom:12px}.ra-delete-confirm p{color:#e2e8f0;color:var(--text-color,#e2e8f0);margin:8px 0}.ra-warn-text{color:#f87171!important;font-size:13px}.ra-priv-table{border-collapse:collapse;width:100%}.ra-priv-table td,.ra-priv-table th{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color,#334155);font-size:13px;padding:10px 12px;text-align:center}.ra-priv-table th{background:#00000026;color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:600;text-transform:uppercase}.ra-priv-table td.ra-menu-name{color:#e2e8f0;color:var(--text-color,#e2e8f0);text-align:left}.ra-priv-table td.ra-group-name{color:#60a5fa;font-weight:600;text-align:left}.ra-priv-table td.ra-sub-name{color:#a78bfa;text-align:left}.ra-priv-checkbox{accent-color:#3b82f6;accent-color:var(--primary-color,#3b82f6);cursor:pointer;height:16px;width:16px}.ra-priv-checkbox:disabled{cursor:not-allowed;opacity:.4}.ra-source-tag{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.ra-source-role{background:#3b82f626;color:#60a5fa}.ra-source-user{background:#10b98126;color:#34d399}.ra-alert{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:12px 16px}.ra-alert-warn{background:#fbbf241a;border:1px solid #fbbf244d;color:#fbbf24}.ra-alert-info{background:#3b82f61a;border:1px solid #3b82f64d;color:#60a5fa}.ra-user-card{background:#1e293b;background:var(--bg-card,#1e293b);border:1px solid #334155;border:1px solid var(--border-color,#334155);border-radius:12px;margin-bottom:20px;padding:20px}.ra-user-card h3{color:#f8fafc;color:var(--text-color,#f8fafc);font-size:16px;margin:0 0 12px}.ra-user-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ra-user-detail-item{display:flex;flex-direction:column;gap:2px}.ra-user-detail-label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:600;text-transform:uppercase}.ra-user-detail-value{color:#e2e8f0;color:var(--text-color,#e2e8f0);font-size:14px}.ra-role-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ra-role-badge-item{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#60a5fa;font-size:12px;font-weight:500;padding:4px 10px}.ra-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ra-filter-bar input,.ra-filter-bar select{background:#0f172a;background:var(--bg-input,#0f172a);border:1px solid #475569;border:1px solid var(--border-color,#475569);border-radius:6px;color:#fff;font-size:14px;outline:none;padding:8px 12px}.ra-search-input{min-width:240px}.ra-section-title{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color,#334155);color:#f8fafc;color:var(--text-color,#f8fafc);font-size:16px;font-weight:600;margin:24px 0 12px;padding-bottom:8px}@media (max-width:768px){.ra-container{padding:16px}.ra-header{align-items:flex-start;flex-direction:column}.ra-user-details{grid-template-columns:1fr}.ra-filter-bar{flex-direction:column}.ra-search-input{min-width:100%}}.ra-module{display:flex;flex-direction:column;height:100%}.ra-tabs{background:#1e293b;background:var(--bg-card,#1e293b);border-bottom:2px solid #334155;border-bottom:2px solid var(--border-color,#334155);display:flex;gap:4px;overflow-x:auto;padding:0 24px}.ra-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#94a3b8;color:var(--text-muted,#94a3b8);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.ra-tab:hover{background:#ffffff08;color:#e2e8f0;color:var(--text-color,#e2e8f0)}.ra-tab-active{border-bottom-color:#3b82f6;border-bottom-color:var(--primary-color,#3b82f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.ra-tab-icon{font-size:16px}.ra-tab-label{font-size:13px}.ra-tab-content{flex:1 1;overflow-y:auto}@media (max-width:768px){.ra-tabs{padding:0 12px}.ra-tab{padding:10px 12px}.ra-tab-label{display:none}.ra-tab-icon{font-size:20px}}.menu-management-page{max-width:100%;padding:24px}.menu-management-header{margin-bottom:24px}.menu-management-header h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.menu-management-tabs{border-bottom:2px solid var(--border-default);display:flex;gap:4px;margin-bottom:24px;overflow-x:auto}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:14px;margin-bottom:-2px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.tab-btn-active,.tab-btn:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.tab-btn-active{border-bottom-color:#3b82f6;border-bottom-color:var(--color-primary,#3b82f6);font-weight:500}.tab-content{width:100%}.tab-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.tab-header h2{color:var(--text-primary);font-size:18px;font-weight:500;margin:0}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.table-container{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;min-width:600px;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border-default);color:var(--text-primary);padding:12px 16px;text-align:left}.data-table th{color:var(--text-secondary);font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.data-table tbody tr:hover,.data-table th{background-color:var(--surface-muted)}.empty-row{color:var(--text-muted);padding:32px 16px;text-align:center}.draggable-row{cursor:grab}.draggable-row:active{cursor:grabbing}.order-cell{color:var(--text-secondary);font-weight:500;text-align:center;width:60px}.actions-cell{white-space:nowrap;width:100px}.btn-primary-action{background-color:#3b82f6;background-color:var(--color-primary,#3b82f6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s ease,opacity .2s ease}.btn-primary-action:hover{opacity:.9}.btn-secondary{background-color:var(--surface-muted);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:8px 16px}.btn-secondary:hover{background-color:var(--border-subtle)}.btn-icon-btn{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s ease,color .2s ease}.btn-icon-btn:hover{background-color:var(--surface-muted);color:var(--text-primary)}.btn-edit{color:#3b82f6;color:var(--color-primary,#3b82f6)}.btn-delete{color:#ef4444}.permission-badges{display:flex;flex-wrap:wrap;gap:4px}.badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:500;padding:2px 6px}.badge-yes{background-color:#027a481f;background-color:var(--success-bg,#027a481f);border:1px solid #a6f4c540;border:1px solid var(--success-border,#a6f4c540);color:#52c41a;color:var(--success-text,#52c41a)}.badge-no{background-color:#b423181f;background-color:var(--error-bg,#b423181f);border:1px solid #fda29b59;border:1px solid var(--error-border,#fda29b59);color:#ff4d4f;color:var(--error-text,#ff4d4f)}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input[type=text],.form-group select{background-color:var(--surface-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:13px;padding:8px 12px;width:100%}.form-group input[type=text]:focus,.form-group select:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid var(--border-default);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.modal-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:40px 20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);color:var(--text-primary);max-width:500px;padding:24px;width:100%}.modal-content.modal-lg{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.modal-header h2{color:var(--text-primary);font-size:18px;font-weight:500;margin:0}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:24px;line-height:1;padding:0}.close-btn:hover{color:var(--text-primary)}.radio-group{display:flex;gap:16px}.radio-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-weight:400;gap:6px}.filter-select{background-color:var(--surface-input);border:1px solid var(--border-default);border-radius:6px;min-width:150px;padding:8px 12px}.filter-select,.icon-preview{color:var(--text-primary);font-size:13px}.icon-preview{background-color:var(--surface-muted);border:1px solid var(--border-default);border-radius:4px;margin-top:8px;padding:8px}.menu-preview-container{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.empty-preview,.loading-container{color:var(--text-muted);padding:48px 24px;text-align:center}.accordion-item{border-bottom:1px solid var(--border-default)}.accordion-header{background-color:var(--surface-muted);padding:14px 20px}.accordion-title{color:var(--text-primary);font-size:15px;font-weight:500}.accordion-body{background-color:var(--surface-card);padding:16px 20px}.subgroup-title{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:8px}.menu-preview-item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:8px 0}.menu-item-name{color:var(--text-primary);font-size:13px}.menu-item-path{background-color:var(--surface-muted);border-radius:3px;color:var(--text-muted);font-size:11px;padding:1px 6px}.menu-item-permissions{display:flex;gap:4px}@media (max-width:768px){.menu-management-page{padding:16px}.form-row{grid-template-columns:1fr}.tab-header{align-items:flex-start;flex-direction:column}}.cracked-gear-wrapper{align-items:center;box-sizing:border-box;display:flex;height:130px;justify-content:center;margin:0 auto 12px;position:relative;width:130px}.cracked-gear-aura{animation:auraPulsing 2.5s ease-in-out infinite;background:radial-gradient(circle,#ef444438 0,#ef444400 70%);border-radius:50%;inset:-6px;pointer-events:none;position:absolute}.cracked-gear-svg{display:block;height:100%;width:100%}.struggling-main-gear-group{animation:struggleStuckRunMain 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.struggling-sec-gear-group{animation:struggleStuckRunSec 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.crack-glow-line{animation:crackSparkle .6s ease-in-out infinite alternate}.jam-spark{animation:sparkBurstWhenJammed 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.spark-a{animation-delay:0s}.spark-b{animation-delay:.1s}.spark-c{animation-delay:.05s}@keyframes struggleStuckRunMain{0%{transform:rotate(0deg)}3%{transform:rotate(-6deg)}6%{transform:rotate(8deg)}9%{transform:rotate(-4deg)}10%{transform:rotate(0deg)}28%{transform:rotate(120deg)}30%{transform:rotate(108deg)}32%{transform:rotate(114deg)}34%{transform:rotate(107deg)}36%{transform:rotate(113deg)}38%{transform:rotate(108deg)}40%{transform:rotate(114deg)}44%{transform:rotate(109deg)}48%{transform:rotate(112deg)}50%{transform:rotate(110deg)}68%{transform:rotate(250deg)}70%{transform:rotate(238deg)}72%{transform:rotate(245deg)}74%{transform:rotate(237deg)}76%{transform:rotate(244deg)}78%{transform:rotate(239deg)}80%{transform:rotate(245deg)}84%{transform:rotate(238deg)}88%{transform:rotate(243deg)}92%{transform:rotate(240deg)}to{transform:rotate(1turn)}}@keyframes struggleStuckRunSec{0%{transform:rotate(0deg)}3%{transform:rotate(12deg)}6%{transform:rotate(-16deg)}9%{transform:rotate(8deg)}10%{transform:rotate(0deg)}28%{transform:rotate(-240deg)}30%{transform:rotate(-216deg)}32%{transform:rotate(-228deg)}34%{transform:rotate(-214deg)}36%{transform:rotate(-226deg)}38%{transform:rotate(-216deg)}40%{transform:rotate(-228deg)}44%{transform:rotate(-218deg)}48%{transform:rotate(-224deg)}50%{transform:rotate(-220deg)}68%{transform:rotate(-500deg)}70%{transform:rotate(-476deg)}72%{transform:rotate(-490deg)}74%{transform:rotate(-474deg)}76%{transform:rotate(-488deg)}78%{transform:rotate(-478deg)}80%{transform:rotate(-490deg)}84%{transform:rotate(-476deg)}88%{transform:rotate(-486deg)}92%{transform:rotate(-480deg)}to{transform:rotate(-2turn)}}@keyframes sparkBurstWhenJammed{0%,25%,48%,65%,88%,to{opacity:0;transform:scale(.2)}29%,33%,37%,69%,73%,77%{opacity:1;transform:scale(1.4) translate(2px,-3px)}31%,35%,41%,71%,75%,81%{opacity:.5;transform:scale(.8) translate(-1px,2px)}}@keyframes crackSparkle{0%{stroke-width:1.5px;opacity:.3}to{stroke-width:3px;opacity:1}}@keyframes auraPulsing{0%,to{opacity:.3;transform:scale(.94)}50%{opacity:.7;transform:scale(1.08)}}.server-down-overlay{align-items:center;animation:modalFadeIn .25s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172abf;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:99999}.server-down-modal{animation:modalScaleUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a,0 0 0 1px #ef444433;max-width:440px;overflow:hidden;padding:24px;position:relative;width:100%}[data-theme=dark] .server-down-modal,body.dark-theme .server-down-modal{background:#1e293b;box-shadow:0 20px 25px -5px #00000080,0 0 0 1px #ef444466;color:#f8fafc}.server-down-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.server-status-pill{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;color:#dc2626;display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}[data-theme=dark] .server-status-pill,body.dark-theme .server-status-pill{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.pill-dot{animation:pillDotBlink 1.2s ease-in-out infinite;background-color:#ef4444;border-radius:50%;box-shadow:0 0 8px #ef4444;height:7px;width:7px}.server-down-close-btn{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:all .15s ease}.server-down-close-btn:hover{background:#f1f5f9;color:#0f172a}[data-theme=dark] .server-down-close-btn:hover,body.dark-theme .server-down-close-btn:hover{background:#334155;color:#fff}.server-down-hero{margin-bottom:16px;text-align:center}.server-down-title{color:#0f172a;font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:8px 0 6px}[data-theme=dark] .server-down-title,body.dark-theme .server-down-title{color:#f8fafc}.server-down-subtitle{color:#64748b;font-size:.875rem;line-height:1.5;margin:0}[data-theme=dark] .server-down-subtitle,body.dark-theme .server-down-subtitle{color:#94a3b8}.server-retry-alert{align-items:center;border-radius:8px;display:flex;font-size:.8125rem;gap:8px;margin-bottom:14px;padding:10px 14px}.server-retry-alert svg{flex-shrink:0;height:18px;width:18px}.alert-error{background:#fff1f2;border:1px solid #ffe4e6;color:#be123c}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}[data-theme=dark] .alert-error,body.dark-theme .alert-error{background:#e11d4833;border-color:#e11d484d;color:#fda4af}[data-theme=dark] .alert-success,body.dark-theme .alert-success{background:#22c55e33;border-color:#22c55e4d;color:#86efac}.server-down-details-toggle{margin-bottom:20px}.details-toggle-btn{align-items:center;background:none;border:none;color:#3b82f6;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:4px;margin:0 auto;padding:0}.details-toggle-btn:hover{text-decoration:underline}.chevron-icon{height:14px;transition:transform .2s ease;width:14px}.chevron-icon.rotate{transform:rotate(180deg)}.server-details-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-family:monospace;font-size:.75rem;margin-top:10px;padding:10px 12px;text-align:left}[data-theme=dark] .server-details-box,body.dark-theme .server-details-box{background:#0f172a;border-color:#334155}.detail-item{display:flex;gap:6px;margin-bottom:4px}.detail-item:last-child{margin-bottom:0}.detail-label{color:#64748b;font-weight:600;min-width:90px}.detail-val{color:#334155;word-break:break-all}[data-theme=dark] .detail-val,body.dark-theme .detail-val{color:#cbd5e1}.text-red{color:#ef4444;font-weight:600}.server-down-actions{display:flex;gap:12px}.btn-retry-connection{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;box-shadow:0 4px 12px #ef44444d;color:#fff;cursor:pointer;display:inline-flex;flex:1.2 1;font-size:.875rem;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s ease}.btn-retry-connection:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.btn-retry-connection:disabled{cursor:not-allowed;opacity:.7}.btn-icon{height:16px;width:16px}.btn-dismiss-server-down{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;flex:0.8 1;font-size:.875rem;font-weight:500;padding:10px 16px;transition:all .2s ease}.btn-dismiss-server-down:hover{background:#e2e8f0;color:#0f172a}[data-theme=dark] .btn-dismiss-server-down,body.dark-theme .btn-dismiss-server-down{background:#334155;border-color:#475569;color:#cbd5e1}[data-theme=dark] .btn-dismiss-server-down:hover,body.dark-theme .btn-dismiss-server-down:hover{background:#475569;color:#fff}.spinner-icon{animation:spinnerRotate .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes spinnerRotate{to{transform:rotate(1turn)}}@keyframes pillDotBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
/*# sourceMappingURL=main.1063464b.css.map*/