.building-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.building-stats article { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.building-stats span { display: block; color: var(--muted); font-size: .82rem; }
.building-stats strong { display: block; margin-top: 7px; font: 700 1.8rem Georgia, serif; }
.people-panel { margin-bottom: 18px; }
.contact-list { display: grid; }
.contact-list > a { display: grid; grid-template-columns: 42px 1.3fr auto 1fr 1fr auto; align-items: center; gap: 14px; padding: 15px 0; border-top: 1px solid var(--line); color: var(--ink); }
.contact-list small { display: block; margin-top: 4px; color: var(--muted); }
.contact-list b { font-size: .8rem; color: var(--green); }
.building-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.building-grid .contact-form { grid-column: 1 / -1; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.badge.owner { background: #dceee5; color: #14533b; }
.badge.tenant { background: #e2e9f6; color: #31548a; }
.badge.managing_agent, .badge.building_manager, .badge.security_officer, .badge.caretaker, .badge.emergency_contact { background: #fff0d6; color: #865912; }
.portal-access-fields { background: #f7faf8; }
.portal-access-fields small { color: var(--muted); font-weight: 500; }
.assigned-buildings { border-top: 1px solid var(--line); padding: 22px 0; }
.assigned-buildings > div { display: grid; gap: 3px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.assigned-buildings small { color: var(--muted); }
.parking-allocation { margin-bottom: 18px; }
.booking-resource,.issued-items { margin-bottom: 18px; }
.resource-secret { display: inline-block; background: #fff0d6; color: #70470c; padding: 8px 11px; border-radius: 8px; }
.issued-item-list { display: grid; }
.issued-item-list article { display: grid; grid-template-columns: 1.2fr .6fr 1fr; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.issued-item-list small { display: block; color: var(--muted); margin-top: 4px; }
.item-status-form { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; }
.issue-item-form { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
@media(max-width:800px){.issued-item-list article{grid-template-columns:1fr}.item-status-form{grid-template-columns:1fr auto}}
.unit-list { display: grid; }
.unit-list a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 2px; border-bottom: 1px solid var(--line); color: var(--ink); }
.unit-list a:hover span { color: var(--green); }
.unit-list small { display: block; margin-top: 4px; color: var(--muted); }
.unit-list span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.unit-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; margin-bottom: 18px; }
.badge.maintenance { background: #fff0d6; color: #865912; }
.badge.inactive { background: #edf0ee; color: #53605b; }
.visitor-list{display:grid}.visitor-list article{display:grid;grid-template-columns:48px 1.1fr 1.4fr 1fr auto auto;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.visitor-list small{display:block;color:var(--muted);font-size:.76rem;margin-top:4px}.visitor-list .guest-photo{width:44px;height:44px}.visitor-list .guest-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.visitor-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-detail-grid div{display:grid;gap:5px}.visitor-detail-grid small,.record-list dt{color:var(--muted);font-size:.76rem}.visitor-photo-large{display:flex;align-items:center;gap:14px;margin-top:20px;padding:12px;border:1px solid var(--line);border-radius:12px}.visitor-photo-large img{width:82px;height:82px;object-fit:cover;border-radius:10px}.visitor-photo-missing{display:grid;gap:5px;margin-top:20px;padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.visitor-photo-missing strong{color:var(--ink)}.record-list{display:grid;grid-template-columns:120px 1fr;gap:13px 18px;margin:0}.record-list dd{margin:0;font-weight:700}
.visitor-photo-placeholder{display:grid!important;place-items:center;background:var(--mint);color:var(--green);font-weight:800}
.station-holding{text-align:center}.station-pulse{width:74px;height:74px;margin:20px auto;border-radius:50%;background:#dcebe5;box-shadow:0 0 0 0 rgba(40,105,93,.35);animation:stationPulse 2s infinite}@keyframes stationPulse{70%{box-shadow:0 0 0 24px rgba(40,105,93,0)}100%{box-shadow:0 0 0 0 rgba(40,105,93,0)}}
.station-queue{display:grid;gap:12px;margin-top:24px;text-align:left}.station-queue article{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f7faf8}.station-queue small{display:block;margin-top:4px;color:var(--muted)}@media(max-width:680px){.station-queue article{grid-template-columns:1fr}.station-queue .button{width:100%}}
@media (max-width: 980px) {
  .contact-list > a { grid-template-columns: 42px 1fr auto; }
  .contact-list > a > div:nth-of-type(3), .contact-list > a > div:nth-of-type(4), .contact-list b { grid-column: 2 / -1; }
}
@media (max-width: 680px) {
  .building-stats { grid-template-columns: 1fr 1fr; }
  .building-grid, .two-col { grid-template-columns: 1fr; }
  .unit-layout { grid-template-columns: 1fr; }
  .visitor-list article{grid-template-columns:48px 1fr auto}.visitor-list article>div:nth-of-type(n+2){grid-column:2/-1}
}
