.house-catalog-picker { display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem; }
.house-catalog-picker select { flex:1;min-width:12rem; }
.house-catalog-card { border:1px solid #d9e5ed;border-radius:.75rem;overflow:hidden;background:#fff;margin-bottom:.6rem; }
.house-catalog-identity {display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;padding:10px}
.house-catalog-identity p {margin:4px 0 0;font-size:12px;line-height:1.4;color:#526579}
.house-catalog-card[hidden] { display:none; }
.house-catalog-card img { display:block;width:64px;height:64px;object-fit:cover;border-radius:5px }
.house-catalog-copy { padding:0 10px 10px; }
.house-catalog-copy p { margin:.35rem 0;font-size:.8rem;line-height:1.45; }
.house-catalog-copy a { color:#007da7;text-decoration:underline; }
.house-catalog-note { color:#536a7b; }
#btn-house-plan-retry { min-height:44px; }
.house-floor-toggle { display:flex;gap:.5rem;align-items:center;font-size:.85rem;margin-top:.65rem; }
.house-display-choice {display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;padding:0;border:0;min-width:0}
.house-display-choice legend {margin-bottom:7px;color:#526579;font-size:12px}
.house-display-choice label {position:relative;min-width:0;cursor:pointer}
.house-display-choice input {position:absolute;opacity:0;width:1px;height:1px}
.house-display-choice span {display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px;border:1px solid #d4e0e7;border-radius:6px;color:#3a5269;background:#f7fafc;font-size:12px;line-height:1.25;text-align:center}
.house-display-choice input:checked+span {color:#fff;background:#102d61;border-color:#102d61}
.house-display-choice input:focus-visible+span {outline:2px solid #007da7;outline-offset:2px}
.house-display-choice input:disabled+span {opacity:.5;cursor:not-allowed}
.house-catalog-quality {font-size:11px!important;color:#526579;line-height:1.4}
.house-catalog-fixed { margin:.35rem 0 .8rem;padding:10px 12px;border-radius:8px;background:#eef7fb;color:#28445f;font-size:.8rem;line-height:1.45; }
.house-catalog-fixed p {margin:0 0 8px;font-size:12px;line-height:1.45}
.house-catalog-fixed button {border:1px solid #b7cddb;border-radius:6px;padding:8px;background:#fff;color:#102d61;font:inherit;cursor:pointer;min-height:36px}
.house-catalog-source-details {margin-top:6px;font-size:.76rem;color:#526579}
.house-catalog-source-details summary {cursor:pointer;min-height:28px;display:list-item}
.plan-house-fixed-size {align-self:center;padding:6px 0;color:#102d61;font-size:.8rem;font-weight:650}
#house-controls [hidden],#plan-editbar [hidden] {display:none!important}
.house-plans-dialog {box-sizing:border-box;width:min(68rem,calc(100vw - 1rem));max-width:none;max-height:calc(100dvh - 1rem);margin:auto;padding:clamp(.75rem,2vw,1.25rem);border:1px solid #b7cddb;border-radius:14px;color:#17324d;overflow:auto}
.house-plans-dialog::backdrop {background:rgb(10 25 42 / .68)}
.house-plans-header {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.house-plans-header p {margin:0 0 .25rem;color:#526579;font-size:.8rem}
.house-plans-header h2 {margin:0;font-size:clamp(1.15rem,4vw,1.6rem);line-height:1.2}
.house-plans-dialog button {min-width:44px;min-height:44px;max-width:100%;white-space:normal}
.house-plans-choices {display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.house-plans-choices [aria-pressed="true"] {background:#102d61;color:#fff}
.house-plans-status,.house-plans-note,.house-plans-source {font-size:.9rem;line-height:1.5}
.house-plans-status {padding:.6rem .75rem;border-radius:8px;background:#fff5df;color:#614b13}
.house-plans-image-frame {display:flex;justify-content:center;align-items:flex-start;min-width:0;max-width:100%;overflow:auto}
.house-plans-image-frame img {display:block;width:auto;max-width:100%;max-height:min(66dvh,54rem);object-fit:contain;object-position:top center}
.house-plans-note {margin:.75rem 0 .25rem;color:#344d62}
.house-plans-source {margin:.25rem 0;color:#526579;overflow-wrap:anywhere}
.house-plans-source a {color:#007da7;text-decoration:underline}
.house-plans-full-image-row {margin:.25rem 0}
.house-plans-full-image {display:inline-flex;align-items:center;min-height:44px;color:#007da7;text-decoration:underline;overflow-wrap:anywhere}
.house-plans-dialog [hidden] {display:none!important}
@media(max-width:380px) {.house-plans-header {gap:.5rem}.house-plans-header h2 {overflow-wrap:anywhere}}
@media(max-width:700px){.house-catalog-fixed button,.house-catalog-source-details summary{min-height:44px}}
@media print { .house-catalog-picker,.house-floor-toggle,.house-display-choice { display:none; } }
