h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.account-page {
    align-items: center;
    background: #f4f8fc;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 1.5rem;
}

.account-card {
    background: #ffffff;
    border: 1px solid #dce7f2;
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(8, 37, 68, .09);
    color: #14283d;
    max-width: 28rem;
    padding: 2rem;
    width: 100%;
}

.account-kicker {
    color: #0078d4;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0;
    text-transform: uppercase;
}

.account-card h1 { margin: .4rem 0 .75rem; }
.account-card p { line-height: 1.55; }
.account-form { display: grid; gap: .75rem; margin-top: 1.5rem; }
.account-form input { border: 1px solid #aebfce; border-radius: .45rem; font: inherit; padding: .7rem; }
.account-form button { background: #0078d4; border: 0; border-radius: .45rem; color: white; cursor: pointer; font: inherit; font-weight: 700; margin-top: .5rem; padding: .75rem 1rem; }
.account-form button:disabled { cursor: wait; opacity: .7; }
.invite-accept-button { background: #0078d4; border: 0; border-radius: .45rem; color: white; cursor: pointer; font: inherit; font-weight: 700; margin-top: .5rem; padding: .75rem 1rem; }
.invite-accept-button:disabled { cursor: wait; opacity: .7; }
.account-feedback { border-radius: .45rem; margin-top: 1.25rem; padding: .8rem; }
.account-feedback.success { background: #e8f7ef; color: #17633b; }
.account-feedback.error { background: #fff0f0; color: #a61b1b; }
.tenant-users-page { background: #f4f8fc; box-sizing: border-box; min-height: 100vh; padding: 1.5rem; }
.tenant-users-card { background: white; border: 1px solid #dce7f2; border-radius: 1rem; margin: auto; max-width: 68rem; padding: 1.5rem; }
.tenant-selector, .tenant-section-title, .tenant-row { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; margin: .75rem 0; }
.tenant-section-title { justify-content: space-between; margin-top: 2rem; }
.tenant-row { border-top: 1px solid #e6edf5; padding: .8rem 0; }
.profile-row-muted { background: #f1f4f7; opacity: .75; }.profile-readiness { color: #835c00; font-weight: 700; }
.tenant-row strong { min-width: 16rem; }.tenant-row span { flex: 1; }
.tenant-users-card input, .tenant-users-card select { border: 1px solid #aebfce; border-radius: .4rem; font: inherit; padding: .55rem; }
.tenant-users-card button { background: #0078d4; border: 0; border-radius: .4rem; color: white; cursor: pointer; padding: .55rem .75rem; }
.tenant-users-card button:disabled, .tenant-users-card button:disabled:hover { background: #7fa6bf; cursor: not-allowed; opacity: .6; }


    .tenant-users-card button.transparent {
        background: transparent;
        border: 1px solid #0078d4;
        border-radius: .4rem;
        color: white;
        cursor: pointer;
        margin-left: 5px;
        padding: 0.0rem 0.0rem 0.1rem 0.2rem;
    }
        .tenant-users-card button.transparent:hover {
            background: transparent;
            border: 1px solid #fff;
            border-radius: .4rem;
            color: white;
            cursor: pointer;
            margin-left: 5px;
            padding: 0.0rem 0.0rem 0.1rem 0.2rem;
        }

    .tenant-users-card button.transparent:disabled, .tenant-users-card button.transparent:disabled:hover {
        background: transparent;
        cursor: not-allowed;
        opacity: .6;
    }



.tenant-modal { align-items: center; background: rgba(8,37,68,.45); display: flex; inset: 0; justify-content: center; padding: 1rem; position: fixed; }
@media (max-width: 640px) { .tenant-row { align-items: stretch; flex-direction: column; }.tenant-row strong { min-width: 0; } }

body {
    background: #f4f8fc;
    color: #14283d;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
}

a { color: #006fbe; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(0, 120, 212, .35);
    outline-offset: 2px;
}

.tyreflow-shell { min-height: 100vh; }
.tyreflow-shell-header {
    align-items: center;
    background: #102b46;
    box-shadow: 0 .15rem .5rem rgba(8, 37, 68, .16);
    color: #fff;
    display: flex;
    gap: 1rem;
    padding: .85rem max(1rem, calc((100% - 76rem) / 2));
}
.tyreflow-brand { color: #fff; font-size: 1.2rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.tyreflow-tenant-summary { display: grid; gap: .12rem; margin-right: auto; min-width: 0; }
.tyreflow-tenant-name { color: #d7edff; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tyreflow-user-email { color: #a9c0d4; font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tyreflow-shell-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; }
.tyreflow-shell-link { color: #d7edff; font-size: .9rem; font-weight: 600; text-decoration: none; }
.tyreflow-shell-link:hover { color: #fff; text-decoration: underline; }
.tyreflow-logout, .account-primary-action {
    background: #087fd1;
    border: 1px solid transparent;
    border-radius: .5rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font: inherit;
    font-weight: 700;
    padding: .58rem .85rem;
    text-align: center;
    text-decoration: none;
}
.tyreflow-logout { background: transparent; border-color: #5a7995; }
.tyreflow-logout:hover { background: #1d4263; }
.account-primary-action:hover, .tenant-users-card button:hover { background: #0068b1; }
.tyreflow-shell-nav {
    background: #fff;
    border-bottom: 1px solid #dce7f2;
    display: flex;
    gap: .25rem;
    overflow-x: auto;
    padding: .55rem max(1rem, calc((100% - 76rem) / 2));
}
.tyreflow-shell-nav a { border-radius: .45rem; color: #29465f; font-size: .92rem; font-weight: 650; padding: .55rem .7rem; text-decoration: none; white-space: nowrap; }
.tyreflow-shell-nav a:hover, .tyreflow-shell-nav a:focus-visible { background: #e8f4fd; color: #006fbe; }

.account-page { align-items: center; display: flex; justify-content: center; }
.account-card h1 { color: #102b46; font-size: 1.65rem; }
.account-form label { color: #29465f; font-size: .92rem; font-weight: 700; }
.account-form input { box-sizing: border-box; width: 100%; }
.account-secondary-link { display: inline-block; margin-top: 1.2rem; }
.account-intro { color: #526a80; margin: 0 0 1.25rem; }
.account-loading { color: #526a80; }
.tenant-select-card { max-width: 34rem; }
.tenant-choice-list { display: grid; gap: .7rem; margin-top: 1.25rem; }
.tenant-choice {
    align-items: center;
    background: #fff;
    border: 1px solid #c9dbea;
    border-radius: .7rem;
    color: #14283d;
    cursor: pointer;
    display: flex;
    font: inherit;
    justify-content: space-between;
    padding: .9rem 1rem;
    text-align: left;
}
.tenant-choice:hover { background: #edf7ff; border-color: #087fd1; }
.tenant-choice span { font-weight: 750; }
.tenant-choice small { color: #526a80; font-weight: 700; }

.tenant-users-page { padding: 2rem max(1rem, calc((100% - 72rem) / 2)); }
.tenant-users-card { box-shadow: 0 .75rem 2.25rem rgba(8, 37, 68, .06); }
.tenant-users-card h1, .tenant-users-card h2 { color: #102b46; }
.tenant-users-card label { color: #29465f; font-size: .9rem; font-weight: 700; }
.tenant-users-card button { font: inherit; font-weight: 650; }
.tenant-selector { padding: .2rem 0; }
.tenant-row { gap: .85rem; }
.tenant-modal { z-index: 10; }
.file-picker-input {
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}
.file-picker-button {
    background: #e8f4fd;
    border: 1px solid #9cc8e8;
    border-radius: .4rem;
    color: #005e9e !important;
    cursor: pointer;
    padding: .52rem .7rem;
}
.file-picker-button:hover { background: #d8edfb; }
.file-picker-status { color: #526a80; font-size: .9rem; overflow-wrap: anywhere; }
.imports-page { display: grid; gap: 1rem; }.import-preview-card { max-width: 72rem; }.import-batch-row.selected { background: #edf7ff; margin-left: -.5rem; margin-right: -.5rem; padding-left: .5rem; padding-right: .5rem; }.import-batch-row > div, .preview-row > div { display: grid; flex: 1; gap: .2rem; min-width: 0; }.import-batch-row span, .preview-row span { color: #526a80; overflow-wrap: anywhere; }.preview-summary-grid { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.25rem 0; }.preview-summary-grid article { background: #edf7ff; border: 1px solid #c9dbea; border-radius: .7rem; display: grid; gap: .25rem; padding: .9rem; }.preview-summary-grid span { color: #29465f; font-size: .9rem; font-weight: 700; }.preview-summary-grid strong { color: #102b46; font-size: 1.7rem; }.preview-summary-grid .preview-summary-exceptions { background: #fff5df; border-color: #edd196; }.preview-controls { border-top: 1px solid #e6edf5; padding-top: 1rem; }.preview-row { align-items: center; border-top: 1px solid #e6edf5; display: flex; gap: .85rem; padding: .85rem 0; }.preview-badge { border-radius: 999px; display: inline-block; font-size: .8rem; font-weight: 750; padding: .18rem .5rem; }.preview-badge.new { background: #e8f7ef; color: #17633b; }.preview-badge.updated { background: #e8f4fd; color: #005e9e; }.preview-badge.unchanged { background: #edf0f3; color: #435365; }.preview-badge.ambiguous { background: #fff5df; color: #835c00; }.preview-badge.invalid { background: #fff0f0; color: #a61b1b; }.preview-detail { max-height: calc(100vh - 2rem); max-width: 48rem; overflow-y: auto; }.preview-detail-list { display: grid; gap: .35rem .8rem; grid-template-columns: minmax(9rem, 1fr) minmax(0, 2fr); }.preview-detail-list dt { color: #29465f; font-weight: 700; }.preview-detail-list dd { margin: 0; overflow-wrap: anywhere; }.preview-resolution-help { color: #526a80; font-size: .9rem; }

@media (max-width: 640px) {
    .tyreflow-shell-header {
        align-items: stretch;
        display: grid;
        gap: .75rem;
        grid-template-columns: minmax(0, 1fr);
        padding: .9rem 1rem;
    }

    .tyreflow-brand { justify-self: start; }

    .tyreflow-tenant-summary {
        margin-right: 0;
        min-width: 0;
    }

    .tyreflow-tenant-name,
    .tyreflow-user-email {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .tyreflow-shell-actions {
        justify-content: space-between;
        margin-left: 0;
        width: 100%;
    }

    .tyreflow-shell-nav {
        display: grid;
        gap: .35rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow-x: visible;
        padding: .6rem .7rem;
    }

    .tyreflow-shell-nav a {
        text-align: center;
        white-space: normal;
    }

    .tenant-users-page { padding: 1rem; }
    .tenant-users-card { padding: 1rem; }
    .tenant-selector { align-items: stretch; }
    .tenant-selector input,
    .tenant-selector select {
        box-sizing: border-box;
        max-width: 100%;
        width: 100%;
    }
    .preview-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.preview-row { align-items: stretch; flex-direction: column; }.preview-detail-list { grid-template-columns: 1fr; }
}
.import-profile-header-options {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin: .75rem 0 .25rem;
}

.import-profile-header-toggle {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.import-profile-header-toggle input {
    margin: 0;
}

.import-profile-header-row {
    display: grid;
    gap: .35rem;
    min-width: 12rem;
}

.import-profile-header-row input {
    box-sizing: border-box;
    width: 100%;
}

.import-profile-help {
    color: #526a80;
    margin: .25rem 0 .75rem;
}

@media (max-width: 640px) {
    .import-profile-header-options {
        align-items: stretch;
        flex-direction: column;
    }

    .import-profile-header-row {
        min-width: 0;
    }
}
.platform-table-scroll {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.platform-table-scroll:focus-visible {
    outline: 3px solid rgba(0, 120, 212, .35);
    outline-offset: 2px;
}

/* TY-UI-02 TRANCHE A */
.tyreflow-button-icon {
    font-size: 1.15rem;
    line-height: 1;
    vertical-align: middle;
}

.tenant-page-heading {
    margin-bottom: .85rem;
}

/* TY-UI-03 COMPACT PAGE HEADERS */
.tenant-page-heading-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    justify-content: space-between;
}

.tenant-page-title-group {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .65rem;
    min-width: 0;
}

.tenant-page-heading h1 {
    margin: 0;
}

.tenant-page-organization {
    color: #526a80;
    font-size: .9rem;
    font-weight: 700;
}

.tenant-page-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-left: auto;
}

.tenant-page-description {
    color: #526a80;
    margin: .3rem 0 0;
}

.tenant-pagination {
    margin-top: .65rem;
}

@media (max-width: 760px) {
    .tenant-page-actions {
        margin-left: 0;
    }
}

.tyreflow-login-logo {
    display: block;
    height: auto;
    margin: 0 auto 1rem;
    max-width: min(24rem, 85vw);
    width: 100%;
}

/* TY-UI-02 TRANCHE B */
.tenant-row {
    border-top: 0;
    border-radius: .5rem;
    gap: .55rem;
    margin: .3rem 0;
    padding: .5rem .65rem;
}

article.tenant-row:nth-of-type(even):not(.profile-row-muted):not(.selected) {
    background: #f2f7fb;
}

article.tenant-row:nth-of-type(odd):not(.profile-row-muted):not(.selected) {
    background: #fff;
}

.business-edit-modal {
    box-sizing: border-box;
    max-height: calc(100vh - 2rem);
    max-width: 52rem;
    overflow-y: auto;
    width: min(52rem, calc(100vw - 2rem));
}

.business-inspection-modal {
    max-width: 64rem;
    width: min(64rem, calc(100vw - 2rem));
}

.business-form-grid {
    display: grid;
    gap: .8rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.business-form-field {
    display: grid;
    gap: .32rem;
    min-width: 0;
}

.business-form-field > input,
.business-form-field > select,
.business-form-field > textarea {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.business-form-field > textarea {
    min-height: 5.5rem;
    resize: vertical;
}

.business-form-field-full {
    grid-column: 1 / -1;
}

.business-form-inline-action {
    align-content: end;
}

.business-form-inline-action > button {
    justify-self: start;
}

.business-form-section {
    border: 1px solid #dce7f2;
    border-radius: .65rem;
    margin: 1rem 0 0;
    padding: .8rem;
}

.registry-editor-section-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #102b46;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 750;
    justify-content: space-between;
    padding: 0;
    text-align: left;
    width: 100%;
}

.registry-editor-section-toggle span {
    color: #526a80;
    font-size: .82rem;
    font-weight: 650;
}

.business-form-section legend {
    color: #102b46;
    font-weight: 750;
    padding: 0 .35rem;
}

.business-check-grid {
    display: grid;
    gap: .55rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.business-check-grid label {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.business-wheel-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.business-record-context {
    background: #f2f7fb;
    border: 1px solid #dce7f2;
    border-radius: .55rem;
    display: grid;
    gap: .2rem;
    margin-bottom: 1rem;
    padding: .7rem .8rem;
}

.business-record-context span {
    color: #526a80;
    font-size: .85rem;
    font-weight: 700;
}

.business-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

@media (max-width: 760px) {
    .business-form-grid,
    .business-check-grid,
    .business-wheel-grid {
        grid-template-columns: 1fr;
    }

    .business-form-field-full {
        grid-column: auto;
    }

    .business-edit-modal,
    .business-inspection-modal {
        width: calc(100vw - 1rem);
    }
}

/* TY-UI-02 TRANCHE C */
.tenant-modal[role="dialog"]:focus {
    outline: none;
}

.tenant-modal[role="dialog"]:focus-visible {
    outline: 2px solid #2f80ed;
    outline-offset: -4px;
}

.import-workspace-overlay {
    align-items: flex-start;
    overflow-y: auto;
    padding: 1rem;
}

.import-workspace-modal {
    box-sizing: border-box;
    margin: 0 auto;
    max-height: calc(100vh - 2rem);
    max-width: 72rem;
    overflow-y: auto;
    width: min(72rem, calc(100vw - 2rem));
}

.import-workspace-modal .import-preview-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 760px) {
    .import-workspace-overlay {
        padding: .5rem;
    }

    .import-workspace-modal {
        max-height: calc(100vh - 1rem);
        width: calc(100vw - 1rem);
    }
}

/* TY-UI-02 TRANCHE D */
.tyreflow-button-icon {
    margin-right: .32rem;
}

table {
    border-collapse: collapse;
}

table th,
table td {
    padding-bottom: .48rem;
    padding-top: .48rem;
}

table tbody tr:nth-child(even):not(.selected):not(.profile-row-muted) {
    background: #f2f7fb;
}

table tbody tr:nth-child(odd):not(.selected):not(.profile-row-muted) {
    background: #fff;
}

/* TY-UI-02 FINAL DASHBOARD ICONS */
.dashboard-kpi-icon {
    color: #087fd1;
    font-size: 1.35rem;
    line-height: 1;
}

/* TY-UI-05A SINGLE-LINE SEARCH BARS */
.tenant-searchbar {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    gap: .38rem;
    max-width: 100%;
    overflow-x: auto;
    padding: .42rem .5rem;
    scrollbar-width: thin;
    border: 1px solid rgba(28, 111, 255, .30);
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 .12rem .38rem rgba(18, 36, 62, .045);
}

/* TY-UI-05B SEARCH BAR BORDER */
.tenant-searchbar:focus-within {
    border-color: rgba(28, 111, 255, .62);
    box-shadow: 0 0 0 2px rgba(28, 111, 255, .08);
}

.tenant-searchbar > label {
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 650;
    white-space: nowrap;
}

.tenant-searchbar > input {
    box-sizing: border-box;
    flex: 1 1 9rem;
    font-size: .86rem;
    min-width: 7rem;
    max-width: 14rem;
    padding: .42rem .5rem;
}

.tenant-searchbar > select {
    box-sizing: border-box;
    flex: 0 1 7.5rem;
    font-size: .86rem;
    min-width: 6rem;
    max-width: 9rem;
    padding: .42rem .45rem;
}

.tenant-searchbar > button {
    flex: 0 0 auto;
    padding: .48rem .68rem;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .tenant-searchbar {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .tenant-searchbar > input {
        flex-basis: 8rem;
        min-width: 7rem;
    }

    .tenant-searchbar > select {
        flex-basis: 6.5rem;
        min-width: 5.75rem;
    }
}

/* TY-UI-05C COMPACT PAGINATION FOOTERS */
.tenant-pagination {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
    width: 100%;
}

.tenant-pagination > span {
    color: #52647a;
    font-size: .82rem;
    font-weight: 650;
    white-space: nowrap;
}

.tenant-pagination > button {
    display: inline-grid;
    flex: 0 0 auto;
    min-width: 2.15rem;
    min-height: 2.15rem;
    padding: .38rem;
    place-items: center;
}

.tenant-pagination > button .material-symbols-rounded {
    margin: 0;
}

/* TY-UI-05F STANDARD PAGE BOX ALIGNMENT */
.tenant-standard-page {
    align-content: start;
}

.tenant-standard-page > .tenant-users-card {
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
}

/* TY-UI-06C FORM POPUPS */
.tyreflow-form-popup {
    box-sizing: border-box;
    display: grid;
    gap: 1rem;
    margin: 0;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    width: min(48rem, calc(100vw - 2rem));
}

.tyreflow-profile-popup {
    width: min(62rem, calc(100vw - 2rem));
}

.tyreflow-import-popup {
    width: min(34rem, calc(100vw - 2rem));
}

.tyreflow-invite-popup {
    width: min(32rem, calc(100vw - 2rem));
}

.tyreflow-form-popup-header {
    border-bottom: 1px solid #e2ebf3;
    padding-bottom: .85rem;
}

.tyreflow-form-popup-header > div {
    display: grid;
    gap: .25rem;
}

.tyreflow-form-popup-header h2,
.tyreflow-form-popup-section h3 {
    margin: 0;
}

.tyreflow-form-popup-header p,
.tyreflow-form-popup-section-heading p,
.tyreflow-form-popup-help {
    color: #526a80;
    line-height: 1.45;
    margin: 0;
}

.tyreflow-form-popup-section {
    display: grid;
    gap: .8rem;
}

.tyreflow-form-popup-section + .tyreflow-form-popup-section {
    border-top: 1px solid #edf2f7;
    padding-top: 1rem;
}

.tyreflow-form-popup-section-heading {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.tyreflow-form-popup-section-heading > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.tyreflow-form-popup-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tyreflow-form-popup-grid-single {
    grid-template-columns: 1fr;
}

.tyreflow-form-popup-field {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.tyreflow-form-popup-field > input,
.tyreflow-form-popup-field > select,
.tyreflow-form-popup-field > textarea {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.tyreflow-form-popup-field-full {
    grid-column: 1 / -1;
}

.tyreflow-form-popup-toggle {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.tyreflow-form-popup-toggle input {
    margin: 0;
}

.tyreflow-mapping-list {
    display: grid;
    gap: .65rem;
}

.tyreflow-mapping-row {
    align-items: end;
    background: #f8fbfe;
    border: 1px solid #dce7f2;
    border-radius: .7rem;
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(12rem, 1.25fr) minmax(10rem, 1fr) minmax(10rem, 1fr) auto;
    padding: .75rem;
}

.tyreflow-mapping-remove {
    align-self: end;
    white-space: nowrap;
}

.tyreflow-file-picker {
    display: grid;
    gap: .45rem;
}

.tyreflow-file-picker-label {
    color: #29465f;
    font-size: .9rem;
    font-weight: 700;
}

.tyreflow-file-picker-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.tyreflow-form-popup-actions {
    align-items: center;
    border-top: 1px solid #e2ebf3;
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
    padding-top: .9rem;
}

@media (max-width: 760px) {
    .tyreflow-form-popup-grid,
    .tyreflow-mapping-row {
        grid-template-columns: 1fr;
    }

    .tyreflow-form-popup-field-full {
        grid-column: auto;
    }

    .tyreflow-form-popup-section-heading {
        align-items: stretch;
        display: grid;
    }

    .tyreflow-form-popup-section-heading > button,
    .tyreflow-mapping-remove {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .tyreflow-form-popup {
        width: calc(100vw - 1rem);
    }

    .tyreflow-form-popup-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tyreflow-form-popup-actions > button {
        width: 100%;
    }
}

/* TY-UI-06C V2 ARCHITECTURE CONTRACT COMPATIBILITY */
.tyreflow-profile-popup .import-profile-header-options {
    display: contents;
    margin: 0;
}

/* TY-UI-06C V3 LEGACY CLASS LAYOUT NEUTRALIZATION */
.tyreflow-profile-popup .import-profile-header-row {
    display: grid;
    gap: .35rem;
    grid-template-columns: 1fr;
}

.tyreflow-profile-popup .import-profile-header-row input {
    box-sizing: border-box;
    width: 100%;
}

.tyreflow-profile-popup .import-profile-header-toggle {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.tyreflow-profile-popup .import-profile-header-toggle input {
    margin: 0;
    width: auto;
}

.tyreflow-profile-popup .import-profile-help {
    margin: 0;
}

/* TY-UI-06D IMPORTS WHITE ACTION ICONS */
.imports-page .import-batch-row > button .tyreflow-button-icon,
.imports-page .preview-row > button .tyreflow-button-icon {
    color: #fff;
}

/* TY-UI-06H VERIFY FILE THREE ROWS */
.tyreflow-verify-file-popup {
    display: grid;
    gap: .85rem;
    width: min(42rem, calc(100vw - 2rem));
}

.tyreflow-verify-file-popup > h2,
.tyreflow-verify-file-popup > p {
    margin: 0;
}

.tyreflow-verify-file-row {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: 9rem minmax(0, 1fr);
}

.tyreflow-verify-file-row > select {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.tyreflow-verify-file-row > .file-picker-button {
    justify-self: stretch;
    text-align: center;
}

.tyreflow-verify-file-row > .file-picker-status {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tyreflow-verify-file-actions {
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
}

@media (max-width: 620px) {
    .tyreflow-verify-file-row {
        grid-template-columns: 1fr;
    }

    .tyreflow-verify-file-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tyreflow-verify-file-actions > button {
        width: 100%;
    }
}

/* TY-UI-09 DENSE OPERATIONAL TABLES & REGISTRY EXPLORER */
.tenant-data-table-scroll {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.tenant-data-table-scroll:focus-visible {
    outline: 3px solid rgba(0, 120, 212, .35);
    outline-offset: 2px;
}

.tenant-data-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 100%;
    width: max-content;
}

.tenant-data-table th,
.tenant-data-table td {
    border-bottom: 1px solid #e1eaf2;
    padding: .36rem .52rem;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.tenant-data-table th {
    background: #f4f8fc;
    color: #29465f;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .025em;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.tenant-data-table td {
    color: #243d53;
    font-size: .86rem;
    line-height: 1.15;
}

.tenant-data-table tbody tr:hover {
    background: #f8fbfe;
}

.tenant-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.tenant-data-actions-column {
    text-align: right !important;
}

.tenant-data-actions {
    display: flex;
    gap: .25rem;
    justify-content: flex-end;
    text-align: right;
}

.tenant-data-actions button {
    align-items: center;
    display: inline-flex;
    gap: .22rem;
    min-height: 1.9rem;
    padding: .28rem .45rem;
}

.tenant-data-actions button .material-symbols-rounded {
    font-size: 1rem;
}

.tenant-badge {
    border-radius: 999px;
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    padding: .28rem .48rem;
    white-space: nowrap;
}

.tenant-badge--active {
    background: #e3f6eb;
    color: #17633b;
}

.tenant-badge--inactive {
    background: #edf0f3;
    color: #536170;
}

.tenant-badge--person {
    background: #e8f4fd;
    color: #005e9e;
}

.tenant-badge--business {
    background: #eeeaff;
    color: #5543ad;
}

.tenant-badge--stored {
    background: #fff3d6;
    color: #7d5500;
}

.tenant-badge--neutral {
    background: #edf0f3;
    color: #435365;
}

.tenant-badge--warning {
    background: #fff0d7;
    color: #845d00;
}

.customer-kind-toggle {
    display: inline-flex;
    gap: .3rem;
    padding: .25rem;
    border: 1px solid #c9dbea;
    border-radius: .7rem;
    background: #f4f8fc;
}

.customer-kind-option {
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: #29465f;
    cursor: pointer;
    font: inherit;
    font-weight: 750;
    padding: .45rem .8rem;
}

.customer-kind-option.is-selected {
    background: #087fd1;
    color: #fff;
    box-shadow: 0 .15rem .45rem rgba(8, 127, 209, .2);
}

.registry-explorer {
    display: grid;
    gap: .55rem;
    margin-top: .8rem;
}

.registry-level {
    border: 1px solid #dce7f2;
    border-radius: .72rem;
    background: #fff;
    overflow: hidden;
}

.registry-level > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .65rem;
    min-height: 2.35rem;
    padding: .42rem .62rem;
    user-select: none;
}

.registry-level > summary:hover {
    background: #f7fbfe;
}

.registry-level[open] > summary {
    border-bottom: 1px solid #dce7f2;
    background: #f4f9fd;
}

.registry-summary-main {
    align-items: center;
    display: inline-flex;
    gap: .38rem;
    margin-right: auto;
    min-width: 12rem;
}

.registry-summary-main .material-symbols-rounded {
    color: #087fd1;
    font-size: 1.12rem;
}

.registry-count-badge {
    border-radius: 999px;
    background: #edf4fb;
    color: #526a80;
    font-size: .72rem;
    font-weight: 750;
    padding: .24rem .45rem;
}

.registry-children {
    display: grid;
    gap: .45rem;
    padding: .5rem .55rem .55rem 1.15rem;
}

.registry-vehicle {
    border-left: 3px solid #67a6d4;
}

.registry-tyreset {
    border-left: 3px solid #8d7ad8;
}

.registry-level-table,
.registry-inspection-table {
    border-bottom: 1px solid #e6edf5;
}

.registry-inspection-table {
    padding: .45rem .55rem .55rem;
}

.tenant-data-table--wide {
    min-width: 70rem;
}

.tenant-data-long {
    max-width: 24rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 760px) {
    .tenant-data-actions button span {
        display: none;
    }

    .tenant-data-actions button {
        padding: .3rem .4rem;
    }

    .registry-children {
        padding-left: .6rem;
    }

    .registry-level > summary {
        align-items: flex-start;
    }

    .registry-summary-main {
        flex: 1 1 100%;
        min-width: 0;
    }
}

/* TY-UI-10 TENANT WIDTH NAV AND ARCHIVE DENSITY */
.tenant-users-page {
    box-sizing: border-box;
    max-width: none;
    padding: 1.25rem;
    width: 100%;
}

.tenant-users-page > .tenant-users-card {
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    width: 100%;
}

.tyreflow-shell-nav {
    box-sizing: border-box;
    flex-wrap: wrap;
    overflow-x: visible;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
}

.registry-explorer {
    gap: .45rem;
    margin-top: .65rem;
}

.registry-level > summary {
    gap: .38rem .55rem;
    min-height: 2.15rem;
    padding: .32rem .52rem;
}

.registry-children {
    gap: .35rem;
    padding: .4rem .5rem .45rem .95rem;
}

.registry-explorer .tenant-data-table th,
.registry-explorer .tenant-data-table td {
    padding: .3rem .45rem;
}

.registry-inspection-table {
    padding: .34rem .5rem .45rem;
}

@media (max-width: 640px) {
    .tenant-users-page {
        padding: 1rem;
    }

    .tyreflow-shell-nav {
        padding: .6rem .7rem;
    }
}

/* TY-UI-10E CUSTOMER FILTER ARCHIVE SUMMARY ACCOUNT PROFILE */
.registry-level > summary {
    padding: 0;
}

.account-profile-card {
    width: 100%;
}

.account-profile-heading {
    margin-bottom: 1rem;
}

.account-profile-heading h1,
.account-profile-heading p {
    margin-top: 0;
}

.account-profile-heading p:last-child {
    margin-bottom: 0;
}

/* TY-UI-11 REGISTRY TABLES, DOT DISPLAY & INSPECTION DETAIL */
.business-inspection-detail-modal {
    max-height: calc(100vh - 2rem);
    max-width: 58rem;
    overflow-y: auto;
}

.business-detail-list {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: .8rem 0 0;
}

.business-detail-list > div {
    background: #f7fafc;
    border: 1px solid #dce7f2;
    border-radius: .55rem;
    display: grid;
    gap: .18rem;
    min-width: 0;
    padding: .65rem .75rem;
}

.business-detail-list dt {
    color: #29465f;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.business-detail-list dd {
    color: #102b46;
    font-weight: 650;
    margin: 0;
    overflow-wrap: anywhere;
}

.business-detail-list-wide {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .business-detail-list {
        grid-template-columns: 1fr;
    }

    .business-detail-list-wide {
        grid-column: auto;
    }
}
/* TY-UI-12 TENANT NAVIGATION, DENSITY & CONTENT WIDTH */
.tyreflow-shell-content {
    box-sizing: border-box;
    margin-inline: auto;
    width: 95%;
}

.tyreflow-shell-nav {
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.tyreflow-shell-nav-group {
    position: relative;
}

.tyreflow-shell-nav-group > summary {
    border-radius: .45rem;
    color: #29465f;
    cursor: pointer;
    font-size: .92rem;
    font-weight: 650;
    list-style: none;
    padding: .55rem .7rem;
    user-select: none;
    white-space: nowrap;
}

.tyreflow-shell-nav-group > summary::-webkit-details-marker {
    display: none;
}

.tyreflow-shell-nav-group > summary::after {
    content: "▾";
    display: inline-block;
    font-family: inherit;
    font-size: .85rem;
    line-height: 1;
    margin-left: .3rem;
    vertical-align: .05rem;
}

.tyreflow-shell-nav-group[open] > summary,
.tyreflow-shell-nav-group > summary:hover,
.tyreflow-shell-nav-group > summary:focus-visible {
    background: #e8f4fd;
    color: #006fbe;
}

.tyreflow-shell-nav-menu {
    background: #fff;
    border: 1px solid #dce7f2;
    border-radius: .65rem;
    box-shadow: 0 .65rem 1.8rem rgba(8, 37, 68, .16);
    display: grid;
    gap: .15rem;
    left: 50%;
    min-width: 13rem;
    padding: .4rem;
    position: absolute;
    top: calc(100% + .3rem);
    transform: translateX(-50%);
    z-index: 30;
}

.tyreflow-shell-nav-menu a {
    display: block;
}

@media (max-width: 640px) {
    .tyreflow-shell-nav {
        align-items: stretch;
        justify-content: stretch;
    }

    .tyreflow-shell-nav-group {
        min-width: 0;
    }

    .tyreflow-shell-nav-group > summary {
        text-align: center;
        white-space: normal;
    }

    .tyreflow-shell-nav-menu {
        background: #f7fbfe;
        box-shadow: none;
        left: auto;
        margin-top: .25rem;
        min-width: 0;
        position: static;
        top: auto;
        transform: none;
        width: auto;
    }

    .tyreflow-shell-nav-menu a {
        text-align: center;
        white-space: normal;
    }
}
/* TY-UI-13 MOBILE DRAWER AND ARCHIVE DRILL-DOWN */
.tyreflow-mobile-menu-toggle,
.tyreflow-mobile-menu-backdrop,
.tyreflow-mobile-drawer {
    display: none;
}

@media (max-width: 640px) {
    .tyreflow-shell-header {
        align-items: center;
        display: grid;
        gap: .75rem;
        grid-template-columns: auto minmax(0, 1fr);
        padding: .75rem 1rem;
    }

    .tyreflow-mobile-menu-toggle {
        align-items: center;
        background: transparent;
        border: 1px solid #5a7995;
        border-radius: .5rem;
        color: #fff;
        cursor: pointer;
        display: inline-flex;
        font: inherit;
        font-size: 1.35rem;
        height: 2.35rem;
        justify-content: center;
        padding: 0;
        width: 2.35rem;
    }

    .tyreflow-brand {
        justify-self: start;
    }

    .tyreflow-shell-header > .tyreflow-tenant-summary,
    .tyreflow-shell-header > .tyreflow-shell-actions,
    .tyreflow-shell-nav {
        display: none;
    }

    .tyreflow-mobile-menu-backdrop {
        background: rgba(8, 37, 68, .48);
        border: 0;
        display: block;
        inset: 0;
        padding: 0;
        position: fixed;
        z-index: 80;
    }

    .tyreflow-mobile-drawer {
        background: #fff;
        box-shadow: .8rem 0 2rem rgba(8, 37, 68, .22);
        display: flex;
        flex-direction: column;
        height: 100dvh;
        inset: 0 auto 0 0;
        max-width: 88vw;
        overflow: hidden;
        position: fixed;
        width: 20rem;
        z-index: 90;
    }

    .tyreflow-mobile-drawer-header {
        align-items: center;
        background: #102b46;
        color: #fff;
        display: flex;
        justify-content: space-between;
        padding: .85rem 1rem;
    }

    .tyreflow-mobile-drawer-header button {
        align-items: center;
        background: transparent;
        border: 1px solid #5a7995;
        border-radius: .45rem;
        color: #fff;
        cursor: pointer;
        display: inline-flex;
        font: inherit;
        font-size: 1.35rem;
        height: 2.2rem;
        justify-content: center;
        padding: 0;
        width: 2.2rem;
    }

    .tyreflow-mobile-drawer-context {
        background: #f3f8fc;
        border-bottom: 1px solid #dce7f2;
        display: grid;
        gap: .15rem;
        padding: .8rem 1rem;
    }

    .tyreflow-mobile-drawer-context .tyreflow-tenant-name,
    .tyreflow-mobile-drawer-context .tyreflow-user-email {
        color: #29465f;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .tyreflow-mobile-drawer-nav {
        display: grid;
        gap: .2rem;
        overflow-y: auto;
        padding: .65rem;
    }

    .tyreflow-mobile-drawer-nav > a,
    .tyreflow-mobile-drawer-group a,
    .tyreflow-mobile-drawer-group > summary {
        border-radius: .5rem;
        color: #29465f;
        font-size: .95rem;
        font-weight: 650;
        padding: .68rem .75rem;
        text-decoration: none;
    }

    .tyreflow-mobile-drawer-nav > a:hover,
    .tyreflow-mobile-drawer-nav > a:focus-visible,
    .tyreflow-mobile-drawer-group a:hover,
    .tyreflow-mobile-drawer-group a:focus-visible,
    .tyreflow-mobile-drawer-group > summary:hover,
    .tyreflow-mobile-drawer-group > summary:focus-visible {
        background: #e8f4fd;
        color: #006fbe;
    }

    .tyreflow-mobile-drawer-group > summary {
        cursor: pointer;
        list-style: none;
        user-select: none;
    }

    .tyreflow-mobile-drawer-group > summary::-webkit-details-marker {
        display: none;
    }

    .tyreflow-mobile-drawer-group > summary::after {
        content: "▾";
        display: inline-block;
        float: right;
        font-family: inherit;
        margin-left: .35rem;
    }

    .tyreflow-mobile-drawer-group[open] > summary::after {
        transform: rotate(180deg);
    }

    .tyreflow-mobile-drawer-group > div {
        display: grid;
        gap: .12rem;
        padding: .12rem 0 .2rem .65rem;
    }

    .tyreflow-mobile-drawer-actions {
        border-top: 1px solid #dce7f2;
        display: grid;
        gap: .45rem;
        margin-top: auto;
        padding: .75rem;
    }

    .tyreflow-mobile-drawer-actions a,
    .tyreflow-mobile-drawer-actions button {
        border-radius: .5rem;
        box-sizing: border-box;
        font: inherit;
        font-weight: 650;
        padding: .65rem .75rem;
        text-align: left;
        width: 100%;
    }

    .tyreflow-mobile-drawer-actions a {
        color: #005e9e;
        text-decoration: none;
    }

    .tyreflow-mobile-drawer-actions button {
        background: #102b46;
        border: 1px solid #102b46;
        color: #fff;
        cursor: pointer;
    }
}
/* TY-ACC-01 ACCEPTANCE GRID DENSITY */
.registry-editor-card {
    max-width: 84rem;
}

.registry-editor-grid {
    gap: .65rem .75rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 1200px) {
    .registry-customer-grid--person {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .registry-customer-grid--business {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

.registry-editor-grid .business-form-field-full {
    grid-column: 1 / -1;
}

.registry-editor-check-row {
    gap: .35rem .6rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .65rem;
}

.registry-editor-check-row label {
    line-height: 1.2;
    min-width: 0;
}

.registry-editor-notes > textarea {
    min-height: 2.75rem;
}





.registry-editor-inline-button {
    align-items: center;
    display: inline-flex;
    gap: .3rem;
    justify-self: start;
    white-space: nowrap;
}

.registry-editor-plate-result {
    align-items: center;
    justify-content: flex-start;
    margin-top: .6rem;
}

.registry-editor-tyreset-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.registry-editor-tyreset-grid > .business-form-field {
    grid-column: span 2;
}

.registry-editor-tyreset-grid > .registry-editor-quantity-half {
    grid-column: span 1;
}

@media (min-width: 761px) and (max-width: 1199px) {
    .registry-editor-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .registry-editor-tyreset-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .registry-editor-tyreset-grid > .business-form-field {
        grid-column: span 2;
    }

    .registry-editor-tyreset-grid > .registry-editor-quantity-half {
        grid-column: span 1;
    }
}

@media (max-width: 760px) {
    .registry-editor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .registry-editor-check-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .registry-editor-tyreset-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .registry-editor-tyreset-grid > .business-form-field {
        grid-column: span 2;
    }

    .registry-editor-tyreset-grid > .registry-editor-quantity-half {
        grid-column: span 1;
    }
}


.registry-editor-tyreset-grid > .business-form-field-full {
    grid-column: 1 / -1;
}
.registry-editor-plate-action {
    align-items: end;
    display: flex;
    min-width: 0;
}

.registry-editor-plate-action > .registry-editor-inline-button {
    justify-content: center;
    justify-self: stretch;
    width: 100%;
}
.tyreflow-brand-logo {
    display: block;
    height: 2.15rem;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}
/* TY-ACC-01B */
.acceptance-logo-preview,.public-acceptance-logo,.acceptance-sheet-logo{max-width:100%;max-height:100px;object-fit:contain}.acceptance-upload{display:grid;gap:.5rem;margin-top:1rem}.acceptance-public-url{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.9rem}.acceptance-a4{background:#fff;color:#13233e;box-sizing:border-box;width:210mm;max-width:100%;min-height:297mm;margin:1rem auto;padding:20mm;border:1px solid #d6ddea;display:grid;grid-template-rows:auto 1fr auto}.acceptance-a4 header{display:flex;gap:1.5rem;align-items:center;border-bottom:3px solid #1688ef;padding-bottom:1rem}.acceptance-a4 h1{margin:0}.acceptance-sheet-body{display:flex;justify-content:space-between;align-items:center;gap:2rem}.acceptance-qr{width:48mm;height:48mm;image-rendering:auto}.acceptance-a4 footer{border-top:1px solid #d6ddea;padding-top:1rem;color:#526078}.public-acceptance-page{min-height:100vh;background:linear-gradient(145deg,#eef7ff,#f7f9fc);padding:2rem 1rem}.public-acceptance-card{max-width:760px;margin:auto;padding:clamp(1.25rem,4vw,3rem);background:#fff;border:1px solid #dce5f1;border-radius:1rem;box-shadow:0 18px 50px #1838661c}.public-acceptance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.public-acceptance-page h2{margin-block-end:0em}.public-acceptance-form h2,.public-acceptance-form button,.public-acceptance-form .account-feedback{grid-column:1/-1}.public-acceptance-form label{display:grid;gap:.35rem;font-weight:600;color:#213653}.public-acceptance-form input,.public-acceptance-form select{border:1px solid #b9c9dd;border-radius:.45rem;padding:.5rem;font:inherit}.public-acceptance-form .acceptance-check{display:flex;align-items:center;gap:.6rem;grid-column:1/-1;font-weight:400}.public-acceptance-form .acceptance-check input{min-height:auto}.acceptance-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.public-acceptance-logo{display:block;margin-bottom:1rem}@media(max-width:640px){.public-acceptance-form{grid-template-columns:1fr}.acceptance-sheet-body{align-items:flex-start;flex-direction:column}.acceptance-a4{min-height:auto;padding:1.5rem}}@media print{body{background:#fff}.no-print,.tyreflow-shell-header,.tyreflow-shell-nav{display:none!important}.tyreflow-shell-content{padding:0!important}.acceptance-a4{border:0;box-shadow:none;margin:0;width:210mm;min-height:297mm;page-break-inside:avoid}}

/* TY-UI - Archive new-entry modal */
.registry-editor-modal .registry-editor-card {
    max-width: 84rem;
    width: min(84rem, calc(100vw - 2rem));
}
