:root{color-scheme:dark;--bg:#0b1020;--panel:#121a2e;--panel2:#18233b;--line:#2a3857;--text:#edf2ff;--muted:#9aa8c7;--accent:#6d7cff;--danger:#ff6b79;font:15px system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#172554 0,var(--bg) 38%);color:var(--text);min-height:100vh}button,input,textarea{font:inherit}button{border:0;border-radius:8px;padding:.72rem 1rem;background:var(--accent);color:white;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.12)}button.secondary{background:var(--panel2);border:1px solid var(--line)}button.link{background:none;color:#aab4ff;width:100%}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,440px) minmax(320px,420px);gap:8vw;align-items:center;justify-content:center;padding:2rem}.brand h1{font-size:3rem;margin:.5rem 0}.brand p{color:var(--muted);font-size:1.15rem;line-height:1.5}.logo{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#8b5cf6,#4f7cff);font-weight:800;font-size:1.3rem;box-shadow:0 12px 35px #4f46e566}.logo.small{width:36px;height:36px;border-radius:10px;font-size:.75rem}.card,dialog{background:#10182bd9;border:1px solid var(--line);border-radius:16px;padding:2rem;box-shadow:0 20px 60px #0008}.card{display:grid;gap:1rem}.card h2{margin:0 0 .5rem}label{display:grid;gap:.45rem;color:#ccd5e9;font-weight:600}input,textarea{width:100%;color:var(--text);background:#0b1224;border:1px solid var(--line);border-radius:8px;padding:.75rem;outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6d7cff25}.message{color:var(--danger);min-height:1.2em;margin:0}.app-shell header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:#0d1426}.app-shell header>div{display:flex;align-items:center;gap:1rem}.brand-row{font-size:1.15rem}.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 64px)}aside{padding:1.25rem;border-right:1px solid var(--line);background:#0d1426}aside>button:first-child{width:100%;margin-bottom:1.2rem}nav{display:grid;gap:.35rem}.vault-button{display:flex;justify-content:space-between;width:100%;background:transparent;color:var(--text);text-align:left}.vault-button.active{background:var(--panel2)}aside hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}.full{width:100%;margin:.3rem 0}.content{padding:2rem;max-width:1100px;width:100%;margin:auto}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:2rem}.toolbar h2{margin:0;font-size:1.8rem}.toolbar p{margin:.35rem 0;color:var(--muted)}.toolbar input{max-width:320px}.items{display:grid;gap:.7rem;margin-top:1.5rem}.item{display:grid;grid-template-columns:1fr auto;align-items:center;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:12px}.item h3{margin:0 0 .3rem}.item p{margin:0;color:var(--muted)}.item-actions{display:flex;gap:.4rem}.item-actions button{padding:.55rem}.empty{text-align:center;padding:18vh 1rem;color:var(--muted)}.empty h3{color:var(--text)}dialog{color:var(--text);width:min(560px,calc(100vw - 2rem))}dialog::backdrop{background:#030712cc}dialog form{display:grid;gap:1rem}.dialog-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.dialog-head h2{margin:0}.icon{background:transparent;font-size:1.7rem;padding:.2rem .6rem}.actions{justify-content:flex-end;margin-top:.5rem}.password-row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem}#toast{position:fixed;right:1.5rem;bottom:1.5rem;background:#27375d;padding:.8rem 1.1rem;border-radius:8px;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.danger{background:#5c2230!important}.invite-card{padding:1rem;border:1px solid var(--line);border-radius:10px;margin:.7rem 0}.invite-card .actions{margin-top:.7rem}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.brand{text-align:center}.brand .logo{margin:auto}.brand h1{font-size:2rem}.layout{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}.content{padding:1.2rem}.item{grid-template-columns:1fr;gap:1rem}}
