/* Occupancy calculator. Scoped to [data-occupancy]. */
[data-occupancy] .occ-top { display: flex; flex-wrap: wrap; gap: 8px; }
[data-occupancy] .occ-rows { display: flex; flex-direction: column; gap: 8px; }
[data-occupancy] .occ-row { display: flex; flex-direction: column; gap: 8px; }
[data-occupancy] .occ-rowtop { display: flex; align-items: flex-end; gap: 6px; }
[data-occupancy] .occ-fn { flex: 1; min-width: 0; }
[data-occupancy] .occ-row select.inp { appearance: auto; min-height: 48px; background: var(--soft); text-overflow: ellipsis; }
[data-occupancy] .occ-row .inp { background: var(--soft); }
[data-occupancy] .occ-rowtop .icon-btn { width: 48px; height: 48px; flex: none; }
[data-occupancy] .occ-in { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
[data-occupancy] .occ-line { margin: 0; font-size: 14px; color: var(--body); font-variant-numeric: tabular-nums; }
[data-occupancy] .occ-result { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
[data-occupancy] .occ-rl { flex-basis: 100%; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--body); }
[data-occupancy] .occ-rv { font-size: clamp(64px, 18vw, 120px); }
[data-occupancy] .occ-rs { font-size: 22px; font-weight: 700; }
[data-occupancy] .occ-area { flex-basis: 100%; color: var(--body); font-size: 15px; font-variant-numeric: tabular-nums; }
[data-occupancy] .occ-ref { padding: 0 16px 16px; }
[data-occupancy] .occ-ref p { margin: 0 0 8px; font-size: 14px; }
[data-occupancy] .occ-ref table.t td:last-child, [data-occupancy] .occ-ref table.t th:last-child { text-align: right; white-space: nowrap; }
[data-occupancy] .occ-tools .pill:disabled { opacity: .4; }
