:root{color-scheme:dark;--bg: #07090d;--bg-gradient: radial-gradient(1200px 600px at 85% -10%, rgba(16, 185, 129, .1), transparent 60%), radial-gradient(900px 500px at -10% 10%, rgba(56, 189, 248, .06), transparent 60%);--panel: #0e1117;--panel-2: #141922;--panel-3: #1b222d;--sunken: #090b10;--border: #1f2733;--border-hover: #2f3a4a;--border-focus: #34d399;--text: #e9eef4;--text-muted: #9ba7b6;--muted: #6c7787;--accent: #34d399;--accent-strong: #10b981;--accent-hover: #6ee7b7;--accent-ink: #03170f;--accent-soft: rgba(52, 211, 153, .12);--accent-glow: rgba(52, 211, 153, .24);--code: #d1fae5;--success: #34d399;--success-glow: rgba(52, 211, 153, .16);--warn: #fbbf24;--danger: #f87171;--danger-strong: #ef4444;--danger-bg: rgba(248, 113, 113, .12);--danger-hover: #dc2626;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow: 0 24px 60px -12px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .02);--shadow-sm: 0 6px 18px -6px rgba(0, 0, 0, .45);--ring: 0 0 0 3px var(--accent-glow);--motion-fast: .14s;--motion-med: .24s;--motion-slow: .38s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--content-max: 1120px;--gutter: 24px;--header-h: 68px;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--border-hover)}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh;color:var(--text)}html{background:var(--bg)}body{background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}button,.btn,.btn-icon,.group-pill,.code,.tab{touch-action:manipulation}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:#34d3994d;color:#fff}.info{color:var(--text-muted);font-size:13.5px;line-height:1.6}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app{width:100%;max-width:var(--content-max);margin:0 auto;padding:28px var(--gutter) 96px;flex:1}.header{position:sticky;top:0;z-index:50;isolation:isolate;border-bottom:1px solid var(--border)}.header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#07090dc7;-webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px)}.header-inner{max-width:var(--content-max);margin:0 auto;min-height:var(--header-h);padding:12px var(--gutter);padding-top:max(12px,env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between;gap:16px}.header .logo,.brand{display:flex;align-items:center;gap:12px;min-width:0}.vault-brand-icon{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:linear-gradient(140deg,#6ee7b7,#10b981 55%,#047857);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);box-shadow:0 8px 24px -6px #10b9818c,inset 0 1px #ffffff59}.header h1,.brand-title{font-size:18px;font-weight:700;margin:0;letter-spacing:-.02em;color:var(--text);white-space:nowrap}.header .badge,.badge{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--accent-soft);color:var(--accent);padding:2px 9px;border-radius:999px;border:1px solid rgba(52,211,153,.25)}.header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.header-icon-btn{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border);background:var(--panel)}.toolbar{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.search-bar-container{position:relative;display:flex;align-items:center}.search-input{width:100%;height:48px;padding:0 48px 0 44px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::-webkit-search-cancel-button{display:none}.search-input:hover{border-color:var(--border-hover)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--panel-2)}.search-input::placeholder{color:var(--muted)}.search-icon{position:absolute;left:16px;color:var(--muted);display:flex;align-items:center;pointer-events:none}.search-clear-btn{position:absolute;right:42px;width:30px;height:30px;background:transparent;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px}.search-clear-btn:hover{color:var(--text);background:var(--panel-3)}.search-kbd-shortcut{position:absolute;right:14px;min-width:22px;text-align:center;font-size:11px;font-family:var(--font-mono);color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:1px 6px;pointer-events:none}.groups-filter-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.groups-filter-bar::-webkit-scrollbar{display:none}.group-pill{display:inline-flex;align-items:center;gap:8px;height:36px;background:var(--panel);border:1px solid var(--border);color:var(--text-muted);padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.group-pill:hover{background:var(--panel-2);border-color:var(--border-hover);color:var(--text)}.group-pill:active{transform:scale(.97)}.group-pill.active{background:var(--accent-soft);border-color:#34d3998c;color:var(--accent);box-shadow:0 0 0 1px #34d39926 inset}.group-pill-count{font-size:11px;font-variant-numeric:tabular-nums;min-width:20px;text-align:center;background:#ffffff0f;color:inherit;padding:1px 7px;border-radius:999px}.group-pill.active .group-pill-count{background:#34d3992e}.group-pill.new-group-pill{border-style:dashed;color:var(--muted);background:transparent}.group-pill.new-group-pill:hover{border-color:var(--accent);color:var(--accent)}.account-list{display:flex;flex-direction:column;gap:20px}.group-wrapper{position:relative}.group-container{background:linear-gradient(180deg,#141922bf,#0e1117bf);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--motion-med) var(--ease-out),box-shadow var(--motion-med) var(--ease-out)}.group-wrapper.edit-mode .group-container{border-color:#34d39959;box-shadow:0 0 0 1px #34d3991f}.group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--ease-out)}.group-header:hover{background:#ffffff05}.group-header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.group-title{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-count-badge{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--panel-3);color:var(--text-muted);padding:1px 9px;border-radius:999px;flex-shrink:0}.group-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.group-action-btn{background:transparent;border:1px solid transparent;color:var(--muted);width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.group-action-btn:hover{background:var(--panel-3);border-color:var(--border);color:var(--text)}.group-action-btn:active{transform:scale(.95)}.group-action-btn.btn-danger:hover{color:var(--danger);background:var(--danger-bg);border-color:#f8717140}.group-action-btn:disabled{opacity:.3;cursor:not-allowed}.group-action-btn:disabled:hover{background:transparent;border-color:transparent;color:var(--muted);transform:none}.group-header-divider{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.group-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--motion-med) var(--ease-out),opacity var(--motion-fast) var(--ease-out)}.group-collapse.collapsed{grid-template-rows:0fr;opacity:0}.group-collapse-inner{overflow:hidden;min-height:0}.group-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;padding:4px 14px 14px}.group-empty-hint{grid-column:1 / -1;padding:26px 16px;text-align:center;color:var(--muted);font-size:13.5px;border:1px dashed var(--border);border-radius:var(--radius-md)}.account-row{position:relative;display:flex;align-items:stretch;min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.account-row:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.account-row>.account-card{flex:1 1 auto;min-width:0}.account-row .reorder-controls{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:0;padding:0;opacity:0;overflow:hidden;background:var(--panel-2);border-left:1px solid transparent;transform:translate(8px);transition:opacity var(--motion-med) var(--ease-out),width var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.group-wrapper.edit-mode .account-row .reorder-controls{width:46px;opacity:1;border-left-color:var(--border);transform:translate(0)}.reorder-btn{background:var(--panel);border:1px solid var(--border);color:var(--text-muted);width:30px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.reorder-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:#34d39966}.reorder-btn:active:not(:disabled){transform:scale(.94)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.account-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px;height:100%;background:transparent;container-type:inline-size;transition:background-color var(--motion-fast) var(--ease-out)}.account-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.account-card.copied-flash{animation:flashGlow .7s var(--ease-out)}@keyframes flashGlow{0%{background:#34d39938}60%{background:#34d3991a}to{background:transparent}}.account-left{display:flex;align-items:center;gap:12px;min-width:0}.account-info{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.account-label-row{display:flex;align-items:center;gap:8px;min-width:0}.account-label{font-weight:650;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.account-group-tag{flex-shrink:0;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:1px 7px;border-radius:6px;background:var(--panel-3);color:var(--text-muted);border:1px solid var(--border)}.group-items .account-group-tag{display:none}.account-meta-text{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-block{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.totp-row,.hotp-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.hotp-row{flex-wrap:wrap}.code{flex:1;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(17px,7.2cqi,24px);font-weight:700;letter-spacing:.12em;color:var(--code);background:var(--sunken);padding:8px 10px;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap;transition:border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.code:hover{border-color:#34d39980;color:#fff;box-shadow:0 0 0 3px #34d39914}.code.expired{color:var(--danger);border-color:#f8717159;animation:pulseExpire 1s infinite alternate}@keyframes pulseExpire{0%{opacity:.7}to{opacity:1}}.countdown{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.countdown svg{display:block}.countdown circle.bg{stroke:var(--border);fill:transparent;stroke-width:3}.countdown circle.fg{stroke:var(--accent);fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .6s linear,stroke .3s ease}.countdown-number{font-family:var(--font-mono);font-size:11px;font-weight:700;fill:var(--text-muted)}.countdown.warn circle.fg{stroke:var(--warn)}.countdown.warn .countdown-number{fill:var(--warn)}.countdown.danger circle.fg{stroke:var(--danger)}.countdown.danger .countdown-number{fill:var(--danger);font-weight:800}.countdown.danger{animation:dangerPulse 1s infinite alternate}@keyframes dangerPulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-icon{background:transparent;border:1px solid transparent;color:var(--muted);width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.btn-icon:hover{background:var(--panel-3);color:var(--text);border-color:var(--border)}.btn-icon:active{transform:scale(.94)}.btn-icon.success{color:var(--success);background:var(--success-glow);border-color:#34d3994d}.btn-icon.btn-danger:hover{color:var(--danger);background:var(--danger-bg);border-color:#f8717140}.btn-icon.active{color:var(--accent);background:var(--accent-soft);border-color:#34d39959}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);height:40px;padding:0 16px;border-radius:10px;font-size:13.5px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.btn:hover{background:var(--panel-3);border-color:var(--border-hover)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#4ade9f 0%,var(--accent-strong) 100%);border-color:#10b981e6;color:var(--accent-ink);box-shadow:0 6px 20px -8px #10b981b3,inset 0 1px #ffffff40}.btn-primary:hover{background:linear-gradient(180deg,#6ee7b7,#22c55e);border-color:var(--accent);box-shadow:0 8px 26px -8px #10b981d9,inset 0 1px #ffffff4d}.btn-danger-solid{background:var(--danger-strong);border:1px solid var(--danger-strong);color:#fff;font-weight:600}.btn-danger-solid:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-danger-solid:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--panel-2);color:var(--text)}.btn-link{background:transparent;border:none;color:var(--accent);padding:0;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:4px}.btn-link:hover{color:var(--accent-hover)}.btn-sm{height:32px;padding:0 12px;font-size:12px;border-radius:8px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow)}.input,.textarea,select{width:100%;min-height:44px;padding:10px 14px;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:10px;font-size:14.5px;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.textarea{resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:hover,.textarea:hover,select:hover{border-color:var(--border-hover)}.input:focus,.textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.label{display:block;font-size:12.5px;font-weight:600;color:var(--text-muted);margin-bottom:7px}.field{margin-bottom:16px}.row{display:flex;gap:12px}.row>*{flex:1;min-width:0}.error{color:#fecaca;background:var(--danger-bg);border:1px solid rgba(248,113,113,.3);padding:10px 14px;border-radius:10px;font-size:13.5px;margin-bottom:14px}.custom-select{position:relative;width:100%}.custom-select-btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:10px;font-size:14.5px;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.custom-select-btn:hover{border-color:var(--border-hover)}.custom-select.open .custom-select-btn,.custom-select-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.custom-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.custom-select-placeholder{color:var(--muted)}.custom-select-chevron{font-size:12px;color:var(--muted);flex-shrink:0;transition:transform var(--motion-fast) var(--ease-out)}.custom-select.open .custom-select-chevron{transform:rotate(180deg);color:var(--accent)}.custom-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:var(--panel-2);border:1px solid var(--border-hover);border-radius:12px;box-shadow:0 16px 40px #0000008c;padding:6px;max-height:240px;overflow-y:auto;animation:selectPop .16s var(--ease-out)}.custom-select-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:transparent;border:none;border-radius:8px;color:var(--text);font-size:14px;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}.custom-select-option:hover,.custom-select-option:focus-visible{background:var(--panel-3);outline:none}.custom-select-option.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.custom-select-check{font-size:12px;color:var(--accent);flex-shrink:0}@keyframes selectPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px));background:#030508b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .15s ease-out}.modal{position:relative;width:100%;max-width:520px;max-height:90vh;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow);animation:scaleUp .2s var(--ease-out)}.modal.modal-sm{max-width:420px}.modal h2{margin:0 0 14px;font-size:20px;font-weight:700}.confirm-message{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.delete-modal{text-align:center;max-width:440px}.delete-modal-icon{width:56px;height:56px;border-radius:18px;background:var(--danger-bg);border:1px solid rgba(248,113,113,.25);color:var(--danger-strong);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.delete-input-wrap{position:relative;display:flex;align-items:center;margin:14px 0 6px}.delete-phrase-chip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--font-mono);background:var(--danger-bg);color:var(--danger);padding:8px 14px;border-radius:10px;font-weight:700;font-size:13px;letter-spacing:.04em;border:1px solid rgba(248,113,113,.25);cursor:pointer;margin:0 auto 4px;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.delete-phrase-chip code{font-family:inherit;font-weight:inherit}.delete-phrase-chip:hover{background:#f8717133;border-color:#f8717173}.delete-phrase-chip:active{transform:scale(.97)}.delete-phrase-chip span{font-family:var(--font-sans);font-size:11px;font-weight:600;opacity:.85}.delete-phrase-chip.copied{background:var(--success-glow);border-color:#34d39966;color:var(--success)}.delete-input-icon{position:absolute;left:14px;display:flex;align-items:center;justify-content:center;color:var(--danger-strong);pointer-events:none;opacity:.85}.delete-confirm-input{width:100%;min-height:48px;background:var(--sunken);color:var(--text);border:1.5px solid rgba(248,113,113,.3);border-radius:10px;padding:12px 14px 12px 42px;font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;outline:none;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.delete-confirm-input::placeholder{color:var(--muted);font-weight:400;letter-spacing:.02em;text-transform:none;opacity:.7}.delete-confirm-input:focus{border-color:var(--danger-strong);box-shadow:0 0 0 3px #f8717133}.delete-confirm-input.confirmed{border-color:var(--success);color:var(--success);background:#34d3990f;box-shadow:0 0 0 3px #34d3992e}.delete-status-bar{display:flex;align-items:center;justify-content:space-between;font-size:12px;min-height:22px;margin:6px 0 14px;padding:0 2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;background:var(--sunken);border:1px solid var(--border);border-radius:12px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:1;background:transparent;border:none;color:var(--muted);min-height:36px;padding:6px 10px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.tab:hover{color:var(--text)}.tab.active{background:var(--panel-3);color:var(--text);box-shadow:0 1px #ffffff0a inset,0 2px 8px #0000004d}.dropzone{border:1.5px dashed var(--border-hover);border-radius:var(--radius-md);padding:32px 20px;text-align:center;cursor:pointer;color:var(--text-muted);background:var(--sunken);transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.dropzone:hover,.dropzone.drag{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.icon-presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;padding:6px;background:var(--sunken);border:1px solid var(--border);border-radius:10px}.icon-preset-btn{background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 8px;display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer;font-size:12px;text-align:left;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.icon-preset-btn:hover{background:var(--panel-2);border-color:var(--border)}.icon-preset-btn.active{background:var(--accent-soft);border-color:var(--accent)}.icon-preset-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:8px 14px;background:var(--sunken);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.icon-picker-trigger:hover{border-color:var(--accent);background:var(--panel-2)}.icon-picker-trigger-left{display:flex;align-items:center;gap:12px;min-width:0}.icon-picker-modal{max-width:600px;display:flex;flex-direction:column;gap:14px}.icon-search-box{position:relative;display:flex;align-items:center}.icon-search-box input{width:100%;min-height:42px;padding:10px 36px;background:var(--sunken);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px}.icon-search-box input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.icon-search-box .icon-search-icon{position:absolute;left:13px;color:var(--muted);pointer-events:none}.icon-categories-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.icon-categories-bar::-webkit-scrollbar{display:none}.icon-category-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.icon-category-btn:hover{color:var(--text);border-color:var(--border-hover)}.icon-category-btn.active{background:var(--accent-soft);color:var(--accent);border-color:#34d3998c}.icon-grid-scroll{max-height:300px;overflow-y:auto;padding:6px;background:var(--sunken);border:1px solid var(--border);border-radius:12px}.icon-grid-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.icon-item-card{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;font-size:12px;text-align:left;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.icon-item-card:hover{background:var(--panel-2);border-color:var(--border-hover)}.icon-item-card.selected{background:var(--accent-soft);border-color:var(--accent)}.icon-item-card span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.logo-circle{border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-weight:700;-webkit-user-select:none;user-select:none}.service-logo{flex-shrink:0}.service-logo img{width:100%;height:100%;object-fit:contain;display:block}.empty{text-align:center;color:var(--text-muted);padding:56px 20px;font-size:14px}.empty-state-card{text-align:center;display:flex;flex-direction:column;align-items:center;padding:64px 24px;background:radial-gradient(420px 220px at 50% 0%,rgba(52,211,153,.08),transparent 70%),var(--panel)}.empty-state-card h3{color:var(--text)}.empty-state-card>div:last-of-type{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.empty-state-icon{width:88px;height:88px;border-radius:26px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(52,211,153,.25)}.empty-state-icon svg{font-size:36px!important}.spinner{width:26px;height:26px;border:3px solid rgba(255,255,255,.08);border-radius:50%;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px;padding-top:max(32px,env(safe-area-inset-top,0px));padding-bottom:max(32px,env(safe-area-inset-bottom,0px))}.login-card{width:100%;max-width:420px;padding:36px 32px 28px;border-radius:var(--radius-xl);background:radial-gradient(380px 180px at 50% -40px,rgba(52,211,153,.12),transparent 70%),var(--panel)}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:26px}.login-brand .vault-brand-icon{width:56px;height:56px;border-radius:18px}.login-title{margin:0;font-size:24px;font-weight:750}.login-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:14px}.login-submit{width:100%;height:46px;margin-top:6px;font-size:14.5px}.password-wrap{position:relative;display:flex;align-items:center}.password-wrap .input{padding-right:48px}.password-toggle{position:absolute;right:4px;width:38px;height:36px}.login-features{list-style:none;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--border);display:grid;gap:10px}.login-features li{display:flex;align-items:flex-start;gap:10px;color:var(--text-muted);font-size:13px;line-height:1.5}.login-features li svg{color:var(--accent);margin-top:3px;flex-shrink:0}.login-footnote{margin:18px 0 0;font-size:12px;color:var(--muted);text-align:center;line-height:1.55}.scanner-view{position:relative;border-radius:var(--radius-md);overflow:hidden;background:#000;aspect-ratio:4 / 3;border:1px solid var(--border);min-height:240px}.scanner-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.scanner-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#00000040}.scanner-box{position:relative;width:min(62%,260px);aspect-ratio:1}.scan-corner{position:absolute;width:28px;height:28px;border:3px solid var(--accent);filter:drop-shadow(0 0 6px rgba(52,211,153,.7))}.scan-corner.tl{top:0;left:0;border-right:none;border-bottom:none;border-radius:10px 0 0}.scan-corner.tr{top:0;right:0;border-left:none;border-bottom:none;border-radius:0 10px 0 0}.scan-corner.bl{bottom:0;left:0;border-right:none;border-top:none;border-radius:0 0 0 10px}.scan-corner.br{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 10px}.scanner-laser{position:absolute;left:6%;right:6%;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px #34d399e6;animation:laserMove 2.2s ease-in-out infinite}@keyframes laserMove{0%,to{top:8%}50%{top:90%}}.scanner-hint{position:absolute;left:0;right:0;bottom:0;padding:12px;text-align:center;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(transparent,#000000bf);pointer-events:none}.scanner-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;aspect-ratio:auto;background:var(--sunken)}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:2000;max-width:calc(100vw - 32px);display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:var(--panel-3);border:1px solid var(--border-hover);border-radius:14px;color:var(--text);font-size:13.5px;font-weight:600;text-align:center;box-shadow:var(--shadow);animation:toastIn .22s var(--ease-out);cursor:pointer}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 960px){.toolbar{flex-direction:row;align-items:center;gap:16px}.toolbar .search-bar-container{flex:0 0 360px}.toolbar .groups-filter-bar{flex:1;min-width:0;padding-bottom:2px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}}@media (max-width: 768px){:root{--gutter: 16px}.app{padding-top:20px}.card,.modal{padding:22px}.icon-grid-large{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (max-width: 640px){:root{--gutter: 12px;--header-h: 60px}.app{padding:14px var(--gutter) calc(110px + env(safe-area-inset-bottom,0px))}.header-inner{gap:10px}.header h1{font-size:17px}.header .badge{display:none}.vault-brand-icon{width:34px;height:34px;border-radius:11px}.header-actions{gap:6px}.header-actions .header-btn{width:40px;padding:0}.header-actions .header-btn .btn-label{display:none}.header-actions .header-btn-add{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:20px;font-size:18px;box-shadow:0 14px 30px -8px #10b981bf,inset 0 1px #ffffff4d}.header-actions .header-btn-add svg{font-size:18px!important}.toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}.toolbar{gap:10px;margin-bottom:16px}.search-input{font-size:16px;padding-right:44px}.search-kbd-shortcut{display:none}.search-clear-btn{right:8px;width:36px;height:36px}.groups-filter-bar{margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter) 4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-padding-inline:var(--gutter)}.group-pill{scroll-snap-align:start}.account-list{gap:14px}.group-container{border-radius:16px}.group-header{padding:10px 8px 10px 14px;gap:4px 8px;flex-wrap:wrap}.group-header-left{gap:10px;flex:1 1 140px}.group-header-right{gap:2px;margin-left:auto}.group-action-btn{width:38px;height:38px}.group-items{padding:2px 8px 8px;gap:8px}.account-card{padding:14px;gap:12px;cursor:pointer;-webkit-tap-highlight-color:rgba(52,211,153,.12)}.account-card:active{background:var(--panel-2)}.account-label{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;line-height:1.35}.card-actions .btn-icon{width:44px;height:44px}.account-row .reorder-controls{gap:8px}.group-wrapper.edit-mode .account-row .reorder-controls{width:44px}.reorder-btn{width:32px;height:32px}.row{flex-direction:column;gap:0}.modal-backdrop{padding:12px}.modal{max-width:100%;border-radius:20px;padding:20px 18px}.modal-actions{gap:8px}.modal-actions .btn{flex:1;height:46px;font-size:14px}.dropzone{padding:24px 14px}.icon-grid-large{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.icon-grid-scroll{max-height:44dvh}.empty-state-card{padding:44px 18px}.empty-state-card .btn{flex:1 1 160px;height:46px}.login-page{align-items:flex-start;padding-top:max(40px,env(safe-area-inset-top,0px))}.login-card{padding:28px 20px 22px}.input,.textarea,select,.custom-select-btn{font-size:16px}.btn{height:44px}.btn-sm{height:36px}}@media (max-width: 360px){.header h1{font-size:15px}.header-actions{gap:4px}.header-actions .header-btn,.header-icon-btn{width:36px;height:36px}.code{letter-spacing:.1em}.card-actions .btn-icon{width:40px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
