/* Маска ввода: телефон / гос. номер ТС */

.field-masked-preview-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding-top: .35rem;
}

/* —— Компактный вид в таблице —— */
.field-plate-chips {
    --plate-chip-ink: #1e293b;
    --plate-chip-ink-muted: #475569;
    --plate-chip-border: rgba(148, 163, 184, 0.28);
    --plate-chip-divider: rgba(148, 163, 184, 0.2);
    --plate-chip-main-w: 5.35rem;
    --plate-chip-region-w: 2.2rem; /* одинаково для 2 и 3 знаков */
    --plate-chip-h: 22px;
    --plate-font: var(--app-font-family, "Open Sans", system-ui, sans-serif);
    display: inline-grid;
    grid-template-columns: var(--plate-chip-main-w) var(--plate-chip-region-w);
    width: calc(var(--plate-chip-main-w) + var(--plate-chip-region-w));
    height: var(--plate-chip-h);
    gap: 0;
    vertical-align: middle;
    line-height: 1;
    background: #fff;
    border: 1px solid var(--plate-chip-border);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: none;
    transition: border-color .15s ease, background .15s ease;
}
.field-plate-chips:not(:has(.field-plate-chip--region)) {
    grid-template-columns: auto;
    width: auto;
    padding: 0 .55rem;
}
.field-plate-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    background: transparent;
    color: var(--plate-chip-ink);
    border: none;
    border-radius: 0;
    font-weight: 400;
    font-size: var(--app-font-size, 14px);
    line-height: 1;
    letter-spacing: 0;
    font-family: var(--plate-font);
    font-synthesis: none;
    white-space: nowrap;
    text-transform: uppercase;
    box-sizing: border-box;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.field-plate-chip--main {
    justify-content: center;
    gap: .16em;
    border-right: 1px solid var(--plate-chip-divider);
    padding: 0 .3rem;
}
.field-plate-chip__ltr,
.field-plate-chip__num {
    display: inline-block;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.field-plate-chip__ltr {
    min-width: 0.66em;
}
.field-plate-chip__ltr--tail {
    min-width: 1.28em;
    letter-spacing: .01em;
}
.field-plate-chip__num {
    min-width: 1.85em;
    letter-spacing: .03em;
}
.field-plate-chip--region {
    background: rgba(248, 250, 252, 0.95);
    color: var(--plate-chip-ink-muted);
    justify-content: center;
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
    padding: 0 .2rem;
}
.field-plate-chip--main:only-child,
.field-plate-chip--plain {
    width: auto;
    min-width: 0;
    max-width: none;
    border: none;
    font-weight: 400;
    gap: 0;
}

/* —— Номерной знак (страница записи) —— */
.field-plate-ru {
    --plate-border: #111;
    --plate-bg: #fff;
    --plate-ink: #111;
    --plate-font: var(--app-font-family, "Open Sans", system-ui, sans-serif);
    display: inline-flex;
    align-items: stretch;
    height: 1.85rem;
    background: var(--plate-bg);
    border: 1.5px solid var(--plate-border);
    border-radius: .35rem;
    overflow: hidden;
    box-shadow: none;
    vertical-align: middle;
    line-height: 1;
    user-select: text;
    font-family: var(--plate-font);
    font-weight: 400;
    font-synthesis: none;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.field-plate-ru--demo {
    height: 1.85rem;
}
.field-plate-ru__main {
    display: inline-flex;
    align-items: center;
    gap: .16rem;
    padding: 0 .38rem 0 .34rem;
    font-family: var(--plate-font);
    font-weight: 400;
    font-size: 1.02rem;
    letter-spacing: .04em;
    color: var(--plate-ink);
    text-transform: uppercase;
    text-shadow: none;
}
.field-plate-ru--demo .field-plate-ru__main {
    font-size: 1.02rem;
    gap: .16rem;
    padding: 0 .34rem;
}
.field-plate-ru__ltr {
    display: inline-block;
    min-width: .62em;
    text-align: center;
}
.field-plate-ru__num {
    display: inline-block;
    min-width: 1.55em;
    text-align: center;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
}
.field-plate-ru__side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .02rem;
    min-width: 1.75rem;
    padding: .06rem .18rem .05rem;
    border-left: 1.5px solid var(--plate-border);
    background: #fafafa;
    font-family: var(--plate-font);
}
.field-plate-ru--demo .field-plate-ru__side {
    min-width: 1.75rem;
    padding: .06rem .18rem;
}
.field-plate-ru__region {
    font-family: var(--plate-font);
    font-weight: 400;
    font-size: .82rem;
    letter-spacing: .03em;
    color: var(--plate-ink);
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: none;
}
.field-plate-ru__region.is-long {
    font-size: .7rem;
    letter-spacing: 0;
}
.field-plate-ru--demo .field-plate-ru__region {
    font-size: .82rem;
}
.field-plate-ru__country {
    display: inline-flex;
    align-items: center;
    gap: .12rem;
}
.field-plate-ru__rus {
    font-family: var(--plate-font);
    font-size: .42rem;
    font-weight: 400;
    letter-spacing: .06em;
    color: #111;
    line-height: 1;
    text-shadow: none;
}
.field-plate-ru__flag {
    display: inline-flex;
    flex-direction: column;
    width: .55rem;
    height: .38rem;
    border: 1px solid rgba(0, 0, 0, .35);
    overflow: hidden;
    border-radius: 1px;
}
.field-plate-ru__flag > span {
    flex: 1 1 0;
    display: block;
}
.field-plate-ru__flag > span:nth-child(1) { background: #fff; }
.field-plate-ru__flag > span:nth-child(2) { background: #0039a6; }
.field-plate-ru__flag > span:nth-child(3) { background: #d52b1e; }

.field-plate-fallback {
    font-weight: 600;
    letter-spacing: .02em;
}

.field-masked-phone {
    text-decoration: none;
}
.field-masked-phone:hover {
    text-decoration: underline;
}

/* таблица */
.app-page-table .table td .field-plate-chips,
.app-table td .field-plate-chips,
table.dataTable td .field-plate-chips {
    max-width: 100%;
}

.app-page-table .table td .field-plate-chip,
.app-table td .field-plate-chip,
table.dataTable td .field-plate-chip,
tr.app-listing-row--hl .field-plate-chip {
    font-size: var(--app-font-size, 14px);
    font-weight: 400;
    line-height: 1;
    transform: none;
}

a.related-entity-listing-link--rich,
a.related-entity-listing-link {
    display: inline-block;
    font-size: var(--app-font-size, 14px);
    line-height: 1;
    vertical-align: middle;
}

a.related-entity-listing-link--rich .field-plate-chip,
a.related-entity-listing-link .field-plate-chip,
a.related-entity-info-link .field-plate-chip {
    font-size: var(--app-font-size, 14px);
    font-weight: 400;
}

tr.app-listing-row--hl .field-plate-chips,
.app-listing-row--hl .field-plate-chips {
    background: rgba(255, 255, 255, 0.42);
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: none;
}

tr.app-listing-row--hl .field-plate-chip--region,
.app-listing-row--hl .field-plate-chip--region {
    background: rgba(255, 255, 255, 0.2);
}

/* связанная сущность: госномер внутри ссылки — без синего текста/подчёркивания */
a.related-entity-listing-link--rich,
a.related-entity-info-link:has(.field-plate-chips),
a.related-entity-info-link:has(.field-plate-ru),
a.related-entity-info-btn:has(.field-plate-chips),
a.related-entity-info-btn:has(.field-plate-ru) {
    text-decoration: none;
    color: inherit;
}
a.related-entity-listing-link--rich:hover .field-plate-chips,
a.related-entity-info-link:hover .field-plate-chips {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(11, 103, 158, 0.2);
    box-shadow: none;
}
a.related-entity-listing-link--rich:hover .field-plate-chip,
a.related-entity-info-link:hover .field-plate-chip {
    color: #1e293b;
}
a.related-entity-listing-link--rich:hover .field-plate-chip--region,
a.related-entity-info-link:hover .field-plate-chip--region {
    background: rgba(241, 245, 249, 0.75);
    color: #475569;
}
a.related-entity-listing-link--rich .field-plate-chips,
a.related-entity-info-link .field-plate-chips,
a.related-entity-info-link .field-plate-ru {
    vertical-align: middle;
}
