.bmi-person-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;padding:12px;margin-bottom:12px}.bmi-form-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.bmi-form-layout>*{min-width:0}.bmi-form-controls{display:grid;gap:12px}.bmi-form-controls .section-space{margin:0}.bmi-form-controls .source-details{margin:0}.bmi-form-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-top:1px solid var(--line)}.bmi-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.bmi-photo{min-width:0;padding-top:12px;border-top:1px solid var(--line)}.bmi-photo input{width:100%;font-size:13px;padding:8px;min-width:0}.bmi-photo img{width:auto;max-width:100%;max-height:140px;object-fit:contain;justify-self:start;border-radius:4px}.bmi-photo img[hidden]{display:none}.bmi-photo button{justify-self:start}.bmi-pdf-preview{min-height:120px;padding:12px;background:var(--surface-alt,var(--ground));border-radius:0 0 var(--radius) var(--radius)}.bmi-pdf-preview iframe{display:block;width:100%;height:clamp(440px,70vh,900px);border:1px solid var(--line);background:#fff}.bmi-pdf-preview>p{max-width:60ch}.dialog-body>.bmi-pdf-preview{margin-top:16px}.dialog-body .bmi-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.bmi-form-layout{grid-template-columns:minmax(0,1fr)}.bmi-form-layout .bmi-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.bmi-person-picker{grid-template-columns:minmax(0,1fr)}.bmi-form-layout .bmi-photo-grid,.dialog-body .bmi-photo-grid{grid-template-columns:minmax(0,1fr)}.bmi-pdf-preview{padding:8px}.bmi-form-layout .panel-head{padding:12px}.bmi-person-picker select{width:100%;min-width:0;text-overflow:ellipsis}.bmi-pdf-preview iframe{height:440px}}@media print{.bmi-form-layout{display:block}.bmi-person-picker,.bmi-form-controls,.bmi-form-actions{display:none}}

[data-alignment][hidden]{display:none}.photo-alignment-stage{position:relative;height:224px;display:flex;justify-content:center;background:#fff;border:1px solid var(--line);margin:8px 0;overflow:hidden}.photo-alignment-stage canvas{display:block;height:100%;width:auto;max-width:100%}.photo-alignment-guide{position:absolute;left:0;right:0;border-top:1px dashed #165c51;color:#10473f;background:#ffffffcc;font-size:11px;pointer-events:none}.guide-head{top:5%}.guide-feet{top:95%;line-height:1}.bmi-photo input[type=range]{padding:0;min-height:44px;accent-color:var(--brand)}

.bmi-batch{margin-bottom:16px}.bmi-batch [hidden]{display:none}.bmi-batch progress{display:block;width:100%;height:16px}.bmi-batch-print-frame{position:fixed;inset:auto auto 0 0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}

.ppt-photo-import{margin-bottom:16px}.ppt-photo-import button{justify-self:start}.ppt-photo-review{display:grid;gap:16px;max-height:60vh;overflow-y:auto;padding:8px}.ppt-photo-record{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.ppt-photo-record>.field{grid-column:1/-1}.ppt-photo-record small{overflow-wrap:anywhere}.ppt-photo-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ppt-photo-thumbs img{max-height:120px;object-fit:contain}.ppt-photo-thumbs small{text-align:center}@media(max-width:768px){.ppt-photo-record{grid-template-columns:minmax(0,1fr)}}

/* Form workflow follows the current theme; motion only marks state changes. */
.bmi-steps{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;margin:0 0 12px;list-style-position:inside;color:var(--muted);font-size:16px}.bmi-steps li::marker{color:var(--brand);font-weight:700}.bmi-extra{margin-top:12px}.bmi-extra>summary,.bmi-adjust>summary{cursor:pointer;padding:12px;font-weight:600;min-height:44px}.bmi-extra-body{padding:0 12px 12px}.bmi-extra-body>.panel{margin:0;box-shadow:none}.bmi-adjust{border-top:1px solid var(--line);margin-top:8px}.bmi-adjust>summary{padding:12px 0}.bmi-adjust-body{padding-bottom:8px}.bmi-photo{padding:12px;border:1px solid var(--line);border-radius:var(--radius);gap:8px;background:var(--surface)}.bmi-photo>label{font-size:16px;font-weight:700}.bmi-photo-status{display:block;min-height:24px}.bmi-photo input[type=file]{font-size:14px;padding:0;min-height:44px}.bmi-photo input::file-selector-button{cursor:pointer;border:1px solid var(--line);border-radius:4px;background:var(--surface-alt,var(--ground));color:inherit;padding:12px;margin-right:8px;font:inherit}.bmi-photo-remove{font-size:14px}.bmi-form-actions{position:sticky;bottom:0;background:var(--surface);z-index:2}.bmi-form-actions button{min-height:44px}.bmi-extra summary:focus-visible,.bmi-adjust summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.bmi-form-layout{animation:bmi-enter 220ms ease-out}.bmi-extra[open]>.bmi-extra-body,.bmi-adjust[open]>.bmi-adjust-body{animation:bmi-enter 180ms ease-out}.bmi-photo [role=status]:not(:empty){animation:bmi-feedback 200ms ease-out}.bmi-form-actions button{transition:opacity 160ms ease-out,transform 160ms ease-out}.bmi-form-actions button:active{transform:translateY(1px)}
@keyframes bmi-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bmi-feedback{from{opacity:.4}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.bmi-form-layout,.bmi-extra[open]>.bmi-extra-body,.bmi-adjust[open]>.bmi-adjust-body,.bmi-photo [role=status]:not(:empty){animation:none}.bmi-form-actions button{transition:none;transform:none}}
@media(max-width:768px){.bmi-steps{gap:8px 16px}.bmi-form-actions{position:static}.photo-alignment-stage{height:224px}.bmi-photo-grid{gap:12px}}

.bmi-form-layout .panel-head,.bmi-form-layout .panel-body{padding:12px}.bmi-form-controls .form-grid{gap:12px}.bmi-form-controls p,.bmi-pdf-preview>p{margin:0}.bmi-form-controls .help:empty,.bmi-form-controls .error:empty{display:none}.bmi-extra-body .panel-body,.bmi-extra-body .panel-head{padding:12px}.bmi-person-picker .field,.bmi-form-controls .field{gap:4px}

.bmi-selection{margin-bottom:12px}.bmi-selection .bmi-person-picker{border:0;border-radius:0;box-shadow:none;margin-bottom:0}.bmi-form-dates{display:grid;gap:8px;padding:0 12px 12px}.bmi-form-dates .form-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.bmi-form-dates p{margin:0}.bmi-form-feedback{display:grid;gap:8px;padding:0 12px}.bmi-form-feedback p{margin:0}.bmi-form-feedback p:empty{display:none}.bmi-preview-section .bmi-form-actions{position:static;border-top:0;border-bottom:1px solid var(--line)}.bmi-more{margin-top:20px}.bmi-more>h2{font-size:18px;margin:0 0 8px}.bmi-more .bmi-extra{margin-top:8px}.bmi-form-dates .od-cluster button{font-size:14px}.bmi-selection .panel-head{padding:12px}.bmi-form-layout .bmi-form-controls>.od-field>h3{margin:0;font-size:16px}
@media(max-width:375px){.bmi-form-dates .form-grid{grid-template-columns:minmax(0,1fr)}}

.bmi-steps,.bmi-selection,#bmi-form-workspace,.bmi-more{width:100%;max-width:960px;margin-inline:auto}

.bmi-adjust h4{margin:8px 0;font-size:14px}.bmi-adjust-body{display:grid;gap:0}.bmi-adjust-body>p{margin:0 0 8px}.bmi-adjust-body>label{display:block;margin:0;line-height:1.4}.bmi-adjust-body>input[type=range]{display:block;margin:0;min-height:32px;padding:0}.bmi-adjust-body .od-cluster{margin-top:8px}#save-all-alignments{justify-self:start;min-height:44px}@media(pointer:coarse){.bmi-adjust-body>input[type=range]{min-height:44px}}

.bmi-form-layout button,.bmi-form-dates button,.bmi-more button,.dialog-body .bmi-photo button,#save-all-alignments{min-height:32px;padding:4px 10px;font-size:14px;line-height:1.4}.bmi-photo input::file-selector-button{padding:6px 10px;font-size:14px}.bmi-photo input[type=file]{min-height:32px}@media(pointer:coarse){.bmi-form-layout button,.bmi-form-dates button,.bmi-more button,.dialog-body .bmi-photo button,#save-all-alignments{min-height:44px}.bmi-photo input::file-selector-button{min-height:44px}}
.bmi-preview-section .bmi-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bmi-preview-section .bmi-form-actions button{min-width:0}
.bmi-photo:focus-within{border-color:var(--brand)}.bmi-photo-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px}.bmi-photo-head label{font-size:16px;font-weight:700}.bmi-photo-head .bmi-photo-status{min-height:0;padding:2px 8px;border-radius:4px;background:var(--soft)}.bmi-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.bmi-photo-actions button{white-space:nowrap}.bmi-photo-actions .bmi-photo-remove{color:var(--red)}
