:root{--bg: #080c14;--bg-gradient: radial-gradient(circle at 50% 0%, #151d33 0%, #080c14 70%);--panel: #111827;--panel-2: #1a2337;--panel-3: #222e47;--border: #232f48;--border-hover: #3b4d71;--border-focus: #6366f1;--text: #f1f5f9;--text-muted: #94a3b8;--muted: #64748b;--accent: #6366f1;--accent-hover: #4f46e5;--accent-glow: rgba(99, 102, 241, .25);--success: #10b981;--success-glow: rgba(16, 185, 129, .2);--warn: #f59e0b;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .12);--danger-hover: #dc2626;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow: 0 12px 36px -4px rgba(0, 0, 0, .5);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .25);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent;border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:1px solid transparent;background-clip:padding-box;transition:background-color .2s ease}*::-webkit-scrollbar-thumb:hover{background:var(--accent)}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh;background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--text)}body{overflow-x:hidden;overflow-x:clip}body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,.btn,.btn-icon,.group-pill,.code,.tab{touch-action:manipulation}img,svg{max-width:100%}.app{max-width:760px;margin:0 auto;padding:32px 18px 80px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header .logo{display:flex;align-items:center;gap:12px}.vault-brand-icon{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f1,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.header h1{font-size:22px;font-weight:700;margin:0;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header .badge{font-size:11px;font-weight:600;background:var(--panel-2);color:var(--text-muted);padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.search-bar-container{position:relative;display:flex;align-items:center;margin-bottom:16px}.search-input{width:100%;padding:12px 42px 12px 38px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:all .2s ease;box-shadow:var(--shadow-sm)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--panel-2)}.search-input::placeholder{color:var(--muted)}.search-icon{position:absolute;left:12px;color:var(--muted);display:flex;align-items:center;pointer-events:none}.search-clear-btn{position:absolute;right:34px;background:transparent;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:50%}.search-clear-btn:hover{color:var(--text)}.search-kbd-shortcut{position:absolute;right:12px;font-size:11px;font-family:monospace;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;pointer-events:none}.groups-filter-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:20px;scrollbar-width:thin}.groups-filter-bar::-webkit-scrollbar{height:4px}.groups-filter-bar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.group-pill{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);color:var(--text-muted);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform 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);transform:translateY(-1px)}.group-pill:active{transform:translateY(0) scale(.97)}.group-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 18px var(--accent-glow)}.group-pill-count{font-size:10px;background:#00000040;padding:1px 6px;border-radius:999px}.group-pill.new-group-pill{border-style:dashed;color:var(--muted)}.group-pill.new-group-pill:hover{border-color:var(--accent);color:var(--accent)}:root{--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)}.group-container{background:#111827b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out),box-shadow var(--motion-med) var(--ease-out)}.group-container:hover{border-color:var(--border-hover)}.group-wrapper.edit-mode .group-container{border-color:#6366f159;box-shadow:0 0 0 1px #6366f12e,var(--shadow-sm)}.group-wrapper{position:relative;margin-bottom:20px;transition:transform var(--motion-med) var(--ease-out)}.group-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#1a23378c;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--ease-out)}.group-header:hover{background:#1f293ca6}.group-header-left{display:flex;align-items:center;gap:12px}.group-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.group-count-badge{font-size:11px;background:#ffffff0a;color:var(--text-muted);padding:2px 9px;border-radius:999px;border:1px solid var(--border);transition:background-color var(--motion-fast) var(--ease-out)}.group-header-right{display:flex;align-items:center;gap:6px}.group-action-btn{background:transparent;border:none;color:var(--muted);width:30px;height:30px;border-radius:8px;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),transform var(--motion-fast) var(--ease-out)}.group-action-btn:hover{background:#ffffff0f;color:var(--text);transform:translateY(-1px)}.group-action-btn:active{transform:translateY(0) scale(.96)}.group-action-btn.btn-danger:hover{color:var(--danger);background:var(--danger-bg)}.group-items{display:flex;flex-direction:column;gap:1px;background:var(--border)}.group-empty-hint{padding:28px;text-align:center;color:var(--muted);font-size:13px;background:var(--panel)}.account-row{position:relative;display:flex;align-items:stretch;background:var(--border);transition:background-color var(--motion-fast) var(--ease-out)}.account-row:hover{background:var(--border-hover)}.account-row>.account-card{flex:1 1 auto;min-width:0}.account-row .reorder-controls{flex:0 0 44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0 6px;background:#ffffff05;border-left:1px solid var(--border);opacity:0;width:0;overflow:hidden;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{opacity:1;width:44px;transform:translate(0)}.reorder-btn{background:transparent;border:1px solid var(--border);color:var(--muted);width:26px;height:22px;border-radius:6px;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),transform var(--motion-fast) var(--ease-out)}.reorder-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text);border-color:var(--border-hover);transform:translateY(-1px)}.reorder-btn:active:not(:disabled){transform:translateY(0) scale(.94)}.reorder-btn:disabled{opacity:.25;cursor:not-allowed}.group-header-divider{width:1px;height:18px;background:var(--border);margin:0 2px;flex-shrink:0}.group-action-btn:disabled{opacity:.25;cursor:not-allowed}.group-action-btn:disabled:hover{background:transparent;color:var(--muted);transform:none}@media (max-width: 640px){.account-row .reorder-controls{padding:0 4px;flex:0 0 36px}.group-wrapper.edit-mode .account-row .reorder-controls{width:36px}}.account-card{background:var(--panel);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out);position:relative}.account-card:hover{background:var(--panel-2)}.account-card.copied-flash{animation:flashGlow .7s var(--ease-out)}@keyframes flashGlow{0%{background:#10b98147;box-shadow:0 0 #10b98140}60%{background:#10b9812e;box-shadow:0 0 0 6px #10b9810a}to{background:var(--panel);box-shadow:0 0 #10b98100}}.btn-danger-solid{background:var(--danger);border:1px solid var(--danger);color:#fff;font-weight:600;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.btn-danger-solid:hover:not(:disabled){background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.btn-danger-solid:active:not(:disabled){transform:translateY(0) scale(.96)}.btn-danger-solid:disabled{opacity:.6;cursor:not-allowed}.account-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.account-info{min-width:0;display:flex;flex-direction:column;gap:3px}.account-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-label{font-weight:600;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-group-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--panel-3);color:#a5b4fc;border:1px solid rgba(165,180,252,.2)}.account-meta-text{font-size:12px;color:var(--muted);letter-spacing:.02em}.code-block{display:flex;align-items:center;gap:12px;flex-shrink:0}.code{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:.12em;background:#090d16;color:#38bdf8;padding:7px 14px;border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;-webkit-user-select:all;user-select:all;min-width:120px;text-align:center;transition:all .2s ease;box-shadow:inset 0 2px 4px #0006}.code:hover{border-color:#38bdf8;color:#fff;box-shadow:0 0 12px #38bdf84d}.code.expired{color:#f87171;border-color:#ef444466;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:#00000040;stroke-width:3.2}.countdown circle.fg{stroke:var(--success);fill:none;stroke-width:3.2;stroke-linecap:round;transition:stroke-dashoffset .6s linear,stroke .3s ease}.countdown-number{font-family:JetBrains Mono,monospace;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.08)}}.card-actions{display:flex;align-items:center;gap:6px}.btn-icon{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),transform var(--motion-fast) var(--ease-out)}.btn-icon:hover{background:#ffffff0f;color:var(--text);border-color:var(--border);transform:translateY(-1px)}.btn-icon:active{transform:translateY(0) scale(.94)}.btn-icon.success{color:var(--success);background:var(--success-glow);border-color:#10b9814d}.btn-icon.btn-danger:hover{color:var(--danger);background:var(--danger-bg);border-color:#ef444440}.btn-icon.active{color:var(--accent);background:var(--accent-glow)}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out);display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:var(--panel-3);border-color:var(--border-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 18px var(--accent-glow)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-solid:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.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}.btn-sm{padding:4px 10px;font-size:11px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow)}.input,.textarea,select{width:100%;padding:10px 12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;transition:border-color .15s}.input:focus,.textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-weight:700}.field{margin-bottom:14px}.row{display:flex;gap:12px}.row>*{flex:1}.error{color:var(--danger);background:var(--danger-bg);border:1px solid rgba(239,68,68,.3);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:12px}.custom-select{position:relative;width:100%}.custom-select-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;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:0 0 0 3px var(--accent-glow)}.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:var(--radius-sm);box-shadow:0 12px 32px #00000080;padding:6px;max-height:220px;overflow-y:auto;animation:selectPop .16s var(--ease-out);scrollbar-width:thin}.custom-select-menu::-webkit-scrollbar{width:8px}.custom-select-menu::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.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:6px;color:var(--text);font-size:13.5px;font-family:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}.custom-select-option:hover{background:#6366f124}.custom-select-option.selected{background:#6366f12e;color:#fff;font-weight:600}.custom-select-check{font-size:12px;color:var(--accent);flex-shrink:0}@keyframes selectPop{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.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}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fadeIn .15s ease-out}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);animation:scaleUp .18s ease-out}.modal h2{margin-top:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.delete-modal{text-align:center;max-width:440px}.delete-modal-icon{width:52px;height:52px;border-radius:14px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#ef4444;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 0 20px #ef444426}.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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#ef44441f;color:#ef4444;padding:7px 14px;border-radius:8px;font-weight:700;font-size:13px;letter-spacing:.05em;border:1px solid rgba(239,68,68,.25);cursor:pointer;margin:0 auto 4px;transition:background-color var(--motion-fast) var(--ease-out),transform 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:#ef444433;border-color:#ef444473;transform:translateY(-1px)}.delete-phrase-chip:active{transform:translateY(0) scale(.97)}.delete-phrase-chip span{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;opacity:.85}.delete-phrase-chip.copied{background:#10b98124;border-color:#10b98166;color:#10b981}.delete-input-icon{position:absolute;left:14px;display:flex;align-items:center;justify-content:center;color:#ef4444;pointer-events:none;opacity:.85;transition:all .2s ease}.delete-confirm-input{width:100%;background:var(--bg);color:var(--text);border:1.5px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:12px 14px 12px 42px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;outline:none;box-shadow:0 2px 8px #00000040;transition:all .2s cubic-bezier(.4,0,.2,1)}.delete-confirm-input::placeholder{color:var(--muted);font-weight:400;letter-spacing:.02em;text-transform:none;opacity:.6}.delete-confirm-input:focus{border-color:#ef4444;background:#0f172ad9;box-shadow:0 0 0 3px #ef444438,0 2px 12px #ef44441f}.delete-confirm-input.confirmed{border-color:#10b981;color:#10b981;background:#10b9810f;box-shadow:0 0 0 3px #10b98133,0 2px 14px #10b9811f}.delete-status-bar{display:flex;align-items:center;justify-content:space-between;font-size:12px;min-height:22px;margin-top:6px;margin-bottom:14px;padding:0 2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border)}.tab{background:transparent;border:none;color:var(--muted);padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:28px;text-align:center;cursor:pointer;transition:all .2s;color:var(--muted);background:#0f172a66}.dropzone:hover,.dropzone.drag{border-color:var(--accent);color:var(--text);background:var(--accent-glow)}.icon-presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:6px;padding:6px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.icon-preset-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 8px;display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer;font-size:12px;text-align:left;transition:all .15s}.icon-preset-btn:hover{background:var(--panel-2);border-color:var(--border)}.icon-preset-btn.active{background:var(--panel-3);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;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.icon-picker-trigger:hover{border-color:var(--accent);background:var(--panel-2)}.icon-picker-trigger-left{display:flex;align-items:center;gap:12px}.icon-picker-modal{max-width:580px;width:95%;display:flex;flex-direction:column;gap:14px}.icon-search-box{position:relative;display:flex;align-items:center}.icon-search-box input{width:100%;padding:10px 36px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px}.icon-search-box input:focus{outline:none;border-color:var(--accent)}.icon-search-box .icon-search-icon{position:absolute;left:12px;color:var(--muted)}.icon-categories-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.icon-category-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}.icon-category-btn:hover{color:var(--text);border-color:var(--border-hover)}.icon-category-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-grid-scroll{max-height:280px;overflow-y:auto;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.icon-grid-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.icon-item-card{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:12px;text-align:left;transition:all .15s ease}.icon-item-card:hover{background:var(--panel-2);border-color:var(--accent);transform:translateY(-1px)}.icon-item-card.selected{background:var(--panel-3);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.icon-item-card span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.empty{text-align:center;color:var(--muted);padding:48px 20px;font-size:14px}.empty-state-card{text-align:center;display:flex;flex-direction:column;align-items:center;padding:48px 20px}.empty-state-icon{color:var(--muted);margin-bottom:12px;opacity:.8}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px}.header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.header-icon-btn{width:36px;height:36px;flex-shrink:0}.totp-row,.hotp-row{display:flex;align-items:center;gap:10px}.hotp-row{gap:8px;flex-wrap:wrap}.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:26px;height:26px;border:3px solid #38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.7))}.scan-corner.tl{top:0;left:0;border-right:none;border-bottom:none;border-radius:8px 0 0}.scan-corner.tr{top:0;right:0;border-left:none;border-bottom:none;border-radius:0 8px 0 0}.scan-corner.bl{bottom:0;left:0;border-right:none;border-top:none;border-radius:0 0 0 8px}.scan-corner.br{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 8px}.scanner-laser{position:absolute;left:6%;right:6%;height:2px;border-radius:2px;background:#38bdf8;box-shadow:0 0 12px #38bdf8e6;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:10px 12px calc(10px + env(safe-area-inset-bottom,0px));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(--bg)}.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border-hover);color:var(--text);padding:12px 18px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:var(--shadow);z-index:2000;max-width:calc(100vw - 32px);text-align:center;animation:toastIn .2s var(--ease-out);cursor:pointer}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.app{max-width:100%;padding:20px 14px 72px}.header{gap:12px;margin-bottom:16px}.header h1{font-size:19px}.header-actions{gap:6px}.header-actions .btn{padding:8px 12px}.account-card{padding:14px 16px;gap:12px}.code{font-size:18px;min-width:110px;padding:8px 12px}.modal{padding:20px}.icon-grid-large{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}@media (max-width: 640px){.app{padding:14px 10px calc(64px + env(safe-area-inset-bottom,0px))}.header{flex-direction:column;align-items:stretch;gap:12px;position:sticky;top:0;z-index:50;background:#080c14e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin:0 -10px 14px;padding:12px 10px;border-bottom:1px solid var(--border)}.header .logo{justify-content:space-between}.header-actions{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:6px;width:100%}.header-actions .btn,.header-actions .btn-icon{min-height:42px;justify-content:center}.header-actions .header-btn{padding:8px 6px;font-size:12px;white-space:nowrap}.header-btn-add{box-shadow:0 2px 12px var(--accent-glow)}.search-bar-container{margin-bottom:12px}.search-input{padding:13px 42px 13px 38px;font-size:16px;border-radius:12px}.search-kbd-shortcut{display:none}.search-clear-btn{right:10px;width:32px;height:32px}.groups-filter-bar{gap:6px;margin:0 -10px 16px;padding:2px 10px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,black 92%,transparent 100%)}.groups-filter-bar::-webkit-scrollbar{display:none}.group-pill{scroll-snap-align:start;padding:9px 13px;font-size:12.5px;min-height:36px}.group-container{border-radius:14px;margin-bottom:14px}.group-wrapper{margin-bottom:14px}.group-header{padding:12px 12px 12px 14px;gap:8px}.group-header-left{gap:8px;min-width:0;flex:1}.group-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-header-right{gap:2px;flex-shrink:0}.group-action-btn{width:36px;height:36px}.account-card{flex-direction:column;align-items:stretch;gap:12px;padding:14px;cursor:pointer;-webkit-tap-highlight-color:rgba(99,102,241,.15)}.account-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.account-card:active{background:var(--panel-2)}.account-left{gap:10px;width:100%}.account-label{font-size:14px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;line-height:1.35}.account-meta-text{font-size:11.5px}.code-block{width:100%;justify-content:space-between;gap:10px}.totp-row{flex:1;justify-content:space-between;gap:10px;width:100%}.hotp-row{width:100%;justify-content:space-between}.code{flex:1;font-size:21px;letter-spacing:.14em;padding:11px 10px;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-user-select:none}.card-actions{flex-shrink:0}.card-actions .btn-icon{width:44px;height:44px}.row{flex-direction:column;gap:0}.modal-backdrop{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));padding-top:calc(12px + env(safe-area-inset-top,0px));align-items:center;justify-content:center}.modal{width:100%;max-width:100%;max-height:calc(90vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(90dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:18px;padding:20px 18px;animation:scaleUp .18s ease-out}.modal-actions{flex-direction:row;gap:8px}.modal-actions .btn{flex:1;min-height:46px;font-size:14px;white-space:nowrap}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:10px 12px;min-height:42px}.dropzone{padding:22px 14px}.icon-picker-modal{width:100%}.icon-grid-large{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.icon-grid-scroll{max-height:44dvh}.empty-state-card{padding:36px 18px}.empty-state-card>div:last-of-type{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.empty-state-card .btn{flex:1 1 160px;min-height:46px}.login-page{padding:16px;align-items:flex-start;padding-top:max(48px,env(safe-area-inset-top,0px))}.login-card{max-width:100%}.input,.textarea,select,.custom-select-btn{font-size:16px}.btn{min-height:42px}}@media (max-width: 400px){.header-actions{grid-template-columns:auto auto auto auto auto}.header-actions .header-btn .btn-label{display:none}.header-actions .header-btn{padding:8px 12px;min-width:44px}.header h1{font-size:17px}.vault-brand-icon{width:32px;height:32px}.code{font-size:19px}.group-count-badge{padding:2px 7px}.group-header{padding:10px 8px 10px 12px}.group-action-btn{width:32px;height:36px}.account-card{padding:12px}.card-actions .btn-icon{width:40px;height:44px}}@media (min-width: 900px){.app{max-width:800px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
