:root { --plum:#28523d; --coral:#b9684c; --sun:#d8b873; --teal:#4f7d5e; --ink:#263028; --muted:#687066; --bg:#f1ece2; --paper:#fff; --line:#ded5c6; --shadow:0 18px 50px rgba(44,67,49,.13); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:"Segoe UI",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { max-width:100%; line-height:1.13; letter-spacing:-.015em; overflow-wrap:break-word; hyphens:auto; font-family:"Trebuchet MS","Segoe UI",ui-sans-serif,sans-serif; }
.login-page { min-height:100vh; background:radial-gradient(circle at 10% 20%, rgba(216,184,115,.62), transparent 25%),radial-gradient(circle at 90% 80%, rgba(79,125,94,.42), transparent 30%),linear-gradient(130deg,var(--plum),#8e6d4e); }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:35px 20px; }
.login-brand { position:fixed; left:30px; top:25px; padding:8px 15px; border-radius:15px; background:#fff; }
.login-brand img { width:175px; }
.login-card { width:min(500px,100%); padding:42px; border-radius:30px; background:#fff; box-shadow:0 30px 80px rgba(34,53,39,.3); }
.login-card h1 { margin:8px 0 12px; color:var(--plum); font-size:2.15rem; }
.login-card > p { color:var(--muted); }
.login-card form,.admin-form { display:grid; gap:16px; }
.login-card label,.admin-form label { display:grid; gap:6px; color:var(--plum); font-size:.78rem; font-weight:800; }
.login-card input,.admin-form input,.admin-form textarea { width:100%; padding:12px 14px; border:1px solid #d5cbbb; border-radius:10px; color:var(--ink); background:#fff; outline:none; }
.login-card input:focus,.admin-form input:focus,.admin-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(79,125,94,.14); }
.admin-eyebrow { color:var(--coral); font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.admin-button { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-height:45px; padding:10px 19px; border:0; border-radius:999px; color:#fff; background:var(--coral); font-weight:850; }
.admin-button:hover { background:var(--plum); }
.admin-button.secondary { color:var(--plum); background:var(--sun); }
.admin-button.ghost { color:var(--plum); border:1px solid var(--line); background:#fff; }
.admin-button.small { min-height:38px; padding:8px 14px; font-size:.78rem; }
.back-site { display:block; margin-top:25px; color:var(--plum); font-weight:800; font-size:.83rem; }
.admin-notice { margin-bottom:20px; padding:13px 16px; border-radius:10px; color:#28523d; background:#e4f0e3; font-weight:750; }
.admin-notice.error { color:#8a1b15; background:#ffebe8; }
.admin-top { position:sticky; top:0; z-index:20; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:11px 26px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(15px); }
.admin-logo img { width:165px; }
.admin-top > div { display:flex; align-items:center; gap:14px; font-size:.8rem; font-weight:800; }
.admin-top form { display:inline; }
.admin-top button { border:0; border-radius:999px; padding:8px 13px; color:#fff; background:var(--plum); }
.admin-layout { min-height:calc(100vh - 78px); display:grid; grid-template-columns:235px 1fr; }
.admin-sidebar { position:sticky; top:78px; height:calc(100vh - 78px); display:flex; flex-direction:column; padding:25px 15px; color:#fff; background:var(--plum); }
.admin-sidebar nav { display:grid; gap:5px; }
.admin-sidebar nav a { display:flex; justify-content:space-between; align-items:center; padding:12px 15px; border-radius:11px; color:rgba(255,255,255,.75); font-weight:750; font-size:.85rem; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:var(--plum); background:var(--sun); }
.admin-sidebar nav b { display:grid; place-items:center; min-width:23px; height:23px; padding:0 5px; border-radius:999px; color:#fff; background:var(--coral); font-size:.68rem; }
.admin-user { display:grid; margin-top:auto; padding:15px; border-radius:12px; background:rgba(255,255,255,.08); }
.admin-user small { color:rgba(255,255,255,.58); }
.admin-main { min-width:0; padding:45px; }
.admin-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:30px; }
.admin-heading h1 { margin:7px 0 10px; color:var(--plum); font-size:clamp(1.85rem,3vw,2.8rem); }
.admin-heading p { margin-bottom:0; color:var(--muted); }
.stat-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:17px; margin-bottom:25px; }
.stat-grid a { display:grid; min-height:180px; align-content:end; padding:22px; border-radius:22px; background:#fff; box-shadow:var(--shadow); transition:transform .2s ease; }
.stat-grid a:hover { transform:translateY(-4px); }
.stat-grid span { margin-bottom:auto; font-size:2rem; }
.stat-grid b { color:var(--plum); font-size:2.35rem; }
.stat-grid small { color:var(--muted); }
.admin-panel { padding:27px; border-radius:22px; background:#fff; box-shadow:0 10px 35px rgba(44,67,49,.08); }
.admin-panel h2 { color:var(--plum); }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.panel-heading p { margin-bottom:0; color:var(--muted); font-size:.85rem; }
.panel-heading a { color:var(--coral); font-weight:850; font-size:.82rem; }
.compact-list { display:grid; margin-top:17px; }
.compact-list > a { display:grid; grid-template-columns:12px 1fr auto; gap:13px; align-items:center; padding:14px 5px; border-top:1px solid var(--line); }
.compact-list div { display:grid; }
.compact-list small { color:var(--muted); }
.compact-list time { color:var(--muted); font-size:.75rem; }
.message-dot { width:9px; height:9px; border-radius:50%; background:#ccc; }
.message-dot.new { background:var(--coral); box-shadow:0 0 0 4px rgba(185,104,76,.14); }
.admin-grid-main { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:22px; align-items:start; }
.admin-grid-main > .admin-panel { min-width:0; }
.editor-panel { position:sticky; top:102px; scroll-margin-top:100px; }
.content-list { display:grid; gap:12px; }
.content-list article { display:grid; grid-template-columns:100px 1fr auto; gap:15px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; }
.content-list article > img { width:100px; height:85px; object-fit:contain; background:#f3eee4; border-radius:10px; }
.content-list article span { color:var(--coral); font-size:.66rem; font-weight:900; text-transform:uppercase; }
.content-list article h3 { margin:5px 0; font-size:1.1rem; }
.content-list article p { margin:0; color:var(--muted); font-size:.78rem; }
.content-list .media-count { display:block; margin-top:6px; color:var(--plum); font-size:.68rem; font-weight:800; }
.topic-list .topic-number { width:100px; text-align:center; color:var(--teal); font-size:1.6rem; font-weight:900; }
.row-actions { display:flex; align-items:center; gap:8px; }
.row-actions a,.row-actions button { border:0; color:var(--plum); background:none; font-size:.72rem; font-weight:850; }
.row-actions button { color:#b42318; }
.admin-field-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.admin-form label small { color:var(--muted); font-weight:500; }
.admin-form textarea { resize:vertical; min-height:90px; }
.admin-form input[type=file] { background:var(--bg); }
.admin-check { grid-template-columns:auto 1fr !important; align-items:center; }
.admin-check input { width:18px; height:18px; }
.editor-preview { width:100%; height:210px; object-fit:contain; background:#f3eee4; border-radius:12px; }
.editor-preview.portrait { max-height:290px; object-position:center 25%; }
.media-editor-block { display:grid; gap:14px; padding:18px; border:1px solid var(--line); border-radius:15px; background:var(--bg); }
.media-editor-block h3 { margin:0; color:var(--plum); font-size:1.15rem; }
.youtube-editor { background:#fff7e4; }
.animal-media-admin { display:grid; gap:10px; }
.animal-media-admin > b { color:var(--plum); font-size:.78rem; }
.animal-media-admin > div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.animal-media-admin label { position:relative; display:block; overflow:hidden; border:2px solid transparent; border-radius:10px; background:#fff; }
.animal-media-admin label:has(input:checked) { border-color:#b42318; opacity:.58; }
.animal-media-admin img { width:100%; height:105px; object-fit:contain; background:#f3eee4; }
.animal-media-admin span { display:flex; align-items:flex-start; gap:6px; padding:8px; color:#8a1b15; font-size:.66rem; line-height:1.3; }
.animal-media-admin input { flex:0 0 auto; width:16px; height:16px; padding:0; }
.cancel-link { color:var(--muted); font-size:.8rem; font-weight:800; }
.gallery-admin { grid-template-columns:380px 1fr; }
.admin-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.admin-gallery figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; }
.admin-gallery img { width:100%; height:160px; object-fit:contain; background:#f3eee4; }
.admin-gallery figcaption { display:grid; gap:5px; padding:12px; }
.admin-gallery span { color:var(--muted); font-size:.74rem; }
.admin-gallery button,.delete-button { border:0; padding:0; color:#b42318; background:none; font-size:.72rem; font-weight:850; }
.admin-empty { padding:35px; color:var(--muted); text-align:center; }
.message-list { display:grid; gap:18px; }
.message-card { padding:27px; border-left:5px solid #b8b5a9; border-radius:20px; background:#fff; box-shadow:0 10px 35px rgba(44,67,49,.08); scroll-margin-top:100px; }
.message-card.unread { border-left-color:var(--coral); }
.message-card header { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.message-card header span { color:var(--coral); font-size:.68rem; font-weight:900; text-transform:uppercase; }
.message-card header h2 { margin:5px 0 0; color:var(--plum); }
.message-card time { color:var(--muted); font-size:.75rem; }
.message-meta { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; padding:12px; border-radius:10px; background:var(--bg); font-size:.78rem; }
.message-meta a { color:var(--plum); font-weight:800; }
.message-text { line-height:1.7; }
.message-card footer { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.message-card footer form { display:inline; }
.application-summary { display:grid; place-items:center; min-width:92px; min-height:92px; border-radius:50%; color:var(--plum); background:var(--sun); transform:rotate(4deg); }
.application-summary b { font-size:2rem; line-height:1; }
.application-summary span { font-size:.72rem; font-weight:850; text-transform:uppercase; }
.application-list { display:grid; gap:18px; }
.admin-application { padding:27px; border-left:5px solid #b8b5a9; border-radius:20px; background:#fff; box-shadow:0 10px 35px rgba(44,67,49,.08); scroll-margin-top:100px; }
.admin-application.unread { border-left-color:var(--coral); }
.admin-application > header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.admin-application header h2 { margin:8px 0 2px; color:var(--plum); }
.admin-application header small { color:var(--muted); }
.application-kind { display:inline-flex; padding:5px 10px; border-radius:999px; color:#fff; background:var(--teal); font-size:.66rem; font-weight:900; text-transform:uppercase; }
.application-kind.membership { color:var(--plum); background:var(--sun); }
.application-state { display:grid; justify-items:end; }
.application-state b { color:var(--coral); font-size:.7rem; text-transform:uppercase; }
.application-state time { color:var(--muted); font-size:.75rem; }
.application-facts { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:10px; margin:22px 0; }
.application-facts > div { display:grid; align-content:start; min-width:0; padding:13px; border-radius:11px; background:var(--bg); overflow-wrap:anywhere; }
.application-facts small,.sepa-details small { color:var(--muted); font-size:.65rem; font-weight:850; text-transform:uppercase; }
.application-facts a { color:var(--plum); font-weight:800; }
.application-facts strong { color:var(--plum); }
.sepa-details { margin:12px 0; padding:12px 15px; border:1px solid var(--line); border-radius:11px; background:#fffaf0; }
.sepa-details summary { color:var(--plum); cursor:pointer; font-size:.78rem; font-weight:850; }
.sepa-details > div { display:flex; flex-wrap:wrap; gap:25px; padding-top:12px; }
.sepa-details span { display:grid; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.gift-note { margin:12px 0; padding:11px 14px; border-radius:11px; color:var(--plum); background:#f3eadf; }
.admin-application > footer { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.admin-application > footer form { display:inline; }
.settings-panel { max-width:920px; }
.settings-panel h2 { margin:25px 0 5px; padding-top:18px; border-top:1px solid var(--line); }
.settings-panel h2:first-of-type { margin-top:0; padding-top:0; border:0; }
.account-panel { max-width:540px; }
@media (max-width:1200px) { .stat-grid { grid-template-columns:repeat(3,1fr); } .application-facts { grid-template-columns:repeat(2,1fr); } }
@media (max-width:1100px) { .stat-grid { grid-template-columns:repeat(2,1fr); } .admin-grid-main { grid-template-columns:1fr; } .editor-panel { position:static; } .gallery-admin { grid-template-columns:1fr; } }
@media (max-width:760px) { .login-brand { position:static; margin-bottom:20px; } .login-shell { display:flex; flex-direction:column; } .login-card { padding:30px 22px; } .admin-top { padding-inline:14px; } .admin-top > div > a { display:none; } .admin-layout { grid-template-columns:1fr; } .admin-sidebar { position:static; height:auto; padding:10px; overflow:auto; } .admin-sidebar nav { display:flex; min-width:max-content; } .admin-sidebar nav a { padding:10px 12px; } .admin-user { display:none; } .admin-main { padding:28px 14px; } .admin-heading { align-items:flex-start; flex-direction:column; } .stat-grid { grid-template-columns:1fr 1fr; } .stat-grid a { min-height:145px; } .content-list article { grid-template-columns:75px 1fr; } .content-list article > img { width:75px; height:75px; } .row-actions { grid-column:2; } .admin-field-row { grid-template-columns:1fr; } .admin-gallery { grid-template-columns:1fr 1fr; } .animal-media-admin > div { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .application-facts { grid-template-columns:1fr; } .admin-application > header { flex-direction:column; } .application-state { justify-items:start; } }
@media (max-width:460px) { .stat-grid,.admin-gallery { grid-template-columns:1fr; } .stat-grid a { min-height:125px; } .message-card header { flex-direction:column; } }


/* Newsletter */
.newsletter-admin-grid { align-items:start; }
.newsletter-subscriber-list { display:grid; gap:10px; }
.newsletter-subscriber-list article { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:15px 16px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.newsletter-subscriber-list article > div { display:grid; gap:4px; min-width:0; }
.newsletter-subscriber-list h3 { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.newsletter-subscriber-list a { color:var(--accent); font-size:.82rem; font-weight:800; overflow-wrap:anywhere; }
.newsletter-subscriber-list small { color:var(--muted); font-size:.7rem; }
.newsletter-state { justify-self:start; padding:4px 9px; border-radius:999px; font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; background:#f1ede5; }
.newsletter-state.confirmed { color:#1f6f43; background:#e7f5ec; }
.newsletter-state.pending { color:#8a5b00; background:#fff4d6; }
.newsletter-state.unsubscribed { color:#7b2631; background:#fdecef; }
.smtp-box { display:grid; gap:13px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f7f4ee; }
.smtp-box h3 { margin:0; }
.smtp-box p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.smtp-test-form { margin-top:12px; }
.admin-hint { margin:14px 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
@media (max-width:760px) {
  .newsletter-subscriber-list article { align-items:flex-start; flex-direction:column; }
}
.newsletter-compose { margin-bottom:24px; }
.newsletter-compose .panel-heading > b { color:var(--accent); }
.newsletter-compose .admin-form { max-width:none; }
.newsletter-compose textarea { min-height:220px; }
.admin-button:disabled { opacity:.5; cursor:not-allowed; }
.campaign-history { margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.campaign-history summary { cursor:pointer; font-weight:850; }
.campaign-history > div { display:grid; gap:8px; margin-top:12px; }
.campaign-history article { display:flex; justify-content:space-between; gap:16px; padding:10px 12px; border-radius:10px; background:#f7f4ee; }
.campaign-history span { color:var(--muted); font-size:.75rem; }
@media (max-width:760px) { .campaign-history article { flex-direction:column; gap:3px; } }

/* Online-Versammlung */
.meeting-admin-summary { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.meeting-admin-summary b { font-size:1.6rem; color:var(--admin-ink,#253b2e); }
.meeting-admin-summary span { color:#6f766f; font-size:.78rem; font-weight:800; }
.meeting-admin-state { padding:7px 11px; border-radius:999px; background:#ece8e1; color:#6d665e; font-size:.74rem; font-weight:900; }
.meeting-admin-state.open { background:#dff0e4; color:#286643; }
.meeting-admin-online { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.meeting-admin-online article { display:grid; grid-template-columns:10px 1fr auto; gap:9px; align-items:center; padding:12px; border:1px solid #e6e1d9; border-radius:12px; background:#fff; }
.online-dot { width:9px; height:9px; border-radius:50%; background:#4f8c64; box-shadow:0 0 0 4px rgba(79,140,100,.12); }
.meeting-admin-online div { display:grid; }
.meeting-admin-online b { color:#2d4135; font-size:.82rem; }
.meeting-admin-online small { color:#788078; font-size:.68rem; }
.meeting-admin-grid { align-items:start; }
.meeting-user-list { display:grid; gap:10px; }
.meeting-user-list article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid #eee9e2; }
.meeting-user-list article:last-child { border-bottom:0; }
.meeting-user-list article > div:first-child { display:grid; justify-items:start; gap:3px; }
.meeting-user-list h3 { margin:0; color:#2b4034; font-size:1rem; }
.meeting-user-list code { padding:2px 6px; border-radius:6px; background:#f2eee8; color:#5c5b55; font-size:.74rem; }
.meeting-user-list small { color:#7b807a; font-size:.68rem; }
.meeting-role-badge { padding:4px 7px; border-radius:999px; background:#e8eee9; color:#356146; font-size:.63rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.meeting-role-badge.board { background:#efe4cf; color:#795b2e; }
.meeting-settings-panel { margin-top:20px; }
.meeting-settings-panel h3 { margin:25px 0 5px; color:#334b3c; font-size:1rem; }
.meeting-clear-chat { margin-top:12px; }
.admin-form select { width:100%; min-height:44px; padding:9px 11px; border:1px solid #d6d7d4; border-radius:9px; background:#fff; font:inherit; }
@media (max-width:1000px) { .meeting-admin-online { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .meeting-admin-online { grid-template-columns:1fr; } .meeting-user-list article { align-items:flex-start; flex-direction:column; } }

/* Strukturierte Tierdaten */
.admin-fieldset { display:grid; gap:14px; min-width:0; margin:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.admin-fieldset legend { padding:0 8px; color:var(--plum); font-size:.82rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.admin-fieldset.health-fieldset { background:#f5f8f3; }
.admin-form select:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(79,125,94,.14); outline:none; }
.content-list .health-inline { display:block; margin-top:5px; color:var(--teal); font-size:.68rem; }

/* Besucherstatistik */
.visitor-admin-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}
.visitor-admin-stats article {
  display:flex;
  align-items:center;
  gap:16px;
  min-height:112px;
  padding:20px 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.visitor-admin-stats article > span {
  min-width:52px;
  color:var(--coral);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.visitor-admin-stats article.is-live > span {
  min-width:auto;
  color:#3f8a5b;
  font-size:1.15rem;
  animation:tnt-live-pulse 1.8s ease-in-out infinite;
}
.visitor-admin-stats article div { display:grid; }
.visitor-admin-stats article b { color:var(--plum); font-size:2.1rem; line-height:1; }
.visitor-admin-stats article small { margin-top:5px; color:var(--muted); }
.visitor-admin-stats > p {
  grid-column:1/-1;
  margin:0;
  color:var(--muted);
  font-size:.72rem;
}
.admin-field-row.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
@keyframes tnt-live-pulse { 0%,100%{opacity:.45} 50%{opacity:1} }
@media (prefers-reduced-motion:reduce) { .visitor-admin-stats article.is-live > span { animation:none; } }
@media (max-width:1000px) { .visitor-admin-stats { grid-template-columns:1fr 1fr; } .visitor-admin-stats article:last-of-type { grid-column:1/-1; } }
@media (max-width:760px) { .visitor-admin-stats,.admin-field-row.three { grid-template-columns:1fr; } .visitor-admin-stats article:last-of-type { grid-column:auto; } }

/* Aktuelles: vertikale Eingabe und Verlinkung */
.news-admin-form { gap:16px; }
.news-admin-form .admin-fieldset { grid-template-columns:1fr; }
.news-admin-form .admin-fieldset label { width:100%; }
.news-link-fieldset { background:#f8f5ef; }
.news-admin-meta { display:block; margin-top:5px; color:var(--muted); font-size:.69rem; line-height:1.45; }
.admin-check span small { display:block; margin-top:3px; color:var(--muted); font-weight:500; line-height:1.45; }

/* Vermittlungsstatistik */
.animal-attention-panel { margin-bottom:22px; }
.animal-attention-list { display:grid; gap:8px; }
.animal-attention-list > a { display:grid; grid-template-columns:54px minmax(150px,1fr) auto auto; gap:12px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:13px; color:inherit; background:#fff; text-decoration:none; }
.animal-attention-list > a:hover { border-color:#cfc7ba; background:#fbf9f5; }
.animal-attention-list img { width:54px; height:54px; object-fit:contain; border-radius:10px; background:#f1eee8; }
.animal-attention-list div { display:grid; gap:2px; }
.animal-attention-list div b { color:var(--plum); }
.animal-attention-list div small { color:var(--muted); }
.animal-attention-list > a > span { display:grid; min-width:74px; color:var(--muted); font-size:.68rem; text-align:right; }
.animal-attention-list strong { color:var(--teal); font-size:1rem; }
.animal-performance-panel { margin-bottom:22px; overflow:hidden; }
.animal-performance-table { display:grid; min-width:720px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.animal-performance-head,.animal-performance-row { display:grid; grid-template-columns:minmax(210px,1.6fr) .55fr .55fr 1fr 1fr; gap:12px; align-items:center; padding:11px 14px; }
.animal-performance-head { color:var(--muted); background:#f5f2ec; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.animal-performance-row { border-top:1px solid var(--line); background:#fff; font-size:.78rem; }
.animal-performance-row strong { color:var(--teal); font-size:1rem; }
.animal-performance-row em { color:var(--muted); font-size:.7rem; }
.animal-performance-name { display:flex; align-items:center; gap:10px; min-width:0; }
.animal-performance-name > img { width:44px; height:44px; flex:0 0 44px; object-fit:contain; border-radius:9px; background:#f1eee8; }
.animal-performance-name > span { display:grid; min-width:0; }
.animal-performance-name b { color:var(--plum); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.animal-performance-name small { color:var(--muted); }
.animal-stat-inline { display:block; margin-top:5px; color:var(--coral); font-size:.68rem; font-weight:800; }
.message-animal-link { padding:4px 8px; border-radius:999px; background:#eef5ef; color:var(--teal)!important; font-weight:850!important; }
@media (max-width:900px) {
  .animal-performance-panel { overflow-x:auto; }
  .animal-attention-list > a { grid-template-columns:50px 1fr; }
  .animal-attention-list > a > span { display:inline; min-width:0; text-align:left; }
}


/* Selbstauskünfte Tiervermittlung */
.self-disclosure-kind { background:var(--coral); }
.self-disclosure-preview { margin:8px 0 4px; border:1px solid var(--line); border-radius:14px; background:#fbfaf7; }
.self-disclosure-preview summary { padding:13px 16px; color:var(--plum); font-weight:850; cursor:pointer; }
.self-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 16px 16px; }
.self-preview-grid section { padding:14px; border-radius:12px; background:#fff; }
.self-preview-grid b { color:var(--teal); font-size:.78rem; text-transform:uppercase; }
.self-preview-grid p { margin:6px 0 0; color:var(--muted); font-size:.82rem; line-height:1.5; }
@media (max-width:760px) { .self-preview-grid { grid-template-columns:1fr; } }

/* A/B/C Ausbau: Vermittlungsworkflow & Pflegestellen */
.workflow-summary,.foster-status-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin:0 0 20px; }
.workflow-summary > div,.foster-status-summary > div { display:grid; gap:3px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.workflow-summary b,.foster-status-summary b { color:var(--teal); font-size:1.35rem; }
.workflow-summary span,.foster-status-summary span { color:var(--muted); font-size:.68rem; font-weight:800; }
.workflow-list { display:grid; gap:16px; }
.workflow-card { overflow:hidden; border:1px solid var(--line); border-left:6px solid var(--coral); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.workflow-card > header { display:flex; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid var(--line); background:#fbfaf7; }
.workflow-animal { display:flex; gap:12px; align-items:center; min-width:0; }
.workflow-animal img { width:64px; height:64px; object-fit:contain; border-radius:12px; background:#f1eee8; }
.workflow-animal div { display:grid; gap:2px; }
.workflow-animal small { color:var(--coral); font-weight:900; }
.workflow-animal h2 { margin:0; color:var(--plum); font-size:1.05rem; }
.workflow-animal a,.workflow-animal span { color:var(--muted); font-size:.75rem; }
.workflow-stage { align-self:flex-start; padding:7px 10px; border-radius:999px; background:#eef5ef; color:var(--teal); font-size:.72rem; font-weight:900; white-space:nowrap; }
.workflow-sources { display:flex; flex-wrap:wrap; gap:8px; padding:13px 20px; border-bottom:1px solid var(--line); }
.workflow-sources span,.workflow-sources a { padding:5px 8px; border-radius:8px; background:#f5f2ec; color:var(--muted); font-size:.7rem; font-weight:800; text-decoration:none; }
.workflow-sources a { color:var(--teal); }
.workflow-form { display:grid; gap:12px; padding:18px 20px; }
.workflow-actions { display:flex; flex-wrap:wrap; gap:8px; }
.workflow-card > footer { padding:0 20px 16px; color:var(--muted); }
.foster-list { display:grid; gap:16px; }
.foster-card .application-kind.foster { background:#e9f0e5; color:var(--teal); }
.foster-status-form { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(260px,1.4fr) auto; gap:12px; align-items:end; padding:14px 18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fbfaf7; }
.foster-status-form label { display:grid; gap:6px; color:var(--muted); font-size:.72rem; font-weight:800; }
.foster-status-form textarea { min-height:76px; }
@media (max-width:1050px) { .workflow-summary,.foster-status-summary { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) {
  .workflow-summary,.foster-status-summary { grid-template-columns:1fr 1fr; }
  .workflow-card > header { display:grid; }
  .workflow-stage { justify-self:start; }
  .foster-status-form { grid-template-columns:1fr; }
  .workflow-actions { display:grid; }
}

/* Pflegestellen-Seite: öffentlicher An/Aus-Schalter */
.foster-public-toggle { margin-bottom:22px; border-top:5px solid var(--teal); }
.foster-public-toggle .panel-heading { align-items:flex-start; }
.foster-public-toggle .panel-heading > div { max-width:820px; }
.foster-public-toggle code { padding:2px 5px; border-radius:5px; background:#f3efe7; font-size:.78rem; }
.foster-public-state { flex:0 0 auto; display:inline-flex; align-items:center; min-height:38px; padding:8px 13px; border-radius:999px; font-size:.72rem; letter-spacing:.08em; }
.foster-public-state.is-on { color:#225338; background:#e3f2e6; }
.foster-public-state.is-off { color:#8c2f24; background:#fde9e5; }
.foster-public-toggle .admin-form { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.foster-public-toggle .admin-check { padding:16px; border:1px solid var(--line); border-radius:13px; background:#faf8f3; }
.foster-toggle-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
@media (max-width:700px) { .foster-public-toggle .panel-heading { align-items:flex-start; flex-direction:column; } .foster-toggle-actions { align-items:stretch; flex-direction:column; } .foster-toggle-actions .admin-button { width:100%; } }
