.photo-shell{max-width:1280px;margin:0 auto;padding:32px 24px 64px;color:#173342}
.photo-heading,.photo-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.photo-heading{margin-bottom:24px}.photo-heading h1{font-size:clamp(28px,4vw,42px);margin:6px 0}
.photo-heading p{color:#526a76}.photo-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.photo-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px}
.photo-panel{background:#fff;border:1px solid #dce5e8;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 16px #17334205;min-width:0}
.photo-panel h2{font-size:21px;margin:0 0 18px}.photo-panel h3{font-size:16px;margin:24px 0 12px}
.photo-panel-heading h2{margin:0}.photo-panel-heading{margin-bottom:20px}
.photo-panel fieldset{border:0;padding:0;margin:0;min-width:0}
.photo-panel label{display:block;font-weight:600;font-size:14px;margin:0 0 16px}
.photo-panel input,.photo-panel select,.photo-panel textarea{box-sizing:border-box;display:block;width:100%;padding:11px;border:1px solid #b9cbd3;border-radius:8px;margin-top:7px;background:#fff;color:#173342;font:inherit}
.photo-panel textarea{resize:vertical}.photo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.photo-panel button{padding:11px 16px;border:1px solid #ccd9df;border-radius:8px;background:#f4f8f9;color:#173342;cursor:pointer;font:inherit}
.photo-panel button:disabled{opacity:.55;cursor:wait}
.photo-panel button[type=submit]{background:#17644e;color:white;border-color:#17644e;width:100%;margin:8px 0 20px}
.photo-panel progress{display:block;width:100%;height:12px;accent-color:#17644e}
.photo-note{font-size:13px;line-height:1.55;color:#617782}
.photo-status{display:inline-block;background:#eaf3f0;color:#17644e;border-radius:20px;padding:7px 13px;font-weight:600}
.photo-details{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.4fr);gap:9px 20px;font-size:14px}
.photo-details dt{color:#617782}.photo-details dd{margin:0;overflow-wrap:anywhere}
.photo-table-wrap{overflow-x:auto}.photo-panel table{width:100%;border-collapse:collapse;font-size:13px}
.photo-panel th,.photo-panel td{padding:10px 8px;text-align:left;border-bottom:1px solid #e4ecef}
.photo-panel td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.photo-panel a{color:#17644e}.photo-history{display:grid;gap:8px}
.photo-history button{text-align:left;overflow-wrap:anywhere}
#photo-error{color:#a32828;white-space:pre-line}#photo-folder{display:inline-block;margin:12px 0}
#photo-file-list{padding-left:20px;font-size:13px;overflow-wrap:anywhere}
.photo-shell [hidden]{display:none!important}
@media(max-width:850px){.photo-columns{grid-template-columns:1fr}.photo-shell{padding:20px 12px}.photo-panel{padding:18px}.photo-heading{align-items:flex-start}}
@media(max-width:420px){.photo-form-row{grid-template-columns:1fr;gap:0}.photo-panel-heading{flex-wrap:wrap}.photo-details{grid-template-columns:1fr;gap:4px}.photo-details dd{margin-bottom:8px}}

.photo-columns{align-items:start}
.photo-history-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e4ecef;padding:8px 0}
.photo-history-entry button{flex:1;min-width:160px}
#photo-all-more{margin-top:16px}
#photo-testing-panel>button{margin-bottom:16px}
