/*
 * Cheshire - Theme "Klassisch" (Vergleichs-Layout #Peter-Wunsch 12.08.2026)
 * Gleiche Struktur/Dichte wie das bisherige Default-Theme, eigene
 * Cheshire-Violett-Farbpalette statt WBCE-Blau (Vorlage: forum.wbce.org).
 * Aktivierung: ?cheshire_theme=classic (30 Tage Cookie), siehe Bootstrap.php.
 * No inline styles in PHP files - all CSS lives here.
 * @see assets/cheshire.css (Original/Default), assets/themes/modern.css
 */

/* Theme-Baukasten Etappe 2 (Peter-Freigabe 21.08.2026): CSS-Variablen fuer
   Primaer-/Akzentfarbe + Inhaltsbreite, Default = bisheriger Wert dieses
   Themes (keine optische Aenderung ohne aktive AdminCP-Einstellung). Wird
   bei Bedarf per :root-Override-Block ueberschrieben, siehe
   Cheshire\Services\Theme::cssVarsBlock(). */
:root{--cheshire-primary:#4A2B70;--cheshire-accent:#9B59B6;--cheshire-content-width:960px}

/* ── Reset & base ── */
.cheshire-wrap *{box-sizing:border-box}
.cheshire-wrap{font-family:sans-serif;line-height:1.5;color:var(--cheshire-text,#333);background:var(--cheshire-bg,transparent);max-width:var(--cheshire-content-width,960px);margin:0 auto;background-image:var(--cheshire-bg-image,none);background-size:var(--cheshire-bg-size,auto);background-repeat:var(--cheshire-bg-repeat,no-repeat);background-attachment:var(--cheshire-bg-attachment,scroll);background-position:center top}

/* #141 Hybrid-Betrieb: eigene Seiten-Huelle (_layout.htt) hat kein WBCE-Theme
   als Basis, daher minimaler eigener Reset — nur unter #cheshire-standalone
   (Body-ID nur im Hybrid-Modus vorhanden), Integriert-Modus bleibt unberuehrt. */
#cheshire-standalone{margin:0;font-family:sans-serif;line-height:1.5;color:var(--cheshire-text,#333);background:var(--cheshire-surface-alt,#f7f8fa)}
#cheshire-standalone *{box-sizing:border-box}
#cheshire-standalone-main{max-width:var(--cheshire-content-width,960px);margin:0 auto;padding:1rem}

/* ── Breadcrumb ── */
.cheshire-breadcrumb{font-size:.85rem;color:var(--cheshire-text-muted,#777);margin-bottom:1rem}
.cheshire-breadcrumb a{color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));text-decoration:none}
.cheshire-breadcrumb a:hover{text-decoration:underline}
/* Peter-Wunsch: gleiche Navi auch am Seitenende, damit man nach dem
   Scrollen nicht orientierungslos dasteht (Forum-/Thread-Ansicht). */
.cheshire-breadcrumb-bottom{margin-top:1.5rem;margin-bottom:0;padding-top:.8rem;border-top:1px solid var(--cheshire-border-strong,#e2e6ea)}
.cheshire-back-to-top{float:right}

/* ── Editor ── */
.cheshire-editor-toolbar{display:flex;gap:.25rem;margin-bottom:.25rem}
.cheshire-editor-toolbar button{border:1px solid var(--cheshire-border-strong,#ccc);background:var(--cheshire-surface-alt,#f5f5f5);border-radius:3px;padding:.25rem .5rem;cursor:pointer}
.cheshire-editor-toolbar button:hover{background:var(--cheshire-surface-alt,#e8e8e8)}
.CodeMirror{border:1px solid var(--cheshire-border-strong,#ccc);border-radius:3px}
textarea.cheshire-editor{border:1px solid var(--cheshire-border-strong,#ccc);border-radius:3px;padding:.5rem;width:100%}

.cheshire-category{margin-bottom:1.5rem}
.cheshire-category-title{font-size:1.1rem;font-weight:700;padding:.5rem 0;border-bottom:2px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}
.cheshire-category-toggle{background:none;border:none;color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));cursor:pointer;font-size:.85rem;padding:0 .2rem}

/* ── Forum row ── */
.cheshire-forum-row{display:grid;grid-template-columns:2rem 1fr auto auto auto;gap:.5rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-forum-name{font-weight:600;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none}
.cheshire-forum-name:hover{text-decoration:underline}
.cheshire-forum-description{font-size:.82rem;color:var(--cheshire-text-muted,#777);margin:.1rem 0 0}
.cheshire-forum-stats{font-size:.8rem;color:var(--cheshire-text-faint,#999);text-align:right;white-space:nowrap}
.cheshire-forum-lastpost{font-size:.78rem;color:var(--cheshire-text-faint,#999);text-align:right;white-space:nowrap;min-width:11rem}
.cheshire-forum-expand{text-align:right}
.cheshire-forum-toggle{background:var(--cheshire-surface-alt,#f4eefa);border:1px solid var(--cheshire-border-strong,#d7bfe8);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));cursor:pointer;font-size:.75rem;padding:.15rem .5rem;border-radius:4px}
.cheshire-forum-toggle:hover{background:var(--cheshire-surface-alt,#ecdff5)}
.cheshire-forum-mini-threads{padding:.3rem 0 .6rem 2.5rem;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-mini-thread-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.85rem;padding:.25rem 0}
.cheshire-mini-thread-row a{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none;font-weight:600}
.cheshire-mini-thread-row a:hover{text-decoration:underline}
.cheshire-mini-thread-lastpost{margin-left:auto;font-size:.75rem;color:var(--cheshire-text-faint,#999);white-space:nowrap}
.cheshire-mini-thread-more{display:inline-block;margin-top:.3rem;font-size:.8rem;color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));text-decoration:none}
.cheshire-mini-thread-more:hover{text-decoration:underline}

/* ── Thread list ── */
.cheshire-thread-row{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-thread-title{font-weight:600;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none}
.cheshire-thread-title:hover{text-decoration:underline}
.cheshire-badge-solved{background:#27AE60;color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:3px;margin-left:.4rem}
.cheshire-badge-unread{background:#E67E22;color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:3px;margin-left:.4rem}
.cheshire-badge-closed{background:#7f8c8d;color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:3px;margin-left:.4rem}

/* ── Verschieben/Massenbearbeitung (1.30) ── */
.cheshire-move-thread-form{display:inline-block;margin-left:.6rem;font-size:.85rem}
.cheshire-move-thread-form select{padding:.2rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px}
.cheshire-bulk-move-bar{position:sticky;bottom:0;background:var(--cheshire-warning-bg,#fff3cd);border:1px solid var(--cheshire-warning-border,#ffc107);border-radius:6px;padding:.6rem .9rem;margin:.8rem 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cheshire-bulk-move-bar input[type="number"],.cheshire-bulk-move-bar input[type="text"]{padding:.25rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px}
.cheshire-tag{display:inline-block;background:var(--cheshire-accent,#9B59B6);color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:3px;margin:.1rem;text-decoration:none}
.cheshire-icon-sticky,.cheshire-icon-type{color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));margin-right:.15rem}
.cheshire-thread-lastpost,.cheshire-lastpost,.cheshire-lastpost-empty{font-size:.78rem;color:var(--cheshire-text-faint,#999);text-align:right;white-space:nowrap}
.cheshire-lastpost a{color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));text-decoration:none}
.cheshire-lastpost a:hover{text-decoration:underline}
@media (max-width:700px){
    .cheshire-forum-row{grid-template-columns:2rem 1fr auto auto}
    .cheshire-forum-lastpost{display:none}
    .cheshire-forum-mini-threads{padding-left:.5rem}
    .cheshire-mini-thread-lastpost{display:none}
    .cheshire-thread-row{grid-template-columns:1fr auto auto}
    .cheshire-thread-lastpost{display:none}
}

/* ── Pagination-Profil-Override (Peter-Reminder Juli 2026) ── */
.cheshire-pagination-pref{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin:.8rem 0 1.2rem;padding:.7rem 1rem;background:var(--cheshire-surface-alt,#f4f6f8);border-radius:6px}
.cheshire-pagination-pref select{padding:.3rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px}

/* ── Consent / legal checkboxes ──
   !important on layout props: WBCE Flat Theme's global form CSS applies
   its own label/input[checkbox] rules (block labels, full-width inputs)
   that otherwise break this layout. Used for registration consent and
   upload copyright confirmation. */
.cheshire-consent-box{margin:1rem 0;padding:.8rem 1rem;background:var(--cheshire-surface-alt,#f8f9fa);border:1px solid var(--cheshire-border-strong,#dee2e6);border-radius:6px}
.cheshire-consent-item{display:flex!important;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;cursor:pointer;font-weight:400;line-height:1.4}
.cheshire-consent-item:last-child{margin-bottom:0}
.cheshire-consent-item input[type="checkbox"]{margin-top:.2rem;flex-shrink:0;width:auto!important;min-width:16px;height:16px}
.cheshire-consent-item span{flex:1 1 auto}
@media (max-width:480px){
    .cheshire-consent-item{gap:.4rem;font-size:.88rem}
}

/* ── Post ── */
.cheshire-post{border:1px solid var(--cheshire-border,#eee);border-radius:6px;margin-bottom:1rem;overflow:hidden}
.cheshire-post-author{background:var(--cheshire-surface-alt,#f5f5f5);padding:.5rem .8rem;font-size:.85rem;font-weight:600;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-post-body{padding:.8rem}
.cheshire-post-actions{padding:.4rem .8rem;border-top:1px solid var(--cheshire-border,#eee);font-size:.82rem}
.cheshire-btn-like,.cheshire-btn-quote,.cheshire-btn-reply{background:var(--cheshire-surface-alt,#f4eefa);border:1px solid var(--cheshire-border-strong,#d7bfe8);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));padding:.2rem .6rem;border-radius:4px;cursor:pointer;font-size:.82rem;margin-right:.3rem}
.cheshire-btn-like:hover,.cheshire-btn-quote:hover,.cheshire-btn-reply:hover{background:var(--cheshire-surface-alt,#ecdff5)}

/* ── Quick reply ── */
.cheshire-quick-reply{margin-top:1.5rem}
.cheshire-quick-reply textarea{width:100%;padding:.6rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:6px;min-height:80px;font-family:inherit}
.cheshire-quick-reply button{margin-top:.4rem;padding:.5rem 1rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}

/* ── Guest notice ── */
.cheshire-guest-notice{background:var(--cheshire-surface-alt,#f5eefc);border:1px solid var(--cheshire-border-strong,#c9a3dd);border-radius:5px;padding:.7rem;margin-top:.5rem;font-size:.88rem}
.cheshire-guest-notice a{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-weight:600}

/* ── Auth forms ── */
.cheshire-auth-form{max-width:400px;margin:2rem auto}
.cheshire-auth-form h1{margin-bottom:1rem}
.cheshire-auth-form label{display:block;margin:.6rem 0 .2rem;font-size:.88rem;font-weight:600}
.cheshire-auth-form input{width:100%;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:5px}
.cheshire-auth-form button{margin-top:.8rem;padding:.6rem 1.2rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:600}
#cheshire-pw-strength{display:none !important;margin:.4rem 0 .6rem;padding:.5rem .7rem;background:var(--cheshire-surface,#fff);border:1px solid var(--cheshire-border-strong,#ddd);border-radius:4px;font-size:.88rem;line-height:1.5}
#cheshire-pw-strength.active{display:block !important}
.cheshire-error{background:var(--cheshire-danger-bg,#FDEDEC);border:1px solid var(--cheshire-danger-border,#C0392B);border-radius:5px;padding:.6rem;margin:.6rem 0;font-size:.88rem;color:var(--cheshire-danger-text,#7B241C)}
/* DMCA-Formular (Peter-Wunsch) */
.cheshire-dmca-intro{color:var(--cheshire-text-muted,#555);font-size:.9rem;max-width:600px;margin-bottom:1rem}
.cheshire-dmca-success{background:var(--cheshire-success-bg,#EAFAF1);border:1px solid var(--cheshire-success-border,#27AE60);border-radius:5px;padding:.8rem 1rem;color:var(--cheshire-success-text,#1E8449)}

/* ── Pagination ── */
.cheshire-pagination{margin:1rem 0;display:flex;gap:.4rem;flex-wrap:wrap}
.cheshire-pagination a{padding:.3rem .7rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:4px;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none;font-size:.88rem}
.cheshire-pagination a.active,.cheshire-pagination a:hover{background:var(--cheshire-primary,#4A2B70);color:#fff;border-color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}

/* ── Tag cloud ── */
.cheshire-tag-cloud{line-height:2.2;padding:.5rem 0}
.cheshire-tag-count{font-size:.75em;color:rgba(255,255,255,.7)}

/* ── Delete Button ── */
.cheshire-btn-delete{background:none;border:1px solid var(--cheshire-danger-border,#C0392B);color:var(--cheshire-danger-text,#C0392B);border-radius:4px;padding:.2rem .5rem;cursor:pointer;font-size:.8rem}
.cheshire-btn-delete:hover{background:#C0392B;color:#fff}
.cheshire-thread-actions{display:inline-block}

/* ── Search ── */
.cheshire-search-form{display:flex;gap:.5rem;margin:1rem 0}
.cheshire-search-form input{flex:1;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:5px}
.cheshire-search-form button{padding:.5rem 1rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}
.cheshire-search-result{padding:.7rem 0;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-search-type{background:var(--cheshire-accent,#9B59B6);color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:3px;margin-right:.4rem}
.cheshire-search-forum{font-size:.82rem;color:var(--cheshire-text-muted,#777)}
.cheshire-search-excerpt{font-size:.85rem;color:var(--cheshire-text-muted,#666);margin:.3rem 0 0}

/* ── Edit button + timestamp ── */
.cheshire-btn-edit{background:none;border:1px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));border-radius:4px;padding:.2rem .5rem;cursor:pointer;font-size:.8rem;text-decoration:none;margin-right:.3rem}
.cheshire-btn-edit:hover{background:var(--cheshire-accent,#9B59B6);color:#fff}
.cheshire-edited{font-size:.75rem;color:var(--cheshire-text-faint,#aaa);margin-left:.5rem;font-style:italic}

/* ── Post subject ── */
.cheshire-post-subject{font-weight:600;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));padding:.3rem .8rem;border-bottom:1px solid var(--cheshire-border,#eee);font-size:.9rem}
.cheshire-reply-subject{width:100%;padding:.4rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:5px;margin-bottom:.4rem;box-sizing:border-box}

/* ── Report button ── */
.cheshire-btn-report{background:none;border:1px solid var(--cheshire-warning-border,#E67E22);color:#E67E22;border-radius:4px;padding:.2rem .5rem;font-size:.8rem;text-decoration:none;margin-left:.3rem}
.cheshire-btn-report:hover{background:#E67E22;color:#fff}

/* ── Solution marking (T04) ── */
.cheshire-btn-solve{background:none;border:1px solid var(--cheshire-success-border,#27AE60);color:var(--cheshire-success-text,#27AE60);border-radius:4px;padding:.2rem .5rem;cursor:pointer;font-size:.8rem;margin-left:.3rem}
.cheshire-btn-solve:hover{background:#27AE60;color:#fff}
.cheshire-badge-solution{background:#27AE60;color:#fff;font-size:.78rem;padding:.2rem .5rem;border-radius:4px;margin-left:.3rem}

/* ── Signature (SIG01-SIG03) ── */
.cheshire-signature{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--cheshire-border-strong,#ddd);font-size:.85rem;color:var(--cheshire-text-muted,#666)}
.cheshire-signature img{max-height:80px;max-width:100%;vertical-align:middle}

/* ── Social-media profile links (SM01) ── */
.cheshire-social-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.cheshire-social-item{background:var(--cheshire-surface-alt,#f4f6f8);padding:.3rem .7rem;border-radius:5px;font-size:.85rem}
.cheshire-social-item a{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none}
.cheshire-social-item a:hover{text-decoration:underline}

/* ── Community-Visitenkarte (CS01) ── */
.cheshire-card{display:flex;gap:1rem;align-items:flex-start;margin:1rem 0}
.cheshire-avatar-placeholder{flex-shrink:0;width:72px;height:72px;border-radius:50%;background:var(--cheshire-primary,#4A2B70);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700}
.cheshire-card-main h1{margin:0 0 .2rem}
.cheshire-card-meta{margin:.15rem 0;color:var(--cheshire-text-muted,#555);font-size:.9rem}
.cheshire-card-score{font-weight:700;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-rating{margin-top:.4rem;font-size:.9rem}
.cheshire-rating-emoji{font-size:1.3rem;vertical-align:middle}
.cheshire-rate-form{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}
.cheshire-rate-form label{display:inline-flex;align-items:center;gap:.15rem;font-size:.85rem}
.cheshire-rating-choice{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:2px solid transparent;border-radius:50%;cursor:pointer}
.cheshire-rating-choice:hover{background:var(--cheshire-surface-alt,#f5f5f5)}
.cheshire-rating-radio{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.cheshire-rating-emoji-pick{font-size:1.3rem;line-height:1}
.cheshire-rating-choice:has(.cheshire-rating-radio:checked){border-color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));background:var(--cheshire-surface-alt,#f2eaf8)}
.cheshire-rating-radio:focus-visible ~ .cheshire-rating-emoji-pick{outline:2px solid var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));outline-offset:2px;border-radius:50%}
.cheshire-rate-submit{display:none}
.cheshire-bio{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:6px;padding:.6rem .9rem;margin:.6rem 0;font-size:.9rem}
.cheshire-card-edit{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:6px;padding:.8rem 1rem;margin:.6rem 0}
.cheshire-card-edit textarea{width:100%;max-width:600px;padding:.4rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px}
.cheshire-avatar-edit-form{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0;font-size:.85rem}
.cheshire-avatar-rules-confirm{display:flex!important;align-items:flex-start;gap:.5rem;flex-basis:100%;cursor:pointer;font-weight:400;line-height:1.4;font-size:.85rem}
.cheshire-avatar-rules-confirm input[type="checkbox"]{margin-top:.2rem;flex-shrink:0;width:auto!important;min-width:16px;height:16px}
.cheshire-help-text{font-size:.78rem;color:var(--cheshire-text-faint,#888);margin:.3rem 0 .8rem}
.cheshire-tab-toggles{display:flex;flex-direction:column;gap:.2rem;margin:.5rem 0;font-size:.85rem}
.cheshire-card-links{display:flex;gap:1rem;margin:.6rem 0;font-size:.9rem}
.cheshire-expertise{margin:1rem 0}
.cheshire-expertise-row{display:grid;grid-template-columns:120px 1fr 40px;align-items:center;gap:.6rem;margin:.3rem 0;font-size:.85rem}
.cheshire-expertise-bar{background:#eee;border-radius:4px;height:8px;overflow:hidden}
.cheshire-expertise-bar div{background:var(--cheshire-primary,#4A2B70);height:100%}
.cheshire-profile-tabs{margin-top:1.5rem}
.cheshire-tab-nav{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--cheshire-border-strong,#e2e2e2);margin-bottom:.8rem;padding-bottom:.4rem}
.cheshire-tab-btn{background:var(--cheshire-surface-alt,#f0f0f0);border:none;padding:.45rem .9rem;border-radius:5px 5px 0 0;cursor:pointer;font-size:.88rem;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-tab-btn.active{background:var(--cheshire-primary,#4A2B70);color:#fff}
.cheshire-tab-panel{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.8rem 1rem}
.cheshire-tab-panel h4{margin:.2rem 0 .3rem;font-size:.88rem;color:var(--cheshire-text-muted,#555)}
.cheshire-subtab-nav{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}
.cheshire-subtab-btn{background:var(--cheshire-surface-alt,#eef1f4);border:none;padding:.3rem .7rem;border-radius:4px;cursor:pointer;font-size:.8rem;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-subtab-btn.active{background:var(--cheshire-accent,#9B59B6);color:#fff}
.cheshire-more-note{color:var(--cheshire-text-faint,#999);font-size:.78rem;margin:.4rem 0 0}
.cheshire-activity-list{list-style:none;margin:0;padding:0}
.cheshire-activity-list li{padding:.2rem 0;font-size:.87rem;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-activity-list li:last-child{border-bottom:none}
.cheshire-status-badge{background:var(--cheshire-surface-alt,#f2eaf8);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));padding:.05rem .5rem;border-radius:3px;font-size:.75rem;margin-left:.3rem}
.cheshire-empty{color:var(--cheshire-text-faint,#999);font-size:.85rem}

/* ── Top-System (Bestenlisten) ── */
.cheshire-top-periods{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.cheshire-top-period{padding:.35rem .8rem;border-radius:5px;background:var(--cheshire-surface-alt,#f0f0f0);text-decoration:none;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-size:.85rem}
.cheshire-top-period.active{background:var(--cheshire-primary,#4A2B70);color:#fff}
.cheshire-top-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.cheshire-top-section{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.8rem 1rem}
.cheshire-top-section h3{margin:0 0 .5rem;font-size:1rem}
.cheshire-top-list{list-style:none;margin:0;padding:0}
.cheshire-top-list li{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.88rem;border-bottom:1px solid var(--cheshire-border,#eee)}
.cheshire-top-list li:last-child{border-bottom:none}
.cheshire-top-rank{color:var(--cheshire-text-faint,#999);margin-right:.3rem}
.cheshire-top-count{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-weight:600}

/* ── Private Nachrichten (PM) ── */
.cheshire-pm-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.8rem 0}
.cheshire-pm-tab{padding:.35rem .8rem;border-radius:5px;background:var(--cheshire-surface-alt,#f0f0f0);text-decoration:none;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-size:.85rem}
.cheshire-pm-tab.active{background:var(--cheshire-primary,#4A2B70);color:#fff}
.cheshire-pm-new{margin-left:auto;padding:.35rem .8rem;border-radius:5px;background:var(--cheshire-accent,#9B59B6);color:#fff;text-decoration:none;font-size:.85rem}
.cheshire-pm-list{display:flex;flex-direction:column;border:1px solid var(--cheshire-border,#eee);border-radius:6px;overflow:hidden}
.cheshire-pm-row{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:.6rem;align-items:center;padding:.55rem .8rem;border-bottom:1px solid var(--cheshire-border,#eee);text-decoration:none;color:inherit;font-size:.87rem}
.cheshire-pm-row:last-child{border-bottom:none}
a.cheshire-pm-row:hover{background:var(--cheshire-surface-alt,#f9fafb)}
.cheshire-pm-unread{background:var(--cheshire-surface-alt,#f3eaf9);font-weight:600}
.cheshire-pm-partner{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-pm-badge{background:#E67E22;color:#fff;border-radius:10px;padding:.05rem .45rem;font-size:.72rem;margin-left:.3rem}
.cheshire-pm-excerpt{color:var(--cheshire-text-muted,#777);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cheshire-pm-date{color:var(--cheshire-text-faint,#999);font-size:.78rem;text-align:right}
.cheshire-pm-thread{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}
.cheshire-pm-msg{background:var(--cheshire-surface-alt,#f9fafb);border-radius:8px;padding:.6rem .9rem;max-width:80%}
.cheshire-pm-mine{align-self:flex-end;background:var(--cheshire-surface-alt,#f3eaf9)}
.cheshire-pm-msg-meta{color:var(--cheshire-text-faint,#999);font-size:.75rem;margin-bottom:.2rem}
.cheshire-pm-msg-body{white-space:pre-wrap;font-size:.9rem}
.cheshire-pm-reply,.cheshire-pm-compose{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.cheshire-pm-reply textarea{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px}
.cheshire-pm-compose label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-pm-compose input,.cheshire-pm-compose textarea{padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;font-family:inherit;box-sizing:border-box}
.cheshire-pm-compose button,.cheshire-pm-reply button{align-self:flex-start;padding:.4rem 1.2rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}
.cheshire-pm-actions{margin-top:1rem;font-size:.85rem}
.cheshire-pm-badge-topbar{background:#E67E22;color:#fff;border-radius:10px;padding:.05rem .45rem;font-size:.72rem;margin-left:.2rem}

/* PM-Erweiterungen (Backlog #29): Suche, Anhaenge, Blockieren/Kontakte, Melden, Broadcast */
.cheshire-pm-search{display:flex;gap:.3rem;margin-left:auto}
.cheshire-pm-search input{padding:.35rem .6rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;font-size:.85rem}
.cheshire-pm-search button{padding:.35rem .7rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;background:var(--cheshire-surface,#fff);cursor:pointer}
.cheshire-pm-partner-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.cheshire-pm-partner-btn{padding:.3rem .7rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;background:var(--cheshire-surface,#fff);font-size:.8rem;cursor:pointer}
.cheshire-pm-report-link{margin-left:.5rem;color:var(--cheshire-danger-text,#C0392B);text-decoration:none;font-size:.8rem}
.cheshire-pm-att-input{flex-direction:row !important;align-items:center;gap:.5rem !important;font-size:.85rem;color:var(--cheshire-text-muted,#555)}
.cheshire-pm-att-list{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.cheshire-pm-att-img{max-width:180px;max-height:140px;border-radius:6px;display:block}
.cheshire-pm-att-file{display:inline-block;padding:.3rem .7rem;background:var(--cheshire-surface-alt,#f2eaf8);border-radius:5px;font-size:.82rem;text-decoration:none;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-pm-contact-add{display:flex;gap:.5rem;margin:.6rem 0 1rem}
.cheshire-pm-contact-add input{flex:1;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px}
.cheshire-pm-contact-add button{padding:.5rem 1rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}
.cheshire-pm-contact-list{display:flex;flex-direction:column;border:1px solid var(--cheshire-border,#eee);border-radius:6px;overflow:hidden;margin-bottom:1.2rem}
.cheshire-pm-contact-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .8rem;border-bottom:1px solid var(--cheshire-border,#eee);font-size:.88rem}
.cheshire-pm-contact-row:last-child{border-bottom:none}
.cheshire-pm-contact-row button{padding:.2rem .6rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;background:var(--cheshire-surface,#fff);cursor:pointer;font-size:.8rem}
.cheshire-pm-hint{color:var(--cheshire-text-muted,#777);font-size:.88rem;margin:.3rem 0 1rem}
.cheshire-mod-pm-hint{display:inline-block;color:var(--cheshire-text-muted,#777);font-size:.85rem;margin:0}
.cheshire-mod-warn-form{display:inline-flex;align-items:center;gap:.3rem;margin:.3rem .3rem 0 0}
.cheshire-mod-warn-done{color:var(--cheshire-success-text,#388e3c);font-size:.8rem;margin:.3rem 0 0}
.cheshire-profile-buddy{display:inline-block;margin:.3rem .4rem 0 0}
.cheshire-profile-buddy button{padding:.3rem .7rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;background:var(--cheshire-surface,#fff);font-size:.82rem;cursor:pointer}
.cheshire-success{background:var(--cheshire-success-bg,#EAFAF1);border:1px solid var(--cheshire-success-border,#27AE60);border-radius:5px;padding:.6rem;margin:.6rem 0;font-size:.88rem;color:var(--cheshire-success-text,#1E8449)}

/* ── Gästebuch & Avatar-Platzhalter (Peter-Reminder Runde 3) ── */
.cheshire-avatar-img{flex-shrink:0;width:72px;height:72px;border-radius:50%;object-fit:cover}
.cheshire-avatar-guest{width:40px;height:40px}
.cheshire-avatar-wrap{position:relative;display:inline-block;flex-shrink:0}
.cheshire-avatar-badge{position:absolute;color:#fff;font-size:.62rem;font-weight:700;line-height:1.3;padding:.1rem .4rem;border-radius:4px;white-space:nowrap;box-shadow:var(--cheshire-shadow-sm,0 1px 3px rgba(0,0,0,.35));pointer-events:none}
.cheshire-avatar-badge i{margin-right:.15rem}
.cheshire-avatar-badge-top-left{top:-4px;left:-6px}
.cheshire-avatar-badge-top-right{top:-4px;right:-6px}
.cheshire-avatar-badge-bottom-left{bottom:-4px;left:-6px}
.cheshire-avatar-badge-bottom-right{bottom:-4px;right:-6px}
.cheshire-avatar-badge-diagonal{top:10px;left:-30px;width:104px;text-align:center;border-radius:0;padding:.15rem 0;transform:rotate(-45deg)}
.cheshire-avatar-report-link{display:block;text-align:center;font-size:.7rem;color:var(--cheshire-text-faint,#999);margin-top:.2rem;text-decoration:none}
.cheshire-avatar-report-link:hover{color:var(--cheshire-danger-text,#C0392B);text-decoration:underline}
.cheshire-warnings{background:var(--cheshire-warning-bg,#fff8f0);border:1px solid var(--cheshire-warning-border,#f0d9b5);border-radius:6px;padding:.6rem 1rem;margin:.6rem 0;font-size:.85rem}
.cheshire-warning-entry{padding:.4rem 0;border-top:1px solid var(--cheshire-warning-border,#f0e0c5)}
.cheshire-warning-entry:first-of-type{border-top:none}
.cheshire-warning-disabled-note{color:var(--cheshire-warning-text,#8a6d3b);font-size:.8rem;margin:0 0 .4rem}
.cheshire-warning-meta{display:block;font-size:.75rem;color:var(--cheshire-text-faint,#888)}
.cheshire-warning-expired{opacity:.55}
.cheshire-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}
.cheshire-badge-chip{color:#fff;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:12px;white-space:nowrap;cursor:default}
.cheshire-digest-freq{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:6px;padding:.8rem 1rem;margin:.6rem 0 1.2rem;display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}
.cheshire-digest-freq select{padding:.4rem;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px}
.cheshire-poll{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:6px;padding:.8rem 1rem;margin:.8rem 0}
.cheshire-poll h3{margin:0 0 .5rem}
.cheshire-poll-option{display:block;margin:.3rem 0;font-size:.9rem}
.cheshire-poll-closed{color:var(--cheshire-danger-text,#C0392B);font-size:.85rem;font-weight:600}
.cheshire-poll-results{margin-top:.6rem}
.cheshire-poll-result-row{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.85rem}
.cheshire-poll-result-label{flex:0 0 30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cheshire-poll-bar-track{flex:1;background:var(--cheshire-surface-alt,#e5e9ed);border-radius:4px;height:10px;overflow:hidden}
.cheshire-poll-bar{background:var(--cheshire-accent,#9B59B6);height:100%}
.cheshire-poll-result-pct{flex:0 0 auto;color:var(--cheshire-text-muted,#777);white-space:nowrap}
.cheshire-poll-total{color:var(--cheshire-text-faint,#999);font-size:.78rem;margin:.4rem 0 0}
.cheshire-poll-hint{color:var(--cheshire-text-muted,#777);font-size:.85rem}
.cheshire-poll-edit-toggle{margin-top:.6rem;background:none;border:1px solid var(--cheshire-border-strong,#ccc);border-radius:4px;padding:.25rem .6rem;font-size:.8rem;cursor:pointer}
.cheshire-poll-admin-form{margin-top:.5rem}
.cheshire-poll-admin-form label{font-size:.82rem;display:block;margin:.3rem 0}
.cheshire-poll-admin-form input[type=text]{width:100%;max-width:22rem}
.cheshire-demo-link{color:var(--cheshire-text-faint,#999);cursor:default;border-bottom:1px dashed var(--cheshire-border-strong,#ccc);user-select:none}
.cheshire-guestbook{margin-top:1.5rem}
.cheshire-guestbook h3{margin:0 0 .5rem;font-size:1rem}
.cheshire-guestbook-pending{background:var(--cheshire-warning-bg,#fff8e6);border:1px solid var(--cheshire-warning-border,#e8d8a0);border-radius:6px;padding:.6rem .8rem;margin-bottom:1rem;font-size:.88rem}
.cheshire-guestbook-pending-entry{border-top:1px solid var(--cheshire-warning-border,#e8d8a0);margin-top:.5rem;padding-top:.5rem}
.cheshire-guestbook-pending-entry button{margin-top:.3rem;padding:.25rem .6rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;background:var(--cheshire-surface,#fff);font-size:.8rem;cursor:pointer}
.cheshire-guestbook-list{display:flex;flex-direction:column;gap:.6rem}
.cheshire-guestbook-entry{display:flex;gap:.7rem;align-items:flex-start;background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.6rem .9rem}
.cheshire-guestbook-meta{color:var(--cheshire-text-faint,#999);font-size:.78rem;margin-bottom:.15rem}
.cheshire-guestbook-msg{font-size:.9rem;white-space:pre-wrap}
.cheshire-guestbook-form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;max-width:500px}
.cheshire-guestbook-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-guestbook-form input,.cheshire-guestbook-form textarea{padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;font-family:inherit;box-sizing:border-box}
.cheshire-guestbook-form button{align-self:flex-start;padding:.4rem 1.2rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}

/* ── Benachrichtigungen & Abonnements (N01) ── */
.cheshire-subscribe-form{display:inline-block;margin-left:.6rem}
.cheshire-btn-subscribe{padding:.35rem .8rem;border-radius:5px;background:var(--cheshire-surface-alt,#f0f0f0);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));border:1px solid var(--cheshire-border-strong,#ddd);cursor:pointer;font-size:.85rem}
.cheshire-btn-subscribe.active{background:var(--cheshire-accent,#9B59B6);color:#fff;border-color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6))}
.cheshire-sub-list{display:flex;flex-direction:column;border:1px solid var(--cheshire-border,#eee);border-radius:6px;overflow:hidden}
.cheshire-sub-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-bottom:1px solid var(--cheshire-border,#eee);font-size:.87rem}
.cheshire-sub-row:last-child{border-bottom:none}
.cheshire-sub-type{background:var(--cheshire-surface-alt,#f2eaf8);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));padding:.05rem .5rem;border-radius:3px;font-size:.75rem}
.cheshire-sub-row a{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));flex:1}
.cheshire-sub-row a.cheshire-sub-category{flex:none;color:var(--cheshire-text-faint,#999);font-size:.78rem;background:var(--cheshire-surface-alt,#f5f5f5);padding:.05rem .5rem;border-radius:3px;text-decoration:none}
.cheshire-sub-row a.cheshire-sub-category:hover{text-decoration:underline}

/* ── Melde-Workflow / Moderation (2.9) ── */
.cheshire-mod-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.cheshire-mod-tab{padding:.35rem .8rem;border-radius:5px;background:var(--cheshire-surface-alt,#f0f0f0);text-decoration:none;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-size:.85rem}
.cheshire-mod-tab.active{background:var(--cheshire-primary,#4A2B70);color:#fff}
/* Phase 5.2/M06: gemeinsame Mod-CP-Kopfnavigation (Meldungen/Safe) */
.cheshire-modcp-nav{display:flex;gap:.6rem;margin:.6rem 0 1rem;border-bottom:1px solid var(--cheshire-border,#eee);padding-bottom:.6rem}
.cheshire-modcp-tab{padding:.4rem .9rem;border-radius:5px 5px 0 0;text-decoration:none;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));font-size:.9rem;font-weight:600}
.cheshire-modcp-tab.active{background:var(--cheshire-primary,#4A2B70);color:#fff}
.cheshire-modcp-count{background:#777;color:#fff;border-radius:10px;padding:.05rem .45rem;font-size:.72rem;margin-left:.2rem}
.cheshire-mod-list{display:flex;flex-direction:column;border:1px solid var(--cheshire-border,#eee);border-radius:6px;overflow:hidden}
.cheshire-mod-row{display:grid;grid-template-columns:auto 2fr auto auto auto;gap:.6rem;align-items:center;padding:.55rem .8rem;border-bottom:1px solid var(--cheshire-border,#eee);text-decoration:none;color:inherit;font-size:.87rem}
.cheshire-mod-row:last-child{border-bottom:none}
a.cheshire-mod-row:hover{background:var(--cheshire-surface-alt,#f9fafb)}
.cheshire-mod-type{background:var(--cheshire-surface-alt,#f2eaf8);color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));padding:.05rem .5rem;border-radius:3px;font-size:.75rem}
.cheshire-mod-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cheshire-mod-content small{color:var(--cheshire-text-faint,#999)}
.cheshire-mod-reason{font-weight:600}
.cheshire-mod-reporter,.cheshire-mod-date{color:var(--cheshire-text-faint,#999);font-size:.8rem}
.cheshire-mod-report-meta{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.7rem 1rem;margin:.8rem 0;font-size:.9rem}
.cheshire-mod-report-meta p{margin:.2rem 0}
.cheshire-mod-spy{border:2px dashed var(--cheshire-danger-border,#C0392B);border-radius:8px;padding:1rem;margin:1rem 0;background:var(--cheshire-warning-bg,#fff9f8)}
.cheshire-mod-spy-notice{color:var(--cheshire-danger-text,#C0392B);font-weight:600;font-size:.85rem;margin:0 0 .6rem}
.cheshire-mod-author{color:var(--cheshire-text-muted,#777);font-size:.85rem}
.cheshire-mod-message{margin-top:.5rem}
.cheshire-mod-sig-gallery{display:flex;flex-wrap:wrap;gap:.8rem}
.cheshire-mod-sig-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--cheshire-surface-alt,#fafafa);border:1px solid var(--cheshire-border-strong,#ddd);border-radius:6px;padding:.5rem}
.cheshire-mod-actions{margin:1rem 0}
.cheshire-mod-action-group{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}
.cheshire-mod-action-group:last-child{margin-bottom:0}
.cheshire-mod-action-group h4{width:100%;font-size:.8rem;color:var(--cheshire-text-muted,#777);margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.03em}
.cheshire-mod-type-badge{background:var(--cheshire-primary,#4A2B70);color:#fff;padding:.1rem .6rem;border-radius:12px;font-size:.7rem;font-weight:500;vertical-align:middle;margin-left:.5rem}
.cheshire-mod-comment-hint{color:var(--cheshire-text-faint,#999);font-size:.8rem}
.cheshire-mod-comments{display:flex;flex-direction:column;gap:.6rem;margin:.6rem 0}
.cheshire-mod-comment{background:var(--cheshire-surface-alt,#f9fafb);border-radius:6px;padding:.5rem .8rem}
.cheshire-mod-comment-meta{color:var(--cheshire-text-faint,#999);font-size:.75rem;display:block;margin-bottom:.2rem}
.cheshire-mod-comment-text{font-size:.88rem;white-space:pre-wrap}
.cheshire-mod-comment-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.cheshire-mod-comment-form textarea{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px}
.cheshire-mod-comment-form button{align-self:flex-start;padding:.4rem 1.2rem;background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;cursor:pointer}
/* Phase 5.2/M07: einheitliches Styling fuer alle Melde-Formulare (Beitrag/PN/Profilbild/Signatur) */
.cheshire-report-form{max-width:480px}
.cheshire-report-form label{display:block;margin-bottom:.9rem;font-weight:600}
.cheshire-report-form select,.cheshire-report-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.5rem;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:5px;font-family:inherit;font-weight:400}
.cheshire-report-form textarea{resize:vertical}
.cheshire-mod-safe-list{display:flex;flex-direction:column;gap:.8rem}
.cheshire-mod-safe-row{border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.8rem 1rem;background:var(--cheshire-surface-alt,#f9fafb)}
.cheshire-mod-safe-row-deleted{border-color:var(--cheshire-success-border,#c7e6cf);background:var(--cheshire-success-bg,#f4fbf6)}
.cheshire-mod-safe-meta{font-size:.85rem;color:var(--cheshire-text-muted,#555);margin-bottom:.5rem}
.cheshire-mod-hard-deleted-badge{color:var(--cheshire-success-text,#2E7D32);font-weight:600;font-size:.85rem;margin:.6rem 0 0}
.cheshire-btn-mod{color:inherit;text-decoration:none}
.cheshire-post-reported-link{margin-left:.5rem;font-weight:600}

/* ── Reported post ── */
.cheshire-post-reported{border:1px dashed var(--cheshire-warning-border,#E67E22);border-radius:6px;margin-bottom:1rem}
.cheshire-post-reported-notice{padding:.6rem 1rem;color:#E67E22;font-size:.88rem;font-style:italic}

/* ── Site-Header (Logo/Titel) — Peter-Wunsch 12.08.2026, Vorlage forum.wbce.org ── */
.cheshire-site-header{display:flex;align-items:center;gap:.8rem;padding:1rem 0 .6rem}
.cheshire-site-logo{font-size:2.3rem;text-decoration:none;line-height:1}
.cheshire-site-heading{display:flex;flex-direction:column}
.cheshire-site-title{font-size:1.5rem;font-weight:700;color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));text-decoration:none}
.cheshire-site-title:hover{text-decoration:underline}
.cheshire-site-tagline{margin:.1rem 0 0;font-size:.85rem;color:var(--cheshire-text-muted,#777)}
/* Theme-Baukasten Etappe 2 (Peter-Freigabe 21.08.2026): Logo-Position +
   Sticky-Header, siehe Cheshire\Services\Theme::logoPosition()/config(). */
.cheshire-site-logo img{max-height:2.3rem;width:auto;display:block}
.cheshire-site-header--logo-center{justify-content:center;text-align:center;flex-wrap:wrap}
.cheshire-site-header--logo-center .cheshire-site-heading{align-items:center}
.cheshire-site-header--logo-right{flex-direction:row-reverse}
.cheshire-site-header--sticky{position:sticky;top:0;z-index:50;background:var(--cheshire-surface,#fff);box-shadow:var(--cheshire-shadow-sm,0 1px 4px rgba(0,0,0,.08))}
/* Theme-Baukasten Etappe 4 (Peter-Freigabe 21.08.2026): Eckdekoration, siehe
   Cheshire\Services\Theme::config()-Kommentar zum Scope (Header/Topbar/
   Buttons-Chrome, nicht jede Karte). Ohne Einstellung 0 = unveraendert. */
.cheshire-site-header{border-radius:var(--cheshire-radius,0);box-shadow:var(--cheshire-radius-shadow,none)}

/* ── Topbar (login/logout bar) — als durchgehende Farbleiste statt duenner
   Trennlinie, naeher an der WBCE-Vorlage (Peter-Wunsch "mehr Konturen") ── */
.cheshire-topbar{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;padding:.55rem 1rem;font-size:.85rem;background:var(--cheshire-header-bg,var(--cheshire-primary,#4A2B70));color:#fff;border-radius:var(--cheshire-radius,6px);box-shadow:var(--cheshire-radius-shadow,none);margin-bottom:1rem}
/* 2.44-Restpunkt 1 (24.08.2026): kompaktes Logo sitewide, siehe cheshire.css */
.cheshire-topbar-logo{margin-right:auto;display:inline-flex;align-items:center;font-size:1.2rem;line-height:1;text-decoration:none}
.cheshire-topbar-logo img{height:26px;width:auto;display:block;border-radius:4px}
/* 2.44-Restpunkt 1 Nachbesserung (Peter-Vorgabe 26.08.2026): Modus statt Seite
   entscheidet, was sichtbar ist -- Integriert zeigt das kompakte Logo immer
   (Grundregel oben), Hybrid/Standalone zeigt stattdessen sitewide den grossen
   Banner und blendet das kompakte Logo erst unterhalb des Breakpoints ein. */
.cheshire-wrap:not(.cheshire-integrated) .cheshire-topbar-logo{display:none}
@media (max-width:768px){
    .cheshire-wrap:not(.cheshire-integrated) .cheshire-site-header{display:none}
    .cheshire-wrap:not(.cheshire-integrated) .cheshire-topbar-logo{display:inline-flex}
}
.cheshire-btn-login,.cheshire-btn-register,.cheshire-btn-logout,.cheshire-btn-pm,.cheshire-btn-mod{padding:.2rem .6rem;border-radius:var(--cheshire-radius,4px);text-decoration:none;font-size:.82rem;border-color:rgba(255,255,255,.6)!important;color:#fff!important}
.cheshire-btn-login{background:rgba(255,255,255,.18)}
/* Theme-Baukasten Etappe 3 (Peter-Freigabe 21.08.2026, Styling-only): Nav-
   Link-Farben + Burger-Menue. Burger-Button standardmaessig unsichtbar --
   erscheint nur innerhalb des dynamischen @media-Blocks aus
   Cheshire\Services\Theme::navCssBlock() (Breakpoint > 0 gesetzt). */
.cheshire-topbar a{color:var(--cheshire-nav-link,#fff)}
.cheshire-topbar a:hover{color:var(--cheshire-nav-hover,#fff);background:rgba(255,255,255,.18)}
.cheshire-topbar a.active{color:var(--cheshire-nav-active,#fff);text-decoration:underline;font-weight:600}
.cheshire-nav-links{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.cheshire-nav-burger{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:inherit;border-radius:var(--cheshire-radius,4px);width:2rem;height:2rem;font-size:1.1rem;line-height:1;cursor:pointer;align-items:center;justify-content:center}
/* Theme-Baukasten Etappe 4 Teil 2 (Peter-Freigabe 21.08.2026): Navigations-
   Icons SVG-Modus, siehe NavIcons.php. */
.cheshire-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;margin-right:.35em;vertical-align:-0.125em}
.cheshire-nav-icon svg{width:1em;height:1em;display:block}
/* Theme-Baukasten Etappe 4 Teil 3 (Dark Mode, Peter-Freigabe 21.08.2026):
   Besucher-Umschalter Hell/Dunkel, siehe cheshire.js fuer die Klick-Logik. */
.cheshire-color-toggle{background:none;border:1px solid rgba(255,255,255,.5);color:inherit;border-radius:var(--cheshire-radius,4px);width:2rem;height:2rem;font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;flex:0 0 auto}
.cheshire-color-toggle:hover{background:rgba(255,255,255,.18)}

/* ── Hilfe/Handbuch (FAQ) ── */
.cheshire-help-intro{color:var(--cheshire-text-muted,#666);margin-bottom:1.2rem}
.cheshire-help-sections{display:flex;flex-direction:column;gap:1.2rem}
.cheshire-help-cat{background:var(--cheshire-surface-alt,#f9fafb);border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.9rem 1.2rem}
.cheshire-help-cat h2{margin:0 0 .5rem;font-size:1.05rem}
.cheshire-help-badge{font-size:.72rem;font-weight:400;color:#E67E22;border:1px solid var(--cheshire-warning-border,#E67E22);border-radius:4px;padding:.05rem .4rem;margin-left:.4rem}
.cheshire-help-list{margin:0;padding-left:1.2rem}
.cheshire-help-list li{margin:.25rem 0}
.cheshire-help-list a{color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));text-decoration:none}
.cheshire-help-list a:hover{text-decoration:underline}
.cheshire-help-empty{color:var(--cheshire-text-faint,#999)}
.cheshire-help-article table{border-collapse:collapse;margin:.8rem 0;width:100%}
.cheshire-help-article th,.cheshire-help-article td{border:1px solid var(--cheshire-border,#eee);padding:.4rem .6rem;text-align:left;font-size:.9rem}
.cheshire-help-article blockquote{border-left:3px solid var(--cheshire-border-strong,#ddd);margin:.6rem 0;padding:.2rem 1rem;color:var(--cheshire-text-muted,#555)}
.cheshire-help-article code{background:var(--cheshire-surface-alt,#f4f4f4);padding:.1rem .3rem;border-radius:3px;font-size:.88rem}
.cheshire-btn-login{background:var(--cheshire-primary,#4A2B70);color:#fff}
.cheshire-btn-register{border:1px solid var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70))}
.cheshire-btn-logout{border:1px solid #aaa;color:var(--cheshire-text-muted,#666)}
.cheshire-btn-pm{padding:.2rem .6rem;border-radius:4px;text-decoration:none;font-size:.82rem;border:1px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6))}

/* ── Password strength bar ── */
.cheshire-pw-strength-wrap{margin:.4rem 0 .6rem}
.cheshire-pw-strength-wrap:not(:empty){background:var(--cheshire-surface,#fff);border:1px solid var(--cheshire-border-strong,#ddd);border-radius:4px;padding:.5rem .7rem}
#cheshire-pw-strength{position:relative;z-index:1}

/* ── MFA Instructions ── */
.cheshire-mfa-instructions{background:var(--cheshire-surface-alt,#f5eefc);border:1px solid var(--cheshire-border-strong,#c9a3dd);border-radius:6px;padding:1rem;margin:.8rem 0;font-size:.9rem}
.cheshire-mfa-instructions ol{margin:.5rem 0 0 1.2rem;padding:0}
.cheshire-mfa-instructions li{margin:.4rem 0}
.cheshire-backup-codes{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.cheshire-backup-codes li code{background:var(--cheshire-surface-alt,#f0f0f0);padding:.3rem .6rem;border-radius:4px;font-family:monospace;font-size:.9rem}

/* MD Inline Render */
[id^="cheshire-md-"] h1,[id^="cheshire-md-"] h2,[id^="cheshire-md-"] h3{color:var(--cheshire-brand-text,var(--cheshire-primary,#4A2B70));margin:.8rem 0 .3rem;line-height:1.3}
[id^="cheshire-md-"] h1{font-size:1.3rem;border-bottom:1px solid var(--cheshire-border-strong,#ddd);padding-bottom:.2rem}
[id^="cheshire-md-"] h2{font-size:1.1rem}
[id^="cheshire-md-"] pre{background:#1e1e1e;color:var(--cheshire-text-faint,#d4d4d4);padding:.7rem 1rem;border-radius:5px;overflow-x:auto;font-size:.83rem}
[id^="cheshire-md-"] code{background:var(--cheshire-surface-alt,#f4eefa);padding:.1rem .3rem;border-radius:3px;font-size:.85rem;color:var(--cheshire-danger-text,#c7254e)}
[id^="cheshire-md-"] pre code{background:none;padding:0;color:var(--cheshire-text-faint,#d4d4d4)}
[id^="cheshire-md-"] blockquote{border-left:3px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));margin:.5rem 0;padding:.3rem .7rem;background:var(--cheshire-surface-alt,#f4eefa);color:var(--cheshire-text-muted,#555);border-radius:0 4px 4px 0}
[id^="cheshire-md-"] table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.88rem}
[id^="cheshire-md-"] th{background:var(--cheshire-primary,#4A2B70);color:#fff;padding:.35rem .6rem;text-align:left}
[id^="cheshire-md-"] td{border:1px solid var(--cheshire-border-strong,#ddd);padding:.3rem .6rem}
[id^="cheshire-md-"] tr:nth-child(even){background:var(--cheshire-surface-alt,#f8f9fa)}
[id^="cheshire-md-"] a{color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6))}
[id^="cheshire-md-"] hr{border:none;border-top:1px solid var(--cheshire-border-strong,#ddd);margin:1rem 0}

/* FSK-Bestaetigungsseite */
.cheshire-fsk-gate{max-width:600px;margin:2rem auto;text-align:center;background:var(--cheshire-warning-bg,#fff3cd);border:1px solid var(--cheshire-warning-border,#ffc107);border-radius:8px;padding:1.5rem}
.cheshire-fsk-gate h1{margin-top:0;font-size:1.3rem}
.cheshire-btn-primary{background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;padding:.6rem 1.4rem;font-size:1rem;cursor:pointer;margin:.8rem 0}
.cheshire-btn-primary:hover{background:var(--cheshire-accent,#9B59B6)}

/* Bewerbungen-Ticker (1.28) */
.cheshire-applications-ticker{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;background:var(--cheshire-warning-bg,#fff3cd);border:1px solid var(--cheshire-warning-border,#ffc107);border-radius:6px;padding:.6rem 1rem;margin-bottom:.8rem;font-size:.9rem}
.cheshire-btn-apply{background:var(--cheshire-primary,#4A2B70);color:#fff;border:none;border-radius:5px;padding:.4rem .9rem;text-decoration:none;font-size:.85rem;white-space:nowrap}
.cheshire-btn-apply:hover{background:var(--cheshire-accent,#9B59B6)}
.cheshire-app-position{border:1px solid var(--cheshire-border,#eee);border-radius:8px;padding:.8rem 1rem;margin-bottom:.8rem}
.cheshire-app-position h3{margin:0 0 .5rem}
.cheshire-app-status{display:inline-block;padding:.3rem .7rem;border-radius:5px;font-size:.85rem}
.cheshire-app-pending{background:var(--cheshire-warning-bg,#fff3cd);color:var(--cheshire-warning-text,#856404)}
.cheshire-app-approved{background:var(--cheshire-success-bg,#d4edda);color:var(--cheshire-success-text,#155724)}
.cheshire-app-rejected-note{color:var(--cheshire-danger-text,#C0392B);font-size:.85rem}
.cheshire-app-description{background:var(--cheshire-surface-alt,#f4f6f8);border-radius:5px;padding:.6rem .8rem;font-size:.88rem;color:var(--cheshire-text,#444);margin:.4rem 0}

/* Signatur-Bild-Galerie (Backlog #24) */
.cheshire-sig-gallery{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--cheshire-border,#eee);max-width:600px}
.cheshire-sig-gallery-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}
.cheshire-sig-gallery-item{position:relative;border:1px solid var(--cheshire-border-strong,#ddd);border-radius:6px;padding:.3rem;background:var(--cheshire-surface-alt,#fafafa)}
.cheshire-sig-gallery-item img{display:block;max-width:100px;max-height:80px;border-radius:4px;cursor:pointer}
.cheshire-sig-gallery-item img:hover{outline:2px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6))}
.cheshire-sig-gallery-item form{position:absolute;top:-.5rem;right:-.5rem}
.cheshire-sig-gallery-item button{border:1px solid var(--cheshire-border-strong,#ddd);background:var(--cheshire-surface,#fff);border-radius:50%;width:22px;height:22px;line-height:1;cursor:pointer;font-size:.75rem}
.cheshire-sig-gallery-upload{margin-top:.4rem}
.cheshire-sig-rules-confirm{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin:.4rem 0}
.cheshire-sig-report-link{display:inline-block;margin-top:.3rem;font-size:.75rem;color:var(--cheshire-text-faint,#999);text-decoration:none}
.cheshire-sig-report-link:hover{color:var(--cheshire-danger-text,#C0392B);text-decoration:underline}
.cheshire-sig-gallery-item-locked{background:var(--cheshire-danger-bg,#fdf0ee)}
.cheshire-sig-gallery-locked-badge{display:block;font-size:.7rem;color:var(--cheshire-danger-text,#c0392b);text-align:center;margin-top:.2rem}

/* Video-Upload/-Embed (#91, donor_only) */
.cheshire-attachment-video video{display:block;border-radius:6px;background:#000}
.cheshire-video-embed{position:relative;max-width:560px;margin:.6rem 0;aspect-ratio:16/9}
.cheshire-video-embed iframe{width:100%;height:100%;border-radius:6px}
/* DSGVO Klick-zum-Laden-Platzhalter (Peter-Wunsch) statt Auto-Embed */
.cheshire-video-consent{display:flex;align-items:center;justify-content:center;background:var(--cheshire-surface-alt,#eef1f4);border:1px solid var(--cheshire-border-strong,#d5dce3);border-radius:6px}
.cheshire-video-load-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--cheshire-surface,#fff);border:1px solid var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));color:var(--cheshire-brand-text,var(--cheshire-accent,#9B59B6));border-radius:6px;padding:.7rem 1.2rem;font-size:1rem;cursor:pointer}
.cheshire-video-load-btn:hover{background:var(--cheshire-accent,#9B59B6);color:#fff}
.cheshire-video-load-btn small{font-size:.72rem;font-weight:normal;color:inherit;opacity:.8}

/* Anhänge Auf-/Zuklappen (Peter-Wunsch, Default zu) */
details.cheshire-attachments{margin:.5rem 0;border:1px solid var(--cheshire-border,#eee);border-radius:6px;padding:.4rem .7rem}
details.cheshire-attachments summary{cursor:pointer;font-size:.82rem;color:var(--cheshire-text-muted,#555);font-weight:600;list-style:revert}
details.cheshire-attachments[open] summary{margin-bottom:.5rem}

/* #122 Peter-Wunsch: Bild-Anhänge als horizontale Swipe-Reihe statt
   untereinander mit sichtbarem Dateinamen — Name nur noch als Tooltip
   (title-Attribut) bzw. Alt-Text, Downloads-Zähler kurz & klein. */
.cheshire-att-img-row{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem 0 .5rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.cheshire-att-thumb{position:relative;flex:0 0 auto;display:block;scroll-snap-align:start;border-radius:6px;overflow:hidden;line-height:0}
.cheshire-att-thumb img{display:block;border-radius:6px}
.cheshire-att-thumb-dl{position:absolute;right:.3rem;bottom:.3rem;background:rgba(0,0,0,.6);color:#fff;font-size:.68rem;padding:.05rem .35rem;border-radius:3px;line-height:1.4}

/* Signatur: Auflistung "Beiträge ohne Signatur" (Peter-Wunsch) */
details.cheshire-sig-off-list{margin:.8rem 0;font-size:.85rem}
details.cheshire-sig-off-list summary{cursor:pointer;color:var(--cheshire-text-muted,#555);font-weight:600}
details.cheshire-sig-off-list ul{margin:.4rem 0 0;padding-left:1.2rem}
details.cheshire-sig-off-list li{margin:.2rem 0}

/* ── Theme-/Designpack-Baukasten Etappe 4 (Teil 3): Dark Mode
   (Peter-Freigabe 21.08.2026, "ganze Seite" + AdminCP-Default + Besucher-
   Toggle) ── .cheshire-wrap.cheshire-dark ueberschreibt alle Token-
   Variablen mit der Dunkel-Palette (Lila-Welt, passend zur Primaer-/
   Akzentfarbe dieses Themes). Kontrastverhaeltnisse rechnerisch gegen
   WCAG 2.1 AA geprueft. @see cheshire.css fuer den ausfuehrlichen Kommentar. */
.cheshire-wrap.cheshire-dark{
  --cheshire-bg:#17141c;
  --cheshire-surface:#221d2b;
  --cheshire-surface-alt:#271f31;
  --cheshire-text:#ece7f0;
  --cheshire-text-muted:#b3a7bd;
  --cheshire-text-faint:#948798;
  --cheshire-border:#302838;
  --cheshire-border-strong:#786b80;
  --cheshire-brand-text:#c9a3e8;
  --cheshire-success-bg:#15301f;
  --cheshire-success-text:#74d18f;
  --cheshire-success-border:#2c5b3a;
  --cheshire-warning-bg:#3a2f10;
  --cheshire-warning-text:#e3c25e;
  --cheshire-warning-border:#5e4d1c;
  --cheshire-danger-bg:#3a1616;
  --cheshire-danger-text:#ef8b8b;
  --cheshire-danger-border:#5c2626;
  --cheshire-info-bg:#12293a;
  --cheshire-info-text:#82c6ea;
  --cheshire-info-border:#234a63;
  --cheshire-shadow-sm:0 1px 4px rgba(0,0,0,.5);
  --cheshire-shadow-md:0 2px 10px rgba(0,0,0,.6);
}
