/* assets/styles.css */
:root{
  --bg1:#0b1020;
  --bg2:#111a35;
  --card:#0f1730cc;
  --text:#eaf0ff;
  --muted:#aeb8da;
  --primary:#6aa8ff;
  --danger:#ff6b6b;
  --shadow: 0 18px 60px rgba(0,0,0,.35);
  --radius: 18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 900px at 20% 20%, rgba(106,168,255,.18), transparent 60%),
              radial-gradient(900px 700px at 80% 30%, rgba(139,92,246,.18), transparent 55%),
              linear-gradient(180deg, var(--bg1), var(--bg2));
}
.bg{
  position:fixed; inset:0;
  background:
    radial-gradient(1000px 700px at 20% 10%, rgba(106,168,255,.10), transparent 60%),
    radial-gradient(900px 800px at 80% 40%, rgba(139,92,246,.10), transparent 60%);
  pointer-events:none;
}
.wrap{max-width:980px;margin:0 auto;padding:28px 18px 40px;}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);}
.logo{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(106,168,255,.35), rgba(139,92,246,.25));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  font-size: 18px;
}
.brandtext{font-weight:700;letter-spacing:.2px;}
.nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.navlink{color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:12px;border:1px solid transparent;transition:.15s ease;}
.navlink:hover{color:var(--text);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.card{
  width:min(520px, 100%);margin:0 auto;background:var(--card);
  border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px;backdrop-filter: blur(14px);
}
.card__header h1{margin:0 0 6px;font-size:28px;letter-spacing:.2px;}
.muted{color:var(--muted);margin:0;}
.form{display:flex;flex-direction:column;gap:14px;margin-top:14px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field>span{font-size:13px;color:var(--muted);}
input{
  width:100%;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);background:rgba(3,6,14,.35);
  color:var(--text);outline:none;transition:.15s ease;
}
input:focus{border-color:rgba(106,168,255,.55);box-shadow:0 0 0 4px rgba(106,168,255,.15);}
.pw{display:flex;align-items:stretch;gap:10px;}
.pw input{flex:1}
.pw__toggle{
  width:54px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;transition:.15s ease;
}
.pw__toggle:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.actions{display:flex;gap:12px;margin-top:16px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  text-decoration:none;color:var(--text);cursor:pointer;font-weight:600;transition:.15s ease;width:100%;
}
.btn--primary{
  background: linear-gradient(135deg, rgba(106,168,255,.85), rgba(139,92,246,.85));
  border-color: rgba(255,255,255,.16);
}
.btn--primary:hover{filter:brightness(1.05);transform:translateY(-1px);}
.btn--ghost{background:rgba(255,255,255,.04);}
.btn--ghost:hover{background:rgba(255,255,255,.08);transform:translateY(-1px);}
.switch{margin-top:8px;color:var(--muted);font-size:14px;}
.switch a{color:var(--primary);text-decoration:none}
.switch a:hover{text-decoration:underline}
.alert{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.alert--error{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.10);}
.alert ul{margin:0;padding-left:18px}
.alert li{margin:6px 0;color:var(--text)}
.hint{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.pill{font-size:12px;color:var(--muted);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);padding:8px 10px;border-radius:999px;}
.kv{margin-top:14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);overflow:hidden;}
.kv__row{display:flex;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);}
.kv__row:last-child{border-bottom:none}
.kv__k{width:160px;color:var(--muted);}
.kv__v{flex:1;word-break:break-word;}
.footer{margin-top:22px;text-align:center;color:rgba(255,255,255,.45);font-size:13px;}
@media (max-width:520px){
  .kv__row{flex-direction:column}
  .kv__k{width:auto}
  .actions{flex-direction:column}
}
