@charset "UTF-8";.loading-spinner,.loading-spinner--full{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-spinner--full{height:100vh;background:#fff}.loading-spinner__message{color:#666;font-size:14px;margin:0}.spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .6s linear infinite}.spinner--sm{width:16px;height:16px;border-width:2px}.spinner--md{width:32px;height:32px;border-width:3px}.spinner--lg{width:48px;height:48px;border-width:4px}.pwa-update-prompt{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:999999;animation:slideUp .3s ease-out;pointer-events:auto;touch-action:manipulation;max-width:calc(100vw - 2rem);width:auto}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-update-prompt .pwa-update-content{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#1f2937;color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;pointer-events:auto;transition:background .3s ease}@media (max-width: 480px){.pwa-update-prompt .pwa-update-content{flex-wrap:nowrap;gap:.5rem;padding:.75rem}}.pwa-update-prompt .pwa-update-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff1a;border-radius:8px}.pwa-update-prompt .pwa-update-icon svg{color:#fff}@media (max-width: 480px){.pwa-update-prompt .pwa-update-icon{width:28px;height:28px}}.pwa-update-prompt .pwa-spinner{animation:spin 1s linear infinite;display:flex;align-items:center;justify-content:center}.pwa-update-prompt .pwa-update-text{flex:1;min-width:0}.pwa-update-prompt .pwa-update-text strong{display:block;font-weight:600;color:#fff;font-size:.875rem;line-height:1.2}.pwa-update-prompt .pwa-update-text span{display:block;font-size:.75rem;color:#ffffffb3;line-height:1.3}@media (max-width: 480px){.pwa-update-prompt .pwa-update-text strong{font-size:.8125rem}.pwa-update-prompt .pwa-update-text span{font-size:.6875rem}}.pwa-update-prompt .pwa-update-actions{display:flex;gap:.5rem;flex-shrink:0;pointer-events:auto;touch-action:manipulation}@media (max-width: 480px){.pwa-update-prompt .pwa-update-actions{gap:.375rem}}.pwa-update-prompt.pwa-auto-toast{pointer-events:none}.pwa-update-prompt.pwa-auto-toast .pwa-update-content{padding:.6rem 1rem;gap:.6rem;background:#111827;opacity:.92}.pwa-btn{padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative;z-index:1000000;min-height:36px;min-width:60px;display:flex;align-items:center;justify-content:center;gap:.375rem}@media (max-width: 480px){.pwa-btn{padding:.4375rem .75rem;font-size:.75rem;min-height:32px;min-width:50px}}.pwa-btn:active:not(:disabled){transform:scale(.96)}.pwa-btn:disabled{cursor:not-allowed;opacity:.7}.pwa-btn.pwa-btn-primary{background:#10b981;color:#fff;box-shadow:0 2px 8px #10b9814d;font-weight:600}.pwa-btn.pwa-btn-primary:hover:not(:disabled),.pwa-btn.pwa-btn-primary:active:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166}.pwa-btn.pwa-btn-primary:disabled{background:#6b7280;box-shadow:none}.pwa-btn.pwa-btn-secondary{background:transparent;color:#ffffffb3;border:none}.pwa-btn.pwa-btn-secondary:hover:not(:disabled),.pwa-btn.pwa-btn-secondary:active:not(:disabled){color:#fff;background:#ffffff1a}.pwa-btn.pwa-btn-secondary:disabled{opacity:.5}.pwa-btn .pwa-spinner-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center}.pwa-btn .pwa-spin-icon{animation:spin .9s linear infinite;color:#60a5fa}.notification-settings{padding:1rem;background:#fff;border-radius:8px;border:1px solid #e8ecf1;color:#1e293b;font-family:inherit}.notification-settings *,.notification-settings *:before,.notification-settings *:after{box-sizing:border-box;font-family:inherit}.notification-settings .notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e8ecf1}.notification-settings .notification-header h3{margin:0;font-size:1rem;font-weight:500;color:#1e293b}.notification-settings .notification-header .permission-warning{font-size:.75rem;color:#dc2626;background:#fef2f2;padding:.25rem .5rem;border-radius:4px}.notification-settings .notification-install-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;margin-bottom:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border-left:4px solid #f59e0b}.notification-settings .notification-install-warning .warning-icon{font-size:1.5rem;flex-shrink:0}.notification-settings .notification-install-warning .warning-content strong{display:block;margin-bottom:.375rem;color:#92400e;font-weight:600}.notification-settings .notification-install-warning .warning-content p{margin:0;font-size:.8125rem;color:#78350f;line-height:1.5}.notification-settings .notification-unsupported{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fef3c7;border-radius:8px;color:#92400e}.notification-settings .notification-unsupported .icon{font-size:1.25rem}.notification-settings .notification-unsupported strong{display:block;margin-bottom:.25rem}.notification-settings .notification-unsupported p{margin:0;font-size:.875rem}.notification-settings .notification-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 0}.notification-settings .notification-toggle-row .toggle-info{min-width:0;flex:1 1 220px}.notification-settings .notification-toggle-row .toggle-info strong{display:block;font-weight:500;color:#1e293b;font-size:.9375rem}.notification-settings .notification-toggle-row .toggle-info span{font-size:.8125rem;color:#64748b}.notification-settings .toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.notification-settings .toggle-switch input{opacity:0;width:0;height:0}.notification-settings .toggle-switch input:checked+.toggle-slider{background-color:#1976d2}.notification-settings .toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.notification-settings .toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.notification-settings .toggle-switch .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.notification-settings .toggle-switch .toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #00000026}.notification-settings .notification-error{padding:.75rem;background:#fef2f2;color:#dc2626;border-radius:6px;font-size:.875rem;margin:.75rem 0}.notification-settings .notification-success{padding:.75rem;background:#ecfdf5;color:#059669;border-radius:6px;font-size:.875rem;margin:.75rem 0}.notification-settings .notification-tools{display:flex;gap:.5rem;margin:.75rem 0}.notification-settings .notification-tools button{min-height:36px;padding:.5rem .75rem;border:1px solid #bfdbfe;border-radius:6px;color:#1d4ed8;background:#eff6ff;font-size:.8125rem;font-weight:600;cursor:pointer}.notification-settings .notification-tools button:disabled{opacity:.55;cursor:not-allowed}.notification-settings .notification-info,.notification-settings .notification-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#f0f9ff;border-radius:6px;margin:.75rem 0}.notification-settings .notification-info .icon,.notification-settings .notification-warning .icon{font-size:1rem;flex-shrink:0}.notification-settings .notification-info p,.notification-settings .notification-warning p{margin:0;font-size:.8125rem;color:#0369a1;line-height:1.4}.notification-settings .notification-info.support-agent,.notification-settings .notification-warning.support-agent{background:#f0fdf4}.notification-settings .notification-info.support-agent p,.notification-settings .notification-warning.support-agent p{color:#15803d}.notification-settings .notification-info.ios-warning,.notification-settings .notification-warning.ios-warning{background:#fef3c7}.notification-settings .notification-info.ios-warning p,.notification-settings .notification-warning.ios-warning p{color:#92400e}.notification-settings .notification-info.ios-warning strong,.notification-settings .notification-warning.ios-warning strong{font-weight:500}.notification-settings h3,.notification-settings h4,.notification-settings p,.notification-settings strong,.notification-settings span,.notification-settings button,.notification-settings li,.notification-settings label{font-family:inherit}.notification-settings .notification-categories{margin-top:1.25rem;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.notification-settings .notification-categories h4{margin:0 0 1rem;font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.notification-settings .notification-categories.inactive{background:#f8fafc}.notification-settings .notification-categories .notification-category-note{margin:-.5rem 0 .75rem;color:#64748b;font-size:.75rem;line-height:1.4}.notification-settings .notification-categories .category-toggle{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-bottom:.5rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;cursor:pointer;position:relative;transition:all .2s}.notification-settings .notification-categories .category-toggle:last-child{margin-bottom:0}.notification-settings .notification-categories .category-toggle:hover{border-color:#cbd5e1;box-shadow:0 1px 3px #0000000d}.notification-settings .notification-categories .category-toggle span:first-child{font-size:.875rem;color:#1e293b;font-weight:500}.notification-settings .notification-categories .category-toggle input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.notification-settings .notification-categories .category-toggle input:disabled~.checkmark{opacity:.5}.notification-settings .notification-categories .category-toggle input:checked~.checkmark{background-color:#3b82f6;border-color:#3b82f6}.notification-settings .notification-categories .category-toggle input:checked~.checkmark:after{display:block}.notification-settings .notification-categories .category-toggle .checkmark{height:22px;width:22px;background-color:#fff;border:2px solid #cbd5e1;border-radius:6px;position:relative;transition:all .2s;flex-shrink:0}.notification-settings .notification-categories .category-toggle .checkmark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.notification-settings .notification-categories .category-toggle:hover .checkmark{border-color:#94a3b8}.notification-settings .test-notification-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.notification-settings .test-notification-section .test-notification-error{margin-top:.75rem;padding:.75rem 1rem;background:#fef2f2;color:#dc2626;font-size:.8rem;border-radius:8px;text-align:center;border:1px solid #fecaca}.notification-settings .test-notification-btn{width:100%;padding:.875rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633;display:flex;align-items:center;justify-content:center;gap:8px}.notification-settings .test-notification-btn .btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.notification-settings .test-notification-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.notification-settings .test-notification-btn:active:not(:disabled){transform:translateY(0)}.notification-settings .test-notification-btn:disabled{cursor:not-allowed;opacity:.7}.notification-settings .test-notification-btn.loading{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 2px 4px #0ea5e933}.notification-settings .test-notification-btn.success{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 4px #22c55e33}.notification-settings .test-notification-btn.error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef444433}.in-app-push{position:fixed;top:76px;right:18px;z-index:12000;display:flex;width:min(390px,100vw - 32px);min-height:86px;overflow:hidden;border:1px solid rgba(21,43,68,.16);border-left:4px solid #1f8a5b;border-radius:8px;background:#fff;box-shadow:0 14px 36px #13233438;animation:in-app-push-enter .18s ease-out}.in-app-push__content{display:flex;flex:1;gap:12px;min-width:0;padding:14px 42px 14px 14px;border:0;background:transparent;color:#17283a;text-align:left;cursor:pointer}.in-app-push__logo{width:48px;height:48px;flex:0 0 48px;border-radius:8px;object-fit:contain}.in-app-push__copy{display:grid;min-width:0;gap:3px;line-height:1.35}.in-app-push__copy strong{padding-right:4px;font-size:.92rem}.in-app-push__copy small{color:#246a50;font-size:.72rem;font-weight:700}.in-app-push__copy>span{display:-webkit-box;overflow:hidden;color:#4e6172;font-size:.82rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.in-app-push__dismiss{position:absolute;top:9px;right:9px;display:grid;width:28px;height:28px;padding:5px;border:0;border-radius:6px;background:transparent;color:#5a6b7b;cursor:pointer;place-items:center}.in-app-push__dismiss:hover{background:#edf2f5;color:#17283a}.in-app-push__dismiss svg{width:18px;height:18px}@keyframes in-app-push-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.in-app-push{top:66px;right:12px;width:calc(100vw - 24px)}}@media (prefers-reduced-motion: reduce){.in-app-push{animation:none}}.password-change-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-change-dialog{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:100%;box-shadow:0 25px 50px -12px #00000040;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.password-change-dialog .dialog-header{text-align:center;margin-bottom:20px}.password-change-dialog .dialog-header .lock-icon{font-size:3rem;display:block;margin-bottom:12px}.password-change-dialog .dialog-header h2{margin:0;font-size:1.5rem;color:#1e293b;font-weight:700}.password-change-dialog .warning-text{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:12px 16px;margin-bottom:24px;color:#92400e;font-size:.9rem;line-height:1.5;text-align:center}.password-change-dialog form .form-group{margin-bottom:20px}.password-change-dialog form .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.9rem}.password-change-dialog form .form-group label .hint{font-weight:400;color:#6b7280;font-size:.8rem}.password-change-dialog form .form-group .password-input-wrapper{position:relative;display:flex;align-items:center}.password-change-dialog form .form-group .password-input-wrapper input{width:100%;padding:12px 48px 12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s}.password-change-dialog form .form-group .password-input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-change-dialog form .form-group .password-input-wrapper input::placeholder{color:#9ca3af}.password-change-dialog form .form-group .password-input-wrapper .toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;opacity:.7;transition:opacity .2s}.password-change-dialog form .form-group .password-input-wrapper .toggle-password:hover{opacity:1}.password-change-dialog form .error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#dc2626;font-size:.9rem;text-align:center}.password-change-dialog form .button-group{display:flex;flex-direction:column;gap:12px}.password-change-dialog form .button-group button{padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.password-change-dialog form .button-group button:disabled{opacity:.6;cursor:not-allowed}.password-change-dialog form .button-group .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.password-change-dialog form .button-group .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.password-change-dialog form .button-group .btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.password-change-dialog form .button-group .btn-secondary:hover:not(:disabled){background:#e5e7eb}@media (max-width: 480px){.password-change-overlay{padding:16px}.password-change-dialog{padding:24px}.password-change-dialog .dialog-header .lock-icon{font-size:2.5rem}.password-change-dialog .dialog-header h2{font-size:1.25rem}.password-change-dialog form .form-group{margin-bottom:16px}.password-change-dialog form .form-group .password-input-wrapper input{padding:10px 44px 10px 14px;font-size:.95rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#2563eb;padding:1rem;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}.login-container{width:100%;max-width:420px;z-index:1}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;padding:3rem;animation:slideUp .5s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-logo{height:88px;width:auto;margin-bottom:1rem;animation:bounce 2s infinite}.logo-icon{font-size:48px;margin-bottom:.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.login-title{font-size:22px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#0f172a,#1d4ed8 45%,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.login-subtitle{color:#475569;font-size:14px;line-height:1.5}.login-form{margin-top:1.5rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:13px;font-weight:400;color:#0f172a;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;z-index:1;opacity:.7;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#64748b;line-height:1}.form-input{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;transition:all .2s ease;background:#fafafa;text-indent:0;box-sizing:border-box}.form-input:focus{outline:none;border-color:#1976d2;background:#fff;box-shadow:0 0 0 4px #1976d226}.form-input::placeholder{color:#9e9e9e;font-size:14px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:#64748b;opacity:.7;transition:all .2s;border-radius:6px}.password-toggle:hover{opacity:1;background:#0000000d}.password-toggle svg{width:18px;height:18px}.form-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.forgot-link{font-size:13px;color:#1976d2;text-decoration:none;font-weight:400;transition:color .2s}.forgot-link:hover{color:#1565c0;text-decoration:underline}.btn-login{width:100%;padding:14px 16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed;transform:none}.alert{padding:1rem;border-radius:12px;margin-bottom:1.5rem;display:flex;gap:12px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.alert-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5}.alert-locked{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.alert-icon{font-size:20px;flex-shrink:0}.alert-content{flex:1}.error-message{color:#991b1b;font-weight:500;margin:0 0 6px;font-size:14px}.attempts-warning{color:#b45309;font-size:13px;margin:4px 0;display:flex;align-items:center;gap:4px}.attempts-warning:before{content:"⚠️"}.locked-warning{color:#dc2626;font-size:13px;margin:4px 0;font-weight:500}.reset-link{display:inline-block;margin-top:8px;color:#1976d2;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.reset-link:hover{color:#1565c0;text-decoration:underline}.social-login-section{margin-top:2rem}.divider{display:flex;align-items:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,#e5e7eb,transparent)}.divider span{padding:0 1rem;color:#475569;font-size:13px;white-space:nowrap}.social-buttons{display:flex;gap:12px;justify-content:center}.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 6px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent;white-space:nowrap;min-width:0;overflow:hidden}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-btn.loading{position:relative}.social-btn.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.social-btn.loading span,.social-btn.loading svg{opacity:0}.social-btn svg{flex-shrink:0}.social-btn.google{background:#fff;border-color:#e5e7eb;color:#374151}.social-btn.google:hover:not(:disabled){background:#fff;border-color:#d1d5db}.social-btn.microsoft{background:#2f2f2f;color:#fff}.social-btn.microsoft:hover:not(:disabled){background:#1f1f1f}.social-btn.github{background:#24292e;color:#fff}.social-btn.github:hover:not(:disabled){background:#1b1f23}.login-footer{margin-top:2rem;text-align:center}.login-footer p{font-size:12px;color:#475569;display:flex;align-items:center;justify-content:center;gap:6px}.login-footer p:before{content:"🔒";font-size:14px}@media (max-width: 480px){.login-page{padding:.5rem;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100)}.login-card{padding:1.5rem;border-radius:20px;max-width:100%}.login-title{font-size:18px}.logo-icon{font-size:40px}.social-buttons{grid-template-columns:1fr}.social-btn{padding:14px;font-size:14px;min-height:44px}.form-input{font-size:16px;min-height:44px;padding:12px 16px}.input-wrapper{position:relative}.password-toggle{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.btn-login{min-height:48px;font-size:16px;padding:12px 24px}.login-form{gap:1.5rem}.form-group{margin-bottom:0}}@media (max-width: 768px){.login-container{width:100%;padding:0 .5rem}.login-card{box-shadow:0 10px 25px -5px #0000001a,0 0 0 1px #ffffff0d}button,.form-input,.password-toggle{-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-input:focus{font-size:16px}}.otp-input-container{display:flex;gap:10px;justify-content:center;margin:24px 0}.otp-input{width:52px;height:60px;text-align:center;font-size:24px;font-weight:700;border:2px solid #e5e7eb;border-radius:12px;background:#fff;transition:all .2s ease;color:#1f2937;caret-color:#667eea}.otp-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea26}.otp-input.filled{border-color:#667eea;background:#fff}.otp-input.active{border-color:#667eea;animation:pulse-border 1.5s ease-in-out infinite}.otp-input:disabled{background:#fff;cursor:not-allowed;opacity:.7}.otp-input::-webkit-outer-spin-button,.otp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-input[type=number]{-moz-appearance:textfield}@keyframes pulse-border{0%,to{box-shadow:0 0 0 4px #667eea26}50%{box-shadow:0 0 0 6px #667eea40}}@media (max-width: 400px){.otp-input-container{gap:6px}.otp-input{width:44px;height:52px;font-size:20px;border-radius:10px}}.password-strength{margin-top:12px;padding:12px;background:#fff;border-radius:10px;border:1px solid #e5e7eb}.strength-bars{display:flex;gap:4px;margin-bottom:8px}.strength-bar{height:4px;flex:1;border-radius:2px;transition:all .3s ease;background:#e5e7eb}.strength-bar.active{transform:scaleY(1.2)}.strength-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.strength-label{font-size:13px;font-weight:600;transition:color .3s ease}.criteria-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.criteria-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af;transition:color .2s ease}.criteria-item.met{color:#22c55e}.criteria-item.met .criteria-icon{color:#22c55e;font-weight:700}.criteria-icon{font-size:10px;width:14px;text-align:center}.criteria-text{flex:1}@media (max-width: 400px){.criteria-list{grid-template-columns:1fr}}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:20px;position:relative;overflow:hidden}.forgot-password-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.forgot-container{width:100%;max-width:460px;z-index:1}.forgot-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 25px 50px -12px #00000040;padding:32px;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-steps{display:flex;justify-content:space-between;margin-bottom:32px;position:relative}.progress-steps:before{content:"";position:absolute;top:18px;left:15%;right:15%;height:2px;background:#e5e7eb;z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.step .step-circle{width:36px;height:36px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:400;font-size:14px;color:#9ca3af;transition:all .3s ease}.step span{font-size:12px;color:#9ca3af;font-weight:400}.step.active .step-circle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.step.active span{color:#667eea}.step.completed .step-circle{background:#22c55e;color:#fff}.step.completed .step-circle:after{content:"✓";font-size:16px}.step.completed .step-circle{font-size:0}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.step-header{text-align:center;margin-bottom:24px}.step-header .step-icon{font-size:48px;display:block;margin-bottom:12px}.step-header h2{font-size:24px;font-weight:400;color:#1f2937;margin:0 0 8px}.step-header p{color:#6b7280;font-size:14px;margin:0;line-height:1.5}.step-header p strong{color:#374151}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:400;color:#374151;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:15px;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.form-input::placeholder{color:#9ca3af}.form-input:disabled{background:#fff;cursor:not-allowed}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:48px}.password-input-wrapper .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;font-size:18px;opacity:.6;transition:opacity .2s}.password-input-wrapper .password-toggle:hover{opacity:1}.input-error{color:#ef4444;font-size:12px;margin-top:6px}.delivery-options{display:flex;gap:10px}.delivery-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.delivery-option input{display:none}.delivery-option .option-icon{font-size:20px}.delivery-option span:last-child{font-size:12px;font-weight:500;color:#6b7280}.delivery-option:hover{border-color:#667eea;background:#fff}.delivery-option.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.delivery-option.selected span:last-child{color:#667eea}.otp-info{text-align:center;margin-bottom:20px}.otp-info .expire-text{font-size:13px;color:#6b7280}.otp-info .expire-text strong{color:#667eea}.btn-primary{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -5px #667eea80}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{width:100%;padding:14px;background:transparent;color:#667eea;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:12px}.btn-secondary:hover:not(:disabled){border-color:#667eea;background:#667eea0d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.alert{padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:10px}.alert-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.alert-success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#166534}.back-link{text-align:center;margin-top:24px}.back-link a,.back-link button{color:#667eea;font-size:14px;text-decoration:none;font-weight:500;background:none;border:none;cursor:pointer;padding:0}.back-link a:hover,.back-link button:hover{text-decoration:underline}.success-content{text-align:center;padding:20px 0}.success-content h2{color:#22c55e;margin:20px 0 12px}.success-content p{color:#6b7280;margin-bottom:24px;line-height:1.6}.success-animation{display:flex;justify-content:center}.success-checkmark{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease}.success-checkmark .check-icon{color:#fff;font-size:40px;font-weight:700;animation:checkDraw .3s ease .3s both}@keyframes checkDraw{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (max-width: 480px){.forgot-password-page{padding:16px}.forgot-card{padding:24px;border-radius:20px}.progress-steps{margin-bottom:24px}.progress-steps:before{left:10%;right:10%}.step .step-circle{width:32px;height:32px;font-size:12px}.step span{font-size:11px}.step-header .step-icon{font-size:40px}.step-header h2{font-size:20px}.delivery-options{flex-direction:column}.delivery-option{flex-direction:row;justify-content:center;padding:12px}}.oauth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:20px}.callback-container{width:100%;max-width:400px}.callback-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 25px 50px -12px #00000040;padding:48px 32px;text-align:center}.callback-content{animation:fadeIn .5s ease}.callback-content h2{font-size:24px;font-weight:700;margin:24px 0 12px;color:#1f2937}.callback-content p{color:#6b7280;font-size:15px;line-height:1.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{position:relative;width:80px;height:80px;margin:0 auto}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){border-top-color:#667eea;animation-delay:-.45s}.spinner-ring:nth-child(2){border-top-color:#764ba2;animation-delay:-.3s}.spinner-ring:nth-child(3){border-top-color:#f093fb;animation-delay:-.15s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{width:80px;height:80px;margin:0 auto;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease}.success-icon .checkmark{color:#fff;font-size:40px;font-weight:700;animation:checkPop .3s ease .3s both}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.success h2{color:#22c55e}.error-icon{width:80px;height:80px;margin:0 auto;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:shake .5s ease}.error-icon span{color:#fff;font-size:40px;font-weight:700}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.error h2{color:#ef4444}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin:16px 0;color:#991b1b;font-size:14px}.btn-retry{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;transition:all .3s ease}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #667eea80}@media (max-width: 480px){.callback-card{padding:40px 24px;border-radius:20px}.loading-spinner,.success-icon,.error-icon{width:70px;height:70px}.success-icon .checkmark,.error-icon span{font-size:32px}}.setup-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;padding:20px}@media (max-width: 768px){.setup-password-page{padding:40px 10px 10px;align-items:flex-start}}.setup-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:500px;width:100%;padding:40px;animation:slideUp .6s ease-out}@media (max-width: 768px){.setup-container{max-width:100%;padding:30px 20px;border-radius:8px;margin:0 10px}}@media (max-width: 480px){.setup-container{padding:25px 15px}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.setup-header{text-align:center;margin-bottom:30px}.setup-header .logo h1{font-size:2rem;color:#4f46e5;margin-bottom:10px;font-weight:700}@media (max-width: 480px){.setup-header .logo h1{font-size:1.7rem}}.setup-header h2{color:#1f2937;font-size:1.6rem;margin-bottom:8px;font-weight:600}@media (max-width: 480px){.setup-header h2{font-size:1.4rem}}.setup-header p{color:#6b7280;font-size:1rem;margin:0}@media (max-width: 480px){.setup-header p{font-size:.9rem}}.setup-form .form-group{margin-bottom:24px}@media (max-width: 480px){.setup-form .form-group{margin-bottom:20px}}.setup-form .form-label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:.95rem}.setup-form .form-label .optional{font-weight:400;color:#6b7280;font-size:.85rem}.setup-form .form-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff;box-sizing:border-box}.setup-form .form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.setup-form .form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.setup-form .form-input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.setup-form .form-input::placeholder{color:#9ca3af}@media (max-width: 480px){.setup-form .form-input{padding:10px 14px;font-size:16px}}.setup-form .form-help{display:block;color:#6b7280;font-size:.85rem;margin-top:6px;line-height:1.4}.setup-form .form-help.submit-help{margin-top:12px;text-align:center;font-size:.8rem}.setup-form .error-message{display:block;color:#ef4444;font-size:.85rem;margin-top:6px;font-weight:500;line-height:1.4}.password-strength-wrapper{margin-top:12px;margin-bottom:8px}.btn-primary{width:100%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.btn-primary{padding:12px 20px}}.setup-submit-btn{margin-top:8px}.loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{text-align:center;padding:20px}.success-message .success-icon{font-size:3rem;margin-bottom:20px;animation:bounce .6s ease-out}.success-message h1{color:#059669;font-size:1.8rem;margin-bottom:16px;font-weight:700}@media (max-width: 480px){.success-message h1{font-size:1.5rem}}.success-message p{color:#4b5563;font-size:1.1rem;margin-bottom:20px;line-height:1.5}@media (max-width: 480px){.success-message p{font-size:1rem}}.success-message .redirect-info{margin:24px 0;padding:16px;background-color:#f0f9ff;border-radius:8px;border-left:4px solid #0ea5e9}.success-message .redirect-info p{margin-bottom:12px;font-size:.95rem;color:#0c4a6e}.success-message .redirect-info .loading-dots{display:flex;justify-content:center;gap:4px}.success-message .redirect-info .loading-dots span{width:8px;height:8px;background-color:#0ea5e9;border-radius:50%;animation:dotPulse 1.5s infinite}.success-message .redirect-info .loading-dots span:nth-child(2){animation-delay:.2s}.success-message .redirect-info .loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-15px,0)}70%{transform:translate3d(0,-5px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes dotPulse{0%,60%,to{transform:scale(.8);opacity:.5}30%{transform:scale(1.2);opacity:1}}.error-state{text-align:center;padding:40px 20px}.error-state .error-icon{font-size:3rem;margin-bottom:20px}.error-state h2{color:#dc2626;font-size:1.6rem;margin-bottom:16px;font-weight:600}.error-state p{color:#4b5563;font-size:1.1rem;margin-bottom:12px;line-height:1.5}.error-state p:last-of-type{margin-bottom:24px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.95rem;line-height:1.4}.alert.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.setup-footer{margin-top:32px;text-align:center}.setup-footer .share-link-btn{background:#f3f4f6;color:#4b5563;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.setup-footer .share-link-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.setup-footer .share-link-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.setup-footer .share-link-btn{width:100%}}.setup-footer .security-notice{color:#059669;font-size:.85rem;margin:0;font-weight:500}@media (prefers-reduced-motion: reduce){.setup-container,.success-icon,.loading-spinner,.loading-dots span{animation:none}}@media (prefers-contrast: high){.setup-container{border:2px solid #000}.form-input{border-color:#000}.form-input:focus{border-color:#00f}.form-input.error{border-color:red}}@media print{.setup-password-page{background:#fff;color:#000}.btn-primary,.share-link-btn{display:none}}.btn,.btn-primary,.btn-secondary,.btn-escalate,.btn-danger,.btn-success,.btn-warning,.btn-info{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-height:44px;letter-spacing:.3px;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.btn svg,.btn-primary svg,.btn-secondary svg,.btn-escalate svg,.btn-danger svg,.btn-success svg,.btn-warning svg,.btn-info svg{width:1em;height:1em;flex-shrink:0}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-escalate:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-warning:disabled,.btn-info:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width: 768px){.btn,.btn-primary,.btn-secondary,.btn-escalate,.btn-danger,.btn-success,.btn-warning,.btn-info{min-height:46px;padding:.75rem 1.125rem}}@media (max-width: 640px){.btn,.btn-primary,.btn-secondary,.btn-escalate,.btn-danger,.btn-success,.btn-warning,.btn-info{min-height:44px;padding:.625rem 1rem;font-size:.75rem}}.btn-sm{padding:.5rem .875rem;font-size:.75rem;min-height:36px;border-radius:6px}.btn-lg{padding:.875rem 1.75rem;font-size:.9375rem;min-height:52px;border-radius:10px}.btn-primary{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#1a3899);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb59}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2563eb40}.btn-secondary{background:#f3f4f6;color:#111827;border:1px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-secondary:active:not(:disabled){background:#d1d5db;transform:translateY(0)}.btn-accent{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 2px 8px #7c3aed40}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#6223c5);transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed59}.btn-success{background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 2px 8px #05966940}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#047857,#035f45);transform:translateY(-2px);box-shadow:0 6px 20px #05966959}.btn-warning{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 2px 8px #f9731640}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#d24f0b);transform:translateY(-2px);box-shadow:0 6px 20px #f9731659}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 2px 8px #dc262640}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#a31919);transform:translateY(-2px);box-shadow:0 6px 20px #dc262659}.btn-icon{padding:.625rem;min-width:44px;min-height:44px;border-radius:8px;justify-content:center}.btn-icon svg{width:1.25rem;height:1.25rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.page-header{flex-direction:column;gap:.5rem}}.page-header .header-left{flex:1;min-width:0}.page-header .header-left .page-title{font-size:1.75rem;font-weight:600;color:#111827;margin:0 0 .5rem}@media (max-width: 768px){.page-header .header-left .page-title{font-size:1.375rem}}@media (max-width: 640px){.page-header .header-left .page-title{font-size:1.125rem}}.page-header .header-left .page-subtitle{font-size:.875rem;font-weight:400;color:#4b5563;margin:0}.page-header .header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 768px){.page-header .header-actions{width:100%;justify-content:flex-start}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;transition:all .25s ease}.card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.data-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.data-table thead th{padding:1rem 1.5rem;text-align:left;font-weight:700;color:#111827;text-transform:uppercase;font-size:.75rem;letter-spacing:.3px;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.data-table tbody tr:hover{background-color:#2563eb05}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr td{padding:1rem 1.5rem;color:#1f2937;vertical-align:middle}.data-table .status-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}.data-table .status-badge.status-open{background:#fff7ed;color:#ea580c}.data-table .status-badge.status-in-progress{background:#f973161a;color:#f97316}.data-table .status-badge.status-resolved{background:#0596691a;color:#059669}.data-table .status-badge.status-closed{background:#9ca3af1a;color:#374151}.data-table .empty-state{padding:2rem!important;text-align:center;background:#f9fafb}.data-table .empty-state p{margin:0;color:#4b5563}.data-table .empty-state p.text-primary{font-weight:600;color:#111827;margin-bottom:.5rem}.filter-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem}.filter-section .filter-title{font-size:.875rem;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.3px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.filter-section .filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}@media (max-width: 640px){.filter-section .filter-grid{grid-template-columns:1fr}}.filter-section .filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-section .filter-group label{font-size:.875rem;font-weight:600;color:#1f2937;text-transform:uppercase;letter-spacing:.2px}.filter-section .filter-group input,.filter-section .filter-group select{padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:inherit;background-color:#fff;color:#111827;transition:all .2s ease}.filter-section .filter-group input:focus,.filter-section .filter-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background-color:#fff}.filter-section .filter-group input::placeholder,.filter-section .filter-group select::placeholder{color:#6b7280}.filter-section .filter-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234b5563' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.filter-section .filter-group select option{padding:.5rem}.action-buttons{display:flex;gap:.5rem;align-items:center}@media (max-width: 640px){.action-buttons{flex-wrap:wrap}}.action-buttons .btn:not(:last-child),.action-buttons .btn-primary:not(:last-child),.action-buttons .btn-secondary:not(:last-child),.action-buttons .btn-escalate:not(:last-child),.action-buttons .btn-danger:not(:last-child),.action-buttons .btn-success:not(:last-child),.action-buttons .btn-warning:not(:last-child),.action-buttons .btn-info:not(:last-child){margin-right:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}@media (max-width: 640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.stats-grid{grid-template-columns:1fr}}.stats-grid .stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;text-align:center;transition:all .25s ease;position:relative;overflow:hidden}.stats-grid .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2563eb,#7c3aed)}.stats-grid .stat-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a}.stats-grid .stat-card .stat-value{font-size:1.75rem;font-weight:700;color:#2563eb;margin-bottom:.25rem}.stats-grid .stat-card .stat-label{font-size:.875rem;color:#4b5563;font-weight:500;text-transform:uppercase;letter-spacing:.2px}.stats-grid .stat-card .stat-subtitle{font-size:.75rem;color:#6b7280;margin-top:.25rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:600;font-size:.875rem;color:#111827}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:inherit;background-color:#fff;color:#111827;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#6b7280}.form-group textarea{resize:vertical;min-height:100px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay .modal-content{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-overlay .modal-content .modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-overlay .modal-content .modal-header .modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-overlay .modal-content .modal-header .btn-close{background:none;border:none;cursor:pointer;font-size:1.5rem;color:#6b7280}.modal-overlay .modal-content .modal-header .btn-close:hover{color:#111827}.modal-overlay .modal-content .modal-body{padding:1.5rem}.modal-overlay .modal-content .modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end}@media (max-width: 768px){.hide-on-mobile{display:none!important}}@media (min-width: 1024px){.hide-on-desktop{display:none!important}}.text-muted{color:#4b5563}.text-primary{color:#2563eb}.text-danger{color:#dc2626}.text-success{color:#059669}.text-warning{color:#f97316}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.btn-action{padding:.75rem 2.8rem;border-radius:8px;font-size:.8125rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;color:#fff;white-space:nowrap;min-height:42px}.btn-action:disabled{opacity:.6;cursor:not-allowed}.btn-action.btn-create{background:linear-gradient(135deg,#2563eb,#5484ef);text-decoration:none;padding:.75rem 3.5rem}.btn-action.btn-create:hover{background:linear-gradient(135deg,#1555e2,#2563eb);transform:translateY(-1px)}.btn-action.btn-import{background:linear-gradient(135deg,#0891b2,#06b6d4);text-decoration:none}.btn-action.btn-import:hover{background:linear-gradient(135deg,#0e7490,#0891b2);transform:translateY(-1px)}.btn-action.btn-filter{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.btn-action.btn-filter:hover,.btn-action.btn-filter.active{background:linear-gradient(135deg,#6d28d9,#6223c5);transform:translateY(-1px)}.btn-action.btn-export{background:linear-gradient(135deg,#059669,#047857);color:#fff}.btn-action.btn-export:hover{background:linear-gradient(135deg,#047857,#035f45);transform:translateY(-1px)}.btn-action.btn-refresh{background:#f97316;color:#fff;border:none;padding:.5rem;min-width:36px;min-height:36px;font-size:1.1rem;border-radius:8px}.btn-action.btn-refresh:hover{background:#ea580c;transform:rotate(180deg);transition:transform .5s ease}.title-with-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.title-with-actions .page-title{margin:0}.header-inline-actions{display:flex;gap:.5rem;align-items:center}.header-inline-actions .btn-action{padding:.6rem 1.25rem!important;border-radius:8px!important;font-size:.875rem!important;font-weight:600!important;border:none!important;cursor:pointer!important;transition:all .2s ease!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;color:#fff!important;white-space:nowrap!important;min-height:40px!important;text-decoration:none!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:auto!important;box-shadow:0 2px 8px #00000026!important}.header-inline-actions .btn-action svg{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;flex-shrink:0!important}.header-inline-actions .btn-action span{display:inline!important;font-size:inherit!important}.header-inline-actions .btn-action.btn-create{background:linear-gradient(135deg,#2563eb,#5484ef)!important}.header-inline-actions .btn-action.btn-create:hover{background:linear-gradient(135deg,#1555e2,#2563eb)!important;transform:translateY(-1px)!important}.header-inline-actions .btn-action.btn-export{background:linear-gradient(135deg,#059669,#047857)!important}.header-inline-actions .btn-action.btn-export:hover{background:linear-gradient(135deg,#047857,#035f45)!important;transform:translateY(-1px)!important}.header-inline-actions .btn-action.btn-import{background:linear-gradient(135deg,#059669,#047857)!important}.header-inline-actions .btn-action.btn-import:hover{background:linear-gradient(135deg,#047857,#035f45)!important;transform:translateY(-1px)!important}.header-inline-actions .btn-action.btn-github{background:linear-gradient(135deg,#24292e,#1a1e22)!important}.header-inline-actions .btn-action.btn-github:hover{background:linear-gradient(135deg,#1a1e22,#0d1117)!important;transform:translateY(-1px)!important}@media (max-width: 480px){.header-inline-actions .btn-action:not(.btn-edit):not(.btn-github):not(.btn-close-ticket):not(.btn-reopen):not(.btn-transfer):not(.btn-assign):not(.btn-assign-user):not(.btn-delete):not(.btn-share){padding:.5rem 1rem!important;font-size:.8125rem!important;min-height:38px!important}.header-inline-actions .btn-action:not(.btn-edit):not(.btn-github):not(.btn-close-ticket):not(.btn-reopen):not(.btn-transfer):not(.btn-assign):not(.btn-assign-user):not(.btn-delete):not(.btn-share) svg{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important}}.status-tabs{display:flex;gap:1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.status-tabs .tab-btn{padding:.75rem 1rem;border:none;background:none;font-size:.9rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.status-tabs .tab-btn:hover{color:#374151}.status-tabs .tab-btn.active{color:#2563eb;border-bottom-color:#2563eb}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%}html,body,#root,.container,.app-layout,.layout,.main-content,.dashboard-page,.dashboard-container{background:#fff!important;background-color:#fff!important;min-height:100vh;width:100%;max-width:100vw}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:400;color:#0f172a;background-color:#fff!important;line-height:1.5;overflow-x:hidden;width:100%;max-width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}input[type=date]{min-width:164px;min-height:44px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:9px;background-color:#fff;color:#0f172a;font:inherit;font-size:16px;line-height:1.25;color-scheme:light;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date]::-webkit-date-and-time-value{min-height:22px;text-align:left}input[type=date]::-webkit-calendar-picker-indicator{width:22px;height:22px;padding:4px;margin-left:8px;cursor:pointer;opacity:.8}@media (max-width: 480px){input[type=date]{width:100%;min-width:0}}@supports (padding: env(safe-area-inset-left)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.page-content,.main-content,.dashboard-container,.tickets-container{width:100%;max-width:100%;overflow-x:hidden;padding:1.5rem}@media (max-width: 768px){.page-content,.main-content,.dashboard-container,.tickets-container{padding:1rem}}@media (max-width: 640px){.page-content,.main-content,.dashboard-container,.tickets-container{padding:.5rem}}.btn,.btn-info,.btn-warning,.btn-success,.btn-danger,.btn-escalate,.btn-secondary,.btn-primary{padding:12px 20px;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:44px;letter-spacing:.3px;position:relative;overflow:hidden}@media (max-width: 768px){.btn,.btn-info,.btn-warning,.btn-success,.btn-danger,.btn-escalate,.btn-secondary,.btn-primary{min-height:46px;padding:12px 18px;font-size:.875rem;border-radius:12px}}@media (max-width: 640px){.btn,.btn-info,.btn-warning,.btn-success,.btn-danger,.btn-escalate,.btn-secondary,.btn-primary{min-height:44px;padding:10px 16px;font-size:.8125rem;border-radius:10px}}.btn:disabled,.btn-info:disabled,.btn-warning:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-escalate:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn svg,.btn-info svg,.btn-warning svg,.btn-success svg,.btn-danger svg,.btn-escalate svg,.btn-secondary svg,.btn-primary svg{flex-shrink:0}.btn-sm{padding:8px 14px;font-size:.875rem;min-height:36px;border-radius:8px}@media (max-width: 640px){.btn-sm{padding:6px 12px;font-size:.75rem;min-height:34px}}.btn-primary{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;box-shadow:0 2px 8px #1976d240}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#1259a9);transform:translateY(-2px);box-shadow:0 6px 20px #1976d259}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #1976d240}.btn-secondary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#0f172a;border:1px solid #dee2e6;box-shadow:0 1px 4px #0000000f}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#ced4da;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-secondary:active:not(:disabled){transform:translateY(0);background:linear-gradient(135deg,#dee2e6,#ced4da)}.btn-escalate{background:linear-gradient(135deg,#ff7043,#e65100);color:#fff;border:none;box-shadow:0 2px 8px #ed6c024d}.btn-escalate:hover:not(:disabled){background:linear-gradient(135deg,#e65100,#d84315);transform:translateY(-2px);box-shadow:0 6px 20px #ed6c0266}.btn-escalate:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ed6c024d}.btn-escalate:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:linear-gradient(135deg,#ef5350,#d32f2f);color:#fff;box-shadow:0 2px 8px #d32f2f40}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:translateY(-2px);box-shadow:0 6px 20px #d32f2f59}.btn-success{background:linear-gradient(135deg,#66bb6a,#388e3c);color:#fff;box-shadow:0 2px 8px #2e7d3240}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#1b5e20);transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3259}.btn-warning{background:linear-gradient(135deg,#ffb74d,#f57c00);color:#fff;box-shadow:0 2px 8px #ed6c0240}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-2px);box-shadow:0 6px 20px #ed6c0259}.btn-info{background:linear-gradient(135deg,#4fc3f7,#0288d1);color:#fff;box-shadow:0 2px 8px #0288d140}.btn-info:hover:not(:disabled){background:linear-gradient(135deg,#0288d1,#0277bd);transform:translateY(-2px);box-shadow:0 6px 20px #0288d159}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.25rem;font-weight:600;color:#0f172a;font-size:1rem;letter-spacing:.2px}@media (max-width: 640px){.form-label{font-size:.875rem}}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e8ecf1;border-radius:10px;font-size:1rem;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .25s ease;background:#fff;color:#0f172a}@media (max-width: 640px){.form-input,.form-select,.form-textarea{padding:10px 14px;font-size:.875rem;border-radius:8px}}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#d0d8e0}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 4px #1976d21a;background:#fff}.form-input.error,.form-select.error,.form-textarea.error{border-color:#d32f2f;background:#d32f2f05}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 4px #d32f2f1a}.form-input.success,.form-select.success,.form-textarea.success{border-color:#2e7d32}.form-input.success:focus,.form-select.success:focus,.form-textarea.success:focus{box-shadow:0 0 0 4px #2e7d321a}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.form-error{color:#d32f2f;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:4px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 640px){.form-row{grid-template-columns:1fr;gap:.5rem}}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}@media (max-width: 640px){.form-actions{flex-direction:column-reverse;gap:.5rem}.form-actions .btn,.form-actions .btn-primary,.form-actions .btn-secondary,.form-actions .btn-escalate,.form-actions .btn-danger,.form-actions .btn-success,.form-actions .btn-warning,.form-actions .btn-info{width:100%;justify-content:center}}.card{background:#fff;border:1px solid #e8ecf1;border-radius:14px;box-shadow:0 2px 8px #0000000a;padding:1.5rem;margin-bottom:1rem;position:relative;overflow:hidden;transition:all .2s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1976d2,#4e9cea);border-radius:14px 14px 0 0}.card:hover{border-color:#d0d8e0;box-shadow:0 4px 12px #00000014}.card.card-info:before{background:linear-gradient(90deg,#0288d1,#23b0fd)}.card.card-success:before{background:linear-gradient(90deg,#2e7d32,#43b548)}.card.card-warning:before{background:linear-gradient(90deg,#ed6c02,#fd943e)}.card.card-danger:before{background:linear-gradient(90deg,#d32f2f,#e06e6e)}.card.card-dark:before{background:linear-gradient(90deg,#24292f,#4a5568)}@media (max-width: 768px){.card{padding:1rem;border-radius:12px}.card:before{border-radius:12px 12px 0 0}}@media (max-width: 640px){.card{padding:.5rem;border-radius:10px}.card:before{border-radius:10px 10px 0 0}}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e8ecf1}.card-header h2{font-size:1.25rem;font-weight:600}@media (max-width: 640px){.card-header h2{font-size:1.125rem}}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}@media (max-width: 640px){.page-header{margin-bottom:1rem;gap:.5rem}}.page-title{font-size:1.5rem;font-weight:500;color:#0f172a;margin:0}@media (max-width: 768px){.page-title{font-size:1.25rem}}@media (max-width: 640px){.page-title{font-size:1.125rem}}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.table thead{background-color:#fff}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid #e8ecf1}@media (max-width: 768px){.table th,.table td{padding:.5rem;font-size:.875rem}}@media (max-width: 640px){.table th,.table td{padding:.25rem;font-size:.75rem}}.table th{font-weight:600;color:#0f172a}.table tbody tr:hover{background-color:#fff}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.table-wrapper{margin:0 -1rem;padding:0 1rem}}@media (max-width: 640px){.table-wrapper{margin:0 -.5rem;padding:0 .5rem}}.badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-primary{background-color:#1976d21a;color:#1976d2}.badge-success{background-color:#2e7d321a;color:#2e7d32}.badge-warning{background-color:#ed6c021a;color:#ed6c02}.badge-danger{background-color:#d32f2f1a;color:#d32f2f}.badge-info{background-color:#0288d11a;color:#0288d1}.badge-secondary{background-color:#9c27b01a;color:#9c27b0}.badge-dark{background-color:#6b728026;color:#4b5563}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem}@media (max-width: 640px){.alert{padding:.5rem;font-size:.875rem}}.alert-error{background-color:#d32f2f1a;color:#d32f2f;border:1px solid rgba(211,47,47,.3)}.alert-success{background-color:#2e7d321a;color:#2e7d32;border:1px solid rgba(46,125,50,.3)}.alert-warning{background-color:#ed6c021a;color:#ed6c02;border:1px solid rgba(237,108,2,.3)}.alert-info{background-color:#0288d11a;color:#0288d1;border:1px solid rgba(2,136,209,.3)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.125rem;color:#475569}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.grid{display:grid;gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 640px){.grid-cols-2{grid-template-columns:1fr}}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-cols-3{grid-template-columns:1fr}}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-cols-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding:1rem 0}@media (max-width: 640px){.pagination{gap:.5rem;margin-top:1rem;flex-wrap:wrap}}.pagination .page-info{font-weight:500;color:#475569;font-size:.875rem;padding:0 .5rem}.pagination button,.pagination .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;font-weight:500;color:#475569;background:none;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination button svg,.pagination .btn-secondary svg{width:16px;height:16px;flex-shrink:0}.pagination button:hover:not(:disabled),.pagination .btn-secondary:hover:not(:disabled){color:#1976d2;background:#1976d214}.pagination button:active:not(:disabled),.pagination .btn-secondary:active:not(:disabled){background:#1976d21f}.pagination button:disabled,.pagination .btn-secondary:disabled{opacity:.4;cursor:not-allowed}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}
