:root{--bg:#f5f1e8;--paper:#fffdf8;--ink:#1d1c1a;--muted:#6f6960;--line:#ded7ca;--accent:#b8862c;--soft:#eee7da;--ok:#1d6b49;--danger:#a63d3d;--radius:20px;--shadow:0 22px 65px rgba(24,31,42,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}.public-body,.admin-body{min-height:100vh;position:relative;isolation:isolate;background:var(--ui-bg);color:var(--ui-ink);transition:background-color .2s,color .2s}.page-bg{position:fixed;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;pointer-events:none;opacity:0;transition:opacity .22s ease}.page-bg:after{content:"";position:absolute;inset:0;pointer-events:none}.page-bg-light:after{background:#fff;opacity:var(--portal-overlay-light,.18)}.page-bg-dark:after{background:#03101d;opacity:var(--portal-overlay-dark,.62)}html[data-theme="light"] .page-bg-light,html[data-theme="dark"] .page-bg-dark{opacity:1}html[data-theme="light"] .page-bg-dark,html[data-theme="dark"] .page-bg-light{opacity:0}.public-body>header,.public-body>main,.public-body>footer,.admin-body>.admin-shell{position:relative;z-index:1}html[data-theme="light"] .public-body{--ui-bg:#f5f1e8;--ui-ink:#1d1c1a;--ui-muted:#6f6960;--ui-line:#ded7ca;--ui-surface:var(--portal-panel-light,#fffdf8);--ui-surface-2:#f2ebdf;--ui-header:rgba(255,253,248,.90);--ui-footer:rgba(255,253,248,.90);--ui-footer-text:#40392f;--ui-link:#865f19;--hero-text:var(--portal-text-light,#172033)}html[data-theme="dark"] .public-body{--ui-bg:#071424;--ui-ink:#f3efe6;--ui-muted:#b8c0ca;--ui-line:rgba(255,255,255,.13);--ui-surface:var(--portal-panel-dark,#111c2b);--ui-surface-2:#162336;--ui-header:rgba(7,20,36,.88);--ui-footer:rgba(4,11,20,.76);--ui-footer-text:#efe5d2;--ui-link:#f0cc7c;--hero-text:var(--portal-text-dark,#f7f2e7)}.topbar{padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--portal-accent,#b8862c) 24%,transparent);background:var(--ui-header);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;box-shadow:0 8px 30px rgba(0,0,0,.06)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px}.brand{text-decoration:none;display:inline-flex;align-items:center;color:var(--ui-ink);font-family:Georgia,serif;font-size:20px}.brand-logo{display:block;width:min(var(--portal-logo-width,230px),52vw);height:auto;max-height:72px;object-fit:contain;object-position:left center}html[data-theme="dark"] .topbar .brand:has(.brand-logo){background:rgba(255,255,255,.94);padding:7px 11px;border-radius:14px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-surface) 88%,transparent);color:var(--ui-ink);border-radius:999px;padding:9px 14px;font-weight:750;box-shadow:none;cursor:pointer}.theme-toggle:hover{border-color:var(--portal-accent,#b8862c)}.hero{padding:110px 0 66px;color:var(--hero-text);text-shadow:0 2px 25px color-mix(in srgb,#000 20%,transparent)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--ui-muted);font-weight:800}.eyebrow.light{color:color-mix(in srgb,var(--hero-text) 78%,var(--portal-accent,#b8862c))}.hero h1,.legal-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(44px,7vw,84px);line-height:.98;max-width:900px;margin:18px 0 26px}.hero p{font-size:clamp(18px,2.2vw,24px);max-width:760px;color:color-mix(in srgb,var(--hero-text) 88%,transparent)}.campaigns{padding:18px 0 90px}.campaign-card,.legal-card{--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);color:var(--ink);background:color-mix(in srgb,var(--ui-surface) calc(var(--portal-panel-opacity,.94)*100%),transparent);border:1px solid color-mix(in srgb,var(--ui-line) 75%,transparent);border-radius:var(--radius);padding:clamp(26px,5vw,56px);box-shadow:var(--shadow);margin-bottom:28px;backdrop-filter:blur(13px)}.campaign-card.theme-light{--ink:#1d1c1a;--muted:#716b63;--line:#ded7ca;background:rgba(255,253,248,.95);color:var(--ink)}.campaign-card.theme-paper{--ink:#302a23;--muted:#746a5c;--line:#dfd2bd;background:rgba(250,244,231,.95);color:var(--ink)}.campaign-card.theme-dark{--ink:#f4efe5;--muted:#b8c0ca;--line:rgba(255,255,255,.14);background:rgba(11,24,39,.94);color:var(--ink);border-color:rgba(255,255,255,.12)}.campaign-card h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,50px);font-weight:500;margin:4px 0 10px}.sub{color:var(--muted);font-size:18px}.content-block{padding:40px 0;border-top:1px solid var(--line)}.content-block:first-of-type{border-top:0}.content-block .label{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:800}.content-block h3{font-family:Georgia,serif;font-size:clamp(26px,3.8vw,44px);font-weight:500;line-height:1.12}.prose{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.85;max-width:820px}.prose h2,.prose h3,.prose h4{font-family:Georgia,serif;line-height:1.2}.prose blockquote{font-size:1.15em;margin:28px 0;padding:4px 0 4px 24px;border-left:3px solid var(--portal-accent,#d6a84b);font-style:italic}.poll{margin:28px 0;padding:26px;border-radius:16px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line)}.poll h4{font-size:20px;margin:0 0 8px}.poll label{display:flex;gap:10px;align-items:flex-start;padding:10px 0}.button,button:not(.theme-toggle){display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--portal-accent,#d6a84b),#7e581d);color:#fff;border:0;border-radius:999px;padding:12px 20px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px rgba(77,50,13,.16)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.resultbar{height:9px;background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:99px;overflow:hidden}.resultbar span{display:block;height:100%;background:var(--portal-accent,#d6a84b)}.poll-result{margin-top:12px}.result-head{justify-content:space-between}.muted{color:var(--muted)}.flash{padding:14px 16px;border-radius:12px;margin:14px 0;background:#e9f5ee;color:#195738;box-shadow:0 8px 20px rgba(0,0,0,.08)}.flash.error{background:#f8e8e8;color:#7f2d2d}.book-cover{max-width:280px;border-radius:12px;box-shadow:var(--shadow);margin:18px 0 28px}.footer{padding:40px 0 54px;color:var(--ui-footer-text);border-top:1px solid var(--ui-line);background:var(--ui-footer);backdrop-filter:blur(12px)}.footer-grid{display:flex;gap:28px;align-items:flex-start;justify-content:space-between}.footer-tagline{margin-top:0}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:var(--ui-link);text-decoration:none}.copyright,.footer-privacy-note{color:var(--ui-muted)}.footer-privacy-note{max-width:850px}.legal-hero{padding:88px 0 34px;color:var(--hero-text)}.legal-section{padding:0 0 90px}.legal-card{margin:0}.inline{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.small{font-size:13px}
/* Admin */
.admin-body{--ui-bg:#f2efe8;--ui-ink:#1b2430;--ui-muted:#69727d;--ui-line:#dfe3e8;--ui-surface:#fff;--sidebar-bg:rgba(255,255,255,.92);--sidebar-text:#26313d;--sidebar-muted:#73808e;--top-text:#1b2430}html[data-theme="dark"] .admin-body{--ui-bg:#081522;--ui-ink:#e8edf3;--ui-muted:#aeb7c2;--ui-line:rgba(255,255,255,.12);--ui-surface:#111c2b;--sidebar-bg:rgba(8,19,31,.92);--sidebar-text:#eef2f6;--sidebar-muted:#83909f;--top-text:#fff}.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;position:relative;z-index:1}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:22px 16px;position:sticky;top:0;height:100vh;backdrop-filter:blur(18px);border-right:1px solid var(--ui-line);overflow:auto}.sidebar .brand{display:flex;margin:0 8px 24px;color:var(--sidebar-text);background:rgba(255,255,255,.94);padding:10px;border-radius:14px}.sidebar-logo{width:210px;max-width:100%;height:auto;display:block}.sidebar nav a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--sidebar-text);margin:4px 0}.sidebar nav a:hover,.sidebar nav a.active{background:color-mix(in srgb,var(--portal-accent,#d6a84b) 17%,transparent);color:var(--sidebar-text)}.sidebar .nav-group{margin:17px 12px 7px;text-transform:uppercase;font-size:10px;letter-spacing:.14em;color:var(--sidebar-muted);font-weight:800}.admin-main{padding:34px;min-width:0}.admin-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:26px;color:var(--top-text)}.admin-top-actions{display:flex;align-items:center;gap:12px}.admin-main h1{margin:0;font-size:30px}.panel{background:color-mix(in srgb,var(--ui-surface) 96%,transparent);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:18px;padding:22px;margin-bottom:22px;box-shadow:0 15px 42px rgba(0,0,0,.10);backdrop-filter:blur(10px)}.panel h2:first-child{margin-top:0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.field{margin-bottom:16px}.field label{display:block;font-weight:800;font-size:13px;margin-bottom:6px}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=url],.field input[type=datetime-local],.field input[type=number],.field input[type=color],.field select,.field textarea{width:100%;border:1px solid var(--ui-line);border-radius:10px;padding:11px 12px;font:inherit;background:var(--ui-surface);color:var(--ui-ink)}.field input[type=color]{height:48px;padding:5px}.field textarea{min-height:180px;resize:vertical}.checkbox{display:flex;align-items:center;gap:8px}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#edf1f4;color:#26313d}.badge.green{background:#e5f5ed;color:#17603f}.badge.orange{background:#fff0da;color:#8a5512}.badge.red{background:#fbe7e7;color:#8a2f2f}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--ui-line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ui-muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.kpi{font-size:32px;font-weight:900}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f4f0e7 url('branding/background-parchment.webp') center/cover fixed}.login-card{width:min(470px,100%);background:rgba(255,255,255,.96);border-radius:22px;padding:34px;box-shadow:0 22px 70px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.login-logo{display:block;width:220px;max-width:80%;margin:0 0 22px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bg-choice{border:2px solid transparent;border-radius:14px;padding:10px;background:color-mix(in srgb,var(--ui-surface) 86%,var(--ui-bg));color:var(--ui-ink)}.bg-choice.selected{border-color:#b98935}.bg-choice img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px;margin-bottom:8px}.asset-preview{max-width:100%;max-height:150px;object-fit:contain;background:#eef1f4;border-radius:12px;padding:10px}.bg-diag-preview{width:100%;max-height:240px;object-fit:cover;aspect-ratio:16/9;padding:0;border:1px solid var(--ui-line)}.warning{padding:14px 16px;border-radius:12px;background:#fff4d8;border:1px solid #efcf83;color:#6e4c08}.code-note{font-family:ui-monospace,Consolas,monospace;background:#eef1f4;padding:2px 5px;border-radius:5px;color:#27313c}.theme-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ui-line);border-radius:12px;background:color-mix(in srgb,var(--ui-surface) 92%,transparent)}@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{display:flex;gap:6px;overflow:auto}.sidebar .nav-group{display:none}.sidebar nav a{white-space:nowrap}.admin-main{padding:20px}.col-8,.col-6,.col-4,.col-3{grid-column:span 12}.preview-grid{grid-template-columns:1fr}.hero{padding-top:70px}}@media(max-width:700px){.footer-grid{display:block}.footer-links{margin-top:18px}.brand-logo{width:min(var(--portal-logo-width,230px),72vw)}.hero h1,.legal-hero h1{font-size:44px}.campaign-card,.legal-card{padding:25px}.admin-main{padding:14px}.theme-toggle span:last-child{display:none}}


/* 1.3.2 – Einheitliche Frontend-Typografie */
.public-body.font-literary{--portal-font:Georgia,"Times New Roman",serif}
.public-body.font-modern{--portal-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.public-body.font-classic{--portal-font:"Palatino Linotype",Palatino,"Book Antiqua",serif}
.public-body,.public-body button,.public-body input,.public-body select,.public-body textarea{font-family:var(--portal-font,Georgia,"Times New Roman",serif)}
.public-body .brand,.public-body .hero h1,.public-body .legal-hero h1,.public-body .campaign-card h2,.public-body .content-block h3,.public-body .prose,.public-body .prose h2,.public-body .prose h3,.public-body .prose h4,.public-body .poll h4{font-family:inherit}
.public-body .eyebrow,.public-body .content-block .label{font-family:inherit;font-size:12px;font-weight:800;line-height:1.35;letter-spacing:.15em;text-transform:uppercase}
.public-body .button,.public-body button,.public-body input,.public-body select,.public-body textarea{font-family:inherit}
