:root{--bg-base:#0b0d12;--bg-surface:#12141b;--bg-elevated:#171a23;--bg-overlay:#1d202b;--border:#21242e;--border-hover:#2c303c;--text-primary:#ecedf1;--text-secondary:#9497a8;--text-muted:#6b6f80;--text-faint:#494d5c;--accent:#c6a15b;--accent-high:#dab876;--accent-soft:#c6a15b1f;--accent-ink:#16130b;--danger:#e5484d;--danger-soft:#e5484d1f;--success:#3fcb8c;--success-soft:#3fcb8c1f;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--ease:cubic-bezier(.4, 0, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,textarea{font-family:inherit}button{font:inherit}::selection{background:var(--accent-soft);color:var(--accent-high)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.vault-layout{background:var(--bg-base);height:100dvh;color:var(--text-primary);font-family:var(--font-ui);display:flex;overflow:hidden}.vault-loading{background:var(--bg-base);height:100dvh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13.5px;display:flex}.loading-mark-danger,.loading-text-danger{color:var(--danger)}.vault-sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;width:224px;min-width:224px;display:flex;overflow:hidden}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:22px 18px 20px;display:flex}.logo-mark{border-radius:var(--radius-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-name{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:700}.logo-tagline{color:var(--text-muted);margin-top:1px;font-size:10.5px}.sidebar-search{padding:14px 12px 8px;position:relative}.sidebar-search input{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-ui);box-sizing:border-box;transition:border-color .15s var(--ease);outline:none;padding:8px 10px 8px 32px;font-size:12.5px}.sidebar-search input:focus{border-color:var(--accent)}.sidebar-search input::placeholder{color:var(--text-faint)}.search-icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.sidebar-nav{flex:1;padding:6px 10px;overflow-y:auto}.nav-section-label{color:var(--text-faint);margin:18px 0 6px;padding:0 8px;font-size:11px;font-weight:500}.nav-section-label:first-child{margin-top:10px}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;text-align:left;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:13px;display:flex}.nav-item:hover{background:var(--bg-overlay);color:var(--text-secondary)}.nav-item.active{background:var(--accent-soft);color:var(--accent-high)}.nav-icon{flex-shrink:0;width:16px;display:flex}.nav-label{flex:1}.nav-count{background:var(--border);color:var(--text-muted);font-size:10.5px;font-family:var(--font-mono);border-radius:10px;padding:2px 7px}.nav-item.active .nav-count{color:var(--accent-high);background:#c6a15b2e}.sidebar-footer{border-top:1px solid var(--border);padding:12px}.user-pill{background:var(--bg-overlay);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-high);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;overflow:hidden}.sidebar-logout-btn{flex-shrink:0;margin-left:auto}.btn-delete-account,.btn-change-password{width:100%;color:var(--text-faint);font-family:var(--font-ui);cursor:pointer;border-radius:var(--radius-sm);text-align:left;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;align-items:center;gap:7px;margin-top:4px;padding:9px 10px;font-size:11.5px;display:flex}.btn-delete-account:hover{background:var(--danger-soft);color:var(--danger)}.btn-change-password:hover{background:var(--accent-soft);color:var(--accent-high)}.vault-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-topbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.topbar-title{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.topbar-actions{align-items:center;gap:14px;display:flex}.saving-indicator{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.saving-indicator-danger{color:var(--danger)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s var(--ease);border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-high)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-btn:hover{background:var(--bg-overlay);color:var(--text-primary)}.icon-btn.copied{color:var(--success)}.icon-btn-group{gap:2px;display:flex}.entry-list{flex:1;padding:14px;overflow-y:auto}.entry-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease);align-items:center;gap:13px;margin-bottom:7px;padding:11px 13px;display:flex}.entry-card:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.entry-card.active{background:var(--accent-soft);border-color:#c6a15b59}.entry-card.dragging{opacity:.4}.entry-card.drag-over{border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.entry-drag-handle{color:var(--text-faint);cursor:grab;opacity:0;transition:opacity .15s var(--ease);flex-shrink:0;align-items:center;margin-left:-4px;display:flex}.entry-card:hover .entry-drag-handle{opacity:1}.entry-card.dragging .entry-drag-handle{cursor:grabbing}.entry-icon-wrap{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.cat-login{background:#1c2a3e}.cat-card{background:#2a2038}.cat-note{background:#1c2e20}.entry-info{flex:1;min-width:0}.entry-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.entry-username{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.entry-2fa-badge{color:var(--success);vertical-align:-1px;margin-left:6px}.entry-date{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.empty-state{height:240px;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.empty-icon{opacity:.35}.vault-detail{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:300px;min-width:300px;display:flex;overflow:hidden}.vault-detail-empty{justify-content:center;align-items:center}.detail-placeholder{color:var(--text-faint);flex-direction:column;align-items:center;gap:10px;font-size:13px;display:flex}.placeholder-icon{opacity:.25}.detail-header{border-bottom:1px solid var(--border);padding:22px}.detail-icon-wrap{align-items:center;gap:13px;display:flex}.detail-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:600;display:flex}.detail-name{letter-spacing:-.005em;color:var(--text-primary);font-size:15px;font-weight:600}.detail-url{color:var(--text-muted);margin-top:2px;font-size:12px}.detail-body{flex-direction:column;flex:1;gap:20px;padding:20px 22px;display:flex;overflow-y:auto}.detail-field{flex-direction:column;gap:7px;display:flex}.field-label{color:var(--text-muted);font-size:11.5px;font-weight:500}.field-value-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-mono{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:13px}.field-link{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;text-decoration:none;overflow:hidden}.field-link:hover{color:var(--accent-high);text-decoration:underline}.field-notes{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--bg-overlay);color:var(--text-secondary);border:1px solid var(--border);border-radius:100px;padding:4px 10px;font-size:11px}.detail-meta{color:var(--text-faint);border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:4px;font-size:11.5px;display:flex}.detail-footer{border-top:1px solid var(--border);gap:8px;padding:16px 22px;display:flex}.btn-edit{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;transition:border-color .15s var(--ease);flex:1;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:13px;font-weight:500;display:flex}.btn-edit:hover{border-color:var(--border-hover)}.btn-delete{background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);font-family:var(--font-ui);cursor:pointer;transition:background .15s var(--ease);border:1px solid #e5484d40;justify-content:center;align-items:center;padding:9px 12px;font-size:12.5px;display:inline-flex}.btn-delete:hover:not(:disabled){background:#e5484d33}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.btn-delete-solid{gap:0;padding:8px 16px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06070ab8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:var(--radius-lg);width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #00000080}.modal-sm{width:400px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h2{letter-spacing:-.005em;color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.modal-title-danger{align-items:center;gap:8px;display:flex;color:var(--danger)!important}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-overlay)}.modal-body{padding:18px 24px 24px}.confirm-text{color:var(--text-secondary);margin:0 0 18px;font-size:13.5px;line-height:1.6}.confirm-text strong{color:var(--text-primary)}.confirm-subtext{color:var(--text-muted);margin:0 0 14px;font-size:12px}.confirm-keyword{color:var(--danger);font-family:var(--font-mono)}.confirm-input{background:var(--bg-base);border-radius:var(--radius-sm);width:100%;color:var(--danger);font-family:var(--font-mono);box-sizing:border-box;border:1px solid #e5484d4d;outline:none;margin-bottom:18px;padding:10px 12px;font-size:13px}.confirm-input:focus{border-color:var(--danger)}.modal-form{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.form-row{flex-direction:column;gap:7px;display:flex}.form-row label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-row input,.form-row textarea{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);transition:border-color .15s var(--ease);resize:vertical;outline:none;padding:9px 12px;font-size:13.5px}.form-row input:focus,.form-row textarea:focus{border-color:var(--accent)}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-faint)}.password-input-wrap{align-items:center;gap:6px;display:flex}.password-input{flex:1;font-family:var(--font-mono)!important}.generate-btn{color:var(--accent)!important}.category-selector{gap:6px;display:flex}.cat-btn{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease), background .15s var(--ease);flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;display:flex}.cat-btn:hover{border-color:var(--border-hover)}.cat-btn.active{border-color:var(--accent);color:var(--accent-high);background:var(--accent-soft)}.btn-secondary{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;transition:border-color .15s var(--ease);padding:9px 16px;font-size:13px;font-weight:500}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text-primary)}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form-row-split{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=720px){.form-row-split{grid-template-columns:1fr}}.field-hint{color:var(--text-muted);margin-top:2px;font-size:11.5px}.form-notice{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid #c6a15b40;align-items:center;gap:9px;padding:10px 14px;font-size:12.5px;display:flex}.form-error{background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #e5484d40;align-items:center;gap:9px;padding:10px 14px;font-size:13px;display:flex}.generator-output{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.generator-password{word-break:break-all;font-size:15px}.generator-range{width:100%;accent-color:var(--accent);cursor:pointer}.generator-options{flex-direction:column;gap:10px;display:flex}.generator-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.generator-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.field-hint-danger{color:#c85050}.field-hint-warn{color:#e8803a}.uppercase-input{text-transform:uppercase}.totp-secret-input{font-family:var(--font-mono);font-size:12.5px}.totp-code{letter-spacing:.08em}.totp-countdown{background:var(--border);border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.totp-countdown-bar{background:var(--accent);height:100%;transition:width 1s linear}.card-number-wrap{display:flex;position:relative}.card-number-input{width:100%;font-family:var(--font-mono);letter-spacing:.06em;box-sizing:border-box;padding-right:92px!important}.card-brand-chip{pointer-events:none;background:var(--bg-overlay);color:var(--text-secondary);border:1px solid var(--border);border-radius:100px;padding:4px 9px;font-size:10.5px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.card-brand-chip-visa{color:#6fa0e8;border-color:#6fa0e859}.card-brand-chip-mastercard{color:#e89a4c;border-color:#e89a4c59}.card-brand-chip-amex{color:#6fc4c4;border-color:#6fc4c459}.card-brand-chip-diners{color:#b58ae0;border-color:#b58ae059}.card-brand-chip-discover{color:#e8b04c;border-color:#e8b04c59}.card-brand-chip-jcb{color:#7bc97b;border-color:#7bc97b59}.card-brand-chip-unionpay{color:#e06868;border-color:#e0686859}.card-brand-chip-unknown{color:var(--text-muted)}.card-preview{aspect-ratio:1.586;border-radius:var(--radius-md);color:#f2f0ea;background:linear-gradient(135deg,#2a2038 0%,#1a1626 100%);flex-direction:column;flex-shrink:0;justify-content:space-between;width:100%;padding:18px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059}.card-preview-visa{background:linear-gradient(135deg,#2c4270 0%,#16223d 100%)}.card-preview-mastercard{background:linear-gradient(135deg,#6b3e1e 0%,#2e1a0d 100%)}.card-preview-amex{background:linear-gradient(135deg,#1e4a4a 0%,#0f2626 100%)}.card-preview-diners{background:linear-gradient(135deg,#402c5e 0%,#201730 100%)}.card-preview-discover{background:linear-gradient(135deg,#6b4e1e 0%,#33260e 100%)}.card-preview-jcb{background:linear-gradient(135deg,#1e5a34 0%,#0f2e1a 100%)}.card-preview-unionpay{background:linear-gradient(135deg,#6b2a2a 0%,#331515 100%)}.card-preview-unknown{background:linear-gradient(135deg,#2a2038 0%,#1a1626 100%)}.card-preview-top{justify-content:space-between;align-items:center;display:flex}.card-chip{background:linear-gradient(135deg,#e8ce86 0%,#b9954f 100%);border-radius:5px;width:34px;height:24px}.card-preview-brand{letter-spacing:.02em;opacity:.9;font-size:12.5px;font-weight:700}.card-preview-number{font-family:var(--font-mono);letter-spacing:.08em;font-size:16px}.card-preview-bottom{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card-preview-label{text-transform:uppercase;letter-spacing:.05em;opacity:.65;margin-bottom:3px;font-size:9px}.card-preview-value{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.card-expired-banner{background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #e5484d4d;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.auth-error{background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #e5484d40;align-items:center;gap:9px;padding:10px 14px;font-size:13px;display:flex}.mobile-back-btn,.topbar-search-mobile{display:none}@media (width<=768px){.vault-layout{flex-direction:column;overflow:hidden}.vault-sidebar{width:100%;min-width:unset;border-right:none;border-top:1px solid var(--border);height:auto;padding-bottom:env(safe-area-inset-bottom);flex-direction:row;flex-shrink:0;order:3;overflow:visible}.sidebar-logo,.sidebar-search,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;gap:0;width:100%;padding:0;display:flex;overflow-x:auto}.nav-section-label{display:none}.nav-item{border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-width:52px;margin-bottom:0;padding:10px 4px 8px;font-size:9.5px}.nav-item.active{border-top:2px solid var(--accent);background:0 0}.nav-count,.nav-item-extra{display:none}.vault-main{flex:1;order:1;min-height:0;overflow:hidden}.main-topbar{min-width:0;padding:14px 16px}.topbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14.5px;overflow:hidden}.topbar-actions{flex-shrink:0;gap:6px}.topbar-actions .btn-primary{padding:8px}.topbar-actions .btn-primary span{display:none}.topbar-search-mobile{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;padding:12px 16px;display:flex;position:relative}.topbar-search-mobile input{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-ui);box-sizing:border-box;outline:none;padding:9px 12px 9px 34px;font-size:13px}.topbar-search-mobile input:focus{border-color:var(--accent)}.topbar-search-mobile input::placeholder{color:var(--text-faint)}.topbar-search-mobile .search-icon{left:28px}.entry-list{padding:10px}.entry-card{gap:14px;margin-bottom:8px;padding:13px 14px}.entry-icon-wrap{width:40px;height:40px;font-size:15px}.entry-label{font-size:14px}.entry-username{font-size:12px}.entry-date{font-size:10.5px}.vault-detail{z-index:50;border-left:none;flex-direction:column;display:flex;position:fixed;inset:0;width:100%!important;min-width:unset!important}.vault-detail-empty{display:none}.mobile-back-btn{border:none;border-bottom:1px solid var(--border);color:var(--accent);font-family:var(--font-ui);cursor:pointer;text-align:left;background:0 0;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:14px 18px;font-size:13px;font-weight:500;display:flex}.mobile-back-btn:active{background:var(--bg-overlay)}.field-mono{font-size:13px}.password-hidden{letter-spacing:.2em!important;font-size:20px!important;line-height:1.2!important}.password-visible{white-space:normal!important;word-break:break-all!important;font-size:13px!important;line-height:1.5!important}.field-value-row{align-items:flex-start}.icon-btn{margin-top:-3px;padding:7px}.detail-footer{padding:14px 18px;padding-bottom:max(14px, env(safe-area-inset-bottom))}.btn-edit,.btn-delete{padding:12px;font-size:13px}.modal{border-radius:var(--radius-md);width:calc(100vw - 16px);max-height:95vh;margin:8px}.modal-form{padding:16px 20px}.cat-btn{padding:8px 4px;font-size:11px}}.mobile-logout-btn,.mobile-tool-btn{display:none}@media (width<=768px){.mobile-logout-btn,.mobile-tool-btn{display:flex}}.auth-layout{background:var(--bg-base);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui);display:flex}.auth-left{border-right:1px solid var(--border);flex-direction:column;flex:1;justify-content:center;max-width:480px;padding:64px;display:flex}.auth-brand{align-items:center;gap:11px;margin-bottom:56px;display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-name{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:700}.brand-tagline{color:var(--text-muted);margin-top:1px;font-size:12px}.auth-headline{letter-spacing:-.015em;color:var(--text-primary);max-width:360px;margin:0 0 16px;font-size:32px;font-weight:700;line-height:1.25}.auth-sub{color:var(--text-secondary);max-width:340px;margin:0 0 40px;font-size:14.5px;line-height:1.65}.auth-pillars{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.auth-pillars li{color:var(--text-secondary);align-items:flex-start;gap:11px;font-size:13px;line-height:1.5;display:flex}.pillar-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.auth-right{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-card{width:100%;max-width:380px}.auth-tabs{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;margin-bottom:32px;padding:3px;display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:none;border-radius:5px;flex:1;padding:9px;font-size:13.5px;font-weight:500}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{background:var(--bg-overlay);color:var(--text-primary)}.auth-field{margin-bottom:18px}.auth-field label{color:var(--text-secondary);margin-bottom:7px;font-size:12.5px;font-weight:500;display:block}.field-label-row{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.field-label-row label{margin-bottom:0}.toggle-pass{color:var(--text-muted);cursor:pointer;transition:color .15s var(--ease);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:12px;display:inline-flex}.toggle-pass:hover{color:var(--accent)}.auth-field input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);box-sizing:border-box;transition:border-color .15s var(--ease);outline:none;padding:11px 14px;font-size:14px}.auth-field input:focus{border-color:var(--accent)}.auth-field input::placeholder{color:var(--text-faint)}.auth-field input:disabled{opacity:.5;cursor:not-allowed}.strength-wrap{align-items:center;gap:10px;margin-top:10px;display:flex}.strength-bars{flex:1;gap:3px;display:flex}.strength-bar{height:3px;transition:background .3s var(--ease);border-radius:2px;flex:1}.strength-label{font-size:11px;font-family:var(--font-mono);white-space:nowrap;transition:color .3s var(--ease)}.argon-notice{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-high);border:1px solid #c6a15b40;align-items:center;gap:9px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;display:flex}.argon-spinner{flex-shrink:0;animation:1s linear infinite spin}.auth-error{background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #e5484d40;align-items:center;gap:9px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.master-warning{background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #c6a15b33;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.warning-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.master-warning p{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.55}.master-warning strong{color:var(--text-primary)}.btn-submit{background:var(--accent);width:100%;color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s var(--ease);border:none;margin-top:6px;padding:12px;font-size:14px;font-weight:600}.btn-submit:hover:not(:disabled){background:var(--accent-high)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-muted);margin-top:24px;font-size:13px}.auth-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.auth-switch button:hover{color:var(--accent-high)}@media (width<=768px){.auth-layout{flex-direction:column}.auth-left{border-right:none;border-bottom:1px solid var(--border);max-width:100%;padding:32px 24px}.auth-headline{max-width:none;font-size:26px}.auth-sub{max-width:none}.auth-right{padding:32px 24px}}.sessions-list{padding:8px 0}.session-card{border-bottom:1px solid var(--border);transition:background .15s var(--ease);align-items:center;gap:15px;padding:14px 24px;display:flex}.session-card:last-child{border-bottom:none}.session-card:hover{background:var(--bg-elevated)}.session-card.current{background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:22px}.session-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.session-info{flex:1;min-width:0}.session-ua{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:13.5px;display:flex}.badge-current{color:var(--accent-high);background:#c6a15b29;border-radius:100px;padding:2px 8px;font-size:10.5px}.session-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.btn-revoke{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease), background .15s var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:7px 9px;display:inline-flex}.btn-revoke:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:#e5484d4d}.btn-revoke:disabled{opacity:.4;cursor:not-allowed}.btn-revoke-all{border-radius:var(--radius-sm);color:var(--danger);font-family:var(--font-ui);cursor:pointer;transition:background .15s var(--ease);white-space:nowrap;background:0 0;border:1px solid #e5484d40;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.btn-revoke-all:hover:not(:disabled){background:var(--danger-soft)}.btn-revoke-all:disabled{opacity:.4;cursor:not-allowed}.audit-list{padding:4px 0}.audit-row{border-bottom:1px solid var(--border);transition:background .15s var(--ease);align-items:center;gap:15px;padding:12px 24px;display:flex}.audit-row:last-child{border-bottom:none}.audit-row:hover{background:var(--bg-elevated)}.audit-icon{border-radius:var(--radius-sm);background:var(--bg-overlay);width:28px;height:28px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.audit-icon.action-login_success{background:var(--success-soft);color:var(--success)}.audit-icon.action-register{background:var(--accent-soft);color:var(--accent-high)}.audit-icon.action-login_failed{background:var(--danger-soft);color:var(--danger)}.audit-icon.action-logout{background:var(--bg-overlay);color:var(--text-muted)}.audit-icon.action-vault_write{color:#7fa8ee;background:#5e8ce024}.audit-icon.action-session_revoked{background:var(--danger-soft);color:var(--danger)}.audit-icon.action-password_change_attempt{background:var(--accent-soft);color:var(--accent-high)}.audit-info{flex:1;min-width:0}.audit-action{color:var(--text-primary);margin-bottom:3px;font-size:13.5px}.audit-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.audit-meta-extra{color:var(--text-faint)}.audit-date{color:var(--text-faint);font-size:11.5px;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.audit-pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:16px;padding:16px 24px;display:flex}.btn-page{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);padding:7px 14px;font-size:12.5px}.btn-page:hover:not(:disabled){border-color:var(--accent);color:var(--accent-high)}.btn-page:disabled{opacity:.3;cursor:not-allowed}.page-info{color:var(--text-muted);font-size:11.5px;font-family:var(--font-mono)}@media (width<=768px){.sp-layout{padding:32px 20px 48px}.session-meta,.audit-meta{font-size:11px}}.sp-layout{background:var(--bg-base);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui);max-width:840px;margin:0 auto;padding:48px 40px 64px}.sp-header{margin-bottom:36px}.sp-back{color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;transition:color .15s var(--ease);background:0 0;border:none;align-items:center;gap:7px;margin-bottom:24px;padding:0;font-size:13px;display:inline-flex}.sp-back:hover{color:var(--accent)}.sp-title{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 8px;font-size:22px;font-weight:700}.sp-sub{color:var(--text-secondary);margin:0;font-size:13.5px}.sp-loading{height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13.5px;display:flex}.loading-mark{color:var(--accent)}.sp-content{flex-direction:column;gap:28px;display:flex}.sp-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.section-title{color:var(--text-primary);margin:0 0 3px;font-size:14px;font-weight:600}.section-sub{color:var(--text-muted);margin:0;font-size:12px}.sep{color:var(--text-faint)}.summary-chips{flex-wrap:wrap;gap:10px;padding:20px 24px;display:flex}.summary-chip{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:7px;padding:8px 13px;font-size:12.5px;display:inline-flex}.summary-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.summary-chip-count{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.summary-chip.severity-danger .summary-chip-count{color:var(--danger)}.summary-chip.severity-warn .summary-chip-count{color:#e8803a}.finding-list{padding:4px 0}.finding-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s var(--ease);align-items:center;gap:15px;padding:12px 24px;display:flex}.finding-row:last-child{border-bottom:none}.finding-row:hover{background:var(--bg-elevated)}.finding-icon{border-radius:var(--radius-sm);background:var(--bg-overlay);width:28px;height:28px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.finding-icon.severity-danger{background:var(--danger-soft);color:var(--danger)}.finding-icon.severity-warn{color:#e8803a;background:#e8803a24}.finding-info{flex:1;min-width:0}.finding-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:13.5px;overflow:hidden}.finding-reason{color:var(--text-muted);font-size:11.5px}.finding-action{color:var(--text-faint);flex-shrink:0}.empty-finding{text-align:center;color:var(--text-muted);padding:24px;font-size:12.5px}.pwned-check-btn{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);flex-shrink:0;padding:8px 14px;font-size:12.5px;font-weight:500}.pwned-check-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}@media (width<=768px){.sp-layout{padding:32px 20px 48px}.summary-chips{padding:16px}.finding-row{padding:12px 16px}.section-header{padding:16px 16px 14px}}
