:root{--bg:#f7fafc;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#2563eb;--brand2:#1d4ed8;--danger:#dc2626}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;background:var(--bg);color:var(--text)}
a{color:var(--brand2);text-decoration:none}
.wrap{max-width:980px;margin:18px auto;padding:0 14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);overflow:hidden}
.hd{padding:14px 16px;border-bottom:1px solid var(--line)}
.bd{padding:16px}
.topbar{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .inner{max-width:980px;margin:0 auto;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.dot{width:10px;height:10px;border-radius:99px;background:var(--brand)}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-weight:800}
.btn:hover{background:var(--brand2);border-color:var(--brand2)}
.btn-secondary{background:#fff;color:var(--brand);border-color:#bfdbfe}
.btn-secondary:hover{background:#eff6ff}
.form{display:grid;gap:10px}
.input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff}
.msg{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}
.msg.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.msg.err{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:720px){.grid{grid-template-columns:1fr}}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}
.tile h3{margin:0}
.small{color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-danger{background:#fff;border-color:#fecaca;color:var(--danger)}
.btn-danger:hover{background:#fef2f2}
