/* Mapa do onibus - compartilhado entre cliente e admin */
.onibus{--pol:46px;--gap:8px;width:max-content;max-width:100%;margin:0 auto;padding:18px 16px 14px;border-radius:44px 44px 22px 22px;border:2px solid var(--m-borda,#2c2a26);background:var(--m-fundo,#0f0f11);position:relative}
.onibus-frente{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 14px;margin-bottom:12px;border-bottom:1px dashed var(--m-borda,#2c2a26)}
.volante,.porta{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--m-txt2,#8d8a83)}
.volante svg{width:30px;height:30px}
.volante small,.porta small{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.porta{width:46px;height:34px;justify-content:center;border:1.5px dashed var(--m-txt2,#8d8a83);border-radius:8px}
.onibus-corpo{display:grid;gap:var(--gap)}
.fileira{display:grid;grid-template-columns:repeat(2,var(--pol)) 26px repeat(2,var(--pol));gap:var(--gap)}
.corredor,.vazio{display:block}
.onibus-fundo{margin-top:12px;padding-top:8px;border-top:1px dashed var(--m-borda,#2c2a26);text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--m-txt2,#8d8a83)}
.polt{position:relative;width:var(--pol);height:var(--pol);border-radius:10px 10px 14px 14px;border:1.5px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:inherit;cursor:pointer;padding:0;line-height:1;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.polt::before{content:"";position:absolute;left:7px;right:7px;top:4px;height:4px;border-radius:3px;background:currentColor;opacity:.25}
.polt b{font-size:14px;font-weight:600}
.polt em{font-style:normal;font-size:7.5px;font-weight:700;letter-spacing:.08em}
.polt i{font-style:normal;font-size:8px;max-width:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.polt:disabled{cursor:not-allowed}
.polt.livre{background:var(--m-livre,#1b1b1e);border-color:var(--m-livre-b,#3a3833);color:var(--m-livre-t,#e9e5dc)}
.polt.livre:not(:disabled):hover{border-color:#d4ad5a;transform:translateY(-2px)}
.polt.idoso{background:#f6d44a;border-color:#e3b917;color:#3d2f00}
.polt.idoso:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px -6px rgba(246,212,74,.8)}
.polt.idoso:disabled{opacity:.55}
.polt.idoso_pendente{background:repeating-linear-gradient(45deg,#f6d44a 0 6px,#e8c43a 6px 12px);border-color:#c79c0a;color:#3d2f00}
.polt.reservada{background:var(--m-res,#3a2f17);border-color:#8a6a2c;color:#e9cf8f}
.polt.ocupada{background:var(--m-oc,#2a2a2d);border-color:var(--m-oc-b,#2a2a2d);color:var(--m-oc-t,#6d6a64)}
.polt.bloqueada{background:repeating-linear-gradient(-45deg,#2a2a2d 0 5px,#202023 5px 10px);border-color:#3a3a3d;color:#6d6a64}
.polt.selecionada,.polt.livre.selecionada,.polt.idoso.selecionada{background:linear-gradient(180deg,#f3dc9f,#c9a04f);border-color:#f6e2a8;color:#17110a;box-shadow:0 0 0 3px rgba(241,216,150,.35);transform:translateY(-2px)}
.polt.mini{width:18px;height:18px;border-radius:5px;display:inline-block;cursor:default;vertical-align:middle}
.polt.mini::before{display:none}
.legenda{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;padding:0;margin:14px 0 0;font-size:13px;color:var(--m-txt2,#8d8a83)}
.legenda li{display:flex;align-items:center;gap:8px}
@media (max-width:380px){.onibus{--pol:40px;--gap:6px;padding:14px 10px 12px}.fileira{grid-template-columns:repeat(2,var(--pol)) 18px repeat(2,var(--pol))}}
