/**
 * Placa veicular brasileira — Mercosul e formato antigo.
 * Variantes: --sm (listas), --md (padrao), --lg (card), --input (campo editavel).
 */
.mercosul-plate{
    --mp-border:#111;
    --mp-header:#003087;
    --mp-body:#fff;
    --mp-text:#000;
    --mp-muted:#64748b;
    --mp-legacy:#c8ccd4;
    display:inline-grid;
    grid-template-rows:auto 1fr;
    width:100%;
    max-width:220px;
    border:1.5px solid var(--mp-border);
    border-radius:7px;
    overflow:hidden;
    background:var(--mp-body);
    box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 2px 8px rgba(0,0,0,.18);
    vertical-align:middle;
    font-family:'Arial Black','Arial Bold',Arial,sans-serif;
    line-height:1;
}
.mercosul-plate--sm{max-width:118px;border-radius:5px;border-width:1px}
.mercosul-plate--md{max-width:180px}
.mercosul-plate--lg{max-width:240px;border-radius:8px;border-width:2px}
.mercosul-plate--input{
    display:grid;
    width:100%;
    min-width:0;
    max-width:none;
    height:52px;
    grid-template-rows:15px 1fr;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:#fff!important;
    box-shadow:none;
    align-self:end;
    isolation:isolate;
    overflow:hidden;
}

