/* Nov 5 2026: billing accounts (account switcher on the billing screens) and buildings (units grouped under their building).
   Only shown for a client with 2+ billing accounts / a building of 2+ units. */
.acct-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.acct-switch label{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}
.acct-switch select{min-width:200px;max-width:100%;padding:8px 10px;border-radius:10px}
.bld-group{padding:0;overflow:hidden}
.bld-group>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.bld-group>summary::-webkit-details-marker{display:none}
.bld-group .bld-main{display:flex;flex-direction:column;flex:1;min-width:0}
.bld-group .bld-main small{color:var(--muted,#6b7280)}
.bld-group>summary .chev{transition:transform .15s}
.bld-group[open]>summary .chev{transform:rotate(90deg)}
.bld-group>.props{padding:0 16px 16px}
.book-bld{margin-bottom:14px}

/* Properties page with many properties: smaller tiles with the building and links to its units */
.props.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.prop-tile { padding: 14px 16px; }
.prop-tile .tile-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.prop-tile h3 { margin: 0 0 2px; }
.prop-tile .tile-bld { margin: 10px 0; padding: 8px 10px; border-radius: 10px; background: rgba(241,106,50,.08); }
.prop-tile .tb-head { display: flex; gap: 6px; align-items: center; font-size: .85rem; }
.prop-tile .tb-units { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.prop-tile .tb-unit { font-size: .78rem; padding: 3px 9px; }
.prop-tile .tb-unit.on { background: #F16A32; color: #fff; border-color: #F16A32; }
.prop-tile.flash { animation: tileflash 1.4s ease; }
@keyframes tileflash { 0%,60% { box-shadow: 0 0 0 3px #F16A32; } 100% { box-shadow: none; } }
.pr-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.pr-filters select { flex: 1 1 180px; padding: 9px 10px; border: 1px solid #d5dae1; border-radius: 10px; background: #fff; font: inherit; }
.prop.sel-hide { display: none !important; }
.prop-tile .tile-art { position: relative; height: 70px; margin: -14px -16px 10px; border-radius: 14px 14px 0 0; background: #1d3557; display: flex; align-items: center; justify-content: center; color: #fff; overflow: hidden; }
.prop-tile .tile-art.has-photo { height: 110px; }
.prop-tile .tile-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.prop-tile .tile-art .photo-tag { position: absolute; left: 8px; bottom: 6px; font-size: .68rem; background: rgba(0,0,0,.55); color: #fff; padding: 2px 6px; border-radius: 6px; }
.pv-toggle { display: inline-flex; border: 1px solid #d5dae1; border-radius: 12px; overflow: hidden; margin: 0 0 10px; background: #fff; }
.pv-toggle button { padding: 8px 16px; border: 0; background: transparent; font: inherit; cursor: pointer; }
.pv-toggle button.on { background: #F16A32; color: #fff; }
.props.list { display: block; }
.props.list[hidden], .props.tiles[hidden] { display: none; }
.prop-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; margin: 0 0 8px; border-radius: 12px; }
.prop-row .pr-main { flex: 1; min-width: 0; }
.prop-row .pr-main b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prop-row .pr-main small { color: var(--muted, #6b7785); }
.prop-row .pr-act { display: flex; gap: 6px; flex-shrink: 0; }
.prop-row.flash { animation: tileflash 1.4s ease; }
@media (max-width: 560px) { .prop-row { flex-wrap: wrap; } .prop-row .pr-act { width: 100%; } }
.pr-search { position: relative; margin: 0 0 6px; }
.pr-sug { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; margin-top: 4px; background: #fff; border: 1px solid #d5dae1; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.12); max-height: min(60vh, 340px); overflow: auto; }
.pr-sug[hidden] { display: none; }
.sug-item { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; cursor: pointer; }
.sug-item small { color: var(--muted, #6b7785); }
.sug-item.on, .sug-item:hover { background: #fff3ec; }
.sug-add { flex-direction: row; align-items: center; gap: 8px; color: #F16A32; font-weight: 700; border-bottom: 1px solid #eee; }
.sug-empty { padding: 10px 14px; color: var(--muted, #6b7785); }
/* the real <select> of a property picker stays in the page for forms and validation, but is not shown */
select.pp-hidden { position: absolute; opacity: 0; height: 1px; width: 1px; pointer-events: none; }
.sug-item.sel { background: #fff3ec; }
.pp-combo { margin: 0 0 4px; }
/* the search box and the property picker use the same rounded field style as the dropdowns */
input.ph-filter, input[type=search].ph-filter { width: 100%; min-height: 48px; padding: 11px 14px; border-radius: 10px; border: 1px solid #d9dfe5; background: #fff; font-size: 16px; appearance: none; -webkit-appearance: none; transition: border-color .2s, box-shadow .2s; }
input.ph-filter:focus { outline: none; border-color: var(--or, #F16A32); box-shadow: 0 0 0 3px var(--or-soft, rgba(241,106,50,.18)); }
input.pp-input { padding-right: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7b88' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.pr-sug { border-radius: 12px; }
.sug-toggle { display: flex; gap: 6px; padding: 8px 12px; border-bottom: 1px solid #eee; background: #fafbfc; }
.sug-toggle button { padding: 4px 12px; border: 1px solid #d9dfe5; border-radius: 999px; background: #fff; font: inherit; font-size: .82rem; cursor: pointer; }
.sug-toggle button.on { background: #F16A32; border-color: #F16A32; color: #fff; }

/* Nov 9 2026: turned-off addresses, Move service, billing-group move (js/property-status.js) */
.pill-off{background:#eef1f4;color:#4b5563;gap:4px}
.pill-off-soon{background:#fff4e5;color:#92400e}
.prop-off{opacity:.78}
.prop-off h3,.prop-off .pr-main b{color:var(--muted,#6b7280)}
.ps-manage{margin-left:auto}
.ps-requests{margin-bottom:14px}
.ps-req{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line,#e5e7eb)}
.ps-req:first-of-type{border-top:0}
.ps-req small{display:block;color:var(--muted,#6b7280)}
.ps-sec{margin:14px 0}
.ps-sec h3,.ps-h{font-size:1rem;margin:0 0 6px}
.ps-note{margin:0 0 6px;padding:10px 12px;border-radius:10px;background:#f6f7f9}
.ps-note.off{background:#eef1f4}
.ps-move .btn{margin-top:6px}
