:root{--ink:#17211f;--muted:#65716d;--primary:#315b53;--accent:#d69058;--paper:#fff;--bg:#f4f1eb;--line:#dfe4e1;--shadow:0 18px 50px rgba(31,47,42,.11)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.top{height:74px;background:#17362f;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;color:white;text-decoration:none}
.brand span{display:grid;place-items:center;width:40px;height:40px;background:var(--accent);color:#17362f;border-radius:12px}
.top nav{display:flex;align-items:center;gap:22px}
.top nav a,.top .link{color:#dce9e5;text-decoration:none;font-weight:650;background:none;border:0;font:inherit;cursor:pointer}
.top nav form{display:inline}
main{max-width:1180px;margin:auto;padding:50px 24px 90px}
footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}
h1,h2,h3{line-height:1.12;margin:0 0 14px}
h1{font-size:clamp(38px,6vw,70px);letter-spacing:-.045em}
h1 em{font-style:normal;color:var(--accent)}
h2{font-size:34px}
.eyebrow{display:block;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:13px}
.hero{min-height:530px;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}
.hero p{font-size:20px;color:var(--muted);max-width:660px}
.paper{height:380px;background:white;border-radius:8px;box-shadow:var(--shadow);transform:rotate(3deg);padding:45px;display:flex;flex-direction:column;justify-content:space-between;border-top:14px solid var(--primary)}
.paper b{font-size:80px;color:#d9dfdc}
.paper span{font-size:22px;font-weight:800}
.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--primary);color:white;text-decoration:none;border:0;border-radius:12px;padding:14px 22px;font-weight:800;font-size:15px;cursor:pointer}
.section-head,.admin-head{display:flex;justify-content:space-between;align-items:end;margin:55px 0 24px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{background:white;border:1px solid var(--line);border-radius:17px;padding:24px;text-decoration:none;color:inherit;min-width:0;min-height:240px;height:100%;transition:.2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .icon,.page-head .icon{font-size:34px}
.card small{display:block;color:var(--muted);margin:16px 0 6px}
.card p{color:var(--muted)}
.card h3,.card p{overflow-wrap:anywhere}.card b{color:var(--primary);margin-top:auto;padding-top:12px}
.categories{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.categories a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;background:white;padding:18px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none}
.categories a>span{font-size:28px}
.categories small{display:block;color:var(--muted)}
.categories i{font-style:normal;font-size:13px;color:var(--muted)}
.page-head{display:flex;gap:24px;align-items:center;margin:20px 0 42px}
.page-head h1,.admin-head h1{font-size:44px}
.document-hero{position:relative;isolation:isolate;overflow:hidden;max-width:920px;margin:0 auto 28px;padding:28px 34px 32px;border-radius:24px;background:linear-gradient(125deg,#17362f 0%,#245248 64%,#34685d 100%);color:#fff;box-shadow:0 22px 55px rgba(23,54,47,.22)}.document-hero:after{content:"";position:absolute;z-index:-1;right:-55px;bottom:-78px;width:250px;height:250px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 72px rgba(255,255,255,.025)}.document-hero-glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 82% 12%,rgba(214,144,88,.28),transparent 27%)}.document-back{display:inline-flex;align-items:center;gap:9px;margin-bottom:27px;padding:8px 13px 8px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);color:#eff8f5;text-decoration:none;font-size:13px;font-weight:750;backdrop-filter:blur(5px);transition:.2s}.document-back:hover{background:rgba(255,255,255,.17);transform:translateX(-2px)}.document-back-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#17362f;font-size:17px}.document-hero-content{display:flex;align-items:center;gap:24px}.document-hero-icon{flex:0 0 78px;width:78px;height:78px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08));font-size:39px;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 30px rgba(0,0,0,.12)}.document-kicker{display:block;margin-bottom:7px;color:#f3bc8e;font-size:11px;font-weight:900;letter-spacing:.18em}.document-hero h1{margin:0;color:#fff;font-size:clamp(37px,6vw,58px);letter-spacing:-.045em}.document-hero p{max-width:610px;margin:10px 0 0;color:#d9e8e4;font-size:17px}.document-hero-note{display:inline-flex;align-items:center;gap:8px;margin:26px 0 0 102px;color:#cfe1dc;font-size:13px}.document-hero-note span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d8ede5;color:#205347;font-weight:900}
.generator,.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 6px 25px rgba(31,47,42,.05)}
.generator{max-width:790px;margin:auto;position:relative}
.generator h2,.editor h2{font-size:20px;border-bottom:1px solid var(--line);padding-bottom:10px;margin:30px 0 18px}
.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px}
.field>span{font-weight:750}
.field input,.field textarea,.field select{width:100%;border:1px solid #bdc8c4;background:#fbfcfb;border-radius:10px;padding:12px 13px;font:inherit;color:inherit}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(49,91,83,.14);border-color:var(--primary)}
.field small{color:var(--muted)}
.field.check{display:grid;grid-template-columns:1fr auto}
.field.check input{width:22px;height:22px}
.positions-field{border:1px solid var(--line);border-radius:14px;padding:18px;margin:24px 0}.positions-field legend{font-weight:800;padding:0 8px}.position-rows{display:grid;gap:12px}.position-row{border:1px solid #d7dfdc;border-radius:12px;background:#fbfcfb;padding:14px}.position-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.position-row-head strong{color:var(--primary)}.position-remove{border:0;background:transparent;color:#a52d2d;cursor:pointer}.position-remove:disabled{display:none}.position-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.position-inputs label{display:flex;flex-direction:column;gap:5px}.position-inputs label span{font-size:12px;font-weight:800;color:var(--muted)}.position-inputs input,.position-inputs select{width:100%;min-height:48px;border:1px solid #bdc8c4;border-radius:9px;padding:10px 12px;font:inherit;color:var(--ink);background-color:#fff}.position-inputs select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='%23315b53' d='m5.5 7.5 4.5 4.5 4.5-4.5 1.4 1.4-5.9 5.9-5.9-5.9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.position-inputs input:focus,.position-inputs select:focus{outline:3px solid rgba(49,91,83,.14);border-color:var(--primary)}.add-position{margin-top:13px}.positions-field>small{display:block;margin-top:10px}
.error{color:#b53434!important}
.form-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.alert{padding:14px 18px;border-radius:12px;margin-bottom:18px}
.alert.ok{background:#dff4e8;color:#17623b}
.alert.bad{background:#fde5e5;color:#8b2525}
.login{min-height:620px;display:grid;place-items:center}
.login>div{width:min(460px,100%);background:white;padding:40px;border-radius:22px;box-shadow:var(--shadow)}
.login h1{font-size:46px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}
.stats div{background:white;border:1px solid var(--line);border-radius:15px;padding:24px}
.stats strong{font-size:36px;display:block}
.stats span{color:var(--muted)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}
th{font-size:12px;text-transform:uppercase;color:var(--muted)}
td small{display:block;color:var(--muted)}
.badge{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.badge.on{background:#dff4e8;color:#17623b}
.badge.off{background:#ecefed;color:#68736f}
.badge.hidden{background:#fff0cf;color:#845400}.actions{display:flex;gap:12px}
.actions a,.actions .link{color:var(--primary);background:none;border:0;padding:0;font:inherit;cursor:pointer}
td.actions{display:table-cell;vertical-align:middle;white-space:normal}td.actions>a,td.actions>form,td.actions>button{display:inline-flex;vertical-align:middle;margin:4px 12px 4px 0}.copy-link.copied{color:#17623b!important;font-weight:800}.visibility-check{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.visibility-check input{width:20px;height:20px;margin-top:3px}.visibility-check span{display:flex;flex-direction:column}.visibility-check small{color:var(--muted)}
.grid2,.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.admin-columns{align-items:start}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
.empty{text-align:center;padding:110px 20px}
.empty>span{font-size:60px;color:var(--accent)}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}
.hero{grid-template-columns:1fr}
.paper{display:none}
.stats{grid-template-columns:1fr 1fr}
.top nav a:not(:first-child){display:none}
}
@media(max-width:620px){main{padding:30px 15px 70px}
.top{padding:0 15px}
.cards,.categories,.grid2,.admin-columns{grid-template-columns:1fr}
.categories a{grid-template-columns:42px 1fr}
.categories i{display:none}
.form-action,.admin-head{align-items:stretch;flex-direction:column;gap:18px}
.generator,.panel{padding:20px;overflow:auto}
.stats{grid-template-columns:1fr 1fr}
.page-head h1,.admin-head h1{font-size:36px}
h1{font-size:44px}
}
@media(max-width:620px){.document-hero{margin:0 auto 20px;padding:20px;border-radius:19px}.document-back{margin-bottom:22px;max-width:100%}.document-hero-content{align-items:flex-start;gap:15px}.document-hero-icon{flex-basis:56px;width:56px;height:56px;border-radius:16px;font-size:29px}.document-kicker{font-size:9px}.document-hero h1{font-size:34px}.document-hero p{font-size:15px;line-height:1.55}.document-hero-note{margin:22px 0 0;font-size:12px}.document-hero:after{opacity:.6}}
.lead{margin:6px 0 0;color:var(--muted)}
.head-actions,.actions-row{display:flex;gap:10px;flex-wrap:wrap}
.btn.secondary{background:#e8efec;color:var(--primary)}.btn.small{padding:9px 14px}
.editor{display:grid;gap:22px}.editor-section{overflow:visible}
.section-title{display:flex;align-items:center;gap:15px;margin-bottom:25px}.section-title h2{margin:0;border:0;padding:0}.section-title p{margin:4px 0 0;color:var(--muted)}.section-title .btn{margin-left:auto}
.step{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:900}
.option-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.option-row .check{display:flex;gap:8px;align-items:center;font-weight:700}.option-row .compact{width:150px;margin-left:auto}
.emoji-picker{display:flex;gap:7px;flex-wrap:wrap;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.emoji-picker button{width:40px;height:40px;border:1px solid transparent;background:transparent;border-radius:9px;font-size:21px;cursor:pointer}.emoji-picker button:hover{background:#edf3f0}.emoji-picker button.selected{background:#dcebe5;border-color:var(--primary);box-shadow:0 0 0 2px rgba(49,91,83,.12)}.emoji-picker.large button{width:46px;height:46px;font-size:24px}
.field-builder{display:grid;gap:12px}.field-card{border:1px solid var(--line);border-radius:14px;background:#fbfcfb;overflow:hidden}.field-card-head{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#f1f5f3}.field-card-head strong{flex:1}.drag{color:var(--muted);font-size:18px}.type-badge{font-size:12px;font-weight:800;color:var(--primary);background:#dfece7;padding:4px 8px;border-radius:99px}.row-actions{display:flex;gap:5px}.row-actions button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer;font-size:16px}.row-actions button[data-remove]{color:#b42318}
.field-config{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr 130px;gap:12px;padding:15px}.field-config label{display:flex;flex-direction:column;gap:5px}.field-config label>span{font-size:12px;font-weight:800;color:var(--muted)}.field-config input,.field-config select,.field-config textarea{width:100%;border:1px solid #bdc8c4;border-radius:9px;padding:9px;font:inherit;background:#fff}.check-inline{align-items:center;justify-content:center;flex-direction:row!important;font-weight:700}.check-inline input{width:18px}.select-options,.positions-options{display:none;grid-column:1/-1}.field-card.is-select .select-options{display:flex}.field-card.is-positions .positions-options{display:block}.field-card.is-positions .standard-option{display:none}.field-card.is-heading .not-heading{display:none}.field-card.is-heading .field-config{grid-template-columns:220px 1fr}.positions-limits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.position-columns{display:grid;gap:8px;margin:8px 0}.position-column-row{display:grid;grid-template-columns:1fr 1.35fr 120px 1fr 100px 38px;gap:8px;align-items:end;background:#f2f6f4;padding:10px;border-radius:10px}.position-column-row .column-options{display:none;grid-column:1/-1}.position-column-row.is-select-column .column-options{display:flex}.position-column-row>button{height:39px;border:1px solid #e1bcbc;background:#fff;color:#a52d2d;border-radius:8px;font-size:19px;cursor:pointer}
.editor-toolbar{display:flex;gap:7px;flex-wrap:wrap;padding:10px;background:#eef3f1;border:1px solid var(--line);border-radius:12px 12px 0 0}.editor-toolbar button{border:1px solid #cbd6d2;background:#fff;border-radius:7px;padding:8px 11px;cursor:pointer}.placeholder-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#fff8ec;border-left:1px solid var(--line);border-right:1px solid var(--line)}.placeholder-box strong{font-size:13px}.placeholder-box>div{display:flex;gap:6px;flex-wrap:wrap}.placeholder-box button{border:0;background:#f0dcc2;color:#684321;border-radius:99px;padding:5px 9px;font:12px ui-monospace,monospace;cursor:pointer}
.visual-editor{min-height:390px;padding:36px;background:#fff;border:1px solid #bdc8c4;border-radius:0 0 12px 12px;outline:none;box-shadow:inset 0 0 0 8px #f7f8f7;font:16px/1.7 Georgia,serif}.visual-editor:focus{border-color:var(--primary);box-shadow:inset 0 0 0 8px #f7f8f7,0 0 0 3px rgba(49,91,83,.12)}.visual-editor h2{font:700 24px system-ui;margin:24px 0 12px;color:var(--primary);border:0;padding:0}.visual-editor p{margin:0 0 16px}.visual-editor .pdf-spacer{position:relative;min-height:46px;margin:10px 0!important;border:1px dashed #bdc8c4;border-radius:8px;background:repeating-linear-gradient(135deg,#fafcfb,#fafcfb 8px,#f1f5f3 8px,#f1f5f3 16px)}.visual-editor .pdf-spacer:after{content:"Abstand im PDF";position:absolute;inset:0;display:grid;place-items:center;color:#71807b;font:700 11px system-ui;letter-spacing:.06em;text-transform:uppercase}.advanced{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:12px}.advanced summary{cursor:pointer;font-weight:750}.advanced textarea{width:100%;margin:12px 0}.source-note{display:block;margin-top:9px;color:var(--muted)}
.sticky-save{position:sticky;bottom:15px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#17362f;color:#fff;border-radius:15px;padding:14px 18px;box-shadow:0 12px 35px rgba(23,54,47,.28)}
.category-list{display:grid;gap:10px}.category-admin-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:14px}.category-admin-card.inactive{opacity:.68;background:#f4f5f4}.category-symbol{width:44px;height:44px;display:grid;place-items:center;background:#f1f4f2;border-radius:11px;font-size:24px}.category-admin-card small{display:block;color:var(--muted)}.category-actions{grid-column:2/-1;display:flex;gap:13px;align-items:center;flex-wrap:wrap}.category-actions form{display:inline}.category-actions a,.category-actions .link{border:0;background:none;padding:0;color:var(--primary);font:inherit;cursor:pointer;text-decoration:none}.category-actions .danger{color:#b42318}.disabled-action{color:#9ba4a1;font-size:13px}
.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.library-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.library-card .icon{font-size:32px}.library-card p{color:var(--muted);flex:1}.library-card .installed{color:#17623b;font-weight:800}.library-card form{margin-top:10px}
@media(max-width:1000px){.field-config{grid-template-columns:1fr 1fr}.library-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.section-title{align-items:flex-start;flex-wrap:wrap}.section-title .btn{width:100%;margin:0}.field-config{grid-template-columns:1fr}.field-card.is-heading .field-config{grid-template-columns:1fr}.positions-limits{grid-template-columns:1fr}.position-column-row{grid-template-columns:1fr 1fr}.position-column-row .check-inline{justify-content:flex-start}.position-column-row>button{width:100%}.position-inputs{grid-template-columns:1fr}.option-row .compact{width:100%;margin:0}.sticky-save{bottom:8px;align-items:stretch;flex-direction:column}.library-grid{grid-template-columns:1fr}.head-actions{width:100%}.head-actions .btn{flex:1}.category-admin-card{grid-template-columns:48px 1fr}.category-admin-card>.badge{grid-column:1/-1;width:max-content}.category-actions{grid-column:1/-1}}
.site-footer{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.site-footer a{color:var(--primary);text-decoration:none;font-weight:700}.content-page{max-width:900px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(28px,6vw,70px);box-shadow:var(--shadow)}.content-page h1{font-size:clamp(38px,6vw,58px)}.content-page-body{margin-top:38px;font-size:17px;line-height:1.75}.content-page-body h2{font-size:28px;margin-top:34px}.content-page-body h3{font-size:21px;margin-top:28px}.content-page-body blockquote{border-left:4px solid var(--accent);padding:12px 18px;margin-left:0;background:#faf6f0}.page-content-editor{min-height:520px}.actions .danger{color:#b42318}
@media(max-width:900px){.public-top nav{max-width:58vw;overflow-x:auto}.public-top nav a:not(:first-child){display:block;white-space:nowrap}}
