/* 2026-10-01: private capture and review within Harmonia's editorial system. */
.pool-photo-sheet { margin:auto; display:flex; flex-direction:column; gap:var(--sp-3); }
.pool-photo-sheet:not([open]) { display:none; }
.pool-photo-sheet p,.pool-photo-card p { margin:0; }
.pool-photo-preview { display:block; width:100%; max-width:32rem; max-height:60dvh; object-fit:contain; margin-inline:auto; background:var(--panel,var(--bg)); }
.pool-photo-preview[hidden] { display:none; }
.pool-photo-list,.pool-photo-card { display:flex; flex-direction:column; gap:var(--sp-3); }
.pool-photo-card { padding-block:var(--sp-3); border-top:1px solid var(--gold2); }
.pool-photo-sheet h3,.pool-staff h2,.pool-staff h3 { font-family:"Cormorant Garamond",serif; font-size:var(--fs-lead,24px); font-weight:700; margin:0; }
.pool-photo-sheet input[type=file],.pool-photo-sheet select,.pool-staff input,.pool-staff select { width:100%; min-height:48px; padding:var(--sp-2); font:inherit; color:var(--fg); background:var(--bg); border:1px solid var(--fg3); border-radius:var(--btn-radius); box-sizing:border-box; }
.pool-photo-sheet input[type=file]::file-selector-button { font:inherit; min-height:48px; color:var(--fg); background:var(--bg); border:1px solid var(--fg3); border-radius:var(--btn-radius); margin-right:var(--sp-1); }
.pool-staff { max-width:54rem; padding:var(--sp-4); margin:auto; font-family:"DM Sans",sans-serif; font-size:var(--fs-body,19px); color:var(--fg); }
.pool-staff h1 { font-family:"Cormorant Garamond",serif; font-weight:700; font-size:var(--fs-h2,36px); }
.pool-staff form,.pool-staff-root { display:flex; flex-direction:column; gap:var(--sp-3); }
.pool-review-profile { display:grid; grid-template-columns:1fr 2fr; gap:var(--sp-2); margin:0; }
.pool-review-profile dd { margin:0; overflow-wrap:anywhere; }
.pool-review-findings { white-space:pre-wrap; overflow-wrap:anywhere; font-family:"DM Sans",sans-serif; font-size:var(--fs-label,16px); padding:var(--sp-3); border:1px solid var(--fg3); }
.pool-staff fieldset { margin:0; border:1px solid var(--fg3); padding:var(--sp-3); }
.pool-staff .pool-profile-check { display:flex; align-items:flex-start; gap:var(--sp-1); padding-block:var(--sp-1); }
.pool-staff input[type=checkbox] { width:auto; flex-shrink:0; }
.pool-staff :focus-visible { outline:2px solid var(--gold2); outline-offset:4px; }
@media(max-width:600px) { .pool-staff { padding:var(--sp-3); } .pool-review-profile { grid-template-columns:1fr; } }
.pool-photo-camera-actions { display:flex; flex-direction:column; gap:var(--sp-2); }
.pool-photo-sheet > * { flex-shrink:0; }

/* 2026-10-01: compact progress and advice, accessible house controls. */
.pool-progress { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--sp-2); padding:0; margin:0; list-style-position:inside; font:600 var(--fs-label,16px)/1.5 "DM Sans",sans-serif; }
.pool-progress li { overflow-wrap:anywhere; padding:var(--sp-1); border-bottom:2px solid var(--fg3); }
.pool-progress li[data-step-state=current],.pool-progress li[data-step-state=complete] { border-color:var(--gold2); }
.pool-progress-state { display:block; font-weight:400; }
.pool-photo-advice summary { font-family:"DM Sans",sans-serif; font-size:var(--fs-label,16px); padding-block:var(--sp-2); min-height:48px; cursor:pointer; box-sizing:border-box; }
.pool-photo-advice[open],.pool-review-summary { display:flex; flex-direction:column; gap:var(--sp-2); }
.pool-photo-sheet [hidden] { display:none; }
@media(max-width:600px) { .pool-progress { grid-template-columns:repeat(2,minmax(0,1fr)); } }
