:root{--forest:#173f2a;--leaf:#2f7650;--mint:#e9f3ed;--ink:#17211b;--muted:#607067;--paper:#fbfcf9;--line:#dce5de;--danger:#a32b2b;--shadow:0 14px 45px rgba(20,50,32,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:#f1f5f1}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,#d9ebdf 0,transparent 34%),#f4f7f3}.topbar{height:68px;background:var(--forest);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));box-shadow:0 3px 18px #0002;position:sticky;top:0;z-index:500}.brand{color:white;text-decoration:none;font-weight:750;letter-spacing:.02em}.brand span{color:#a9d9b8}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a,.link-button{color:#ecf5ef;text-decoration:none;font:inherit;border:0;background:none;padding:0;cursor:pointer}.shell{max-width:1120px;margin:0 auto;padding:38px 20px 80px}h1{font-size:clamp(2rem,5vw,3.8rem);line-height:.98;margin:.25rem 0 1rem;letter-spacing:-.045em}h2{margin:.2rem 0 .6rem;font-size:1.35rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--leaf);font-size:.72rem;font-weight:800;margin:0}.muted{color:var(--muted)}.hero-row,.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:20px;padding:clamp(18px,4vw,32px);box-shadow:var(--shadow);margin-bottom:20px}.login-card{max-width:470px;margin:8vh auto;background:white;border-radius:24px;padding:42px;box-shadow:var(--shadow)}.stack{display:grid;gap:18px}.field{padding:18px 0;border-bottom:1px solid var(--line)}.field:last-child{border:0}.field>label:first-child{display:block;font-weight:680;margin-bottom:10px}.code{display:inline-block;background:var(--mint);color:var(--forest);padding:3px 7px;border-radius:7px;margin-right:5px;font-size:.78rem}input,select,textarea,button,.button{font:inherit}input[type=text],input[type=password],input[type=number],select,textarea,input[type=file]{width:100%;border:1px solid #bdcbc1;border-radius:10px;padding:11px 13px;background:white;color:var(--ink)}textarea{resize:vertical}.segmented,.checks{display:flex;gap:10px;flex-wrap:wrap}.segmented label,.checks label,.checkline{background:#f0f5f1;border:1px solid var(--line);padding:9px 12px;border-radius:9px;font-weight:500}.primary,.secondary,.button{border:0;border-radius:10px;padding:11px 17px;font-weight:750;text-decoration:none;display:inline-block;cursor:pointer}.primary{background:var(--leaf);color:white}.secondary{background:var(--mint);color:var(--forest);border:1px solid #c8dbce}.danger-link{border:0;background:none;color:var(--danger);padding:10px 0;cursor:pointer}.actions{display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:15px;background:#f4f7f3e8;backdrop-filter:blur(8px);padding:14px;border-radius:16px;z-index:20}.map{height:360px;border-radius:14px;background:#dce7df;overflow:hidden;position:relative;isolation:isolate}.map-card{display:grid;grid-template-columns:280px 1fr;gap:25px}.repeat-item{border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0;background:#fbfdfb}.repeat-item h3{margin:0 0 6px}.conditional[hidden]{display:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}td a{color:var(--forest);font-weight:700}.status{padding:5px 9px;border-radius:99px;background:#e5ebe6;font-size:.78rem}.status.approved{background:#d8f0df;color:#15562c}.status.returned{background:#f7dddd;color:#792121}.definition-list>div{display:grid;grid-template-columns:minmax(230px,1fr) 2fr;border-bottom:1px solid var(--line);padding:12px 0}.definition-list dt{font-weight:700}.definition-list dd{margin:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:16px 0}.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:10px}.inline,.button-row{display:flex;align-items:center;gap:10px}.metrics{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.metric{background:var(--forest);color:white;border-radius:16px;padding:18px 28px;display:grid}.metric strong{font-size:2rem}.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.user-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.flash{padding:13px 16px;border-radius:10px;margin-bottom:14px;background:#dfeee4}.flash.error{background:#f6dddd;color:#7d2020}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}input[type=range]{width:100%}pre{white-space:pre-wrap;background:#f1f5f2;padding:14px;border-radius:10px;overflow:auto}@media(max-width:760px){.topbar{height:auto;min-height:62px;padding:12px 16px;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem}.shell{padding:24px 14px 70px}.hero-row,.section-head{align-items:flex-start;flex-direction:column}.map-card,.two-col{grid-template-columns:1fr}.map{height:310px}.definition-list>div{grid-template-columns:1fr;gap:5px}.actions{justify-content:stretch}.actions button{flex:1}.login-card{padding:28px 22px;margin:4vh auto}}


/* Separate photo records with an explicit, accessible delete action. */
.photo-entry{display:flex;flex-direction:column;gap:8px;min-width:0;background:#f8fbf8;border:1px solid var(--line);padding:10px;border-radius:12px}
.photo-entry a{display:block}
.photo-entry img{display:block;width:100%;height:148px;object-fit:cover;border-radius:8px}
.photo-meta{font-size:.83rem;color:var(--muted);overflow-wrap:anywhere;margin:0}
.photo-delete-form{margin-top:auto}
.photo-delete-form .danger-link{width:100%;text-align:left}
.photo-upload-form{display:grid;gap:12px}
.photo-upload-form .checkline{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.pin-form{display:grid;gap:8px;margin-top:14px}
.pin-form .button-row{flex-wrap:wrap}
.pin-form .button-row button{margin-top:4px}

/* Foto-zuerst-Schnellerfassung: klare Schritte, mobil ebenso lesbar wie auf Desktop. */
.step-label{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.step-label h2{margin:0 0 6px}
.step-label p{margin:0}
.step-number{display:grid;place-items:center;min-width:37px;height:37px;border-radius:50%;background:var(--forest);color:white;font-weight:800}
.photo-pick-area{cursor:pointer;display:flex;gap:14px;align-items:center;border:2px dashed #8bb99c;background:#f0f8f2;border-radius:14px;padding:20px;margin-bottom:12px}
.photo-pick-area strong{display:block;color:var(--forest);font-size:1.1rem}
.photo-pick-area small{display:block;color:var(--muted);margin-top:4px}
.photo-pick-icon{font-size:2rem}
.photo-first-card #quick-photo{margin-bottom:15px}
.quick-photo-preview{display:grid;grid-template-columns:minmax(120px,210px) 1fr;gap:14px;align-items:center;border:1px solid var(--line);background:#f8fbf8;border-radius:14px;padding:12px;margin-bottom:12px}
.quick-photo-preview img{max-height:180px;max-width:100%;object-fit:contain;border-radius:9px}
.quick-photo-preview button{justify-self:start}
.quick-selection .field label{display:block;font-weight:650;margin-bottom:9px}
.quick-selection .field{padding:15px 0}
.quick-map-card{margin-bottom:16px}
.quick-observation-details{margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quick-observation-details>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fbf8;min-width:0}
.quick-observation-details dt{color:var(--muted);font-size:.84rem;margin-bottom:4px}
.quick-observation-details dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.quick-observation-details .observation-notes{white-space:pre-wrap;font-weight:450}
.quick-map-card #use-device-position{margin-top:12px}
[hidden]{display:none!important}
@media(max-width:760px){.quick-photo-preview{grid-template-columns:1fr}.quick-observation-details{grid-template-columns:1fr}.photo-pick-area{padding:15px}}
