/* Forge Hill Site Record - photo evidence task flow */
.photo-flow-screen{width:min(100%,760px);}
.photo-task-topbar{display:block;margin-bottom:14px;padding-bottom:18px;border-bottom:1px solid rgba(7,40,42,.09);}
.photo-task-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;}
.photo-task-back{appearance:none;border:0;background:transparent;padding:7px 0;color:var(--fh-ink);font:inherit;font-weight:850;cursor:pointer;}
.photo-task-step{color:var(--fh-gold);font-size:10px;font-weight:950;letter-spacing:.14em;white-space:nowrap;}
.photo-task-kicker{color:var(--fh-gold);font-size:10px;font-weight:950;letter-spacing:.15em;margin-bottom:5px;}
.photo-task-topbar h1{margin:0 0 5px;font-size:clamp(31px,7vw,42px);line-height:1.03;color:var(--fh-ink-strong);}
.photo-task-topbar .muted{font-size:14px;max-width:560px;}
.photo-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 18px;}
.photo-progress span{position:relative;text-align:center;padding:9px 8px;border:1px solid var(--fh-line);border-radius:999px;background:rgba(255,253,248,.72);color:var(--fh-muted);font-size:10px;font-weight:900;letter-spacing:.02em;}
.photo-progress span.active{background:var(--fh-ink);border-color:var(--fh-ink);color:#fffdf8;box-shadow:0 7px 18px rgba(3,29,31,.12);}
.photo-progress span.done{border-color:#cae3d3;background:#f3faf5;color:var(--fh-green);}
.photo-flow-setup .setup-grid{position:relative;overflow:hidden;padding:22px;border-radius:26px;background:var(--fh-surface);border:1px solid var(--fh-line);box-shadow:0 8px 24px rgba(3,29,31,.045);}
.photo-flow-setup .setup-grid:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fh-gold);opacity:.85;}
.photo-flow-setup .field-label{margin-top:12px;}
.photo-flow-setup .field-label:first-child{margin-top:0;}
.photo-flow-setup .select-field{min-height:56px;font-weight:800;background:#fffefa;}
.photo-flow-setup .stage-grid{gap:10px;margin-top:9px;}
.photo-flow-setup .stage-button{min-height:54px;border-radius:16px;background:#fffefa;}
.photo-flow-setup .stage-button.selected{background:var(--fh-ink);color:#fffdf8;border-color:var(--fh-ink);box-shadow:0 8px 18px rgba(3,29,31,.14);}
.photo-flow-setup .status-card{margin-top:15px!important;margin-bottom:4px;border-radius:18px;box-shadow:none;}
.photo-flow-setup .status-card strong{font-size:16px;}
.photo-flow-setup .button-stack{margin-top:15px;}
.photo-flow-setup #start-camera{min-height:60px;border-radius:18px;font-size:15px;letter-spacing:.025em;}
.photo-flow-setup #start-camera:not(:disabled){box-shadow:0 12px 26px rgba(3,29,31,.18);}
.photo-flow-review .context-summary{margin:0 0 17px;padding:12px;border-radius:18px;background:#eee9df;gap:7px;}
.photo-flow-review .context-summary .chip{background:#fffdf8;color:var(--fh-ink);border:1px solid rgba(7,40,42,.08);padding:8px 11px;}
.photo-flow-review .review-grid{gap:11px;margin-bottom:19px;}
.photo-flow-review .review-card{border-radius:19px;border-color:var(--fh-line);box-shadow:0 5px 16px rgba(3,29,31,.05);}
.photo-flow-review .review-card img{aspect-ratio:4/3;}
.photo-flow-review .remove-photo{right:9px;top:9px;background:rgba(3,29,31,.78);backdrop-filter:blur(6px);}
.photo-flow-review .note-field{min-height:104px;background:#fffefa;}
.photo-flow-review .button-stack{grid-template-columns:1fr 1.4fr;align-items:stretch;margin-top:16px;}
.photo-flow-review #more-photos,.photo-flow-review #save-batch{min-height:58px;}
.photo-flow-review #save-batch:not(:disabled){box-shadow:0 12px 26px rgba(3,29,31,.18);}

/* Camera stays task-first but now carries the same FHPD visual language. */
.camera-screen{background:#031d1f;}
.camera-screen:before{content:"";position:absolute;z-index:1;inset:0 0 auto 0;height:150px;background:linear-gradient(to bottom,rgba(3,29,31,.7),transparent);pointer-events:none;}
.camera-screen:after{content:"";position:absolute;z-index:1;inset:auto 0 0 0;height:230px;background:linear-gradient(to top,rgba(3,29,31,.72),transparent);pointer-events:none;}
.camera-top{top:max(16px,calc(env(safe-area-inset-top) + 8px));left:16px;right:16px;align-items:flex-start;}
.camera-pill{max-width:min(62vw,420px);white-space:normal;line-height:1.25;border:1px solid rgba(232,179,91,.34);background:rgba(3,29,31,.72);padding:10px 13px;border-radius:16px;box-shadow:0 7px 20px rgba(0,0,0,.16);}
.camera-action{background:rgba(3,29,31,.72);border:1px solid rgba(255,255,255,.16);padding:10px 13px;}
.camera-action.active{background:#fffdf8;color:var(--fh-ink);border-color:#fffdf8;}
.camera-bottom{z-index:3;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));grid-template-columns:1fr 106px 1fr;padding:0 24px;}
.camera-count{justify-self:start;text-shadow:none;background:rgba(3,29,31,.72);border:1px solid rgba(255,255,255,.14);padding:9px 12px;border-radius:999px;font-size:12px;}
.shutter{width:84px;height:84px;border:6px solid rgba(255,253,248,.92);background:#fffdf8;box-shadow:0 0 0 3px rgba(207,152,70,.72),0 8px 24px rgba(0,0,0,.3);}
.done-button{background:#fffdf8;color:var(--fh-ink);padding:13px 19px;box-shadow:0 8px 22px rgba(0,0,0,.2);}
.native-camera{z-index:3;bottom:max(132px,calc(env(safe-area-inset-bottom) + 126px));background:rgba(3,29,31,.72);border:1px solid rgba(232,179,91,.3);font-size:11px;padding:9px 13px;}

@media(max-width:520px){
  .photo-flow-setup .setup-grid{padding:18px;}
  .photo-flow-review .button-stack{grid-template-columns:1fr;}
  .camera-pill{max-width:52vw;font-size:11px;}
  .camera-actions{gap:6px;}
  .camera-action{padding:9px 10px;font-size:11px;}
  .camera-bottom{grid-template-columns:1fr 88px 1fr;padding:0 16px;}
  .shutter{width:76px;height:76px;}
  .done-button{padding:12px 15px;}
}
