/* Shared styles of all KoalaDB pages. Page-specific styles stay in the page itself. */
:root{--bg:#f6f8fa;--fg:#24292f;--border:#d0d7de;--border-light:#d8dee4;--card-bg:#fff;--muted:#656d76;--btn-primary:#2da44e;--btn-primary-hover:#2c974b;--btn-secondary:#0969da;--btn-secondary-hover:#0860ca;--btn-danger:#cf222e;--input-bg:#fff;--highlight:#dafbe1;--highlight-hover:#c9f0d1;--avatar-bg:#ebedf0;--dead-bg:#fafafa;--dead-hover:#f3f4f6;--tree:#6e40aa;--tree-hover:#5a3391}
body.dark{--bg:#0d1117;--fg:#c9d1d9;--border:#30363d;--border-light:#21262d;--card-bg:#161b22;--muted:#8b949e;--btn-primary:#238636;--btn-primary-hover:#2ea043;--btn-secondary:#1f6feb;--btn-secondary-hover:#388bfd;--btn-danger:#da3633;--input-bg:#0d1117;--highlight:#1f6f3c;--highlight-hover:#2ea043;--avatar-bg:#21262d;--dead-bg:#161b22;--dead-hover:#1c2128}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;transition:background .2s,color .2s}
.wrap{margin:0 auto;padding:16px}

/* Header */
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:8px}
.head h1{font-size:1.25em;white-space:nowrap}
.head h1 a{color:inherit;text-decoration:none}
.head-r{display:flex;align-items:center;gap:12px;font-size:.85em;color:var(--muted);flex-wrap:wrap}
.head-r a{color:var(--muted);text-decoration:none}
.head-r a:hover{color:var(--fg)}
.head-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--btn-primary);color:#fff !important;border-radius:6px;text-decoration:none;font-weight:600}
.head-btn:hover{background:var(--btn-primary-hover);color:#fff !important}
.head-btn.secondary{background:var(--btn-secondary)}
.head-btn.secondary:hover{background:var(--btn-secondary-hover)}
.head-btn.tree{background:var(--tree)}
.head-btn.tree:hover{background:var(--tree-hover)}
.head-link{background:none;border:none;padding:0;font:inherit;color:var(--muted);cursor:pointer}
.head-link:hover{color:var(--fg)}
.dark-toggle{padding:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}
.dark-toggle:hover{background:var(--border-light);color:var(--fg)}
.lang-select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:.85em;background:var(--input-bg);color:var(--fg);cursor:pointer}

/* Buttons */
.btn{padding:8px 16px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.btn-primary{background:var(--btn-primary);color:#fff}
.btn-primary:hover{background:var(--btn-primary-hover)}
.btn-secondary{background:var(--btn-secondary);color:#fff}
.btn-secondary:hover{background:var(--btn-secondary-hover)}
.btn-danger{background:var(--input-bg);color:var(--btn-danger);border:1px solid var(--border)}
.btn-danger:hover{background:rgba(218,54,51,.1)}
.btn-cancel{background:var(--input-bg);color:var(--muted);border:1px solid var(--border)}
.btn-cancel:hover{background:var(--dead-hover)}
/* Delete actions are small POST forms that look like links */
.inline-form{display:inline;margin:0}
.link-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}

/* Location category badges */
.category-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7em;margin-left:8px}
.cat-zoo{background:#1f6feb33;color:#58a6ff}
.cat-wildnis{background:#238636;color:#3fb950}
.cat-rettung{background:#f8514933;color:#f85149}
.cat-anderes{background:var(--muted);color:var(--muted);opacity:.5}

.flash{background:rgba(207,34,46,.1);border:1px solid var(--btn-danger);color:var(--btn-danger);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:.9em}
.version{position:fixed;bottom:8px;left:8px;font-size:.75em;color:var(--muted);background:var(--card-bg);padding:4px 8px;border-radius:4px;border:1px solid var(--border);transition:background .2s,border-color .2s}
