/* Central theme tokens + base components */
:root{
  --header-h:62px;
  --radius:14px;
  --bg:#121417;
  --card:#1B1F24;
  --hover:#242A31;
  --text:#E6E9EF;
  --muted:#A8B0BD;
  --border:#2A313A;
  --accent:#2F80ED;
  --accent2:#1C64F2;
  --danger:#EB5757;
  --ok:#27AE60;
}
body.theme-light{
  --bg:#F4F6F9;
  --card:#FFFFFF;
  --hover:#EEF2F7;
  --text:#121417;
  --muted:#4C5563;
  --border:#D7DEE8;
  --danger:#D7263D;
  --ok:#27AE60;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
.header{
  position:fixed;top:0;left:0;right:0;height:var(--header-h);
  background:var(--card);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 14px;z-index:200;
}
.header-left{display:flex;gap:12px;align-items:center;min-width:0}
.header-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-right{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}
.header-btn{
  padding:8px 10px;cursor:pointer;border-radius:10px;
  border:1px solid var(--border);background:transparent;color:var(--text);
}
.header-btn:hover{background:var(--hover)}
.wrap{max-width:900px;margin:0 auto;padding:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px;cursor:pointer;transition:.2s;
}
.card:hover{background:var(--hover)}
.block{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--card);margin-bottom:12px}
input,select,textarea{
  width:100%;box-sizing:border-box;padding:10px;font-size:14px;
  border:1px solid var(--border);border-radius:10px;
  background:var(--bg);color:var(--text);
}
textarea{resize:vertical}
.btn-primary{
  background:var(--accent);color:#fff;border:none;border-radius:10px;
  padding:10px 14px;cursor:pointer;font-weight:700;
}
.btn-primary:hover{background:var(--accent2)}
