:root{--green:#2f7d3f;--light:#f6f8f6;--line:#e5e8ec;--text:#142033;--muted:#667085;--card:#fff;--red:#d93025;--blue:#2563eb}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff}a{color:inherit;text-decoration:none}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;position:sticky;top:0;z-index:5}.brand{display:flex;gap:14px;align-items:center}.logo{font-size:32px}.brand h1{font-size:24px;margin:0}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.nav{display:flex;align-items:center;gap:22px}.nav a{font-weight:600;font-size:14px}.nav a.active{color:var(--green);border-bottom:2px solid var(--green);padding-bottom:24px}.btn{border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:#fff;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.red{border-color:#f2aaa4;color:var(--red)}.btn.blue{border-color:#b5cdfd;color:var(--blue)}.layout{display:grid;grid-template-columns:260px 1fr 330px;min-height:calc(100vh - 74px)}.sidebar{border-right:1px solid var(--line);background:#fafbfc;padding:24px}.side-title{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 14px}.side-link,.tree a{display:block;padding:9px 10px;border-radius:7px;color:#263043}.side-link.active,.tree a.active{background:#e6f0e7;color:var(--green);font-weight:700}.tree{font-size:14px}.tree .year{font-weight:700;margin-top:12px}.tree .month{margin-left:12px}.tree .project{margin-left:28px;font-size:13px}.content{padding:26px 30px}.rightbar{border-left:1px solid var(--line);padding:24px;background:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.hero{display:grid;grid-template-columns:220px 1fr auto;gap:22px;align-items:start}.hero img{width:220px;height:150px;object-fit:cover;border-radius:10px;background:#eef2f7}.h1{font-size:28px;margin:0 0 8px}.muted{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{border-radius:7px;background:#eef6ee;color:#276b35;padding:6px 10px;font-size:13px}.chip.blue{background:#edf4ff;color:#185abc}.chip.gray{background:#f2f4f7;color:#344054}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.stat b{display:block}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:20px 0}.tabs a{padding:12px 0;font-weight:700;color:#475467;font-size:13px}.tabs a.active{color:var(--green);border-bottom:2px solid var(--green)}.section h2{font-size:18px;margin:18px 0 12px}.grid-img{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.thumb{height:95px;border-radius:8px;object-fit:cover;width:100%;background:#eef2f7}.file-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.file-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.file-icon{font-size:34px}.link-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pill-public{display:inline-flex;gap:6px;align-items:center;background:#e6f4ea;color:#137333;border-radius:20px;padding:5px 10px;font-size:13px}.search{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px}.mapbox{height:180px;border-radius:10px;background:linear-gradient(135deg,#e9f4e7,#f6f0df);display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px}.field textarea{min-height:110px}.full{grid-column:1/-1}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;font-size:14px}.notice{padding:12px 14px;border-radius:8px;background:#fff7e6;border:1px solid #ffd591;margin-bottom:14px}.notice.error{background:#fdecea;border-color:#f5c2c7;color:#842029}small{color:var(--muted);display:block;margin-top:6px}@media(max-width:1100px){.layout{grid-template-columns:1fr}.sidebar,.rightbar{display:none}.hero{grid-template-columns:1fr}.hero img{width:100%}.grid-img,.file-grid,.link-list{grid-template-columns:repeat(2,1fr)}}
.upload-progress{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fafc;margin-bottom:12px}.upload-progress div{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px}.upload-progress progress{width:100%;height:18px}.gallery-admin{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.gallery-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px}.gallery-card input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px}.image-caption{display:block;font-size:13px;color:var(--muted);margin-top:6px}.image-viewer{position:relative;background:#111;border-radius:14px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-viewer img{max-width:100%;max-height:72vh;display:block}.image-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border-radius:12px;background:rgba(255,255,255,.85);font-size:48px;line-height:58px;text-align:center;color:#111}.image-nav.prev{left:14px}.image-nav.next{right:14px}.viewer-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}@media(max-width:1100px){.gallery-admin{grid-template-columns:repeat(2,1fr)}}

/* v6 Galerie- und Projektuebersicht */
.btn.small{padding:6px 9px;font-size:12px;border-radius:7px}.cover-link,.timeline-cover{display:block}.compact-gallery-form{padding:14px}.gallery-admin.compact,.gallery-sortable{grid-template-columns:repeat(6,1fr);gap:10px}.gallery-card.compact{padding:7px;gap:6px;cursor:grab}.gallery-card.compact:active{cursor:grabbing}.gallery-card.compact.dragging{opacity:.45}.gallery-card.compact .thumb{height:74px}.gallery-card.compact b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-actions{display:flex;justify-content:flex-end}.cover-drop{border:2px dashed #bdd8c2;background:#f6fbf7;text-align:center}.cover-drop.active{background:#e6f4ea;border-color:var(--green);color:var(--green)}.mini-map{width:100%;height:180px;border:0;border-radius:10px;background:#eef2f7}.mini-map.small{height:115px;margin-bottom:10px}.timeline-card{grid-template-columns:220px 1fr 180px}.timeline-side{display:flex;flex-direction:column;gap:8px;align-items:stretch}.timeline-side .btn{justify-content:center}.rightbar .card p{line-height:1.45}@media(max-width:1100px){.gallery-admin.compact,.gallery-sortable{grid-template-columns:repeat(2,1fr)}.timeline-card{grid-template-columns:1fr}.mini-map.small{height:160px}}
/* v7 Galerie-Aktionen */
.bulkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px 0}
.gallery-card{position:relative}
.image-check{position:absolute;top:8px;left:8px;background:rgba(255,255,255,.92);border-radius:8px;padding:3px 6px;z-index:4;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.trash-form{position:absolute;top:8px;right:8px;z-index:5;margin:0}
.trash-btn{border:0;background:rgba(255,255,255,.94);border-radius:8px;padding:4px 7px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.14);font-size:14px}
.trash-btn:hover{background:#fee2e2}
.btn.small.red{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.gallery-card.compact .thumb{height:110px;object-fit:cover}
.gallery-card.compact{min-height:180px}
/* v8 Listen-Aktionen */
.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-form{display:inline-flex;margin:0}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#f8fafc}.icon-btn.danger{border-color:#fecaca;color:#991b1b}.icon-btn.danger:hover{background:#fee2e2}.table .chip{display:inline-flex}.card.hero.timeline-card{display:grid;text-decoration:none}.card.hero.timeline-card:hover{border-color:#bdd8c2;background:#fbfefb}
/* v9 Projektbedienung und Slideshow */
.cover-wrap{display:flex;flex-direction:column;gap:8px}.cover-drop-small{padding:8px 10px;margin:0;border-radius:9px;font-size:12px}.cover-drop-small b{font-size:13px}.cover-drop-small .muted{font-size:11px}.hero-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.hero-actions .btn{justify-content:center}.tag-toggle-panel{padding:14px}.tag-click-list{gap:7px}.tag-toggle{border:1px solid #d7eadb;cursor:pointer}.tag-toggle.active{background:var(--green);color:#fff;border-color:var(--green)}.gallery-card.compact{min-height:170px}.gallery-card.compact .thumb{height:96px}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;border-top:1px solid var(--line);padding-top:6px}.image-check-bottom{display:inline-flex;background:#f8fafc;border:1px solid var(--line);border-radius:7px;padding:4px 7px}.trash-form-bottom{margin:0}.gallery-bottom .trash-btn{position:static;box-shadow:none;border:1px solid #fecaca;color:#991b1b;background:#fff1f2}.gallery-bottom .btn.small{padding:5px 7px;font-size:11px}.place-edit{display:flex;flex-direction:column;gap:8px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.place-edit select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px}.bulkbar .btn.blue{border-color:#b5cdfd;color:var(--blue)}
/* v10 Tags, Bilddetails und Vollbild */
.tag-toggle-panel h4{margin:12px 0 6px;font-size:14px}.note-box{border:1px solid var(--line);border-radius:10px;background:#fafafa;padding:12px;margin:10px 0}.note-box p{margin:0 0 6px}.note-box small{color:var(--muted)}.field select[multiple]{min-height:120px}.viewer-actions .btn.blue{border-color:#b5cdfd;color:var(--blue)}


/* v11 moderne Auswahl, Maps und GPS */
.chip-select{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip-option{display:inline-flex;align-items:center;gap:6px;border:1px solid #d7eadb;background:#f6fbf7;color:#276b35;border-radius:999px;padding:7px 11px;font-size:13px;cursor:pointer;user-select:none;transition:.15s}
.chip-option input{display:none}
.chip-option.active,.chip-option:has(input:checked){background:var(--green);border-color:var(--green);color:white}
.chip-option:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08)}
.map-setter-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center}
.map-symbol-box{display:flex;gap:9px;align-items:center;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.icon-btn.map{font-size:18px;background:#eef6ff;border-color:#b5cdfd;color:#185abc}
.map-setter.collapsed{display:none;flex-direction:column;gap:8px;margin-top:10px;border-top:1px solid var(--line);padding-top:12px}
.map-setter.collapsed.open{display:flex}
.map-setter input,.map-setter-row input{border:1px solid var(--line);border-radius:8px;padding:9px;width:100%}
@media(max-width:1100px){.map-setter-row{grid-template-columns:1fr}}

/* v12 Projektstatus */
.inactive-card{opacity:.55;filter:grayscale(.75);border-style:dashed;background:#f3f4f6!important;}
.pill-muted{display:inline-block;background:#e5e7eb;color:#374151;border:1px solid #cbd5e1;border-radius:999px;padding:4px 9px;font-size:.85rem;margin:3px 4px 3px 0;}
.project-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center;}
.inline-form{display:inline-flex;margin:0;}
.notice.error{background:#fff1f2;color:#991b1b;border-color:#fecdd3;}
.btn.green{border-color:#22c55e;color:#166534;background:#f0fdf4;}
.check-row{display:flex;gap:8px;align-items:center;margin-top:8px;}
