:root { --side:#1f2a24; --green:#1f8a4c; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 "Segoe UI", sans-serif; color:#1c1c1c; background:#f3f5f4; }
body:not(.login-body) { display:flex; min-height:100vh; }
aside { width:210px; background:var(--side); color:#fff; padding:18px 14px; display:flex; flex-direction:column; gap:8px; }
aside a, aside button { color:#e7f6ec; text-decoration:none; background:transparent; border:0; text-align:left; font:inherit; cursor:pointer; padding:8px 6px; border-radius:8px; }
aside a:hover { background:#2d4036; }
.brand { font-weight:700; font-size:18px; margin-bottom:10px; }
main { flex:1; padding:28px; }
h1 { margin-top:0; }
table { width:100%; border-collapse:collapse; background:#fff; }
th, td { text-align:left; padding:10px; border-bottom:1px solid #e6e6e6; vertical-align:middle; }
.thumb { width:54px; height:54px; object-fit:cover; border-radius:6px; }
.thumbs { display:flex; gap:8px; flex-wrap:wrap; }
.thumbs img { width:90px; height:90px; object-fit:cover; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.stats div { background:#fff; border-radius:12px; padding:16px; }
.stats b { display:block; font-size:26px; }
.form { max-width:720px; background:#fff; padding:16px; border-radius:12px; }
label { display:block; margin:10px 0; }
input, textarea, select { width:100%; padding:8px; font:inherit; border:1px solid #ccc; border-radius:8px; }
input[type=checkbox] { width:auto; }
textarea { min-height:140px; }
button, .filters a { background:var(--green); color:#fff; border:0; border-radius:8px; padding:8px 14px; text-decoration:none; }
.filters a { margin-right:8px; display:inline-block; }
.flash { background:#e8f6ea; padding:10px 12px; border-radius:8px; }
.login-body { display:grid; place-items:center; min-height:100vh; }
.login { width:min(420px, 92vw); background:#fff; padding:24px; border-radius:16px; }
.inline select { width:auto; }
@media (max-width:800px) {
  body:not(.login-body) { display:block; }
  aside { width:auto; flex-direction:row; flex-wrap:wrap; }
}
