:root {
  --a-bg: #F4F1EA;
  --a-ink: #22201B;
  --a-line: rgba(34,32,27,0.14);
  --a-green: #1E3A2B;
  --a-gold: #BD8123;
  --a-white: #FFFFFF;
  --a-danger: #A3402B;
  --font-body: "Work Sans", -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--a-bg); color:var(--a-ink); font-family:var(--font-body); }
.a-shell { display:flex; min-height:100vh; }
.a-sidebar {
  width: 230px; background: var(--a-green); color:#EFE8D6; padding:1.5rem 1rem; flex-shrink:0;
}
.a-sidebar h1 { font-size:1rem; color:#fff; margin:0 0 1.5rem; padding:0 0.5rem; }
.a-sidebar nav a {
  display:block; padding:0.65rem 0.75rem; color:#D8CFB4; text-decoration:none; font-size:0.9rem; border-radius:4px;
}
.a-sidebar nav a:hover, .a-sidebar nav a.active { background:rgba(255,255,255,0.1); color:#fff; }
.a-main { flex:1; padding:2rem clamp(1.5rem,4vw,3rem); }
.a-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:2rem; }
.a-card { background:var(--a-white); border:1px solid var(--a-line); padding:1.75rem; border-radius:4px; margin-bottom:1.5rem; }
.a-card h2 { font-size:1.1rem; margin:0 0 1rem; }
.a-btn {
  display:inline-flex; align-items:center; gap:0.4em; padding:0.65em 1.2em; border-radius:4px;
  border:1px solid transparent; background:var(--a-green); color:#fff; cursor:pointer; font-size:0.9rem; text-decoration:none;
}
.a-btn.secondary { background:transparent; border-color:var(--a-line); color:var(--a-ink); }
.a-btn.danger { background:var(--a-danger); }
.a-field { display:block; margin-bottom:1.1rem; }
.a-field label { display:block; font-size:0.82rem; font-weight:600; margin-bottom:0.35rem; }
.a-field input, .a-field textarea, .a-field select {
  width:100%; padding:0.7em 0.85em; border:1px solid var(--a-line); border-radius:4px; font-family:var(--font-body); font-size:0.95rem;
}
.a-table { width:100%; border-collapse:collapse; font-size:0.9rem; }
.a-table th, .a-table td { text-align:left; padding:0.7rem 0.6rem; border-bottom:1px solid var(--a-line); }
.a-alert { padding:0.85rem 1rem; border-radius:4px; margin-bottom:1.25rem; font-size:0.9rem; }
.a-alert.success { background:#E4EFE0; color:#2A4A22; }
.a-alert.error { background:#F6E2DC; color:var(--a-danger); }
.a-login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; }
.a-login-box { background:#fff; border:1px solid var(--a-line); padding:2.5rem; width:100%; max-width:360px; border-radius:6px; }
