.vehicle-area-selector{margin:1.25rem 0;border:1px solid #d8e4f2;border-radius:16px;padding:clamp(12px,2vw,24px);background:#f7faff;color:#122a48}
.vehicle-area-heading,.vehicle-selection-title,.vehicle-visual-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vehicle-area-heading h3,.vehicle-selection-title h4{margin:.25rem 0}.vehicle-area-heading p,.vehicle-gesture,.vehicle-map-status{font-size:.875rem;color:#435a75}
.vehicle-area-count,.vehicle-selected-chips button{background:#e1edff;color:#134d91;border-radius:999px;padding:.4rem .75rem}
.vehicle-area-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:16px}
.vehicle-visual-toolbar{margin-bottom:8px}.vehicle-view-buttons,.vehicle-selected-chips,.vehicle-zoom{display:flex;gap:6px;flex-wrap:wrap}
.vehicle-area-selector button{min-height:36px;padding:6px 10px}.vehicle-area-selector button:focus-visible{outline:2px solid #0878ff;outline-offset:2px}
.vehicle-viewport{position:relative;background:linear-gradient(#e5eef9,#fff);border:1px solid #d1e1f5;border-radius:12px;overflow:hidden}
.vehicle-webgl{height:clamp(250px,34vw,420px)}.vehicle-webgl:empty{display:none}.vehicle-webgl canvas{display:block;touch-action:none}
.vehicle-fallback svg{display:block;width:100%;height:auto;max-height:165px}.vehicle-map-piece{cursor:pointer}.vehicle-map-piece:hover{stroke:#ad6200;stroke-width:2}
.vehicle-area-selector [hidden]{display:none!important}.vehicle-zoom{position:absolute;bottom:8px;right:8px}.vehicle-piece-tooltip{position:absolute;top:8px;left:8px;background:#122a48;color:white;border-radius:8px;padding:7px;pointer-events:none}
.vehicle-selection-panel{background:white;border:1px solid #dbe6f4;border-radius:12px;padding:12px;min-width:0}.vehicle-selection-panel details{margin-top:12px}.vehicle-selection-panel summary{cursor:pointer;font-weight:600}
.vehicle-area-list{display:grid;gap:6px;max-height:260px;overflow:auto;margin-top:8px}.vehicle-area-list label{display:flex;gap:8px;align-items:center;font-size:.88rem}.vehicle-area-list input[type=checkbox]{width:16px;height:16px;margin:0}
.vehicle-print-map{break-inside:avoid;margin-top:18px}.vehicle-print-map svg{width:49%;height:auto;vertical-align:top}
@media(max-width:780px){.vehicle-area-layout{grid-template-columns:1fr}.vehicle-webgl{height:270px}}
.vehicle-print-map figure{display:inline-block;width:48%;vertical-align:top;margin:8px 0;break-inside:avoid}.vehicle-print-map figure svg{width:100%}.vehicle-print-map figcaption{font-size:.85rem;font-weight:bold}
.autoflow-module-logo{display:block;width:min(100%,240px);height:72px;object-fit:contain;object-position:center;margin:0 auto 8px}
.login-art .autoflow-module-logo{width:min(100%,360px);height:120px;margin-left:0;object-position:left center}
.vehicle-webgl canvas{width:100%;height:100%}
body[data-af-theme="black"]{--af-accent:#343b46;--af-accent-dark:#171b21;--af-accent-soft:#edf0f3;--af-accent-border:#a4adb8;--af-sidebar:#171a20}
body[data-af-theme="red"]{--af-accent:#bf253d;--af-accent-dark:#8d1529;--af-accent-soft:#fff0f2;--af-accent-border:#e6a3af;--af-sidebar:#35131d}
body:is([data-af-theme="black"],[data-af-theme="red"]) .sidebar{background:var(--af-sidebar)}
body:is([data-af-theme="black"],[data-af-theme="red"]) :is(.primary,.sidebar nav>a[aria-current]){background:linear-gradient(110deg,var(--af-accent),var(--af-accent-dark));border-color:var(--af-accent-dark);color:white}
body:is([data-af-theme="black"],[data-af-theme="red"]) .primary:hover{background:var(--af-accent-dark)}
body:is([data-af-theme="black"],[data-af-theme="red"]) :is(.selected,.vehicle-area-count,.vehicle-selected-chips button){background:var(--af-accent-soft);border-color:var(--af-accent-border);color:var(--af-accent-dark)}
body:is([data-af-theme="black"],[data-af-theme="red"]) .content a:not(.button):not(.primary){color:var(--af-accent-dark)}
.af-access-dialog{position:fixed;inset:0;margin:auto;width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box;border:1px solid #d5e0ed;border-radius:18px;padding:clamp(16px,4vw,26px);background:white;color:#122a48;box-shadow:0 18px 60px #122a4844}
.af-access-dialog::backdrop{background:#122a4870}
.af-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;margin:16px 0;border:1px solid #d5e0ed;border-radius:12px}
.af-area-grid[hidden]{display:none}
.af-area-grid label{display:flex;align-items:center;gap:8px;min-height:44px;padding:5px 10px;margin:0;border:1px solid #dce5ef;border-radius:8px;cursor:pointer}
.af-area-grid label:has(:checked){background:var(--af-accent-soft,#e7f0ff);border-color:var(--af-accent-border,#95bbf2)}
.af-area-grid input[type=checkbox]{width:17px;min-height:17px;margin:0;flex:none}
@media(max-width:420px){.af-area-grid{grid-template-columns:1fr}}
.af-global-search{flex:1 1 200px;max-width:390px;margin:0 0 0 auto}
.af-global-search input{width:100%;min-height:38px}
@media(max-width:800px){.topbar:has(.af-global-search){flex-wrap:wrap}.af-global-search{order:9;flex-basis:100%;max-width:none;margin:0}}
.af-whats-layout{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:14px;margin:16px 0}
.af-whats-messages{max-height:50dvh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:8px}
.af-whats-message{max-width:85%;padding:8px 12px;border-radius:12px;background:#f0f4f9;overflow-wrap:anywhere}
.af-whats-message.out{align-self:flex-end;background:#e4efff}
.af-whats-message p{white-space:pre-wrap;margin:0 0 4px}
.af-whats-message small{color:#526b85}
@media(max-width:650px){.af-whats-layout{grid-template-columns:1fr}.af-whats-layout>aside{max-height:180px;overflow:auto}}
