:root{
  --bg:#f6f7fb;
  --card-bg:#fff;
  --muted:#6b7280;
  --border:#e6e9ef;
  --primary:#2563eb;
  --radius:8px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#111;font-family:Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", sans-serif}
.container{max-width:1200px;margin:20px auto;padding:0 16px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--card-bg);border-bottom:1px solid var(--border)}
.topbar h1,.topbar h2{margin:0;font-weight:600}
.btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--card-bg);cursor:pointer}
.btn.primary{background:var(--primary);color:white;border:none}
.btn.ghost{background:transparent;border:1px solid var(--border)}
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
input,select,textarea{border:1px solid #d8dde8;border-radius:6px;padding:8px}
.panel-head{font-weight:600;color:#0f172a;margin-bottom:8px}
.hidden{display:none}

/* simple utility spacing */
.gap-sm{gap:8px}
.gap-md{gap:16px}
.right-link{color:var(--primary);text-decoration:none;font-size:14px}