.mercosul-plate__header{
    display:flex;align-items:center;justify-content:center;
    position:relative;min-height:0;
    background:var(--mp-header);
    color:#fff!important;
    padding:3px 24px 3px 8px;
}
.mercosul-plate--sm .mercosul-plate__header{
    min-height:10px;
    padding:1px 14px 1px 5px;
}
.mercosul-plate--sm .mercosul-plate__country{
    font-size:.4rem;
    letter-spacing:.1em;
    line-height:1;
}
.mercosul-plate--sm .mercosul-plate__flag{
    width:10px;
    height:7px;
    right:3px;
}
.mercosul-plate--sm .mercosul-plate__body{
    min-height:22px;
    padding:2px 5px 6px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.mercosul-plate--sm .mercosul-plate__number{
    font-size:.68rem;
    letter-spacing:.07em;
    line-height:1;
}
.mercosul-plate--sm .mercosul-plate__region{
    font-size:.34rem;
    left:3px;
    bottom:1px;
}
.mercosul-plate--lg .mercosul-plate__header{padding:4px 28px 4px 10px}
.mercosul-plate--input .mercosul-plate__header{
    padding:1px 18px 1px 6px;
    min-height:15px;
    height:15px;
    flex-shrink:0;
}
.mercosul-plate--input .mercosul-plate__country{font-size:.44rem;line-height:1.1}
.mercosul-plate--input .mercosul-plate__flag{width:12px;height:8px;right:4px}
.mercosul-plate--input .mercosul-plate__body{
    min-height:0;
    height:100%;
    padding:0 8px 1px 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    background:#fff!important;
}
.mercosul-plate--input .mercosul-plate__body .mercosul-plate__input{
    flex:1 1 auto;width:100%;min-width:0;
    height:100%;
    line-height:1;
}
.mercosul-plate--input .mercosul-plate__region{
    color:#000!important;
    font-size:.38rem;
    left:5px;
    bottom:2px;
    opacity:1;
    font-weight:900;
}
.mercosul-plate--input:focus-within{
    border-color:rgba(255,107,74,.55);
    box-shadow:0 0 0 3px rgba(255,107,74,.14);
}

.mercosul-plate__country{
    font-size:.52rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
    color:#fff!important;
}
.mercosul-plate--lg .mercosul-plate__country{font-size:.62rem}

.mercosul-plate__flag{
    position:absolute;right:4px;top:50%;transform:translateY(-50%);
    width:14px;height:10px;border:1px solid rgba(0,0,0,.25);border-radius:1px;
    display:block;flex-shrink:0;
}
.mercosul-plate--lg .mercosul-plate__flag{width:16px;height:11px;right:5px}

.mercosul-plate__body{
    position:relative;
    min-height:34px;padding:6px 8px 10px;
    background:var(--mp-body);
    display:grid;
    place-items:center;
}
.mercosul-plate--lg .mercosul-plate__body{min-height:44px;padding:8px 10px 14px}

.mercosul-plate__number{
    color:var(--mp-text);font-weight:900;letter-spacing:.12em;text-transform:uppercase;
    font-size:clamp(.95rem,4vw,1.15rem);white-space:nowrap;
}
.mercosul-plate--lg .mercosul-plate__number{font-size:clamp(1.2rem,5vw,1.65rem);letter-spacing:.14em}
.mercosul-plate--input .mercosul-plate__number{font-size:1.05rem}

.mercosul-plate__region{
    position:absolute;left:6px;bottom:3px;
    font-size:.46rem;font-weight:900;color:#000!important;letter-spacing:.04em;
}
.mercosul-plate--lg .mercosul-plate__region{font-size:.52rem;left:8px;bottom:4px}

/* Formato antigo (ABC-1234) */
.mercosul-plate--legacy{
    grid-template-rows:1fr;
    background:var(--mp-legacy);
    border-color:#555;
}
.mercosul-plate--legacy .mercosul-plate__header{display:none}
.mercosul-plate--legacy .mercosul-plate__body{
    background:linear-gradient(180deg,#d8dde5 0%,#b8bec8 100%);
    min-height:28px;padding:6px 8px;
}
.mercosul-plate--legacy.mercosul-plate--sm .mercosul-plate__body{min-height:22px;padding:4px 6px}
.mercosul-plate--legacy.mercosul-plate--lg .mercosul-plate__body{min-height:40px;padding:8px 10px}
.mercosul-plate--legacy .mercosul-plate__region{display:none}

/* Campo editavel */
.mercosul-plate__input{
    width:100%;border:none!important;background:#fff!important;outline:none;
    color:#000!important;font:inherit;font-weight:900;text-align:center;
    letter-spacing:.1em;text-transform:uppercase;
    font-size:.95rem;line-height:1;padding:0!important;min-height:0!important;
    box-shadow:none!important;border-radius:0!important;
    font-family:'Arial Black','Arial Bold',Arial,sans-serif;
    -webkit-text-fill-color:#000!important;
    caret-color:#000;
}
.mercosul-plate__input.entry-plate-input,
.mercosul-plate__input.modveiculo-fipe__input{
    background:#fff!important;
    border:none!important;
    color:#000!important;
    box-shadow:none!important;
    -webkit-text-fill-color:#000!important;
    caret-color:#000;
}
.mercosul-plate__input::placeholder{
    color:#000!important;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
    opacity:.72;
    -webkit-text-fill-color:#000!important;
}
.mercosul-plate__input:-webkit-autofill,
.mercosul-plate__input:-webkit-autofill:hover,
.mercosul-plate__input:-webkit-autofill:focus{
    -webkit-box-shadow:0 0 0 1000px #fff inset!important;
    box-shadow:0 0 0 1000px #fff inset!important;
    -webkit-text-fill-color:#000!important;
    caret-color:#000;
    transition:background-color 99999s ease-out 0s;
}
.mercosul-plate--input .modveiculo-fipe__plate-search{align-self:stretch}
.mercosul-plate--legacy.mercosul-plate--input{
    grid-template-rows:1fr;
    height:52px;
    background:linear-gradient(180deg,#d8dde5 0%,#b8bec8 100%)!important;
    border-color:#666;
}
.mercosul-plate--legacy.mercosul-plate--input .mercosul-plate__body{
    background:linear-gradient(180deg,#d8dde5 0%,#b8bec8 100%)!important;
}

/* Vence tema escuro/claro global (.admin-app-body input { background:#0b1220 !important }) */
.admin-app-body .mercosul-plate--input,
.admin-app-body[data-theme="dark"] .mercosul-plate--input,
.admin-app-body[data-theme="light"] .mercosul-plate--input{
    background:#fff!important;
    color:#000!important;
    border:1px solid rgba(255,255,255,.12)!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__header,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__header,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__header{
    color:#fff!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__country,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__country,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__country{
    color:#fff!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__region,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__region,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__region{
    color:#000!important;
    opacity:1!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__body,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__body,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__body{
    background:#fff!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__input,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__input,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__input,
.admin-app-body[data-theme="dark"] input.mercosul-plate__input.entry-plate-input,
.admin-app-body[data-theme="dark"] input.mercosul-plate__input.modveiculo-fipe__input{
    background:#fff!important;
    color:#000!important;
    border:none!important;
    box-shadow:none!important;
    -webkit-text-fill-color:#000!important;
    caret-color:#000;
    padding:0!important;
    min-height:0!important;
    border-radius:0!important;
}
.admin-app-body .mercosul-plate--input .mercosul-plate__input:focus,
.admin-app-body[data-theme="dark"] .mercosul-plate--input .mercosul-plate__input:focus,
.admin-app-body[data-theme="light"] .mercosul-plate--input .mercosul-plate__input:focus,
.admin-app-body[data-theme="dark"] input.mercosul-plate__input.entry-plate-input:focus,
.admin-app-body[data-theme="dark"] input.mercosul-plate__input.modveiculo-fipe__input:focus{
    background:#fff!important;
    color:#000!important;
    border:none!important;
    box-shadow:none!important;
    -webkit-text-fill-color:#000!important;
}
.admin-app-body .mercosul-plate--input:focus-within,
.admin-app-body[data-theme="dark"] .mercosul-plate--input:focus-within,
.admin-app-body[data-theme="light"] .mercosul-plate--input:focus-within{
    border-color:rgba(255,107,74,.55)!important;
    box-shadow:0 0 0 3px rgba(255,107,74,.14)!important;
}
.admin-app-body .entry-field input.mercosul-plate__input,
.admin-app-body[data-theme="dark"] .entry-field input.mercosul-plate__input{
    background:#fff!important;
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    padding:0!important;
    min-height:0!important;
    border-radius:0!important;
}

.mercosul-plate-fallback{
    display:inline-block;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}

/* Integracao — busca */
.entry-plate-search-wrap{
    display:block;
    width:100%;
}
.entry-plate-search-wrap .mercosul-plate--input{
    display:grid;
    width:100%;
    min-width:0;
    max-width:none;
    height:52px;
}
.entry-lookup-grid .entry-field{
    display:grid;
    gap:8px;
    align-content:end;
}
.entry-lookup-result{
    grid-template-columns:auto minmax(0,1fr) auto;
    overflow:visible;
}
.entry-lookup-result:has(.entry-lookup-result__icon){
    grid-template-columns:44px minmax(0,1fr) auto;
}
.entry-lookup-result__plate{
    flex-shrink:0;
    overflow:visible;
    line-height:1;
    align-self:center;
}
.entry-plate-option:has(.entry-plate-option__plate){
    grid-template-columns:auto minmax(0,1fr);
}
.quote-vehicle-option__plate .mercosul-plate--sm,
.agenda-reserve-vehicle-card__plate .mercosul-plate--sm,
.entry-lookup-result__plate .mercosul-plate--sm,
.entry-plate-option__plate .mercosul-plate--sm{
    width:92px;
    max-width:92px;
}
.agenda-reserve-vehicle-card:has(.agenda-reserve-vehicle-card__plate){
    grid-template-columns:auto minmax(0,1fr);
    overflow:visible;
}
.agenda-reserve-vehicle-card__plate{
    flex-shrink:0;
    overflow:visible;
    line-height:1;
    align-self:center;
}
:is(.attendance-board-card__plate, .card-plate, .mobile-attendance-plate) .mercosul-plate--sm{
    width:86px;
    max-width:86px;
}
:is(.attendance-board-card__plate, .card-plate, .mobile-attendance-plate){
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    overflow:visible;
    line-height:1;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

/* Integracao — card veiculo (reset badge pilula legada atras da placa Mercosul) */
:is(
    .vehicle-lookup-card__plate,
    .cadveic-vehicle-locked__plate,
    .registration-vehicle-locked__plate,
    .mobile-register-vehicle-locked__plate,
    [data-vehicle-lookup-plate],
    [data-registration-display-plate],
    [data-cadveic-locked-plate]
){
    display:block!important;
    margin:0 0 8px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    letter-spacing:normal!important;
    line-height:normal!important;
    align-items:unset!important;
    justify-content:unset!important;
}
:is(
    .vehicle-lookup-card__plate,
    .cadveic-vehicle-locked__plate,
    .registration-vehicle-locked__plate,
    [data-vehicle-lookup-plate],
    [data-registration-display-plate],
    [data-cadveic-locked-plate]
) .mercosul-plate--lg{
    max-width:min(240px,100%);
}

.modveiculo-fipe__plate-row:has(.mercosul-plate--input){
    grid-template-columns:minmax(180px,1fr) auto;
    align-items:stretch;
}
.modveiculo-fipe__plate-row .mercosul-plate--input{
    min-width:0;
    width:100%;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .modveiculo-fipe__plate-row:has(.mercosul-plate--input){
    grid-template-columns:minmax(0,1fr) 54px!important;
    align-items:stretch!important;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .modveiculo-fipe__plate-row .mercosul-plate--input{
    height:54px;
    grid-template-rows:16px 1fr;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .modveiculo-fipe__plate-row .mercosul-plate--input .mercosul-plate__body{
    min-height:0;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .modveiculo-fipe__plate-row .modveiculo-fipe__plate-search{
    align-self:stretch!important;
    height:auto!important;max-height:none!important;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .mercosul-plate__input.modveiculo-fipe__input{
    background:#fff!important;
    color:#000!important;
    border:none!important;
    box-shadow:none!important;
    -webkit-text-fill-color:#000!important;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .mercosul-plate__input.modveiculo-fipe__input:focus{
    border:none!important;
    box-shadow:none!important;
}
body[data-page="cadastro-veiculo"] .vehicles-create-shell .mercosul-plate--input:focus-within{
    border-color:rgba(255,107,74,.55)!important;
    box-shadow:0 0 0 3px rgba(255,107,74,.12)!important;
}

.visually-hidden{
    position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* App mobile: campo de placa compacto em qualquer tela do PWA. */
.mobile-app-body .modveiculo-fipe__plate-row:has(.mercosul-plate--input),
.mobile-app-body .booking-vehicle-form-wrap .modveiculo-fipe__plate-row:has(.mercosul-plate--input),
.mobile-app-body .agendar-vehicle-form-wrap .modveiculo-fipe__plate-row:has(.mercosul-plate--input){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    align-items:start!important;
    gap:8px!important;
}
.mobile-app-body .mercosul-plate--input{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    grid-template-rows:15px 37px!important;
    overflow:hidden!important;
    align-self:start!important;
}
.mobile-app-body .mercosul-plate--input .mercosul-plate__header{
    height:15px!important;
    min-height:15px!important;
    max-height:15px!important;
    padding:1px 18px 1px 6px!important;
    flex:0 0 15px!important;
}
.mobile-app-body .mercosul-plate--input .mercosul-plate__country{
    display:block!important;
    font-size:.42rem!important;
    line-height:1!important;
}
.mobile-app-body .mercosul-plate--input .mercosul-plate__flag{
    width:12px!important;
    height:8px!important;
    right:4px!important;
    top:50%!important;
}
.mobile-app-body .mercosul-plate--input .mercosul-plate__body{
    height:37px!important;
    min-height:0!important;
    max-height:37px!important;
    padding:0 8px 1px 14px!important;
    overflow:hidden!important;
}
.mobile-app-body .mercosul-plate--input .mercosul-plate__input{
    height:100%!important;
    min-height:0!important;
    max-height:37px!important;
    font-size:1rem!important;
    line-height:1!important;
    padding:0!important;
}
.mobile-app-body .modveiculo-fipe__plate-row .modveiculo-fipe__plate-search,
.mobile-app-body .agendar-vehicle-form-wrap .modveiculo-fipe__plate-search,
.mobile-app-body .booking-vehicle-form-wrap .modveiculo-fipe__plate-search{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0!important;
    align-self:start!important;
    display:grid!important;
    place-items:center!important;
    border-radius:16px!important;
}
@media (max-width:420px){
    .mobile-app-body .modveiculo-fipe__plate-row:has(.mercosul-plate--input),
    .mobile-app-body .booking-vehicle-form-wrap .modveiculo-fipe__plate-row:has(.mercosul-plate--input),
    .mobile-app-body .agendar-vehicle-form-wrap .modveiculo-fipe__plate-row:has(.mercosul-plate--input){
        grid-template-columns:minmax(0,1fr) 48px!important;
        gap:7px!important;
    }
    .mobile-app-body .modveiculo-fipe__plate-row .modveiculo-fipe__plate-search,
    .mobile-app-body .agendar-vehicle-form-wrap .modveiculo-fipe__plate-search,
    .mobile-app-body .booking-vehicle-form-wrap .modveiculo-fipe__plate-search{
        width:48px!important;
        min-width:48px!important;
        max-width:48px!important;
    }
}

.entry-input-wrap .mercosul-plate--input,
.orv-field .mercosul-plate--input,
.customer-crm-modal__field .mercosul-plate--input{
    width:100%;
    max-width:none;
}

.entry-input-wrap{
    display:grid;
    gap:0;
}

.entry-input-wrap .entry-input-spinner{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    pointer-events:none;
}
