.admin-login-page { min-height:100vh; display:grid; place-items:center; padding:2rem; background:radial-gradient(circle at top right,#dce1d2,transparent 45%),var(--cream); }
.login-card { width:min(100%,28rem); padding:2.4rem; background:#fff; border:1px solid rgba(63,73,53,.16); box-shadow:0 1.5rem 4rem rgba(63,73,53,.12); }
.login-card .brand { margin-bottom:2.8rem; }.admin-kicker { color:var(--accent); text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; font-weight:700; }.login-card h1 { font-size:2.7rem; }.login-card > p:not(.admin-kicker) { color:#607066; line-height:1.6; }
.login-card label { display:block; margin:1.15rem 0 .35rem; font-size:.86rem; font-weight:700; }.login-card input { width:100%; margin-top:.35rem; padding:.7rem .8rem; color:var(--ink); border:1px solid #b8c0b5; background:#fff; font:inherit; }.login-card input:focus { outline:2px solid #aeb8a4; border-color:var(--ink); }
.admin-button,.admin-secondary,.admin-signout { padding:.65rem .9rem; border:0; color:#fff; background:var(--ink); font:600 .8rem "DM Sans",sans-serif; cursor:pointer; }.admin-button:disabled { opacity:.6; cursor:wait; }.admin-secondary { border:1px solid #adb7aa; color:var(--ink); background:#fff; }.admin-users-link { text-decoration:none; }.admin-signout { color:#6c332d; background:transparent; text-decoration:underline; }
.admin-error,.admin-status.is-error { color:#862d2d; }.admin-error { padding:.7rem; background:#fbe9e7; }
.password-help,.password-feedback { margin:.25rem 0 .7rem; font-size:.75rem; line-height:1.35; color:#607066; }.password-feedback.is-error { color:#862d2d; }.password-feedback.is-valid { color:#315d38; }
.admin-users-card .admin-error:not(.is-error) { color:#315d38; background:#e7f2e7; }.admin-back-link { display:inline-block; margin:1rem 0 0 1rem; color:var(--ink); font-size:.85rem; }
.admin-users-card{width:min(100%,40rem)}.admin-users-card h2{margin:2rem 0 .5rem;font-family:Fraunces,serif}.admin-users-card hr{margin:2.5rem 0;border:0;border-top:1px solid #d9ddd4}.admin-users-card .checkbox{display:flex;gap:.5rem;align-items:center}.admin-users-card .checkbox input{width:auto;margin:0}
.admin-launcher { position:fixed; z-index:20; right:1.25rem; bottom:1.25rem; padding:.75rem 1rem; border-radius:999px; color:#fff; background:var(--ink); box-shadow:0 8px 24px rgba(63,73,53,.25); font:600 .85rem "DM Sans",sans-serif; text-decoration:none; }
.nav-editor{width:min(94vw,860px);border:0;box-shadow:0 20px 60px rgba(30,45,35,.3)}.nav-editor::backdrop{background:rgba(23,53,45,.48)}.nav-editor form{padding:1.5rem}.nav-editor h2{margin-top:0}.nav-editor-rows{display:grid;gap:.5rem;margin:1rem 0}.nav-editor-row{position:relative;display:grid;grid-template-columns:auto 1fr 1fr 1.4fr auto;gap:.45rem;align-items:center;padding:.5rem;border:1px solid #d9ddd4;background:#fff;transition:opacity .15s ease}.nav-editor-row input{min-width:0;padding:.55rem;border:1px solid #b8c0b5;font:inherit}.nav-drag{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid #adb7aa;background:#f5f6f1;color:var(--ink);font-size:1.35rem;line-height:1;cursor:grab;touch-action:none}.nav-drag:active{cursor:grabbing}.nav-editor-row.is-dragging{opacity:.42}.grid-drop-indicator.nav-drop-indicator{min-height:2.75rem;border-width:3px;box-shadow:0 0 0 4px rgba(201,107,62,.16)}.nav-row-move{display:flex;gap:.2rem}.nav-row-move button{width:2rem;height:2rem;border:1px solid #adb7aa;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.nav-row-move button:disabled{opacity:.38;cursor:not-allowed}.nav-editor-actions{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:680px){.nav-editor-row{grid-template-columns:auto 1fr auto}.nav-editor-row input{grid-column:2}.nav-row-move{grid-column:3;grid-row:1 / span 3;flex-direction:column}.nav-drag{grid-row:1 / span 3}}
.admin-toolbar { position:fixed; z-index:30; right:1rem; bottom:1rem; display:flex; align-items:center; gap:.55rem; max-width:calc(100vw - 2rem); padding:.55rem .7rem; background:#faf9f5; border:1px solid #d9ddd4; box-shadow:0 8px 24px rgba(30,45,35,.16); }.admin-edit-actions { display:flex; align-items:center; gap:.55rem; }.admin-edit-hint,.admin-status { color:#5c6a61; font-size:.78rem; }.admin-status { margin:0; }.admin-status:empty { display:none; }
.is-admin-editing [data-content]:not([data-content="nav_links"]),.is-admin-editing [data-content="nav_links"] a { position:relative; outline:2px dashed var(--accent); outline-offset:4px; background:rgba(220,225,210,.42); cursor:text; }.is-admin-editing [data-content]:not([data-content="nav_links"])::before { content:"Editable"; position:absolute; top:-1.5rem; left:0; padding:.15rem .35rem; color:#fff; background:var(--ink); font:600 .62rem "DM Sans",sans-serif; letter-spacing:.04em; text-transform:uppercase; }.is-admin-editing [data-content="nav_links"] a::before { content:"Link text"; }.is-admin-editing [data-content="nav_links"] a { display:inline-block; }
@media(max-width:760px){.admin-toolbar{right:.6rem;bottom:.6rem;flex-wrap:wrap}.admin-kicker{display:none}.admin-edit-hint{width:100%}.admin-launcher{right:.8rem;bottom:.8rem}.admin-edit-actions{flex-wrap:wrap}}
.admin-pages-panel{margin:1.5rem 0}.admin-pages-list{display:grid;gap:.55rem}.admin-page-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid #d9ddd4;background:#fff}.admin-page-row span{font-weight:700}.admin-page-row button{padding:.45rem .65rem;border:1px solid #adb7aa;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.admin-page-row button[data-delete]{border-color:#a9483e;color:#8d332b}
.blog-editor-dialog{width:min(94vw,680px);padding:0;border:0;background:#faf9f5;color:var(--ink);box-shadow:0 24px 70px rgba(30,45,35,.32)}.blog-editor-dialog::backdrop{background:rgba(23,53,45,.55)}.blog-editor-form{display:grid;gap:1rem;padding:1.5rem}.blog-editor-heading{display:flex;justify-content:space-between;align-items:start}.blog-editor-heading h2{margin:.2rem 0 0;font:600 2rem Fraunces,serif}.blog-editor-heading button{border:0;background:transparent;color:var(--ink);font-size:2rem;cursor:pointer}.blog-editor-form label{display:grid;gap:.35rem;font-weight:700}.blog-editor-form input,.blog-editor-form textarea{box-sizing:border-box;width:100%;padding:.7rem;border:1px solid #b8c0b5;background:#fff;font:inherit}.blog-editor-published{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.5rem}.blog-editor-published input{width:auto}.blog-editor-actions{display:flex;justify-content:flex-end;gap:.6rem}.blog-editor-error{min-height:1.2em;margin:0;color:#a33f2e}
.blog-wysiwyg{min-height:12rem;padding:.8rem;border:1px solid #b8c0b5;background:#fff;line-height:1.6}.blog-wysiwyg:focus{outline:2px solid #c96b3e;outline-offset:2px}.blog-wysiwyg:empty:before{content:'Beitragstext schreiben …';color:#879187}.blog-editor-form .wysiwyg-toolbar{display:flex!important;flex-wrap:wrap;gap:.35rem;padding:.45rem;border:1px solid #b8c0b5;border-bottom:0;background:#e7eadf}.wysiwyg-toolbar button{padding:.35rem .5rem;border:1px solid #adb7aa;background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.sidebar-wysiwyg-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0;padding:.45rem;background:#e7eadf;border:1px solid #c8cfc4}.sidebar-wysiwyg-toolbar button{padding:.3rem .5rem;border:1px solid #adb7aa;background:#fff;color:var(--ink);cursor:pointer}
.blog-wysiwyg{position:relative}.blog-wysiwyg img.blog-inline-image{display:block;max-width:100%;height:auto}.blog-image-resize-handle{position:absolute;z-index:5;width:16px;height:16px;padding:0;border:2px solid #fff;background:#c96b3e;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:nwse-resize}
.wysiwyg-toolbar button{min-width:2rem;height:2rem;padding:.2rem .45rem;border:1px solid #adb7aa;border-radius:5px;background:#fff;color:var(--ink);font:600 .78rem "DM Sans",sans-serif;cursor:pointer;transition:background .15s,color .15s,transform .15s}.wysiwyg-toolbar button:hover,.wysiwyg-toolbar button:focus-visible{background:var(--ink);color:#fff;transform:translateY(-1px)}.masked-key{display:inline-block;padding:.1rem .4rem;border-radius:4px;background:#e7eadf;color:#607066;font-family:monospace;letter-spacing:.12em;cursor:pointer}.masked-key.is-revealed{letter-spacing:normal}.masked-key.is-revealed::after{content:' (sichtbar)';font:600 .7rem "DM Sans",sans-serif;letter-spacing:normal;color:#879187}
.blog-editor-actions button{padding:.45rem .7rem;border-radius:5px;font-size:.75rem}.blog-editor-form input,.blog-editor-form textarea{border-radius:5px}.blog-wysiwyg{border-radius:0 0 5px 5px}
.is-admin-editing [data-content="nav_links"] a::before{content:none!important}.is-admin-editing [data-content="nav_links"]>li{position:relative;cursor:grab}.is-admin-editing [data-content="nav_links"]>li:active{cursor:grabbing}.is-admin-editing [data-content="nav_links"]>li.drop-before::before,.is-admin-editing [data-content="nav_links"]>li.drop-after::after{content:"";position:absolute;left:-.4rem;right:-.4rem;height:3px;background:#c96b3e}.is-admin-editing [data-content="nav_links"]>li.drop-before::before{top:-.45rem}.is-admin-editing [data-content="nav_links"]>li.drop-after::after{bottom:-.45rem}.is-admin-editing [data-content="nav_links"]>li.drop-group{background:#d9dccf;outline:2px solid #c96b3e;outline-offset:4px}.is-admin-editing [data-content="nav_links"]>.nav-drop-indicator{display:grid!important;place-items:center;min-width:7.5rem!important;min-height:3.6rem!important;margin:.35rem 0!important;border:4px dashed #c96b3e!important;background:repeating-linear-gradient(45deg,rgba(201,107,62,.3),rgba(201,107,62,.3) 12px,rgba(255,255,255,.82) 12px,rgba(255,255,255,.82) 24px)!important;box-shadow:0 0 0 6px rgba(201,107,62,.2)!important;color:#8d4024!important;font:700 .75rem "DM Sans",sans-serif!important;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.is-admin-editing .nav-category{display:inline-block;min-width:14rem;padding:.55rem .75rem;border:2px solid #c96b3e;background:#fff;color:#3f4935;outline:0;font-size:.9rem}.is-admin-editing .nav-category:empty::before{content:"Gruppenname eingeben";color:#6d786d}.nav-group-remove,.nav-link-ungroup,.nav-category-cancel{margin:.25rem;padding:.25rem .4rem;border:1px solid #adb7aa;background:#fff;color:#3f4935;font:600 .7rem sans-serif;cursor:pointer}.nav-link-ungroup{display:block;width:100%;text-align:left}.wysiwyg-toolbar{display:none!important}.is-admin-editing .wysiwyg-toolbar{display:flex!important}.legal-intro{display:none!important}
.sidebar-component-add{display:block;margin:.8rem 0 0;padding:.45rem .65rem;border:1px dashed #adb7aa;background:transparent;color:var(--ink);font:600 .75rem "DM Sans",sans-serif;cursor:pointer}.sidebar-extra-component{margin:.8rem 0;padding:.8rem;background:#fff9f2;border:1px solid #c8cfc4;cursor:grab}.sidebar-extra-component h3{margin:0 0 .35rem;font-family:Fraunces,serif}.sidebar-extra-component p{margin:0;color:#49635c}
.global-sidebar .sidebar-extra-component{margin:.9rem 0 0;padding:0;background:transparent;border:0;border-top:1px solid #c8cfc4;cursor:grab}.global-sidebar .sidebar-extra-component h3{margin:.9rem 0 .45rem;font:600 1.35rem/1.2 Fraunces,serif;color:var(--ink)}.global-sidebar .sidebar-extra-component p{margin:0;color:#49635c;line-height:1.7}.global-sidebar .sidebar-extra-component ul,.global-sidebar .sidebar-extra-component ol{margin:.5rem 0 0;padding-left:1.2rem;color:#49635c;line-height:1.7}.global-sidebar .sidebar-extra-component img{display:block;width:100%;height:auto;margin:.7rem 0}.global-sidebar .sidebar-extra-component:focus-within{outline:2px dashed var(--accent);outline-offset:4px}
.global-sidebar .sidebar-original-component{margin:0;padding:0;background:transparent;border:0}.global-sidebar .sidebar-original-component .sidebar-toggle{margin:0}.global-sidebar .sidebar-original-component .sidebar-component{padding-top:.9rem}
.sidebar-component-toolbar{display:flex!important;margin:.7rem 0 0;padding:.3rem;border:1px solid #c8cfc4;border-bottom:0;background:#e7eadf}.sidebar-component-toolbar button{display:grid;place-items:center;width:1.9rem;height:1.9rem;padding:0;border:1px solid #adb7aa;border-radius:4px;background:#fff;color:var(--ink);font:600 .78rem "DM Sans",sans-serif;cursor:pointer}.sidebar-component-toolbar button:hover,.sidebar-component-toolbar button:focus-visible{background:var(--ink);color:#fff}.is-admin-editing .sidebar-component-toolbar+.sidebar-component-body{border:1px solid #c8cfc4;border-top:0;padding:.7rem;background:#fff}body:not(.is-admin-editing) .sidebar-component-toolbar{display:none!important}body:not(.is-admin-editing) .sidebar-component-body{padding-top:0;border:0;background:transparent}
.sidebar-link-dialog{width:min(92vw,360px);padding:1.2rem;border:0;background:#faf9f5;color:var(--ink);box-shadow:0 20px 60px rgba(30,45,35,.3)}.sidebar-link-dialog::backdrop{background:rgba(23,53,45,.48)}.sidebar-link-dialog h2{margin:0 0 1rem;font:600 1.5rem Fraunces,serif}.sidebar-link-dialog label{display:grid;gap:.3rem;margin:.75rem 0;font-weight:700}.sidebar-link-dialog input{box-sizing:border-box;width:100%;padding:.55rem;border:1px solid #b8c0b5;font:inherit}.sidebar-link-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.sidebar-link-dialog__actions button{padding:.45rem .7rem;border:1px solid #adb7aa;background:#fff;color:var(--ink);font:600 .75rem "DM Sans",sans-serif;cursor:pointer}
.sidebar-component-toolbar[hidden]{display:none!important}
.nav-link-remove{display:block;width:100%;margin:.25rem;padding:.25rem .4rem;border:1px solid #adb7aa;background:#fff;color:#3f4935;text-align:left;font:600 .7rem sans-serif;cursor:pointer}
.blog-admin-actions{display:flex;gap:.5rem;margin-top:1rem}.blog-admin-actions button{padding:.45rem .7rem;border-radius:5px;font-size:.75rem}
.global-sidebar .sidebar-component-body--image img{display:block;width:100%;max-width:100%;height:auto;margin:0}.global-sidebar .sidebar-component-body--link a{display:block;max-width:100%;overflow-wrap:anywhere}
.blog-resize-handle{position:absolute;right:.45rem;bottom:.45rem;z-index:3;width:2rem;height:2rem;padding:0;border:1px solid #adb7aa;border-radius:4px;background:#fff;color:var(--ink);font-size:1.1rem;cursor:nwse-resize}.blog-resize-handle:hover,.blog-resize-handle:focus-visible{background:var(--ink);color:#fff}
