:root{--bg: #0c1222;--bg2: #141c2e;--panel: #1a2438;--line: #2a3650;--text: #e8eef8;--muted: #8b9bb8;--accent: #3d7cff;--accent2: #1f4fbf;--danger: #e45858;--ok: #3ecf8e;--warn: #e6b35a;--radius: 12px;--font: "DM Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--touch: 44px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1a2a55 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#13233f 0%,transparent 50%),var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;border-radius:10px;background:var(--accent);color:#fff;padding:.65rem 1rem;font-weight:600;min-height:var(--touch)}button.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}button.danger{background:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;outline:none;min-height:var(--touch)}textarea{min-height:5.5rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox],input[type=radio]{width:auto;min-width:1.1rem;min-height:1.1rem;padding:0;flex-shrink:0;accent-color:var(--accent)}input[type=range]{min-height:1.5rem;padding:0}.card{background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:0}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100%}.layout.sidebar-collapsed{grid-template-columns:1fr}.layout.sidebar-collapsed .sidebar{display:none}.sidebar{border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 85%,transparent);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.35rem}.sidebar-toggle{padding:.35rem .55rem;min-width:auto;min-height:auto;line-height:1;flex-shrink:0}.sidebar-reopen{margin-bottom:1rem;padding:.45rem .75rem}.brand{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1.25rem}.navlink{display:block;padding:.7rem .75rem;border-radius:8px;color:var(--muted)}.navlink.active,.navlink:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text)}.main{padding:1.5rem;min-width:0;overflow-x:hidden}.muted{color:var(--muted)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.75rem}.auth-shell{min-height:100%;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(420px,100%)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);font-size:.95rem}.table-wrap{width:100%;overflow-x:auto}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line)}.badge.pending{color:var(--warn)}.badge.active{color:var(--ok)}.badge.suspended{color:var(--danger)}.list-item{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .4rem;border-bottom:1px solid var(--line);cursor:pointer;min-width:0}.list-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.list-item-body{min-width:0;flex:1}.mono{font-family:var(--mono)}.error{color:var(--danger);font-size:.9rem}.success{color:var(--ok);font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.check-row{display:inline-flex;align-items:center;gap:.45rem;width:auto}.input-with-action{display:flex;gap:.45rem;align-items:stretch;min-width:0}.input-with-action input{flex:1;min-width:0}.input-with-action button{flex-shrink:0;white-space:nowrap;padding:.55rem .75rem}.url-line{display:flex;align-items:center;gap:.45rem;margin-top:.35rem;min-width:0}.url-line .url-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.url-open-btn{padding:.2rem .55rem;min-height:32px;font-size:.78rem}.vault-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.vault-split.aside{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.pw-gen-slot{display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg2) 70%,transparent)}.pwgen-compact h3{font-size:1rem}.mobile-topbar,.nav-backdrop,.mobile-only{display:none}@media (max-width: 900px){.layout,.layout.sidebar-collapsed{display:flex;flex-direction:column;grid-template-columns:none}.layout.sidebar-collapsed .sidebar{display:flex}.mobile-topbar{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 92%,transparent);position:sticky;top:0;z-index:20}.mobile-topbar button{min-height:var(--touch);min-width:var(--touch);padding:.35rem .7rem}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,88vw);z-index:40;transform:translate(-110%);transition:transform .2s ease;border-right:1px solid var(--line);overflow-y:auto}.layout.nav-open .sidebar{transform:translate(0)}.layout.nav-open .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0408128c;z-index:30}.desktop-only{display:none!important}.mobile-only{display:inline-flex}.sidebar-reopen{display:none}.main{padding:1rem}.vault-split,.vault-split.aside{grid-template-columns:1fr}.input-with-action{flex-wrap:wrap}.input-with-action input{flex:1 1 100%}.input-with-action button{flex:1 1 auto}.card{padding:1rem}}@media (max-width: 520px){.auth-shell{padding:.75rem}button{padding:.6rem .8rem}}
