:root{--ink:#233445;--muted:#687581;--line:#dde3e8;--paper:#fff;--blue:#1766ac}
body{margin:0;background:#f4f6f8;color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.page{max-width:1500px;margin:auto;padding:0 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:36px}.brand{font-size:25px;font-weight:700;letter-spacing:-1px;color:var(--ink)}.brand:hover{text-decoration:none}.account,.actions,.row-actions{display:flex;gap:10px;align-items:center}.account form{margin:0}.account span{color:var(--muted)}h1{font-size:30px;font-weight:650;letter-spacing:-.6px;margin-bottom:12px}h2{font-size:23px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);margin-bottom:8px}.muted{color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px}.login-panel{max-width:420px;margin:65px auto}.login-panel h1{margin-bottom:10px}.login-panel form{margin-top:28px}.form-control{border-color:#cdd6de;min-height:42px}.btn{border-radius:7px;padding:9px 16px}.btn-sm{padding:5px 10px}.btn-primary{background:var(--blue);border-color:var(--blue)}label{font-weight:600;font-size:14px}.filter-panel{padding:18px 24px;margin-bottom:24px}summary{cursor:pointer;font-weight:600}.filter-form{padding-top:22px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}.filter-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.edit-panel{max-width:none}.table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}.walks-table{margin:0;font-size:14px}.walks-table th{border-top:none;background:#edf1f5;font-size:12px;white-space:nowrap;color:#506171}.walks-table td{vertical-align:top;padding:17px 12px}.walks-table th{padding:14px 12px}.walks-table td:first-child{white-space:nowrap}.remarks{white-space:pre-wrap;overflow-wrap:anywhere;min-width:170px}.walks-table .remarks{max-width:320px}.status{display:inline-block;border-radius:20px;font-size:12px;padding:4px 10px;white-space:nowrap}.done{background:#e3f0e9;color:#236543}.pending{background:#fff0d5;color:#825c1f}.row-actions{flex-wrap:wrap}.delete-panel{max-width:600px;margin:48px auto}.empty{text-align:center;padding:60px 24px}footer{padding:36px 0 24px;color:#87939e;font-size:12px}.form-group{margin-bottom:20px}.actions{flex-wrap:wrap;margin-top:24px}textarea.form-control{min-height:130px}
@media(max-width:1050px){.filter-form .form-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page{padding:0 16px}.topbar{margin-bottom:26px;padding:18px 0}.account{gap:8px}.account span{display:none}.heading{align-items:flex-start;flex-wrap:wrap}.heading h1{font-size:27px}.panel{padding:22px}.form-grid,.filter-form .form-grid{grid-template-columns:1fr}.login-panel{margin:36px auto}.table-wrap{border:none;background:transparent;overflow:visible}.walks-table,.walks-table tbody,.walks-table tr,.walks-table td{display:block}.walks-table thead{display:none}.walks-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:14px;background:#fff}.walks-table td{border:none;padding:6px 0;display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;overflow-wrap:anywhere}.walks-table td:before{content:attr(data-label);font-size:12px;color:var(--muted);padding-top:3px}.walks-table td:first-child{white-space:normal}.walks-table .remarks{max-width:none;min-width:0}.status{justify-self:start}.row-actions{gap:8px}.delete-panel{margin:24px auto}}

/* Filmnummer bleibt schmal; Datum bleibt am Desktop in einer Zeile. */
@media(min-width:701px){.walks-table .film-number{width:1%;white-space:nowrap}.walks-table .walk-date{white-space:nowrap}}
.walks-table .film-number strong{font-variant-numeric:tabular-nums}
.paging-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}
.page-size-form,.paging-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.page-size-form label,.paging-count{margin:0}.paging-count{color:var(--muted)}
.page-size-form select{width:90px}.page-position{padding:0 6px;white-space:nowrap;font-size:14px}
.paging-nav .btn{padding:8px 11px;min-height:42px}
@media(max-width:700px){.paging-bar{gap:12px}.paging-nav{width:100%;justify-content:center;gap:5px}.paging-nav .btn{padding:8px}.page-position{padding:0 2px;font-size:13px}}

.shots-panel{margin-top:24px}.shot-text{white-space:pre-wrap;overflow-wrap:anywhere}
.shot-dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:680px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto;color:var(--ink)}
.shot-dialog::backdrop{background:rgba(20,30,40,.5)}
@media(max-width:700px){.shot-dialog{padding:20px}.shots-panel .heading{gap:8px}}

/* Read-only notes belong to their walk, including on narrow screens. */
.walks-table .walk-shots-cell{padding:0 12px 14px;border-top:0;white-space:normal}
.walk-shots{border-top:1px solid var(--line);padding-top:8px}
.walk-shots summary{padding:8px 0;color:var(--blue);font-size:14px;min-height:40px}
.walk-shot-list{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.walk-shot{padding:12px 16px;background:#f4f6f8;border-radius:8px;min-width:0;overflow-wrap:anywhere}
.walk-shot p{margin:0}.walk-shot .walk-shot-accessories{margin-top:4px;color:var(--muted)}
.walk-shot .walk-shot-note{margin-top:6px;white-space:pre-wrap}
@media(max-width:700px){
.walks-table .walk-group{display:block;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:14px;background:#fff}
.walks-table .walk-group>tr{border:0;border-radius:0;margin:0;padding:0;background:transparent}
.walks-table .walk-group .walk-shots-cell{display:block;padding:8px 0 0;border:0}
.walks-table .walk-shots-cell:before{display:none}
.walk-shot-list{grid-template-columns:1fr}.walk-shot{padding:12px}
}

/* Module overview and administration */
.module-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; }
.module-card { display:block; color:inherit; text-decoration:none; }
.module-card:hover { border-color:#0d6efd; }
.module-card p { color:#667085; }
.module-card span { color:#0d6efd; font-weight:600; }
.user-permissions { margin:1.5rem 0; }
.user-permissions legend { font-size:1.1rem; font-weight:600; }
.user-permissions label { display:block; margin:.7rem 0; }
.account { flex-wrap:wrap; }

.login-help { margin-top:1.25rem; }
.reset-panel { margin-top:1.5rem; }
@media(max-width:700px) { .topbar { flex-wrap:wrap; } .account { justify-content:flex-end; } }
