.capture-screen { overflow: hidden; }
.capture-header { padding-bottom: 8px; }
.walk-strip { flex: 0 0 auto; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; min-height: 58px; padding: 6px 12px 8px; border-bottom: 1px solid var(--line); background: #fff; }
.walk-strip-title { display: grid; align-content: center; min-width: 54px; }
.walk-strip-title strong { font-size: .9rem; line-height: 1; }
.walk-strip-title small { margin-top: 3px; color: var(--muted); font-size: .66rem; font-weight: 700; }
.walk-items { display: flex; gap: 7px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 1px 2px 3px; }
.walk-items::-webkit-scrollbar { display: none; }
.walk-item { position: relative; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; background: #f7f8fa; overflow: hidden; padding: 0; color: var(--ink); font-size: .72rem; font-weight: 850; }
.walk-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.walk-item .walk-item-number { position: absolute; right: 3px; bottom: 3px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 999px; background: rgba(17,24,39,.88); color: #fff; font-size: .58rem; }
.walk-item.text-only { display: grid; place-items: center; background: #f1f3f6; }
.capture-stage { gap: 9px; padding-top: 8px; }
.empty-capture { min-height: 130px; }
.empty-camera-card { min-height: clamp(145px, 25dvh, 205px); }
.photo-composer { flex: 0 0 auto; }
.photo-frame { max-height: 45dvh; touch-action: none; overscroll-behavior: contain; user-select: none; -webkit-user-select: none; }
.photo-frame img { max-height: 45dvh; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.photo-frame svg { touch-action: none !important; overscroll-behavior: contain; user-select: none; -webkit-user-select: none; }
.markup-tools { z-index: 3; }
.markup-hint { margin-bottom: 0; }
.location-composer { gap: 5px; }
.location-composer span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .02em; }
.location-composer input { min-height: 46px; padding: 10px 12px; border-radius: 13px; background: #fff; border: 1px solid var(--line); font-size: 16px; }
.note-composer textarea { min-height: 54px; }
.dictate-button { min-height: 54px; }
.capture-footer { grid-template-columns: minmax(0,1fr) 78px; }
.next-button { min-width: 78px; }
.bottom-sheet .mini-photo img { width: 100%; max-height: 220px; object-fit: contain; background: #111827; border-radius: 14px; }
@media (max-height: 700px) {
  .empty-camera-card { min-height: 125px; }
  .photo-frame, .photo-frame img { max-height: 39dvh; }
}

/* Field reports and explicit per-item choices use the same touch controls. */
.field-type-choices{border:0;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.field-type-choices legend{font-size:14px;font-weight:750;margin-bottom:8px}
.field-type-choices button,.review-party-chips button{min-height:44px;border:1px solid #d4dae3;border-radius:12px;background:#f3f4f6;color:#475569;padding:10px 14px;font-size:14px;line-height:1.3;white-space:normal;overflow-wrap:normal}
.field-type-choices button[aria-pressed=true],.review-party-chips button[aria-pressed=true]{background:#245de8;color:white;border-color:#245de8}
#capturePartyHint,#reviewPartyHint{display:block;color:#64748b;font-size:13px;line-height:1.5;margin:8px 0}
#captureAssignLater,#reviewAssignLater{min-height:44px;font-size:14px;padding:8px 12px;border:1px solid #d4dae3;border-radius:12px;margin-top:4px}
#captureAssignLater[aria-pressed=true],#reviewAssignLater[aria-pressed=true]{background:#e8eefb;border-color:#245de8;color:#1748c7}
#reviewPartyInput{width:100%;min-height:48px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;margin:8px 0}
.project-report-builder{box-sizing:border-box;width:min(720px,100%);max-width:100%;height:min(900px,100dvh);max-height:100dvh;margin:auto;padding:0;border:0;border-radius:20px;color:#172033;background:white;overflow:hidden}
.project-report-builder[open]{display:flex;flex-direction:column}
.project-report-builder::backdrop{background:rgba(15,23,42,.5)}
.project-report-builder header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
.project-report-builder header h2{font-size:23px;margin:4px 0;line-height:1.2}
.project-report-builder header small{color:#64748b}
.project-report-builder header button{padding:10px 14px;min-height:44px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;font-size:15px}
.report-builder-body{overflow:auto;min-height:0;padding:0 20px 20px;flex:1;overscroll-behavior:contain}
.report-builder-body p{font-size:15px;line-height:1.5}
.report-builder-body [data-error]{color:#b42318}
.report-builder-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.report-builder-body label{font-size:14px;font-weight:650}
.report-builder-body select,.report-builder-body input[data-title]{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;min-height:48px;background:white;color:#172033;margin-top:6px;box-sizing:border-box}
.report-builder-items{border:1px solid #e2e8f0;border-radius:12px;margin:12px 0 20px;overflow:hidden}
.report-builder-item,.report-select-all{display:flex;align-items:flex-start;gap:12px;padding:14px;cursor:pointer}
.report-builder-item+.report-builder-item{border-top:1px solid #e2e8f0}
.report-builder-item input,.report-select-all input{width:22px;height:22px;flex:0 0 22px;accent-color:#245de8;margin:0}
.report-builder-item span{min-width:0;display:grid;gap:6px;text-align:left}
.report-builder-item strong{font-size:15px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.report-builder-item small{color:#64748b;font-size:12px;font-weight:450;line-height:1.4}
.project-report-builder footer{padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;background:white;flex-shrink:0}
.project-report-builder footer button{width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:#245de8;color:white;font-size:16px;font-weight:750}
.project-report-builder footer button:disabled{opacity:.5}
.project-report-builder [hidden]{display:none!important}
.project-report-builder [data-result] .secondary-action,.project-report-builder [data-result] .primary-action{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:52px;padding:14px 18px;line-height:1.3;text-decoration:none;text-align:center;margin:12px 0;width:100%}
@media(max-width:500px){.project-report-builder{border-radius:0}.report-builder-filters{grid-template-columns:1fr}.project-report-builder header{padding-top:max(16px,env(safe-area-inset-top))}}

/* Party filters share the same wrap and touch targets as type/status filters. */
.report-builder-filters [data-parties]{display:flex;flex-wrap:wrap;gap:8px;min-width:0}

.project-report-builder footer{display:flex;flex-wrap:wrap;gap:8px}
.project-report-builder footer [data-excel],.project-report-builder footer [data-email]{width:auto;flex:1;background:#eff4ff;color:#245de8;font-size:14px}
