:root{--color-primary:#667eea;--color-primary-dark:#5568d3;--color-primary-light:#818cf8;--color-secondary:#764ba2;--color-bg-primary:#ffffff;--color-bg-secondary:#f8f9fa;--color-bg-tertiary:#f5f7fa;--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-success:#10b981;--color-success-light:#d1fae5;--color-error:#ef4444;--color-error-light:#fee2e2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-info:#3b82f6;--color-info-light:#dbeafe;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-success:linear-gradient(135deg,#10b981,#059669);--gradient-warm:linear-gradient(135deg,#f59e0b,#d97706);--gradient-cool:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-purple:linear-gradient(135deg,#8b5cf6,#7c3aed);--gradient-subtle:linear-gradient(135deg,#f8f9fa,#e9ecef);--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 2px 4px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.1);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--shadow-xl:0 12px 48px rgba(0,0,0,0.15);--shadow-2xl:0 20px 60px rgba(0,0,0,0.2);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:400ms cubic-bezier(0.68,-0.55,0.265,1.55);--z-dropdown:1000;--z-sticky:1020;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}[data-theme=dark]{--color-bg-primary:#1a1a1a;--color-bg-secondary:#242424;--color-bg-tertiary:#2d2d2d;--color-text-primary:#f5f5f5;--color-text-secondary:#b0b0b0;--color-text-tertiary:#808080;--color-border:#3d3d3d;--color-border-light:#333333;--shadow-xs:0 1px 2px rgba(0,0,0,0.3);--shadow-sm:0 2px 4px rgba(0,0,0,0.4);--shadow-md:0 4px 12px rgba(0,0,0,0.5);--shadow-lg:0 8px 24px rgba(0,0,0,0.6);--shadow-xl:0 12px 48px rgba(0,0,0,0.7);--shadow-2xl:0 20px 60px rgba(0,0,0,0.8);--gradient-subtle:linear-gradient(135deg,#242424,#2d2d2d)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-primary:#1a1a1a;--color-bg-secondary:#242424;--color-bg-tertiary:#2d2d2d;--color-text-primary:#f5f5f5;--color-text-secondary:#b0b0b0;--color-text-tertiary:#808080;--color-border:#3d3d3d;--color-border-light:#333333;--shadow-xs:0 1px 2px rgba(0,0,0,0.3);--shadow-sm:0 2px 4px rgba(0,0,0,0.4);--shadow-md:0 4px 12px rgba(0,0,0,0.5);--shadow-lg:0 8px 24px rgba(0,0,0,0.6);--shadow-xl:0 12px 48px rgba(0,0,0,0.7);--shadow-2xl:0 20px 60px rgba(0,0,0,0.8);--gradient-subtle:linear-gradient(135deg,#242424,#2d2d2d)}}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:var(--color-bg-tertiary);color:var(--color-text-primary)}#root,body{width:100%}@media (max-width:768px){body{overflow-x:hidden;-webkit-overflow-scrolling:touch}.initialize-vault-page,.password-manager-container,.recovery-page,.settings-page{padding-top:.75rem!important;padding-left:.75rem!important;padding-right:.75rem!important}.modal-overlay{padding:.5rem!important}.modal-container,.modal-content{width:95%!important;max-width:100%!important;margin:.5rem!important}.modal-header{padding:1rem!important}.modal-header h2{font-size:1.25rem!important}.modal-body{padding:1rem!important}.modal-footer{padding:.75rem 1rem!important;flex-wrap:wrap}.modal-footer button{flex:1;min-width:120px}.btn,[role=button],a[role=button],button{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px!important}}@media (max-width:480px){.initialize-vault-page,.password-manager-container,.recovery-page,.settings-page{padding-top:.5rem!important;padding-left:.5rem!important;padding-right:.5rem!important}.modal-header h2{font-size:1.1rem!important}.modal-footer button{width:100%;flex:none}}.category-manager-modal-overlay,.health-dashboard-modal-overlay,.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(15,23,42,.75)!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:var(--z-modal-backdrop)!important;backdrop-filter:blur(8px) saturate(180%)!important;-webkit-backdrop-filter:blur(8px) saturate(180%)!important;padding:1rem!important;animation:fadeIn .2s ease-out!important}.activity-log-modal,.backup-codes-modal,.category-manager-modal-content,.category-modal,.health-dashboard-modal-content,.health-modal,.modal-container,.modal-content,.password-entry-modal,.password-policy-modal,.policy-modal,.rotation-modal,.totp-modal{background:var(--color-bg-primary)!important;border-radius:var(--radius-xl)!important;max-width:1000px!important;width:90%!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:var(--shadow-2xl),0 0 0 1px rgba(0,0,0,.05)!important;position:relative!important;z-index:var(--z-modal)!important;animation:modalSlideIn var(--transition-slow) cubic-bezier(.34,1.56,.64,1)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-header{padding:var(--spacing-xl)!important;border-bottom:1px solid var(--color-border-light)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;background:var(--gradient-subtle)!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;position:sticky!important;top:0!important;z-index:10!important}.modal-header h2{margin:0!important;font-size:1.5rem!important;font-weight:700!important;background:var(--gradient-primary)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;letter-spacing:-.02em!important}.btn-close,.modal-close{background:transparent!important;border:none!important;font-size:1.5rem!important;color:var(--color-text-tertiary)!important;cursor:pointer!important;width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:var(--radius-md)!important;transition:all var(--transition-base)!important;line-height:1!important}.btn-close:hover,.modal-close:hover{background:var(--color-bg-secondary)!important;color:var(--color-text-primary)!important;transform:rotate(90deg) scale(1.1)!important}.modal-body{padding:1.5rem!important;overflow-y:auto!important;max-height:calc(90vh - 180px)!important}.activity-log-footer,.backup-codes-footer,.modal-footer{padding:1rem 1.5rem!important;border-top:2px solid #e1e8ed!important;display:flex!important;justify-content:flex-end!important;gap:.75rem!important;background:#f8f9fa!important;border-radius:0 0 16px 16px!important}#static-loader{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);transition:opacity .6s ease-out}#static-loader.fade-out{opacity:0;pointer-events:none}.loader-content{text-align:center;color:white}.loader-icon{font-size:4rem;margin-bottom:1.5rem;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.loader-title{margin:0 0 .5rem;font-size:2.5rem;font-weight:800;letter-spacing:-.03em;text-shadow:0 4px 20px rgba(0,0,0,.3)}.loader-tagline{margin:0;font-size:1rem;font-weight:500;opacity:.9}