.ml-floor-plan {
    margin-top: 12px;
    border-top: 1px solid var(--ml-card-border, #d9e3ed);
    padding-top: 8px;
}

.ml-floor-plan [hidden] { display: none !important; }
.ml-floor-plan__body { display: grid; gap: 8px; margin: 6px 0; }
.ml-floor-plan__body > label { margin: 0; }
.ml-floor-plan__body p { margin: 0; }
.ml-floor-plan__body p:empty { display: none; }
.ml-floor-plan__body small { color: var(--ml-card-muted, #536473); overflow-wrap: anywhere; }
.ml-floor-plan__files,
.ml-floor-plan__result,
.ml-floor-plan__source { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ml-floor-plan__files { min-width: 0; }
.ml-floor-plan__files input { min-width: 0; width: 100%; min-height: 44px; }
.ml-floor-plan__files input::file-selector-button,
.ml-floor-plan__secondary {
    min-height: 42px;
    color: var(--ml-card-accent, #014782);
    border: 1px solid var(--ml-card-border, #d9e3ed);
    border-radius: 7px;
    padding: 5px 9px;
    background: #fff;
}
.ml-floor-plan__rooms { display: grid; gap: 6px; margin: 6px 0; }
.ml-floor-plan .qs-floor-calc__plan-row,
.ml-floor-plan__room {
    padding: 8px;
    border: 1px solid var(--ml-card-border, #d9e3ed);
    border-radius: 8px;
    background: #fff;
}
.ml-floor-plan__room legend { width: auto; margin: 0; padding: 0 4px; border: 0; font-size: 14px; font-weight: 700; }
.ml-floor-plan__choice { display: flex; align-items: center; gap: 7px; overflow-wrap: anywhere; }
.ml-floor-plan__choice input { flex: 0 0 auto; accent-color: var(--ml-card-accent, #014782); }
.ml-floor-plan__fields { display: grid; gap: 7px; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.ml-floor-plan__fields label { min-width: 0; }
.ml-floor-plan__fields .form-control { display: block; width: 100%; min-width: 0; padding-inline: 6px; font-size: 16px; }
.ml-floor-plan__result { justify-content: space-between; }
.ml-floor-plan__result div { display: grid; }
.ml-floor-plan [data-plan-image] { position: relative; width: fit-content; max-width: 100%; margin: 5px auto; }
.ml-floor-plan canvas { display: block; max-width: 100%; max-height: 50vh; width: auto; height: auto; background: #fff; }
.ml-floor-plan [data-plan-marker] {
    position: absolute;
    pointer-events: none;
    border: 2px solid #014782;
    border-radius: 3px;
    background: rgb(255 216 69 / 28%);
}
