:root{--primary:#ffd300;--primary-hover:#e6be00;--bg-dark:#292528;--bg-light:#dcdfd6;--text-dark:#292528;--text-light:#f5f5f5;--error:#ff4d4d;--success:#00e676;--card-bg-light:#ffffffa6;--card-bg-dark:#00000059;--card-border-light:#ffffff80;--card-border-dark:#ffffff1a;--input-bg-light:#ffffffd9;--input-bg-dark:#00000059;--expo-out:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-light);color:var(--text-dark);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;transition:background .3s,color .3s}body.dark{background:var(--bg-dark);color:var(--text-light)}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{letter-spacing:-.02em;font-weight:900}.text-small{opacity:.6;font-size:.78rem}.font-mono{letter-spacing:.05em;font-family:Courier New,monospace}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.text-primary{color:var(--primary)}.desktop-only{display:flex}.mobile-only{display:none}.btn{cursor:pointer;transition:all .2s var(--expo-out);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:700;display:inline-flex}.btn-primary{background:var(--primary);color:#000;box-shadow:0 4px 12px #ffd30038}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 18px #ffd30061}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-ghost{color:inherit;background:0 0}.btn-ghost:hover{background:#0000000d}body.dark .btn-ghost:hover{background:#ffffff0d}.btn-icon{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.4rem;transition:background .2s;display:flex}.btn-icon:hover{background:#00000012}body.dark .btn-icon:hover{background:#ffffff12}.btn-danger{color:var(--error)}.btn-danger:hover{background:#ff4d4d1a}.input-group{flex-direction:column;gap:.3rem;margin-bottom:.85rem;display:flex}.input-label{text-transform:uppercase;letter-spacing:.06em;opacity:.5;font-size:.65rem;font-weight:900}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{opacity:.35;pointer-events:none;position:absolute;left:.8rem}.input-field{background:var(--input-bg-light);width:100%;color:inherit;border:2px solid #0000;border-radius:10px;padding:.65rem .9rem .65rem 2.5rem;font-family:inherit;font-size:.9rem;transition:all .2s}body.dark .input-field{background:var(--input-bg-dark);color:var(--text-light)}.input-field:focus{border-color:var(--primary);background:0 0;outline:none}.input-action{color:inherit;opacity:.35;cursor:pointer;background:0 0;border:none;align-items:center;transition:opacity .2s;display:flex;position:absolute;right:.7rem}.input-action:hover{opacity:1}.glass-card{background:var(--card-bg-light);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border-light);border-radius:16px;box-shadow:0 8px 24px #0000000f}body.dark .glass-card{background:var(--card-bg-dark);border:1px solid var(--card-border-dark);box-shadow:0 8px 24px #00000047}.auth-layout{background:radial-gradient(circle at 0 0,#ffd30026 0%,#0000 45%),radial-gradient(circle at 100% 100%,#ffd3001a 0%,#0000 40%);justify-content:center;align-items:center;min-height:100vh;padding:.75rem;display:flex}.theme-toggle-fixed{z-index:1000;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 12px #0000001a}.auth-box{width:100%;max-width:360px;animation:fadeUp .4s var(--expo-out);padding:1.5rem}.auth-header{text-align:center;margin-bottom:1rem}.auth-logo{background:var(--primary);color:#000;border-radius:12px;margin-bottom:.4rem;padding:.6rem;display:inline-flex}.auth-header h1{font-size:1.05rem}.auth-tabs{background:#0000000d;border-radius:8px;margin-bottom:1rem;padding:.18rem;display:flex}body.dark .auth-tabs{background:#ffffff0d}.auth-tab{text-align:center;cursor:pointer;opacity:.45;border-radius:6px;flex:1;padding:.4rem;font-size:.82rem;font-weight:700;transition:all .2s}.auth-tab.active{background:var(--primary);color:#000;opacity:1;box-shadow:0 2px 8px #0000001a}.auth-error{color:var(--error);background:#ff4d4d1a;border:1px solid #ff4d4d33;border-radius:8px;align-items:center;gap:.4rem;margin-bottom:.5rem;padding:.55rem .75rem;font-size:.76rem;font-weight:600;display:flex}.auth-submit{width:100%;margin-top:.25rem;padding:.7rem}.dashboard-layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid #00000012;flex-direction:column;width:220px;min-width:220px;height:100vh;padding:1.1rem;display:flex;position:sticky;top:0;overflow-y:auto}body.dark .sidebar{border-right:1px solid #ffffff0d}.sidebar-header{align-items:center;gap:.65rem;margin-bottom:1.25rem;display:flex}.sidebar-header h2{font-size:.95rem}.sidebar-nav{flex-direction:column;flex:1;gap:.18rem;display:flex}.nav-item{color:inherit;cursor:pointer;opacity:.5;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.6rem .8rem;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.nav-item:hover{opacity:1;background:#0000000d}body.dark .nav-item:hover{background:#ffffff0d}.nav-item.active{background:var(--primary);color:#000;opacity:1}.sidebar-footer{border-top:1px solid #00000012;margin-top:auto;padding-top:.8rem}body.dark .sidebar-footer{border-top:1px solid #ffffff12}.user-profile{background:#00000008;border-radius:8px;align-items:center;gap:.55rem;margin-bottom:.65rem;padding:.6rem;display:flex}body.dark .user-profile{background:#ffffff08}.user-avatar{background:var(--primary);color:#000;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.8rem;font-weight:900;display:flex}.user-email{white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;font-weight:700;overflow:hidden}.user-plan{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-size:.55rem;font-weight:900}.main-content{flex:1;min-width:0;height:100vh;padding:1.5rem;overflow-y:auto}.sticky-header{z-index:50;background:linear-gradient(180deg,var(--bg-light) 0%,var(--bg-light) 78%,#dcdfd600 100%);-webkit-backdrop-filter:blur(8px);margin:-1.5rem -1.5rem .5rem;padding:1rem 1.5rem .5rem;position:sticky;top:0}body.dark .sticky-header{background:linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-dark) 78%,#29252800 100%)}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.top-bar h1{font-size:1.4rem}.search-bar{gap:.6rem;margin-bottom:.5rem;display:flex}.search-input{flex:1}.password-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem;display:grid}.password-card{flex-direction:column;padding:1rem;transition:transform .2s;display:flex;position:relative}.password-card:hover{transform:translateY(-3px)}.password-card.important{border:1.5px solid #ffd300a6;box-shadow:0 4px 18px #ffd3002e,0 8px 24px #0000000f}body.dark .password-card.important{box-shadow:0 4px 18px #ffd30038,0 8px 24px #00000047}.card-star-badge{z-index:2;background:#ffd3002e;border:1px solid #ffd30080;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:.5rem;right:.5rem}.card-header{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.card-icon{background:#0000000d;border-radius:8px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;display:flex;overflow:hidden}body.dark .card-icon{background:#ffffff0d}.card-icon img{object-fit:cover;width:100%;height:100%}.card-title{font-size:.92rem;font-weight:800}.card-desc{opacity:.45;text-transform:uppercase;font-size:.65rem;font-weight:600}.card-details{flex-direction:column;flex:1;gap:.3rem;margin-bottom:.75rem;display:flex}.detail-row{background:#00000008;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;padding:.4rem .55rem;transition:border-color .2s;display:flex}body.dark .detail-row{background:#ffffff08}.detail-row:hover{border-color:#00000014}body.dark .detail-row:hover{border-color:#ffffff14}.detail-label{text-transform:uppercase;opacity:.35;font-size:.58rem;font-weight:900}.detail-value{font-size:.78rem;font-weight:600}.card-actions{border-top:1px solid #0000000d;gap:.15rem;padding-top:.65rem;display:flex}body.dark .card-actions{border-top:1px solid #ffffff0d}.card-actions .btn-icon{flex:1;padding:.3rem}.bottom-nav{display:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:.75rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{width:100%;max-width:420px;animation:fadeUp .32s var(--expo-out);max-height:93vh;margin:auto;padding:1.5rem;position:relative;overflow-y:auto}.modal-close{position:absolute;top:.85rem;right:.85rem}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;display:flex}.spinner{border:3px solid #ffd30033;border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin:2.5rem auto;animation:.85s linear infinite spin}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.card-icon:hover .card-icon-overlay{opacity:1!important;background:#00000073!important}.sidebar{width:248px;min-width:248px}.sidebar-nav{padding-right:.15rem;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}body.dark .sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26}.nav-item{position:relative}.nav-item>span:first-of-type{flex:1}.nav-count{opacity:.55;text-align:center;background:#00000012;border-radius:999px;min-width:18px;padding:.08rem .45rem;font-size:.62rem;font-weight:900}body.dark .nav-count{background:#ffffff14}.nav-item.active .nav-count{opacity:1;color:#000;background:#0000002e}.sidebar-section-header{letter-spacing:.12em;opacity:.45;justify-content:space-between;align-items:center;padding:.6rem .35rem .3rem;font-size:.6rem;font-weight:900;display:flex}.sidebar-section-header .btn-icon{padding:.2rem}.sidebar-section-header:hover .btn-icon{opacity:1;background:var(--primary);color:#000}.sidebar-empty{opacity:.6;padding:.3rem}.sidebar-group{flex-direction:column;margin-bottom:.1rem;display:flex}.group-row{cursor:default;background:0 0;border:none;border-radius:8px;align-items:center;gap:.15rem;padding:.35rem .2rem .35rem .3rem;display:flex}.group-row:hover{background:#0000000a}body.dark .group-row:hover{background:#ffffff0a}.group-row.active,body.dark .group-row.active{background:#ffd3002e}.group-row.active .group-main span{color:var(--primary);font-weight:900}.group-toggle{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;border-radius:5px;padding:.2rem;display:flex}.group-toggle:hover{opacity:1;background:#0000000f}body.dark .group-toggle:hover{background:#ffffff0f}.group-main{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:.5rem;min-width:0;padding:.2rem .3rem;font-family:inherit;font-size:.82rem;font-weight:700;display:flex}.group-thumb{background:#0000000f;border-radius:6px;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;display:flex;overflow:hidden}.group-thumb img{object-fit:cover;width:100%;height:100%}.group-edit{opacity:0;padding:.2rem;transition:opacity .15s}.group-row:hover .group-edit{opacity:.6}.group-edit:hover{opacity:1!important}.group-children{flex-direction:column;gap:.05rem;margin-bottom:.2rem;padding-left:1.7rem;display:flex}.cat-row{align-items:center;gap:.15rem;display:flex}.nav-subitem{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:.45rem;min-width:0;padding:.32rem .5rem;font-family:inherit;font-size:.76rem;font-weight:600;display:flex}.nav-subitem:hover{opacity:1;background:#0000000a}body.dark .nav-subitem:hover{background:#ffffff0a}.cat-dot{border-radius:50%;width:9px;min-width:9px;height:9px}.cat-edit{opacity:0;padding:.15rem}.cat-row:hover .cat-edit{opacity:.6}.cat-edit:hover{opacity:1!important}.nav-subitem.add-cat{opacity:.45;font-style:italic}.nav-subitem.add-cat:hover{opacity:.9;color:var(--primary)}.user-profile-btn{cursor:pointer;color:inherit;text-align:left;border:none;width:100%;font-family:inherit;transition:background .15s}.user-profile-btn:hover{background:#0000000f!important}body.dark .user-profile-btn:hover{background:#ffffff0f!important}.user-role-badge{text-transform:uppercase;letter-spacing:.05em;color:#000;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;margin-top:.1rem;padding:.1rem .5rem;font-size:.55rem;font-weight:900;display:inline-block;overflow:hidden}.category-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.chip{color:inherit;cursor:pointer;background:#0000000d;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.32rem .7rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}body.dark .chip{background:#ffffff0d}.chip:hover{background:#00000017}body.dark .chip:hover{background:#ffffff17}.chip-active{background:var(--primary);color:#000}.chip-add{opacity:.6;background:0 0;border:1px dashed #0000002e}.chip-add:hover{opacity:1;border-color:var(--primary);color:var(--primary);background:0 0}body.dark .chip-add{border-color:#ffffff2e}.category-empty{border:1px dashed #0000001f;align-items:center;gap:.8rem;margin-bottom:.9rem;padding:.9rem 1rem;display:flex}body.dark .category-empty{border-color:#ffffff1f}.password-card.selectable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.password-card.selectable:hover{border-color:var(--primary)}.password-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 8px 24px #ffd3002e}.card-checkbox{z-index:2;cursor:pointer;background:#ffffffd9;border-radius:6px;justify-content:center;align-items:center;padding:.18rem;display:flex;position:absolute;top:.55rem;right:.55rem}body.dark .card-checkbox{background:#0000008c}.selection-bar{z-index:900;min-width:min(560px,90vw);max-width:92vw;animation:fadeUp .22s var(--expo-out);border-radius:14px;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0000002e}@media (width<=768px){.selection-bar{bottom:calc(78px + env(safe-area-inset-bottom,0px));width:calc(100% - 1rem);min-width:0}}.card-tags{flex-wrap:wrap;gap:.25rem;margin-bottom:.6rem;display:flex}.tag{text-overflow:ellipsis;white-space:nowrap;background:#0000000d;border:1px solid #0000000f;border-radius:999px;align-items:center;gap:.2rem;max-width:100%;padding:.15rem .45rem;font-size:.62rem;font-weight:800;display:inline-flex;overflow:hidden}body.dark .tag{background:#ffffff0d;border-color:#ffffff0f}.tag-group{cursor:pointer}.tag-group:hover{filter:brightness(1.1)}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1500;background:#0000008c;align-items:stretch;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.mobile-drawer{width:88%;max-width:320px;height:100vh;animation:slideRight .22s var(--expo-out);border-radius:0 18px 18px 0;flex-direction:column;padding:1rem;display:flex;overflow-y:auto}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.sidebar{display:none}.main-content{height:calc(100vh - 70px);padding:1rem}.sticky-header{margin:-1rem -1rem .5rem;padding:.75rem 1rem .4rem}.top-bar h1{font-size:1.2rem}.password-grid{grid-template-columns:1fr}.bottom-nav{z-index:100;padding:.4rem .5rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom));border:none;border-top:1px solid #00000014;border-radius:0;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}body.dark .bottom-nav{border-top:1px solid #ffffff14}.nav-item-mobile{opacity:.5;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;min-width:0;padding:.3rem .2rem}.nav-item-mobile.active{color:var(--primary);opacity:1;background:#ffd30026}.nav-item-mobile:hover{opacity:.9;background:#0000000a}body.dark .nav-item-mobile:hover{background:#ffffff0a}.nav-item-mobile.active span{color:var(--primary)}}@media (width<=480px){.auth-box,.modal-content{padding:1.1rem}}
