*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
  font: 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background: var(--bg);
  color: var(--text);
}
.app {
  height: 100vh;
  height: var(--vh-fix, 100vh);
  height: 100svh;
  height: 100dvh;
}
a{color:#79b8ff;text-decoration:none}
button{font:inherit}
.hidden{display:none !important}
.btn{border:none;background:#203040;color:var(--text);height:36px;min-width:36px;border-radius:10px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.btn:hover{background:#2a3c4f}
.btn.primary{background:var(--accent);color:#fff}
.btn.danger{color:#ffb7b7}
.btn.icon{padding:0;width:36px}
.btn svg,.icon-svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#5ea8ff,#7ed0ff);display:grid;place-items:center;color:#fff;font-weight:700;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.auth-wrap{height:100%;display:grid;place-items:center;background:#0f1822}
.auth-card{background:#17212b;border-radius:16px;padding:22px;width:360px;max-width:calc(100% - 24px);box-shadow:var(--shadow)}
.auth-card h1{margin:0 0 14px;font-size:20px}
.auth-card label{display:block;margin:10px 0 4px;color:var(--muted);font-size:13px}
.auth-card input{width:100%;height:40px;background:#223140;border:none;outline:none;color:#fff;border-radius:10px;padding:0 12px}
.auth-card .btn{width:100%;margin-top:14px;height:42px}
.auth-links{display:flex;justify-content:space-between;margin-top:12px;font-size:13px}
.auth-error{margin-top:10px;color:#ff8a8a;font-size:13px;min-height:18px}
.toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:999}
.toast{background:#1c2935;border:1px solid rgba(255,255,255,.06);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}
