:root {
  --bg: #f3f5f7;
  --panel: #ffffff;
  --line: #d7dde5;
  --text: #222;
  --accent: #0a7f5a;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
a { color:#095ca0; text-decoration:none; }
.topbar { background:#0f172a; color:#fff; }
.wrap { max-width:1200px; margin:0 auto; padding:12px; }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; }
.layout { display:grid; grid-template-columns:220px 1fr; gap:16px; }
.side-menu { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:8px; display:flex; flex-direction:column; gap:4px; }
.side-menu a { padding:8px; border-radius:6px; }
.side-menu a:hover { background:#eef6ff; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px; }
.cards { display:grid; grid-template-columns: repeat(3, minmax(120px,1fr)); gap:10px; }
.cards article { border:1px solid var(--line); border-radius:8px; padding:10px; background:#fafcff; }
.auth-wrap { max-width:420px; margin:80px auto; background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px; }
label { display:block; margin-bottom:10px; font-size:14px; }
input, textarea, select, button { width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; }
button { background:var(--accent); color:white; font-weight:700; cursor:pointer; }
.inline-form { display:flex; gap:8px; margin-bottom:10px; }
.inline-form input, .inline-form button { width:auto; }
.form-grid { display:grid; gap:10px; }
table { width:100%; border-collapse:collapse; margin-top:10px; }
th, td { border:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
.error { color:#b91c1c; }
.ok { color:#0f766e; }
@media (max-width: 900px) {
  .layout { grid-template-columns:1fr; }
}
