*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-input: #0f172a;--bg-hover: #334155;--bg-modal-overlay: rgba(0, 0, 0, .6);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .15);--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f59e0b;--border: #334155;--border-light: #475569;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--transition: .15s ease;--font: "Segoe UI", system-ui, -apple-system, sans-serif}html,body{height:100%;font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#app{min-height:100vh;padding-bottom:calc(44px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.error-page .error-page-card{max-width:420px;width:100%;text-align:center}.error-page-code{font-size:3rem;font-weight:700;color:var(--text-muted);margin:0 0 8px;line-height:1}.error-page-title{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.error-page-hint{color:var(--text-secondary);font-size:14px;margin:0 0 24px;line-height:1.5}.error-page-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.auth-login-page{flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:100%;padding:20px 0 24px;box-sizing:border-box}.auth-login-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;padding:8px 16px 20px;flex-shrink:0}.auth-login-hero-logo-link{display:inline-block;line-height:0;text-decoration:none;color:inherit;border-radius:8px}.auth-login-hero-logo-link:focus-visible{outline:2px solid var(--accent, #38bdf8);outline-offset:4px}.auth-login-hero-logo{display:block;margin:0;height:70px;width:auto;flex-shrink:0;padding:0}.auth-login-hero-tagline{font-size:clamp(17px,2.5vw,24px);font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.25;margin:10px 0 0;text-align:center;max-width:min(36rem,85vw)}.auth-page-with-features{display:flex;flex-direction:column;gap:32px;justify-content:center;align-items:stretch;padding:20px 16px;flex:1 1 auto;width:100%;box-sizing:border-box}.auth-features{order:1;max-width:520px;margin:0 auto}.auth-features-title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--text-primary);letter-spacing:-.5px}.auth-features-list{list-style:none;color:var(--text-secondary);font-size:15px;line-height:1.6}.auth-features-list li{position:relative;padding-left:20px;margin-bottom:12px}.auth-features-list li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--accent);border-radius:50%}.auth-form-column{order:2;display:flex;justify-content:center;align-items:flex-start}@media(min-width:900px){.auth-page-with-features{flex-direction:row;align-items:flex-start;justify-content:flex-start;padding:24px 0;width:100%;box-sizing:border-box;gap:0}.auth-features{order:1;flex:0 0 25%;width:25%;max-width:none;min-width:0;margin:0 0 0 20%;box-sizing:border-box}.auth-features-title{font-size:24px;margin-bottom:20px}.auth-form-column{order:2;flex:0 0 25%;width:25%;min-width:0;margin-left:auto;margin-right:20%;box-sizing:border-box;justify-content:stretch}.auth-page-with-features .auth-card{max-width:none;width:100%}}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-lg);padding:40px 32px;box-shadow:var(--shadow-lg)}.auth-logo{display:block;height:48px;width:auto;margin:0 auto 24px}.auth-card h1{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.auth-card .subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:15px}.auth-offline-hint{display:inline-block;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.auth-unlock-title{font-size:22px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.auth-unlock-desc{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-family:var(--font);transition:border-color var(--transition);outline:none}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text-muted)}.form-hint{font-size:12px;color:#c6c6c6;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;font-family:var(--font);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition),transform var(--transition);outline:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.auth-card .btn-primary{width:100%}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-hover);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-light)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:8px 20px;font-size:13px;flex-shrink:0}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.auth-link{text-align:center;margin-top:24px;font-size:14px;color:var(--text-secondary)}.auth-link a{color:var(--accent);text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.auth-offline-hint{display:inline-block;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);padding:4px 10px;border-radius:var(--radius-md);margin-bottom:16px}.auth-offline-hint.online{color:var(--success);background:color-mix(in srgb,var(--success) 18%,transparent)}.auth-offline-hint.offline{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.auth-unlock-title{font-size:22px;font-weight:700;margin:0 0 8px}.auth-unlock-email{color:var(--accent);font-size:15px;font-weight:600;margin:0 0 6px;word-break:break-all}.auth-unlock-desc{color:var(--text-secondary);font-size:14px;margin:0 0 20px}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:20px}.form-input.has-error{border-color:var(--danger);box-shadow:0 0 0 1px #ef444433}.form-input.has-error:focus{border-color:var(--danger);box-shadow:0 0 0 2px #ef444440}.field-error{display:block;font-size:12px;color:var(--danger);margin-top:6px;padding-left:2px;animation:fieldErrorIn .2s ease}@keyframes fieldErrorIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.dashboard{display:grid;grid-template-columns:280px 1fr;grid-template-rows:auto 1fr;height:calc(100vh - 44px - env(safe-area-inset-bottom,0px))}.topbar{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:env(safe-area-inset-top,0px) 24px 0;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:10}.topbar-left{grid-column:1;display:flex;align-items:center;gap:16px}.search-box{grid-column:2}.topbar-logo{display:flex;align-items:center}.topbar-logo-img{height:48px;width:auto}.search-box{position:relative}.search-box input{width:300px;padding:8px 34px 8px 36px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font);outline:none;transition:border-color var(--transition)}.search-box input:focus{border-color:var(--accent)}.search-box input::placeholder{color:var(--text-muted)}.search-box svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:18px;height:18px}.search-clear-btn{position:absolute;right:8px;top:50%;z-index:2;transform:translateY(-50%);width:20px;height:20px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;line-height:1;font-size:16px}.search-clear-btn.visible{display:inline-flex}.search-clear-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.topbar-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:12px}.topbar-verification-slot{display:flex;align-items:center}.topbar-email{font-size:13px;color:var(--text-secondary)}.btn-verification-badge{min-width:28px;height:28px;padding:2px 5px;border-radius:5px;background:var(--warning)!important;color:var(--text-inverse)!important;font-weight:700}.sync-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);padding:6px 10px;border-radius:var(--radius-sm)}.sync-indicator.online{color:var(--success)}.sync-indicator.offline{color:var(--warning)}.sync-indicator.syncing{color:var(--accent)}.sync-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.mailbox-indicator{background:none;border:none;padding:4px 6px;margin:0;cursor:default;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);line-height:0}.mailbox-indicator.mailbox-indicator--unread{color:var(--warning)}.mailbox-indicator .mailbox-icon{display:block}.mailbox-modal-overlay .mailbox-modal{max-width:min(520px,100vw - 32px);width:100%;max-height:min(80vh,640px);display:flex;flex-direction:column}.mailbox-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mailbox-modal-body{overflow:auto;max-height:min(60vh,480px)}.mailbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mailbox-list-item{width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.mailbox-list-item:hover{background:var(--bg-hover);border-color:var(--accent)}.mailbox-list-item--unread{border-color:var(--warning)}.mailbox-list-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mailbox-detail-text{font-size:14px;line-height:1.5;color:var(--text-primary)}.mailbox-empty,.mailbox-loading{color:var(--text-muted);font-size:14px;margin:0}.user-menu{position:relative}.user-menu-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-hover);border:1px solid var(--border-light);border-radius:999px;color:var(--text-primary);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.user-menu-icon-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;padding:4px;display:none;z-index:100}.user-menu-dropdown.open{display:block}.profile-menu-item{display:block;width:100%;text-align:left;padding:10px 14px;font-size:14px;font-family:var(--font);background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm)}.profile-menu-item:hover{background:var(--bg-hover)}.profile-menu-item.danger{color:var(--danger)}.profile-menu-item.is-disabled{color:var(--text-muted);display:none}.import-csv-modal .modal-body{display:flex;flex-direction:column;gap:8px}.import-csv-subtitle{color:var(--text-secondary);font-size:14px}.import-csv-format{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px}.sidebar-header h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.category-list{flex:1;padding:0 8px;list-style:none}.category-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-secondary);transition:background var(--transition),color var(--transition);margin-bottom:2px}.category-item:hover{background:var(--bg-hover);color:var(--text-primary)}.category-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.category-item-left{display:flex;align-items:center;gap:10px;overflow:hidden}.category-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count{font-size:12px;color:var(--text-muted);min-width:20px;text-align:right}.category-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.category-item:hover .category-actions{opacity:1}.category-actions button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:14px}.category-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.main-content{overflow-y:auto;overflow-x:hidden;min-width:0;padding:24px;background:var(--bg-primary)}.main-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.main-header h1{font-size:24px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.password-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);font-size:12px;font-weight:700;line-height:1;color:var(--text-secondary)}.category-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-light);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--accent);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:background var(--transition),border-color var(--transition);white-space:nowrap}.category-edit-btn:hover{background:var(--accent-light);border-color:var(--accent)}.category-edit-btn svg{flex-shrink:0}.category-edit-modal-footer{justify-content:space-between!important}.main-header .btn{flex:0 0 auto;width:auto}.password-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;min-width:0;width:100%}.password-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;min-width:0;max-width:100%;overflow:hidden;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.password-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.password-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.password-card-title{font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-card-category{font-size:12px;color:var(--accent);background:var(--accent-light);padding:3px 8px;border-radius:20px;white-space:nowrap}.password-card-field{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--text-secondary);margin-bottom:6px;position:relative;min-width:0}.password-card-field .label{flex-shrink:0;color:var(--text-muted);font-size:12px}.password-card-field .value{flex:1 1 0;min-width:0;max-width:100%;font-family:SF Mono,Fira Code,Cascadia Code,monospace;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word}.password-card-field .copy-btn,.password-card-field .password-visibility-btn{flex-shrink:0;align-self:center}.password-card-actions{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.password-card-actions button{flex:1}.password-mask{letter-spacing:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;color:var(--text-muted)}.empty-state svg{width:80px;height:80px;margin-bottom:20px;opacity:.3}.empty-state h2{font-size:20px;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:15px;margin-bottom:24px;max-width:360px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:10001;padding:24px;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.modal-header h2{font-size:20px;font-weight:700}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:20px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:center!important;flex-wrap:nowrap;gap:12px;padding:0 24px 24px}.verification-modal-footer{flex-wrap:nowrap}.password-field-wrapper{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:16px}.password-toggle:hover{color:var(--text-primary)}.generate-btn{position:absolute;right:38px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--accent);cursor:pointer;padding:4px;font-size:14px;font-family:var(--font);font-weight:600}.generate-btn:hover{color:var(--accent-hover)}.copy-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--accent);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.password-visibility-btn{position:absolute;right:2rem}.copy-btn .copy-btn-icon{display:block}.copy-btn:hover{background:var(--accent-light)}.copy-btn.copied{color:var(--success)}.secret-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.secret-prompt{position:relative;background:var(--bg-card);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center}.secret-prompt-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;border-radius:var(--radius-sm)}.secret-prompt-close:hover{background:var(--bg-hover);color:var(--text-primary)}.secret-prompt h2{margin-bottom:8px}.secret-prompt p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.secret-prompt .btn-primary{width:100%}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-md);animation:slideIn .2s ease;max-width:360px}.toast.success{background:#065f46;color:#d1fae5;border:1px solid #059669}.toast.error{background:#7f1d1d;color:#fecaca;border:1px solid #dc2626}.toast.info{background:#1e3a5f;color:#bfdbfe;border:1px solid #3b82f6}.toast.removing{animation:slideOut .2s ease forwards}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.inline-edit{display:flex;gap:8px;align-items:center}.inline-edit input{flex:1;padding:6px 10px;background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font);outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.lang-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:stretch;padding:8px 16px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--bg-secondary);border-top:1px solid var(--border);z-index:10000}.lang-footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;max-width:100%;gap:12px}.lang-footer-left{justify-self:start;min-width:0}.lang-footer-center{justify-self:center;text-align:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;border:solid 1px var(--border);background:var(--bg-primary)}.feedback-footer-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;margin:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);vertical-align:middle}.feedback-footer-btn:hover{color:var(--accent);background:var(--bg-hover)}.feedback-footer-icon{display:block}.feedback-modal-overlay .feedback-modal{max-width:440px;width:calc(100% - 32px)}.feedback-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;border-bottom:none}.feedback-modal-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary)}.feedback-modal-close{width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.feedback-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.feedback-modal-body{padding:16px 24px 8px}.feedback-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;margin-top:14px}.feedback-label:first-of-type{margin-top:0}.feedback-label-optional{font-weight:500;color:var(--text-muted)}.feedback-textarea,.feedback-input,.feedback-file{width:100%;box-sizing:border-box;font-family:var(--font);font-size:14px}.feedback-textarea{min-height:120px;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary)}.feedback-input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary)}.feedback-counter{font-size:12px;color:var(--text-muted);text-align:right;margin-top:4px}.feedback-hint{font-size:12px;color:var(--text-muted);margin-top:6px}.feedback-error{margin-top:12px;padding:10px 12px;font-size:13px;color:#b91c1c;background:#b91c1c14;border-radius:var(--radius-sm)}.feedback-modal-footer{padding:16px 24px 12px;justify-content:flex-end;gap:10px}.feedback-validation-hint{font-size:12px;color:var(--text-muted);text-align:center;padding:0 24px 20px}.pwa-install-banner{position:fixed;bottom:52px;left:50%;transform:translate(-50%) translateY(120%);width:calc(100% - 24px);max-width:520px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9998;opacity:0;transition:transform .3s ease,opacity .3s ease}.pwa-install-banner.visible{transform:translate(-50%) translateY(0);opacity:1}.pwa-install-content{display:flex;align-items:center;gap:12px;min-width:0}.pwa-install-icon{flex-shrink:0}.pwa-install-text{font-size:13px;color:var(--text-primary);line-height:1.4}.pwa-install-text small{color:var(--text-muted);font-size:11px}.pwa-install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-install-btn{padding:8px 16px;font-size:13px;font-weight:600;font-family:var(--font);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition)}.pwa-install-btn:hover{background:var(--accent-hover)}.pwa-install-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.pwa-install-close:hover{background:var(--bg-hover);color:var(--text-primary)}.antibot-container{margin-top:16px}.antibot-challenge{padding:12px 0}.antibot-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.antibot-description{font-size:14px;color:var(--text-primary);margin:0 0 12px}.antibot-icons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.antibot-icon-btn{width:48px;height:48px;font-size:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.antibot-icon-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.antibot-icon-btn.antibot-wrong{border-color:#b91c1c;background:#b91c1c1a}.antibot-error{font-size:13px;color:#b91c1c}.lang-footer-right{justify-self:end;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.delete-account-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;color:var(--text-muted);border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;text-decoration:none;transition:color var(--transition),background var(--transition)}.delete-account-link:hover{color:var(--danger);background:var(--bg-hover)}.delete-account-icon{display:block}.powered-by{font-size:12px;color:var(--text-muted);letter-spacing:.3px;background:transparent;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.powered-by:hover{color:var(--text-primary);background:var(--bg-hover)}.about-lockly-title-link{color:inherit;text-decoration:none;cursor:pointer;border-radius:var(--radius-sm);outline-offset:2px}.about-lockly-title-link:hover{color:var(--accent);text-decoration:underline}.login-hero-captcha-modal{max-width:420px;width:calc(100vw - 32px)}.about-lockly-modal .modal-body p{margin-bottom:12px;color:var(--text-secondary)}.about-lockly-list{margin-left:18px;color:var(--text-primary)}.about-lockly-list li+li{margin-top:8px}.lang-select{width:fit-content;min-width:56px;padding:6px 10px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:600;line-height:1;text-align:center;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--transition),background-color var(--transition)}.lang-select:hover{border-color:var(--accent);background:var(--accent-light)}@media(max-width:768px){.auth-page{align-items:flex-start;justify-content:flex-start}.auth-page-with-features{justify-content:flex-start}.dashboard{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;height:auto;min-height:calc(100vh - 44px)}.topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));min-height:0}.topbar-left{grid-column:1;grid-row:1}.topbar-right{grid-column:2;grid-row:1;justify-self:end;gap:6px;flex-wrap:wrap}.search-box{grid-column:1 / -1;grid-row:2}.search-box input{width:100%;min-width:0}.btn-verification-badge .verification-text{display:none}.btn-verification-badge:before{content:"✉";font-size:14px;line-height:1}.btn-verification-badge{min-width:36px;width:36px;height:36px;padding:0;font-size:0}.sync-indicator span:not(.sync-dot){display:none}.sync-indicator{padding:6px 8px}.sidebar{flex-direction:row;align-items:center;max-height:none;min-height:52px;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-header{flex-shrink:0;padding:0 12px 0 0;border-right:1px solid var(--border);margin-right:8px}.sidebar-header h2{display:none}.category-list{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px;padding:0;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-item{flex-shrink:0;white-space:nowrap;margin-bottom:0}.inline-edit{max-width:calc(100vw - 100px)}.inline-edit input{min-width:0;width:120px;font-size:16px}.category-edit-btn{display:inline-flex}.category-actions,.category-item:hover .category-actions{display:none}.main-content{padding:16px}.main-header{flex-wrap:wrap;gap:12px;margin-bottom:16px}.main-header h1{font-size:20px;flex:1 1 100%}.main-header .btn{flex:1 1 auto;justify-content:center}.password-grid{grid-template-columns:1fr;gap:12px}.password-card-actions{flex-direction:column;gap:8px}.password-card-actions button{width:100%}.modal-overlay{align-items:center;justify-content:center}}@media(max-width:480px){.auth-page{padding:16px 26px}.auth-login-page{padding:12px 0 20px}.auth-login-hero{padding:6px 12px 16px}.auth-login-hero-logo{height:56px}.auth-login-hero-tagline{font-size:clamp(15px,4.5vw,20px)}.auth-page-with-features{padding:16px 22px;gap:24px}.auth-features-title{font-size:18px;margin-bottom:12px}.auth-features-list{font-size:14px}.auth-card{max-width:100%;padding:28px 20px;margin:0 auto}.auth-card h1{font-size:22px}.auth-card .subtitle{font-size:14px;margin-bottom:24px}.auth-logo{height:40px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-input{padding:10px 12px;font-size:16px}.auth-link{margin-top:20px;font-size:13px}.topbar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));gap:6px}.topbar-logo-img{height:36px}.search-box input{font-size:16px;padding:10px 14px 10px 36px}.topbar-email{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-verification-badge{min-width:32px;width:32px;height:32px;padding:0}.btn-ghost.btn-sm{padding:6px 10px;font-size:12px}.main-content{padding:12px}.main-header h1{font-size:18px}.password-card{padding:16px}.password-card-header{flex-wrap:wrap;gap:8px}.password-card-title{flex:1 1 100%}.password-card-category{flex-shrink:0}.empty-state{padding:40px 16px}.empty-state h2{font-size:18px}.empty-state p{font-size:14px}.modal-overlay{padding:16px;display:flex;align-items:center;justify-content:center}.modal{max-height:80vh}.modal-header,.modal-body{padding:20px 16px}.modal-footer{padding:0 16px 20px;flex-wrap:nowrap;justify-content:center}.verification-modal-footer{flex-wrap:nowrap}.secret-prompt-overlay{padding:16px}.secret-prompt{padding:24px 20px}.lang-footer{flex-wrap:wrap;gap:8px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.lang-footer-inner{gap:8px}.lang-select{width:fit-content;min-width:50px;padding:5px 10px;font-size:12px}.powered-by{font-size:10px}.feedback-footer-icon{width:18px;height:18px}.delete-account-icon{width:16px;height:16px}.toast-container{left:12px;right:12px;top:auto;bottom:60px}.toast{max-width:none}}@media(max-width:380px){.auth-page{padding:12px 22px}.auth-login-page{padding:8px 0 16px}.auth-login-hero{padding:4px 8px 12px}.auth-login-hero-logo{height:48px}.auth-login-hero-tagline{font-size:15px}.auth-page-with-features{padding:12px 18px;gap:20px}.auth-card{padding:20px 16px}.auth-card h1{font-size:20px}.auth-card .subtitle{font-size:13px;margin-bottom:20px}.auth-logo{height:36px;margin-bottom:16px}.form-group{margin-bottom:14px}.form-input{padding:10px 12px;font-size:16px}.btn{padding:10px 16px;font-size:14px}.topbar{padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top,0px));gap:4px}.topbar-logo-img{height:32px}.user-menu-btn{padding:6px 8px;font-size:13px}.topbar-email{max-width:90px}.main-content{padding:10px}.main-header h1{font-size:16px}.sidebar{padding:6px 8px;min-height:48px}.category-item{padding:8px 10px;font-size:13px}.modal-overlay{padding:12px}.modal-header,.modal-body{padding:16px 12px}.modal-footer{padding:0 12px 16px}.secret-prompt{padding:20px 16px}.lang-footer{padding:6px 10px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}.lang-select{width:fit-content;min-width:46px;padding:4px 9px;font-size:10px}.powered-by{font-size:10px}}@media(min-width:1920px){.dashboard{max-width:1920px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.password-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}}@media(min-width:2560px){.dashboard{max-width:2160px}.password-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}}@media(min-width:1400px){.auth-page-with-features{max-width:1400px;margin:0 auto}}
