.community-section { background: #efedf7; border-block: 1px solid var(--line); padding-block: 2rem; scroll-margin-top: .5rem; }
.community-heading, .chat-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.55rem 1rem; }
.community-heading h2, .community-panel h3 { margin:0; }
.community-heading h2 { font-size:clamp(1.8rem, 1.25rem + 3vw, 2.75rem); }
.community-heading p { margin:0 0 .2rem; color:var(--ink-soft); }
.community-tabs { display:flex; gap:.42rem; flex-wrap:wrap; margin-top:1rem; }
.community-section button, .admin button {
  min-height:44px; color:var(--ink); background:var(--white); border:1px solid #baafcf; border-radius:.3rem; padding:.45rem .65rem; font-weight:680;
}
.community-section button:hover, .admin button:hover { background:#f0eaf6; }
.community-tabs button[aria-pressed="true"], .community-section .community-primary, .admin .community-primary { color:var(--white); background:var(--violet); border-color:var(--violet); }
.community-section button:disabled, .admin button:disabled { opacity:.6; cursor:default; }
.community-status { margin:.5rem 0; font-size:.9rem; color:var(--ink-soft); }
.community-status:empty { display:none; }
.community-status[data-error="true"] { color:#962841; font-weight:650; }
.community-panel { margin-top:.85rem; padding:clamp(.85rem, 2.5vw, 1.4rem); border:1px solid var(--line); border-radius:.5rem; background:var(--white); }
.community-panel p { margin:.45rem 0 .75rem; }
.community-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.6rem; }
.community-panel h4 { margin:.35rem 0; font-size:1.08rem; overflow-wrap:anywhere; }
.community-meta, .community-list small, .community-form small { color:var(--ink-soft); font-size:.87rem; }
.community-list, .chat-log { list-style:none; margin:.75rem 0; padding:0; }
.community-list > li { padding:.65rem 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.community-list .list-title { display:block; font-weight:750; }
.community-list p { margin:.22rem 0; }
.community-list small { display:block; margin:.18rem 0; }
.community-list button { margin-top:.35rem; }
.vehicle-figure { margin:1rem 0; }
.vehicle-figure figcaption { margin-top:.4rem; }
.vehicles-map { position:relative; aspect-ratio:2; overflow:hidden; border:1px solid var(--line); border-radius:.35rem; background:#eef3eb; }
#vehicles-basemap { display:block; width:100%; height:100%; }
.vehicle-streets { fill:none; stroke:#9aa6a3; stroke-width:.7; }
.vehicle-north { font:600 16px system-ui,sans-serif; fill:#263b36; }
.community-section .vehicle-marker { position:absolute; display:grid; place-items:center; align-content:center; transform:translate(-50%,-50%); min-width:44px; min-height:44px; padding:0; border-radius:.55rem; box-shadow:0 1px 3px #0004; }
.vehicle-marker-plate { color:#232036; font:700 .7rem/1 ui-monospace,monospace; }
.vehicle-marker:focus-visible { z-index:1; }
.vehicle-kind { display:inline-flex; align-items:center; flex-wrap:wrap; gap:.45rem; }
.vehicle-icon { width:28px; height:24px; flex:none; vertical-align:middle; }
.vehicle-body { fill:var(--vehicle-color); stroke:#232036; stroke-width:1.3; stroke-linejoin:round; }
.vehicle-wheel { fill:#232036; }
.vehicle-actions { display:flex; flex-wrap:wrap; gap:.35rem; }
#vehicles-report-dialog { width:min(29rem,calc(100% - 2rem)); padding:1rem; border:1px solid var(--line); border-radius:.5rem; color:var(--ink); }
#vehicles-report-dialog::backdrop { background:#28204f88; }
.community-filter, .check-line { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.community-editor { padding-top:.8rem; border-top:1px solid var(--line); }
.community-editor > summary { display:list-item; cursor:pointer; width:fit-content; min-height:44px; padding:.45rem 0; font-weight:750; }
.community-form { display:grid; gap:.7rem; max-width:36rem; }
.community-form label { display:grid; gap:.25rem; font-weight:650; }
.community-form button { justify-self:start; }
.community-form input, .community-form textarea, .community-form select, .community-filter select {
  width:100%; max-width:100%; min-height:44px; padding:.5rem .55rem; color:var(--ink); background:var(--white);
  border:1px solid #b6aacb; border-radius:.25rem; font:inherit; font-weight:400;
}
.community-filter select { width:auto; }
.community-form textarea { resize:vertical; }
.community-form fieldset { border:1px solid var(--line); min-width:0; margin:0; }
.community-form fieldset button { margin:.25rem .2rem .2rem 0; }
.community-chat { border:1px solid var(--line); border-radius:.35rem; padding:.75rem; min-width:0; }
.chat-log { display:grid; gap:.5rem; max-height:23rem; overflow:auto; }
.chat-log li { background:#eeebf7; border-radius:.3rem; padding:.5rem .6rem; white-space:pre-wrap; overflow-wrap:anywhere; max-width:90%; }
.chat-log li[data-mine="true"] { background:#f9ebbb; justify-self:end; }
.chat-log button { display:block; margin-top:.3rem; }
.chat-log time { display:block; font-size:.77rem; color:var(--ink-soft); }
.admin { padding-block:2rem; }
.admin .community-panel { margin-top:1rem; }
.admin article { border-top:1px solid var(--line); padding-block:.7rem; overflow-wrap:anywhere; }
.admin article button { margin:.22rem .3rem .22rem 0; }
@media (max-width: 710px) { .community-columns { grid-template-columns:minmax(0,1fr); } }

.vehicle-fields { display: grid; gap: .6rem; min-inline-size: 0; }
.vehicle-fields [data-plate-status] { margin: 0; overflow-wrap: anywhere; }
.vehicle-fields input[type="file"] { max-inline-size: 100%; font: inherit; }
#recovery-request, #recovery-finish, #vehicle-edit-form, #vehicle-setup-form { max-inline-size: 32rem; margin-block-start: 1rem; }
