:root {
    --tpp-bg: #eef3f8;
    --tpp-sidebar: #101827;
    --tpp-sidebar-soft: #182235;
    --tpp-panel: #ffffff;
    --tpp-ink: #152033;
    --tpp-muted: #718096;
    --tpp-border: #dfe7ef;
    --tpp-blue: #2563eb;
    --tpp-green: #16a34a;
    --tpp-purple: #7c3aed;
    --tpp-orange: #ea580c;
    --tpp-cyan: #0891b2;
    --tpp-indigo: #4f46e5;
    --tpp-red: #dc2626;
    --tpp-amber: #d97706;
    --tpp-slate: #475569;
    --tpp-pink: #db2777;
    --tpp-teal: #0f766e;
    --tpp-navy: #1e3a8a;
    --tpp-card-radius: 18px;
    --tpp-heading-size: clamp(26px, 3vw, 38px);
    --tpp-font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    --tpp-font-size-base: 16px;
    --tpp-font-size-sidebar: 15px;
    --tpp-font-size-table: 14px;
    --tpp-font-size-button: 15px;
    --tpp-receipt-font-size: 13px;
    --tpp-brand-button: var(--tpp-blue);
}
.tpp-app-shell,
.tpp-app-shell * {
    box-sizing: border-box;
}
.tpp-app-shell {
    display: grid;
    grid-template-columns: 284px minmax(0, 1fr);
    min-height: 920px;
    width: 100%;
    background: var(--tpp-bg);
    border-radius: 24px;
    overflow: hidden;
    color: var(--tpp-ink);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.14);
    font-family: var(--tpp-font-family);
    font-size: var(--tpp-font-size-base);
}
.tpp-sidebar {
    background: linear-gradient(180deg, var(--tpp-sidebar) 0%, #0a1020 100%);
    color: #e5edf7;
    display: flex;
    flex-direction: column;
    padding: 22px 16px;
    min-width: 0;
}
.tpp-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 16px;
}
.tpp-brand-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
    padding: 4px;
    flex: 0 0 auto;
}
.tpp-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #38bdf8, #2563eb);
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.05em;
}
.tpp-brand strong {
    display: block;
    color: #fff;
    font-size: 17px;
    line-height: 1.1;
}
.tpp-brand span {
    display: block;
    font-size: 12px;
    color: #9fb0c5;
    margin-top: 3px;
}
.tpp-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
    padding-right: 4px;
}
.tpp-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b6c4d6;
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: var(--tpp-font-size-sidebar);
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.tpp-nav a:hover,
.tpp-nav a.is-active {
    color: #fff;
    background: var(--tpp-sidebar-soft);
    transform: translateX(2px);
}
.tpp-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #38bdf8;
    opacity: .7;
    flex: 0 0 auto;
}
.tpp-sidebar-footer {
    margin-top: auto;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 14px;
}
.tpp-sidebar-footer span,
.tpp-sidebar-footer small {
    display: block;
}
.tpp-sidebar-footer span {
    color: #fff;
    font-weight: 800;
    margin-bottom: 5px;
}
.tpp-sidebar-footer small {
    color: #9fb0c5;
    line-height: 1.35;
}
.tpp-sidebar-hours {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.tpp-main {
    padding: 28px;
    min-width: 0;
}
.tpp-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.tpp-eyebrow {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 11px;
    font-weight: 900;
    color: #64748b;
    margin: 0 0 6px;
}
.tpp-topbar h1 {
    margin: 0;
    font-size: var(--tpp-heading-size);
    letter-spacing: -0.04em;
    color: var(--tpp-ink);
}
.tpp-top-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.tpp-date {
    background: #fff;
    border: 1px solid var(--tpp-border);
    border-radius: 12px;
    padding: 10px 14px;
    color: #475569;
    font-weight: 700;
}
.tpp-primary-button,
.tpp-secondary-button,
.tpp-shortcuts button {
    appearance: none;
    border: 0;
    cursor: pointer;
    border-radius: 12px;
    font-weight: 800;
}
.tpp-primary-button {
    background: #2563eb;
    color: #fff;
    padding: 12px 16px;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .25);
}
.tpp-secondary-button {
    background: #eef4ff;
    color: #1d4ed8;
    padding: 10px 14px;
}
.tpp-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin: 0 auto 24px;
}
.tpp-summary-card,
.tpp-panel {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(207, 219, 230, 0.9);
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}
.tpp-summary-card {
    padding: 18px;
    min-height: 132px;
}
.tpp-summary-card span,
.tpp-summary-card small {
    display: block;
}
.tpp-summary-card span {
    color: var(--tpp-muted);
    font-size: 13px;
    font-weight: 800;
}
.tpp-summary-card strong {
    display: block;
    margin: 10px 0 8px;
    font-size: 25px;
    letter-spacing: -0.04em;
    color: #0f172a;
}
.tpp-summary-card small {
    color: #8290a3;
    line-height: 1.35;
    font-size: 12px;
}
.tpp-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}
.tpp-panel {
    padding: 20px;
}
.tpp-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}
.tpp-panel-header h2,
.tpp-panel h2 {
    margin: 0;
    color: #0f172a;
    letter-spacing: -0.03em;
    font-size: 21px;
}
.tpp-panel-header > span {
    color: #64748b;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.tpp-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.tpp-service-tile {
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: #fff;
    border-radius: 18px;
    min-height: 144px;
    text-align: left;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tpp-service-tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
    border-color: rgba(37, 99, 235, .25);
}
.tpp-service-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 900;
    margin-bottom: 12px;
}
.tpp-service-tile strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.2;
}
.tpp-service-tile small {
    color: #64748b;
    font-weight: 700;
    margin-top: 8px;
}
.tpp-tone-blue .tpp-service-icon { background: var(--tpp-blue); }
.tpp-tone-green .tpp-service-icon { background: var(--tpp-green); }
.tpp-tone-purple .tpp-service-icon { background: var(--tpp-purple); }
.tpp-tone-orange .tpp-service-icon { background: var(--tpp-orange); }
.tpp-tone-cyan .tpp-service-icon { background: var(--tpp-cyan); }
.tpp-tone-indigo .tpp-service-icon { background: var(--tpp-indigo); }
.tpp-tone-red .tpp-service-icon { background: var(--tpp-red); }
.tpp-tone-amber .tpp-service-icon { background: var(--tpp-amber); }
.tpp-tone-slate .tpp-service-icon { background: var(--tpp-slate); }
.tpp-tone-pink .tpp-service-icon { background: var(--tpp-pink); }
.tpp-tone-teal .tpp-service-icon { background: var(--tpp-teal); }
.tpp-tone-navy .tpp-service-icon { background: var(--tpp-navy); }
.tpp-side-panel {
    display: grid;
    gap: 18px;
}
.tpp-shortcuts {
    display: grid;
    gap: 10px;
}
.tpp-shortcuts h2 {
    margin-bottom: 5px;
}
.tpp-shortcuts button {
    width: 100%;
    padding: 13px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    text-align: left;
}
.tpp-announcement {
    background: linear-gradient(145deg, #0f172a, #172554);
    color: #e2e8f0;
    border-color: rgba(255,255,255,.08);
}
.tpp-announcement h2,
.tpp-announcement .tpp-eyebrow {
    color: #fff;
}
.tpp-announcement p:last-child {
    color: #cbd5e1;
    line-height: 1.55;
    margin-bottom: 0;
}
.tpp-recent-panel {
    margin-bottom: 18px;
}
.tpp-table-wrap {
    overflow-x: auto;
}
.tpp-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 740px;
}
.tpp-table th,
.tpp-table td {
    padding: 14px 12px;
    text-align: left;
    border-bottom: 1px solid #e5edf5;
    white-space: nowrap;
}
.tpp-table th {
    color: #64748b;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.tpp-table td {
    color: #1e293b;
    font-size: 14px;
    font-weight: 650;
}
.tpp-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    background: #ecfdf5;
    color: #047857;
    font-size: 12px;
    font-weight: 900;
}
.tpp-empty-state {
    color: #64748b !important;
    text-align: center !important;
    padding: 28px !important;
    white-space: normal !important;
}
.tpp-module-stage p:last-child {
    margin-bottom: 0;
    color: #64748b;
    line-height: 1.6;
}
.tpp-access-gate {
    max-width: 560px;
    margin: 60px auto;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .08);
}
.tpp-access-gate h2 {
    margin-top: 0;
}
.tpp-access-gate a {
    display: inline-block;
    margin-top: 12px;
    border-radius: 12px;
    padding: 12px 18px;
    background: #2563eb;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}
@media (max-width: 1320px) {
    .tpp-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .tpp-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 1080px) {
    .tpp-app-shell {
        grid-template-columns: 1fr;
    }
    .tpp-sidebar {
        position: relative;
        min-height: auto;
    }
    .tpp-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 310px;
    }
    .tpp-content-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .tpp-main {
        padding: 18px;
    }
    .tpp-topbar {
        align-items: flex-start;
        flex-direction: column;
    }
    .tpp-top-actions {
        justify-content: flex-start;
        width: 100%;
    }
    .tpp-summary-grid,
    .tpp-service-grid,
    .tpp-nav {
        grid-template-columns: 1fr;
    }
    .tpp-summary-card {
        min-height: auto;
    }
}

.tpp-module-panel {
    display: none;
}
.tpp-module-panel.is-active {
    display: block;
}
.tpp-module-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr);
    gap: 18px;
    align-items: start;
}
.tpp-module-grid.wide-left {
    grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
}
.tpp-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tpp-form-grid {
    display: grid;
    gap: 14px;
}
.tpp-form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tpp-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}
.tpp-form label span {
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.tpp-form input,
.tpp-form select,
.tpp-form textarea {
    width: 100%;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: #f8fafc;
    color: #0f172a;
    padding: 12px 13px;
    font-size: 14px;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.tpp-form input:focus,
.tpp-form select:focus,
.tpp-form textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10);
    background: #fff;
}
.tpp-form input[readonly] {
    background: #eef4ff;
    color: #1d4ed8;
    font-weight: 800;
}
.tpp-span-two {
    grid-column: 1 / -1;
}
.tpp-form-note,
.tpp-help-text {
    color: #64748b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 12px 14px;
    line-height: 1.45;
    font-size: 13px;
}
.tpp-notice {
    margin: 0 0 18px;
    padding: 13px 16px;
    border-radius: 14px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #166534;
    font-weight: 800;
}
.tpp-mini-button {
    appearance: none;
    border: 0;
    border-radius: 10px;
    padding: 8px 11px;
    background: #0f172a;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}
.tpp-table td small {
    color: #64748b;
    font-weight: 700;
}
.tpp-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.tpp-info-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tpp-info-grid > div {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    padding: 15px;
}
.tpp-info-grid strong,
.tpp-info-grid span {
    display: block;
}
.tpp-info-grid strong {
    color: #0f172a;
    margin-bottom: 6px;
}
.tpp-info-grid span {
    color: #64748b;
    line-height: 1.45;
}
.tpp-receipt-preview {
    display: flex;
    justify-content: center;
}
.tpp-receipt-card {
    width: min(100%, 360px);
    background: #fff;
    color: #111827;
    border: 1px dashed #94a3b8;
    border-radius: 12px;
    padding: 22px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    box-shadow: 0 18px 40px rgba(15,23,42,.08);
}
.tpp-receipt-card h3 {
    margin: 0 0 4px;
    text-align: center;
    font-size: 20px;
}
.tpp-receipt-card p {
    margin: 8px 0;
}
.tpp-receipt-card hr {
    border: 0;
    border-top: 1px dashed #94a3b8;
    margin: 14px 0;
}
@media (max-width: 1180px) {
    .tpp-module-grid,
    .tpp-module-grid.wide-left {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .tpp-form-grid.two,
    .tpp-info-grid,
    .tpp-info-grid.compact {
        grid-template-columns: 1fr;
    }
    .tpp-span-two {
        grid-column: auto;
    }
}
@media print {
    .tpp-sidebar,
    .tpp-topbar,
    .tpp-nav,
    .tpp-primary-button,
    .tpp-secondary-button,
    .tpp-shortcuts,
    .tpp-mini-button {
        display: none !important;
    }
    .tpp-app-shell {
        display: block;
        box-shadow: none;
        border-radius: 0;
        background: #fff;
    }
    .tpp-main {
        padding: 0;
    }
    .tpp-panel {
        box-shadow: none;
    }
}

/* v1.0.2 Hello/Elementor theme hardening */
body .tpp-app-shell {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: min(1280px, calc(100vw - 72px));
    max-width: none;
    margin: 0 auto;
}
body .elementor-widget-shortcode .tpp-app-shell,
body .elementor-widget-container .tpp-app-shell,
body .entry-content .tpp-app-shell,
body .site-main .tpp-app-shell {
    max-width: none !important;
}
.tpp-main,
.tpp-panel,
.tpp-service-panel,
.tpp-service-grid,
.tpp-service-tile,
.tpp-summary-card,
.tpp-content-grid {
    min-width: 0;
}
.tpp-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}
.tpp-content-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
}
.tpp-service-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(175px, 100%), 1fr));
}
.tpp-service-tile {
    overflow: visible;
    min-height: 150px;
}
.tpp-service-tile strong,
.tpp-service-tile small,
.tpp-summary-card span,
.tpp-summary-card strong,
.tpp-summary-card small,
.tpp-panel-header h2,
.tpp-shortcuts button {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.tpp-service-tile strong {
    display: block;
    font-size: 14px;
}
.tpp-service-tile small {
    display: block;
    line-height: 1.35;
}
@media (max-width: 1240px) {
    .tpp-content-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1080px) {
    body .tpp-app-shell {
        left: auto;
        transform: none;
        width: 100%;
        border-radius: 18px;
    }
}
@media (max-width: 760px) {
    body .tpp-app-shell {
        width: 100%;
        border-radius: 0;
    }
    .tpp-service-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    }
}

/* v1.0.3 money transfer provider + tax controls */
.tpp-provider-field.is-hidden,
.tpp-provider-custom-field.is-hidden {
    display: none !important;
}
.tpp-provider-field select,
.tpp-provider-custom-field input {
    width: 100%;
}
.tpp-tax-rate,
.tpp-tax-amount,
.tpp-total {
    font-variant-numeric: tabular-nums;
}

/* v1.0.4 customer and recipient profile foundation */
.tpp-module-stack {
    display: grid;
    gap: 18px;
}
.tpp-searchbar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.tpp-searchbar input[type="search"] {
    flex: 1 1 260px;
    min-width: 0;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: #f8fafc;
    color: #0f172a;
    padding: 12px 13px;
    font-size: 14px;
    outline: none;
}
.tpp-searchbar input[type="search"]:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10);
    background: #fff;
}
.tpp-link-button,
.tpp-mini-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}
.tpp-link-button {
    background: #eef4ff;
    color: #1d4ed8;
    padding: 10px 14px;
    border: 1px solid #dbeafe;
}
.tpp-link-button:hover,
.tpp-mini-link:hover {
    filter: brightness(.97);
}
.tpp-mini-link {
    background: #0f172a;
    color: #fff;
    padding: 8px 10px;
    font-size: 12px;
}
.tpp-row-actions,
.tpp-action-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.tpp-profile-card {
    border-color: rgba(37, 99, 235, .20);
    box-shadow: 0 24px 70px rgba(37, 99, 235, .10);
}
.tpp-profile-info {
    margin-bottom: 18px;
}
.tpp-profile-columns {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 18px;
    align-items: start;
}
.tpp-profile-columns.single {
    grid-template-columns: 1fr;
}
.tpp-profile-columns h3 {
    margin: 0 0 12px;
    color: #0f172a;
    font-size: 16px;
    letter-spacing: -.02em;
}
.tpp-profile-card .tpp-table {
    min-width: 620px;
}
@media (max-width: 1180px) {
    .tpp-profile-columns {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .tpp-searchbar {
        align-items: stretch;
        flex-direction: column;
    }
    .tpp-searchbar input[type="search"],
    .tpp-searchbar .tpp-secondary-button,
    .tpp-searchbar .tpp-link-button,
    .tpp-row-actions .tpp-mini-link,
    .tpp-action-row .tpp-link-button {
        width: 100%;
    }
}


/* v1.0.6 dashboard quick search + daily closing reopen controls */
.tpp-fast-search-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.tpp-fast-search-card {
    padding-bottom: 16px;
}
.tpp-searchbar-dashboard {
    margin-bottom: 0;
}
.tpp-inline-action-form {
    margin: 0;
    display: inline-flex;
}
.tpp-mini-button-link {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}
.tpp-status-open {
    background: #eff6ff;
    color: #1d4ed8;
}
.tpp-status-closed {
    background: #ecfdf5;
    color: #047857;
}
.tpp-status-review {
    background: #fffbeb;
    color: #b45309;
}
@media (max-width: 960px) {
    .tpp-fast-search-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.0.7 dashboard search results and cleaner lookup controls */
.tpp-searchbar-dashboard {
    align-items: stretch;
}
.tpp-searchbar-dashboard input[type="search"] {
    flex: 1 1 220px;
}
.tpp-searchbar-dashboard .tpp-secondary-button,
.tpp-searchbar-dashboard .tpp-link-button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.tpp-dashboard-results {
    margin-top: 14px;
    border-top: 1px solid #e6eef6;
    padding-top: 14px;
}
.tpp-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.tpp-results-heading strong {
    color: #0f172a;
    font-size: 13px;
}
.tpp-results-heading span {
    color: #64748b;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 11px;
    font-weight: 800;
    max-width: 52%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tpp-result-list {
    display: grid;
    gap: 10px;
}
.tpp-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border: 1px solid #e2eaf2;
    background: #f8fafc;
    border-radius: 14px;
    padding: 12px;
}
.tpp-result-item strong,
.tpp-result-item span,
.tpp-result-item small {
    display: block;
}
.tpp-result-item strong {
    color: #0f172a;
    font-size: 14px;
    margin-bottom: 3px;
}
.tpp-result-item span {
    color: #334155;
    font-weight: 800;
    font-size: 12px;
    margin-bottom: 2px;
}
.tpp-result-item small {
    color: #718096;
    line-height: 1.35;
}
.tpp-no-results {
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    border-radius: 14px;
    padding: 14px;
}
.tpp-no-results strong,
.tpp-no-results span {
    display: block;
}
.tpp-no-results strong {
    color: #0f172a;
    margin-bottom: 4px;
}
.tpp-no-results span {
    color: #64748b;
    line-height: 1.4;
    font-size: 13px;
}
@media (max-width: 1280px) {
    .tpp-searchbar-dashboard .tpp-secondary-button,
    .tpp-searchbar-dashboard .tpp-link-button {
        padding-left: 12px;
        padding-right: 12px;
    }
}
@media (max-width: 760px) {
    .tpp-results-heading,
    .tpp-result-item {
        align-items: stretch;
        flex-direction: column;
    }
    .tpp-results-heading span {
        max-width: none;
    }
    .tpp-result-item .tpp-row-actions,
    .tpp-result-item .tpp-mini-link {
        width: 100%;
    }
}

.tpp-top-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}
.tpp-top-meta span {
    background: rgba(255,255,255,.72);
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 5px 10px;
}
.tpp-company-logo-preview {
    display: block;
    max-width: 160px;
    max-height: 80px;
    object-fit: contain;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 8px;
}
.tpp-receipt-logo {
    display: block;
    max-width: 130px;
    max-height: 72px;
    object-fit: contain;
    margin: 0 auto 10px;
}
.tpp-receipt-center {
    text-align: center;
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
}


/* v1.0.9 Daily Closing manager controls */
.tpp-closing-manager-note,
.tpp-closing-actions-note {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    color: #53627a;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 16px;
    padding: 14px 16px;
}
.tpp-closing-manager-note strong {
    color: #0f172a;
}
.tpp-closings-table {
    min-width: 980px;
}
.tpp-closing-actions .tpp-mini-button-link {
    border: 1px solid transparent;
}
.tpp-closing-action-reopen {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe !important;
}
.tpp-closing-action-close {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0 !important;
}
.tpp-closing-action-review {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a !important;
}
@media (max-width: 760px) {
    .tpp-closing-actions .tpp-inline-action-form,
    .tpp-closing-actions .tpp-mini-button-link {
        width: 100%;
    }
}


/* v1.1.1 Dashboard staff profile card */
.tpp-dashboard-staff-card {
    display: grid;
    gap: 14px;
}
.tpp-dashboard-staff-main {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}
.tpp-dashboard-staff-avatar {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #0f172a, #1e3a8a);
    color: #fff;
    font-weight: 900;
    letter-spacing: .04em;
    border: 1px solid rgba(133, 150, 175, 0.25);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}
.tpp-dashboard-staff-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tpp-dashboard-staff-info strong {
    display: block;
    font-size: 18px;
    line-height: 1.15;
    color: #0f172a;
    margin-bottom: 4px;
}
.tpp-dashboard-staff-info > span {
    display: block;
    color: #586a85;
    font-weight: 700;
}
.tpp-dashboard-staff-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.tpp-dashboard-staff-tags em,
.tpp-dashboard-staff-contact small {
    font-style: normal;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1f4ed8;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 9px;
}
.tpp-dashboard-staff-contact {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.tpp-dashboard-staff-contact small {
    background: #f1f5f9;
    color: #52627a;
}
.tpp-staff-manage-button {
    appearance: none;
    width: 100%;
    border: 1px solid #dbe6f3;
    border-radius: 12px;
    background: #f8fafc;
    color: #0f172a;
    text-align: left;
    font-weight: 800;
    padding: 12px 14px;
    cursor: pointer;
}
.tpp-staff-manage-button:hover {
    background: #eef4ff;
    color: #1d4ed8;
}

/* v1.1.0 Employee photo/profile controls */
.tpp-photo-uploader {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(133, 150, 175, 0.22);
    border-radius: 18px;
    background: rgba(248, 251, 255, 0.82);
}
.tpp-employee-photo-preview,
.tpp-employee-avatar {
    width: 94px;
    height: 94px;
    border-radius: 22px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0f1b2d;
    color: #fff;
    font-weight: 800;
    letter-spacing: .04em;
    border: 1px solid rgba(133, 150, 175, 0.25);
}
.tpp-employee-photo-preview img,
.tpp-employee-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tpp-photo-actions {
    margin-top: 10px;
    flex-wrap: wrap;
}
.tpp-employee-cards {
    display: grid;
    gap: 14px;
}
.tpp-employee-card {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    border: 1px solid rgba(133, 150, 175, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    padding: 14px;
}
.tpp-employee-card .tpp-employee-avatar {
    width: 72px;
    height: 72px;
    border-radius: 18px;
}
.tpp-employee-card-body h3 {
    margin: 0 0 4px;
    font-size: 17px;
}
.tpp-employee-card-body p {
    margin: 0 0 8px;
    color: #586a85;
    font-weight: 700;
}
.tpp-employee-card-body small {
    display: block;
    color: #667794;
    line-height: 1.45;
}
.tpp-employee-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 8px 0;
}
.tpp-employee-meta span {
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1f4ed8;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 9px;
}
@media (max-width: 720px) {
    .tpp-photo-uploader,
    .tpp-employee-card {
        grid-template-columns: 1fr;
    }
}

/* v1.1.2 service-specific transactions and receipt actions */
.tpp-service-detail-wrap {
    margin: 18px 0;
    padding: 18px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
}

.tpp-service-detail-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.tpp-service-detail-heading h3 {
    margin: 0;
    font-size: 20px;
    letter-spacing: -0.02em;
}

.tpp-service-detail-heading > span,
.tpp-receipt-preview-note {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #f1f5f9;
    color: #53627c;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 12px;
}

.tpp-service-fields {
    display: none;
}

.tpp-service-fields.is-active {
    display: block;
}

.tpp-service-fields.is-hidden {
    display: none !important;
}

.tpp-money-grid {
    margin-top: 14px;
}

.tpp-receipt-preview-note {
    display: block;
    border-radius: 16px;
    line-height: 1.55;
    margin: 14px 0;
}

.tpp-receipt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tpp-mini-button-dark {
    background: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
}

@media (max-width: 760px) {
    .tpp-service-detail-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}


.tpp-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: opacity .2s ease, transform .2s ease;
}

.tpp-notice.is-hiding {
    opacity: 0;
    transform: translateY(-4px);
}

.tpp-notice-close {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    font-weight: 800;
}

/* Receipt preview modal: keeps Preview/Reprint reliable even when browser popups are blocked. */
.tpp-receipt-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
}

.tpp-receipt-modal.is-open {
    display: block;
}

.tpp-receipt-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .62);
    backdrop-filter: blur(3px);
}

.tpp-receipt-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(560px, calc(100vw - 28px));
    max-height: calc(100vh - 36px);
    margin: 18px auto;
    background: #eef3f8;
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .38);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.tpp-receipt-modal-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border-bottom: 1px solid #d9e2ef;
}

.tpp-receipt-modal-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tpp-receipt-modal-body {
    padding: 22px;
    overflow: auto;
}

.tpp-print-receipt-card {
    max-width: 390px;
    margin: auto;
    background: #fff;
    border: 1px dashed #77869b;
    border-radius: 12px;
    padding: 22px 22px 26px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .16);
    color: #111827;
}

.tpp-print-receipt-card .logo {
    display: block;
    max-width: 145px;
    max-height: 78px;
    object-fit: contain;
    margin: 0 auto 10px;
}

.tpp-print-receipt-card h1 {
    text-align: center;
    font-size: 20px;
    margin: 0 0 5px;
}

.tpp-print-receipt-card .center {
    text-align: center;
}

.tpp-print-receipt-card p {
    margin: 8px 0;
    line-height: 1.3;
}

.tpp-print-receipt-card .meta {
    font-size: 12px;
    color: #444;
    line-height: 1.35;
}

.tpp-print-receipt-card .copy-label {
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    border: 1px solid #111;
    padding: 7px;
    margin: 12px 0;
    letter-spacing: .04em;
    background: #f8fafc;
}

.tpp-print-receipt-card .section-title {
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #334155;
    margin: 14px 0 8px;
}

.tpp-print-receipt-card .row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.tpp-print-receipt-card .row.total {
    font-size: 18px;
    border-top: 1px solid #111;
    margin-top: 8px;
    padding-top: 8px;
}

.tpp-print-receipt-card .signature {
    border-top: 1px solid #111;
    margin-top: 24px;
    padding-top: 7px;
    text-align: center;
    font-size: 11px;
    color: #444;
}

.tpp-print-receipt-card .subcopy {
    text-align: center;
    font-size: 12px;
    margin-top: -2px;
    color: #475569;
}

.tpp-print-receipt-card hr {
    border: 0;
    border-top: 1px dashed #999;
    margin: 15px 0;
}

.tpp-print-receipt-card small {
    display: block;
    line-height: 1.4;
    color: #555;
}

body.tpp-receipt-modal-open {
    overflow: hidden;
}

@media print {
    body.tpp-receipt-modal-open * {
        visibility: hidden !important;
    }

    body.tpp-receipt-modal-open .tpp-receipt-modal,
    body.tpp-receipt-modal-open .tpp-receipt-modal * {
        visibility: visible !important;
    }

    body.tpp-receipt-modal-open .tpp-receipt-modal {
        position: static !important;
        display: block !important;
    }

    body.tpp-receipt-modal-open .tpp-receipt-modal-backdrop,
    body.tpp-receipt-modal-open .tpp-receipt-modal-toolbar {
        display: none !important;
    }

    body.tpp-receipt-modal-open .tpp-receipt-modal-dialog,
    body.tpp-receipt-modal-open .tpp-receipt-modal-body {
        position: static !important;
        width: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.tpp-receipt-modal-open .tpp-print-receipt-card {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        max-width: none !important;
    }
}

/* v1.1.5 receipt options */
.tpp-mini-button-outline {
    background: #fff !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

.tpp-print-receipt-card.is-thermal {
    max-width: 302px;
    padding: 14px 14px 18px;
    font-size: 12px;
}

.tpp-print-receipt-card.is-thermal h1 {
    font-size: 16px;
}

.tpp-print-receipt-card.is-thermal .logo {
    max-width: 116px;
    max-height: 60px;
}

.tpp-print-receipt-card.is-thermal .row.total {
    font-size: 15px;
}

/* v1.1.6 safe transaction delete / void controls */
.tpp-inline-action-form {
    display: inline-flex;
    margin: 0;
}

.tpp-mini-button-warning {
    background: #f59e0b !important;
    color: #111827 !important;
}

.tpp-mini-button-danger {
    background: #dc2626 !important;
    color: #fff !important;
}

.tpp-receipt-actions .tpp-inline-action-form .tpp-mini-button {
    width: 100%;
}

/* v1.1.7 compact transaction action controls */
.tpp-compact-receipt-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    min-width: 122px;
}

.tpp-compact-receipt-actions .tpp-action-preview,
.tpp-actions-menu > summary {
    min-height: 34px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    padding: 9px 12px;
}

.tpp-actions-menu {
    width: 100%;
}

.tpp-actions-menu > summary {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    color: #0f172a;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    list-style: none;
    min-width: 92px;
    user-select: none;
}

.tpp-actions-menu > summary::-webkit-details-marker {
    display: none;
}

.tpp-actions-menu > summary::after {
    content: '▾';
    font-size: 11px;
    margin-left: 7px;
}

.tpp-actions-menu[open] > summary {
    background: #eaf1ff;
    border-color: #b9cffb;
    color: #1d4ed8;
}

.tpp-actions-menu-panel {
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .13);
    display: grid;
    gap: 6px;
    margin-top: 7px;
    padding: 8px;
    width: 170px;
}

.tpp-actions-menu-panel .tpp-inline-action-form {
    display: block;
    width: 100%;
}

.tpp-action-menu-item {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    color: #0f172a;
    cursor: pointer;
    display: block;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    padding: 9px 10px;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.tpp-action-menu-item:hover,
.tpp-action-menu-item:focus {
    background: #f8fafc;
    border-color: #bfdbfe;
    color: #1d4ed8;
    outline: none;
}

.tpp-action-menu-warning {
    color: #92400e !important;
}

.tpp-action-menu-danger {
    color: #b91c1c !important;
}

@media (max-width: 900px) {
    .tpp-actions-menu-panel {
        width: 155px;
    }
}

/* v1.1.8 deleted transaction manager */
.tpp-hard-delete-button {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
}

.tpp-hard-delete-button:hover,
.tpp-hard-delete-button:focus {
    background: #fecaca !important;
    border-color: #fca5a5 !important;
}

/* v1.1.9 Price & Fees engine polish */
.tpp-pricing-note {
    padding: 14px 16px;
    border: 1px solid rgba(37, 99, 235, .14);
    background: rgba(37, 99, 235, .045);
    border-radius: 16px;
    color: #475569;
    line-height: 1.45;
    margin: 0 0 18px;
}
.tpp-pricing-note strong {
    color: #0f172a;
}
.tpp-fee-field {
    position: relative;
}
.tpp-fee-apply {
    margin-top: 8px;
    border: 1px solid rgba(37, 99, 235, .16);
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 12px;
    padding: 8px 10px;
    font-weight: 800;
    cursor: pointer;
}
.tpp-fee-apply:hover {
    background: #dbeafe;
}
.tpp-fee-rule-hint {
    display: block;
    margin-top: 6px;
    color: #64748b;
    line-height: 1.35;
}
.tpp-price-fee-actions {
    align-items: flex-start;
}
.tpp-secondary-mini {
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid #dbe3ee;
}
.tpp-danger-button {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.tpp-status-active {
    background: #ecfdf5;
    color: #047857;
}
.tpp-status-inactive {
    background: #f8fafc;
    color: #64748b;
}

/* v1.2.0 Document Vault */
.tpp-document-upload-box {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    background: #f8fbff;
    padding: 16px;
    margin-bottom: 18px;
}
.tpp-file-preview {
    align-items: center;
    background: #0f172a;
    border-radius: 18px;
    color: #cbd5e1;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    min-height: 96px;
    overflow: hidden;
    padding: 12px;
    text-align: center;
}
.tpp-file-preview strong {
    color: #fff;
    display: block;
    line-height: 1.25;
    margin-top: 6px;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.tpp-document-upload-actions {
    gap: 10px;
    margin-top: 10px;
}
.tpp-soft-pill {
    background: #f1f5f9;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    padding: 9px 12px;
    white-space: nowrap;
}
.tpp-vault-note {
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    padding: 13px 15px;
}
.tpp-document-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
}
.tpp-documents-table .tpp-inline-action-form {
    display: block;
}
.tpp-muted {
    color: #94a3b8;
}
.tpp-profile-documents {
    margin-top: 22px;
}
@media (max-width: 760px) {
    .tpp-document-upload-box {
        grid-template-columns: 1fr;
    }
}


/* v1.2.1 Branding & Appearance controls */
.tpp-app-shell .tpp-panel,
.tpp-app-shell .tpp-summary-card,
.tpp-app-shell .tpp-service-tile,
.tpp-app-shell .tpp-form-card,
.tpp-app-shell .tpp-info-grid > div,
.tpp-app-shell .tpp-table-wrap,
.tpp-app-shell .tpp-document-card,
.tpp-app-shell .tpp-staff-card,
.tpp-app-shell .tpp-dashboard-search-card,
.tpp-app-shell .tpp-receipt-card {
    border-radius: var(--tpp-card-radius);
}
.tpp-app-shell button,
.tpp-app-shell input,
.tpp-app-shell select,
.tpp-app-shell textarea {
    font-family: var(--tpp-font-family);
}
.tpp-app-shell .tpp-table {
    font-size: var(--tpp-font-size-table);
}
.tpp-app-shell button,
.tpp-app-shell .tpp-primary-button,
.tpp-app-shell .tpp-submit,
.tpp-app-shell .tpp-action-button,
.tpp-app-shell .tpp-dropdown-toggle {
    font-size: var(--tpp-font-size-button);
}
.tpp-app-shell .tpp-primary-button,
.tpp-app-shell .tpp-submit {
    background: var(--tpp-brand-button);
}
.tpp-app-shell .tpp-receipt-card,
.tpp-receipt-print-body .tpp-receipt-card {
    font-family: var(--tpp-font-family);
    font-size: var(--tpp-receipt-font-size);
}
.tpp-color-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
}
.tpp-color-preview-grid > div {
    border: 1px solid var(--tpp-border);
    background: #fff;
    border-radius: var(--tpp-card-radius);
    padding: 14px;
}
.tpp-color-preview-grid span {
    display: block;
    width: 100%;
    height: 38px;
    border-radius: 10px;
    margin-bottom: 10px;
    border: 1px solid rgba(15, 23, 42, .12);
}
.tpp-color-preview-grid strong,
.tpp-color-preview-grid small {
    display: block;
}
.tpp-color-preview-grid small {
    color: var(--tpp-muted);
    margin-top: 4px;
}
.tpp-brand-sample-card {
    margin-top: 16px;
    display: flex;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--tpp-border);
    border-radius: var(--tpp-card-radius);
    padding: 16px;
    background: #fff;
}
.tpp-brand-sample-card p {
    color: var(--tpp-muted);
    margin: 4px 0 0;
}


/* v1.2.2 Reports dashboard */
.tpp-report-wrap {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.tpp-report-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}
.tpp-report-filter label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 220px;
    font-weight: 800;
    color: #34445d;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .04em;
}
.tpp-report-filter select {
    min-height: 44px;
    border: 1px solid #d7e2ee;
    border-radius: 12px;
    padding: 9px 12px;
    background: #f8fbff;
    color: #0f172a;
    font-size: 15px;
}
.tpp-report-print-title {
    display: none;
}
.tpp-report-cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}
.tpp-report-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(207,219,230,.95);
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 14px 32px rgba(15,23,42,.05);
}
.tpp-report-card span,
.tpp-report-card small {
    display: block;
}
.tpp-report-card span {
    color: var(--tpp-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.tpp-report-card strong {
    display: block;
    margin: 9px 0 7px;
    font-size: 22px;
    letter-spacing: -.04em;
    color: #0f172a;
}
.tpp-report-card small {
    color: #8290a3;
    line-height: 1.35;
    font-size: 12px;
}
.tpp-report-grid .tpp-table th,
.tpp-report-grid .tpp-table td {
    white-space: nowrap;
}
@media (max-width: 1320px) {
    .tpp-report-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .tpp-report-cards {
        grid-template-columns: 1fr;
    }
    .tpp-report-filter {
        align-items: stretch;
    }
    .tpp-report-filter label,
    .tpp-report-filter button {
        width: 100%;
    }
}
@media print {
    .tpp-report-control,
    .no-print {
        display: none !important;
    }
    .tpp-report-print-title {
        display: block;
        border-bottom: 2px solid #0f172a;
        padding-bottom: 10px;
        margin-bottom: 18px;
    }
    .tpp-report-cards {
        grid-template-columns: repeat(3, 1fr);
    }
    .tpp-report-card,
    .tpp-panel {
        box-shadow: none !important;
        border-color: #cbd5e1 !important;
    }
}

/* v1.2.3 Access Control */
.tpp-access-control-grid { align-items: start; }
.tpp-access-role-list { display: grid; gap: 14px; margin-top: 18px; }
.tpp-access-role-card { border: 1px solid var(--tpp-border); border-radius: var(--tpp-card-radius); background: #f8fafc; padding: 16px; }
.tpp-access-role-card > div:first-child { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 8px; }
.tpp-access-role-card strong { color: var(--tpp-ink); font-size: 17px; }
.tpp-access-role-card span { color: var(--tpp-muted); font-size: 13px; font-weight: 800; background: #eef4ff; border-radius: 999px; padding: 6px 10px; }
.tpp-access-role-card p { margin: 0 0 12px; color: var(--tpp-muted); line-height: 1.55; }
.tpp-access-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tpp-access-chip-list em { font-style: normal; font-size: 12px; font-weight: 800; color: #1d4ed8; background: #eff6ff; border: 1px solid #dbeafe; border-radius: 999px; padding: 6px 9px; }

/* v1.2.4 Setup Checklist / Launch Center */
.tpp-setup-checklist .tpp-setup-hero {
    border: 1px solid rgba(37, 99, 235, .16);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}
.tpp-readiness-meter {
    height: 14px;
    border-radius: 999px;
    background: #e8eef7;
    overflow: hidden;
    margin: 18px 0 12px;
    border: 1px solid #d7e1ee;
}
.tpp-readiness-meter div {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tpp-brand-secondary), var(--tpp-brand-primary));
    transition: width .25s ease;
}
.tpp-readiness-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    color: var(--tpp-muted);
}
.tpp-readiness-meta strong {
    color: var(--tpp-ink);
}
.tpp-setup-grid {
    align-items: start;
}
.tpp-checklist-list,
.tpp-next-action-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}
.tpp-checklist-item,
.tpp-next-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--tpp-border);
    background: #f8fafc;
    border-radius: var(--tpp-card-radius);
    padding: 14px;
}
.tpp-checklist-item.is-done {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.tpp-checkmark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f59e0b;
    color: #fff;
    font-weight: 900;
}
.tpp-checklist-item.is-done .tpp-checkmark {
    background: #16a34a;
}
.tpp-checklist-copy strong,
.tpp-next-action strong {
    display: block;
    color: var(--tpp-ink);
    font-size: 15px;
    margin-bottom: 3px;
}
.tpp-checklist-copy span,
.tpp-next-action span {
    display: block;
    color: var(--tpp-muted);
    font-size: 13px;
    line-height: 1.45;
}
.tpp-setup-open-button {
    white-space: nowrap;
}
.tpp-next-action {
    grid-template-columns: minmax(0, 1fr);
}
.tpp-next-action .tpp-setup-open-button {
    justify-self: start;
}
.tpp-setup-note-box,
.tpp-setup-complete-box {
    margin-top: 16px;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    border-radius: var(--tpp-card-radius);
    padding: 14px;
    color: #1e3a8a;
}
.tpp-setup-note-box strong,
.tpp-setup-note-box span {
    display: block;
}
.tpp-setup-note-box span {
    margin-top: 5px;
    line-height: 1.45;
}
@media (max-width: 900px) {
    .tpp-checklist-item {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .tpp-checklist-item .tpp-setup-open-button {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}

/* Help & Support / System Status */
.tpp-support-grid {
    align-items: start;
}
.tpp-support-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}
.tpp-support-card,
.tpp-support-list > div,
.tpp-status-check {
    border: 1px solid var(--tpp-border);
    background: #f8fafc;
    border-radius: var(--tpp-card-radius);
    padding: 15px;
}
.tpp-support-card strong,
.tpp-support-list strong,
.tpp-status-check strong {
    display: block;
    color: var(--tpp-ink);
    font-size: 15px;
    margin-bottom: 6px;
}
.tpp-support-card span,
.tpp-support-list span,
.tpp-status-check span {
    display: block;
    color: var(--tpp-muted);
    font-size: 13px;
    line-height: 1.45;
}
.tpp-support-card .tpp-mini-button {
    margin-top: 13px;
}
.tpp-status-check-list,
.tpp-support-list {
    display: grid;
    gap: 12px;
}
.tpp-status-check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.tpp-status-check em {
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    padding: 7px 9px;
    white-space: nowrap;
}
.tpp-status-check.is-good em {
    background: #dcfce7;
    color: #166534;
}
.tpp-status-check.is-review em {
    background: #eff6ff;
    color: #1d4ed8;
}
.tpp-status-check.is-warning em,
.tpp-status-check.is-action em {
    background: #fef3c7;
    color: #92400e;
}
.tpp-support-note-panel p {
    color: var(--tpp-muted);
    line-height: 1.55;
    margin: 12px 0 0;
}
@media (max-width: 900px) {
    .tpp-support-card-grid {
        grid-template-columns: 1fr;
    }
    .tpp-status-check {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v1.2.6 Data Export Center */
.tpp-export-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}
.tpp-export-card {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background: #ffffff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 180px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}
.tpp-export-card strong {
    color: #0f172a;
    font-size: 15px;
}
.tpp-export-card span {
    color: #64748b;
    font-size: var(--tpp-table-font-size, 14px);
    line-height: 1.45;
    flex: 1;
}
.tpp-export-card small {
    color: var(--tpp-primary-color, #2563eb);
    font-weight: 700;
}
.tpp-alert.soft {
    margin-top: 14px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(37, 99, 235, 0.06);
    border-radius: 16px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tpp-alert.soft strong { color: #0f172a; }
.tpp-alert.soft span { color: #475569; }

/* v1.2.7 Service Manager */
.tpp-service-manager .tpp-service-manager-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.tpp-service-manager-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: var(--tpp-card-radius, 18px);
    padding: 16px;
    background: rgba(255, 255, 255, 0.92);
    display: grid;
    gap: 8px;
    cursor: pointer;
    position: relative;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}
.tpp-service-manager-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}
.tpp-service-manager-card input {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 18px;
    height: 18px;
}
.tpp-service-manager-card .tpp-service-icon {
    width: 44px;
    height: 44px;
    font-size: 13px;
}
.tpp-service-manager-card strong {
    color: #111827;
    font-size: 15px;
}
.tpp-service-manager-card small {
    color: #64748b;
}
.tpp-service-manager-card.is-enabled {
    border-color: rgba(37, 99, 235, 0.42);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}
.tpp-service-manager-card.is-disabled {
    opacity: 0.55;
    background: #f8fafc;
}
.tpp-service-rules-panel .tpp-link-button {
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}


/* Demo Center */
.tpp-demo-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    margin: 0 0 18px;
    border-radius: var(--tpp-card-radius, 18px);
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.16), rgba(255, 255, 255, 0.92));
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}
.tpp-demo-banner strong { color: #92400e; white-space: nowrap; }
.tpp-demo-banner span { color: #475569; font-size: 0.92rem; flex: 1; }
.tpp-demo-banner button {
    border: 0;
    border-radius: 999px;
    padding: 9px 14px;
    background: #92400e;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}
.tpp-demo-center-panel .tpp-demo-mode-card,
.tpp-demo-grid {
    margin-top: 18px;
}
.tpp-demo-mode-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border-radius: var(--tpp-card-radius, 18px);
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: #fff;
}
.tpp-demo-mode-card.is-on {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), #fff);
}
.tpp-demo-mode-card strong { display: block; font-size: 1.05rem; color: #0f172a; }
.tpp-demo-mode-card p { margin: 7px 0 0; color: #64748b; }
.tpp-demo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.tpp-demo-card {
    padding: 18px;
    border-radius: var(--tpp-card-radius, 18px);
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
}
.tpp-demo-card h3 { margin-top: 0; color: #0f172a; }
.tpp-demo-card p { color: #64748b; }
.tpp-check-list { margin: 14px 0; padding-left: 20px; color: #475569; }
.tpp-check-list li { margin-bottom: 7px; }
.tpp-demo-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
}
.tpp-demo-counts span {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    padding: 7px 10px;
    background: #f8fafc;
    font-size: 0.86rem;
    color: #334155;
}
.tpp-danger-zone { border-color: rgba(220, 38, 38, 0.18); }
.tpp-danger-button {
    border: 0;
    border-radius: 999px;
    padding: 11px 16px;
    background: #dc2626;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}
.tpp-danger-button:disabled { opacity: 0.45; cursor: not-allowed; }
.tpp-info-strip {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f8fafc;
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.22);
}
@media (max-width: 900px) {
    .tpp-demo-grid { grid-template-columns: 1fr; }
    .tpp-demo-banner, .tpp-demo-mode-card { align-items: flex-start; flex-direction: column; }
}

/* v1.2.9 Front-end staff login and CRM-only access polish */
.tpp-logout-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.34);
    background: #fff;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.tpp-logout-link:hover { color: var(--tpp-brand-primary, #2563eb); border-color: rgba(37, 99, 235, 0.35); }
.tpp-login-shell {
    min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 18px;
    background: radial-gradient(circle at top left, rgba(37,99,235,0.18), transparent 32%), linear-gradient(135deg, var(--tpp-sidebar, #101827), #0f172a 55%, #020617);
    font-family: var(--tpp-font-family, Roboto, Arial, sans-serif);
}
.tpp-login-shell-standalone {
    position: relative;
    isolation: isolate;
}
body.tpp-staff-login-page {
    background: var(--tpp-sidebar, #101827) !important;
    overflow-x: hidden;
}
body.tpp-staff-login-page .tpp-login-shell {
    border-radius: 0;
}
.tpp-login-card {
    width: min(440px, 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 24px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 34px 90px rgba(2, 6, 23, 0.42);
}
.tpp-login-brand {
    width: 144px;
    height: 144px;
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, var(--tpp-brand-secondary, #38bdf8), var(--tpp-brand-primary, #2563eb));
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    overflow: hidden;
}
.tpp-login-brand img { width: 100%; height: 100%; object-fit: contain; padding: 8px; box-sizing: border-box; background: rgba(255,255,255,0.94); }
.tpp-login-card .tpp-eyebrow,
.tpp-login-card h2 { text-align: center; }
.tpp-login-copy { text-align: center; }
.tpp-login-card h2 { margin: 0 0 8px; color: #0f172a; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.tpp-login-copy,
.tpp-login-card p { color: #64748b; line-height: 1.55; }
.tpp-login-card label { display: block; margin-top: 16px; }
.tpp-login-card label span { display: block; margin-bottom: 7px; color: #334155; font-weight: 800; font-size: 0.88rem; }
.tpp-login-card input[type="text"],
.tpp-login-card input[type="password"] {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 14px;
    padding: 13px 14px;
    font-size: 1rem;
    color: #0f172a;
    background: #f8fafc;
    box-sizing: border-box;
}
.tpp-login-card input:focus { outline: none; border-color: var(--tpp-brand-primary, #2563eb); box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12); }
.tpp-login-remember { display: flex !important; align-items: center; gap: 8px; color: #475569; font-weight: 700; }
.tpp-login-submit,
.tpp-login-primary,
.tpp-login-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    min-height: 44px;
    padding: 0 18px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}
.tpp-login-submit,
.tpp-login-primary { width: 100%; margin-top: 18px; border: 0; background: var(--tpp-brand-button, #2563eb); color: #fff; }
.tpp-login-secondary { border: 1px solid rgba(148, 163, 184, 0.35); color: #334155; background: #fff; }
.tpp-login-actions { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
.tpp-login-actions .tpp-login-primary { margin-top: 0; }
.tpp-login-error {
    border-radius: 14px;
    padding: 12px 14px;
    margin: 16px 0 2px;
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
    font-weight: 800;
}

.tpp-login-support-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: #94a3b8;
    font-weight: 800;
    font-size: 0.9rem;
}
.tpp-login-support-links a {
    color: var(--tpp-brand-primary, #2563eb);
    text-decoration: none;
}
.tpp-login-support-links a:hover { text-decoration: underline; }
.tpp-login-help-note {
    margin-top: 14px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 14px;
    padding: 11px 12px;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.45;
}

.tpp-login-card small { display: block; margin-top: 16px; color: #94a3b8; line-height: 1.4; }
.tpp-access-gate {
    border-radius: 20px;
    padding: 30px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
    font-family: var(--tpp-font-family, Roboto, Arial, sans-serif);
}
.tpp-access-gate a {
    display: inline-flex;
    margin-top: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--tpp-brand-button, #2563eb);
    color: #fff;
    font-weight: 900;
    text-decoration: none;
}
@media (max-width: 760px) {
    .tpp-top-actions { align-items: stretch; width: 100%; }
    .tpp-logout-link { width: 100%; }
    .tpp-login-card { padding: 24px; }
}

/* v1.3.2 Staff login account controls */
.tpp-staff-login-actions {
    margin-top: 10px;
    gap: 8px;
    flex-wrap: wrap;
}
.tpp-staff-login-actions .tpp-inline-action-form {
    display: inline-flex;
    margin: 0;
}
.tpp-staff-login-actions .tpp-mini-button {
    white-space: nowrap;
}

@media (max-width: 720px) {
    .tpp-login-shell { align-items: flex-start; padding: 18px 12px; }
    .tpp-login-card { padding: 24px; border-radius: 22px; }
    .tpp-login-brand { width: 112px; height: 112px; border-radius: 26px; margin-left: auto; margin-right: auto; }
    .tpp-login-card h2 { font-size: clamp(1.65rem, 8vw, 2.05rem); }
    .tpp-login-support-links { flex-wrap: wrap; }
}


/* v1.3.7 My Profile polish */
.tpp-profile-hero {
    align-items: center;
    margin: 8px 0 18px;
}
.tpp-profile-avatar-large {
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
}
.tpp-profile-actions {
    display: grid;
    gap: 10px;
}
.tpp-profile-actions a {
    display: block;
    text-align: center;
    text-decoration: none;
}
.tpp-action-button,
.tpp-danger-soft-button,
.tpp-staff-secondary-button {
    border: 1px solid #d7e1ed;
    background: #f8fafc;
    color: #0f172a;
    border-radius: 12px;
    padding: 12px 14px;
    font-weight: 800;
}
.tpp-danger-soft-button {
    color: #b91c1c;
    background: #fff1f2;
    border-color: #fecdd3;
}
.tpp-dashboard-staff-card .tpp-staff-secondary-button {
    margin-top: 8px;
}

/* v1.3.8 - My Profile linking tools */
.tpp-profile-link-form {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(37, 99, 235, 0.06);
    border-radius: 18px;
}
.tpp-profile-link-form span {
    color: var(--tpp-muted, #5f6f8d);
    font-size: 14px;
    line-height: 1.45;
    flex: 1 1 260px;
}

/* v1.3.9 - My Profile update request */
.tpp-profile-request-form {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(148, 163, 184, 0.28);
}
.tpp-profile-request-heading {
  margin-bottom: 12px;
}
.tpp-profile-request-heading h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}
.tpp-profile-request-form textarea {
  min-height: 110px;
  resize: vertical;
}

/* v1.4.0 - Staff request manager inbox */
.tpp-filter-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0 18px;
}
.tpp-filter-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255,255,255,0.78);
  color: var(--tpp-muted, #5f6f8d);
  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
}
.tpp-filter-pill.is-active,
.tpp-filter-pill:hover {
  background: rgba(37, 99, 235, 0.10);
  color: var(--tpp-primary, #2563eb);
  border-color: rgba(37, 99, 235, 0.22);
}
.tpp-profile-requests-table textarea {
  width: 100%;
  min-width: 170px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.36);
  padding: 10px 12px;
  resize: vertical;
  font: inherit;
}
.tpp-request-actions {
  margin-top: 8px;
}
.tpp-success-mini {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}
.tpp-danger-mini {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fecaca;
}

/* v1.4.1 compact grouped CRM sidebar */
.tpp-nav-grouped {
    gap: 8px;
}
.tpp-nav-group {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    overflow: hidden;
}
.tpp-nav-group[open] {
    background: rgba(255,255,255,.055);
}
.tpp-nav-group summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tpp-nav-group summary::-webkit-details-marker {
    display: none;
}
.tpp-nav-group summary::after {
    content: '+';
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.08);
    color: #c7d5e8;
    font-size: 15px;
    line-height: 1;
}
.tpp-nav-group[open] summary::after {
    content: '–';
}
.tpp-nav-group summary small {
    margin-left: auto;
    min-width: 24px;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(56,189,248,.14);
    color: #bde8ff;
    font-size: 11px;
    letter-spacing: 0;
}
.tpp-nav-group-items {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 0 7px 8px;
}
.tpp-nav-group-items a {
    padding: 9px 10px;
    font-size: calc(var(--tpp-font-size-sidebar) - 1px);
}
.tpp-nav-group:has(a.is-active) {
    border-color: rgba(56,189,248,.34);
    box-shadow: inset 3px 0 0 rgba(56,189,248,.72);
}
.tpp-nav-group:has(a.is-active) summary {
    color: #eaf7ff;
}
.tpp-sidebar-footer {
    margin-top: 14px;
}
@media (max-width: 1080px) {
    .tpp-nav.tpp-nav-grouped {
        display: flex;
        max-height: 360px;
    }
}
@media (max-width: 760px) {
    .tpp-nav.tpp-nav-grouped {
        grid-template-columns: none;
    }
}


/* v1.4.2 Notification Center */
.tpp-notification-card {
    display: grid;
    gap: 12px;
}
.tpp-tight-header {
    margin-bottom: 4px;
}
.tpp-alert-list {
    display: grid;
    gap: 10px;
}
.tpp-alert-row {
    width: 100%;
    border: 1px solid #dbe5ef;
    background: #f8fafc;
    border-radius: 16px;
    padding: 13px 14px;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    color: #0f172a;
    text-align: left;
}
button.tpp-alert-row {
    cursor: pointer;
}
.tpp-alert-row strong,
.tpp-alert-row small {
    display: block;
}
.tpp-alert-row strong {
    font-size: 14px;
    letter-spacing: -0.02em;
}
.tpp-alert-row small {
    margin-top: 4px;
    color: #64748b;
    line-height: 1.35;
    font-size: 12px;
}
.tpp-alert-success {
    background: #ecfdf5;
    border-color: #bbf7d0;
}
.tpp-alert-info {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.tpp-alert-warning {
    background: #fffbeb;
    border-color: #fde68a;
}
.tpp-alert-danger {
    background: #fef2f2;
    border-color: #fecaca;
}
.tpp-alert-list-large .tpp-alert-row {
    padding: 16px;
}
.tpp-notification-open {
    justify-content: center;
    width: 100%;
}
.tpp-notification-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
}
.tpp-notification-metrics {
    display: grid;
    gap: 12px;
}
.tpp-mini-metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 12px 14px;
    background: #f8fafc;
}
.tpp-mini-metric span {
    color: #64748b;
    font-weight: 800;
    font-size: 12px;
}
.tpp-mini-metric strong {
    color: #0f172a;
    font-size: 16px;
}
@media (max-width: 980px) {
    .tpp-notification-layout {
        grid-template-columns: 1fr;
    }
}

/* v1.4.3 Notification card overflow hardening */
.tpp-side-panel,
.tpp-notification-card,
.tpp-alert-list,
.tpp-alert-row,
.tpp-alert-row strong,
.tpp-alert-row small {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.tpp-notification-card {
    overflow: hidden;
}
.tpp-notification-card .tpp-panel-header {
    min-width: 0;
}
.tpp-notification-card .tpp-panel-header > div {
    min-width: 0;
}
.tpp-notification-card .tpp-panel-header > span {
    flex: 0 0 auto;
}
.tpp-alert-list-compact .tpp-alert-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    justify-content: start;
    gap: 3px;
    overflow: hidden;
    white-space: normal;
}
.tpp-alert-list-compact .tpp-alert-row strong,
.tpp-alert-list-compact .tpp-alert-row small {
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.tpp-alert-list-compact .tpp-alert-row small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tpp-notification-card .tpp-mini-button,
.tpp-notification-card .tpp-notification-open {
    white-space: normal;
    line-height: 1.25;
    min-width: 0;
}
@media (max-width: 1180px) {
    .tpp-content-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (min-width: 1181px) {
    .tpp-content-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
    }
}

/* v1.4.4 Mobile CRM sidebar drawer */
.tpp-mobile-menu-button,
.tpp-sidebar-overlay {
    display: none;
}
.tpp-mobile-menu-button {
    appearance: none;
    border: 0;
    cursor: pointer;
    align-items: center;
    gap: 8px;
    width: max-content;
    margin: 14px 14px 0;
    padding: 10px 12px;
    border-radius: 14px;
    background: var(--tpp-sidebar);
    color: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
    font-weight: 900;
    z-index: 70;
}
.tpp-mobile-menu-button span {
    display: block;
    width: 17px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    margin: 3px 0;
}
.tpp-mobile-menu-button strong {
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
@media (max-width: 1080px) {
    .tpp-app-shell {
        position: relative;
        display: block;
        min-height: 100vh;
        overflow: hidden;
    }
    .tpp-mobile-menu-button {
        display: inline-flex;
        position: sticky;
        top: 10px;
    }
    .tpp-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(86vw, 360px);
        max-width: 360px;
        min-height: 100vh;
        overflow-y: auto;
        z-index: 90;
        transform: translateX(-106%);
        transition: transform .25s ease;
        border-radius: 0 24px 24px 0;
        box-shadow: 20px 0 60px rgba(2, 6, 23, .35);
    }
    .tpp-app-shell.is-sidebar-open .tpp-sidebar {
        transform: translateX(0);
    }
    .tpp-sidebar-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(2, 6, 23, .48);
        backdrop-filter: blur(2px);
        z-index: 80;
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }
    .tpp-app-shell.is-sidebar-open .tpp-sidebar-overlay {
        opacity: 1;
        pointer-events: auto;
    }
    .tpp-main {
        width: 100%;
    }
    body.tpp-sidebar-lock {
        overflow: hidden;
    }
}
@media (max-width: 760px) {
    .tpp-mobile-menu-button {
        margin: 10px 10px 0;
        padding: 9px 11px;
    }
    .tpp-sidebar {
        width: min(90vw, 340px);
    }
    .tpp-nav.tpp-nav-grouped {
        max-height: none;
    }
}


/* v1.4.5 Global Search */
.tpp-global-search {
    flex: 1 1 360px;
    max-width: 520px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--tpp-border);
    border-radius: 999px;
    padding: 6px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.tpp-global-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 9px 10px 9px 14px;
    font: inherit;
    color: var(--tpp-ink);
}
.tpp-global-search button {
    border: 0;
    border-radius: 999px;
    background: var(--tpp-brand-button, #2563eb);
    color: #fff;
    font-weight: 800;
    padding: 9px 14px;
    cursor: pointer;
}
.tpp-global-search-large {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    margin: 18px 0 20px;
}
.tpp-mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid var(--tpp-border);
    background: #fff;
    color: #0f172a;
    font-weight: 800;
    text-decoration: none;
}
.tpp-empty-state {
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    border-radius: 16px;
    padding: 18px;
    color: #64748b;
}
.tpp-empty-state strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}
.tpp-global-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.tpp-result-column {
    border: 1px solid var(--tpp-border);
    border-radius: 18px;
    padding: 14px;
    background: #f8fafc;
    min-width: 0;
}
.tpp-result-column h3 {
    margin: 0 0 12px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.tpp-result-column h3 span {
    min-width: 28px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-size: 12px;
    font-weight: 900;
}
.tpp-search-result-card {
    background: #fff;
    border: 1px solid var(--tpp-border);
    border-radius: 14px;
    padding: 13px;
    margin-bottom: 10px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}
.tpp-search-result-card strong,
.tpp-search-result-card span,
.tpp-search-result-card p,
.tpp-search-result-card small {
    display: block;
    overflow-wrap: anywhere;
}
.tpp-search-result-card strong {
    color: var(--tpp-ink);
    font-size: 15px;
}
.tpp-search-result-card span,
.tpp-search-result-card small,
.tpp-muted {
    color: #64748b;
    font-size: 13px;
}
.tpp-search-result-card p {
    margin: 6px 0 0;
    color: #334155;
    font-size: 13px;
}
.tpp-result-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.tpp-result-actions a {
    text-decoration: none;
    border-radius: 999px;
    background: #eef4ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
}
@media (max-width: 1260px) {
    .tpp-topbar { align-items: flex-start; flex-wrap: wrap; }
    .tpp-global-search { order: 3; flex-basis: 100%; max-width: none; }
    .tpp-global-results-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .tpp-global-search-large { grid-template-columns: 1fr; }
    .tpp-global-search { border-radius: 16px; flex-wrap: wrap; }
    .tpp-global-search button { width: 100%; }
}

/* v1.4.6 Dashboard flow fix: remove the large blank gap under Service Center by keeping recent activity in the main dashboard column. */
.tpp-dashboard-flow-grid {
    align-items: start;
}
.tpp-dashboard-main-column {
    display: grid;
    gap: 18px;
    min-width: 0;
    align-content: start;
}
.tpp-dashboard-main-column .tpp-recent-panel {
    margin-bottom: 0;
}
.tpp-dashboard-main-column .tpp-table-wrap {
    max-width: 100%;
}
@media (max-width: 1180px) {
    .tpp-dashboard-flow-grid {
        grid-template-columns: 1fr;
    }
    .tpp-dashboard-flow-grid .tpp-side-panel {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
}

/* v1.4.7 Dashboard Layout Manager */
.tpp-dashboard-no-side {
    grid-template-columns: minmax(0, 1fr);
}
.tpp-dashboard-layout-panel .tpp-dashboard-widget-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.tpp-dashboard-widget-card .tpp-service-icon {
    background: linear-gradient(135deg, var(--tpp-brand-primary, #2563eb), var(--tpp-brand-secondary, #38bdf8));
    color: #fff;
}
.tpp-dashboard-widget-card small {
    line-height: 1.35;
}

/* v1.4.9 Receipt Template Manager */
.tpp-checkbox-grid {
    align-items: center;
}
.tpp-checkbox-line {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 14px 16px;
    border: 1px solid var(--tpp-border, #dbe5f1);
    border-radius: 14px;
    background: #f8fbff;
    font-weight: 800;
    color: #0f172a;
}
.tpp-checkbox-line input {
    width: auto !important;
    min-height: auto !important;
}
.tpp-receipt-card.is-thermal {
    max-width: 330px;
    font-size: 12px;
}
.tpp-receipt-card.is-standard {
    max-width: 470px;
}
.tpp-receipt-total-lines {
    display: grid;
    gap: 6px;
    margin: 12px 0;
}
.tpp-receipt-total-lines p {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
}
.tpp-receipt-total-lines .is-total {
    border-top: 1px solid #111827;
    padding-top: 10px;
    margin-top: 4px;
    font-size: 1.08em;
}
.tpp-receipt-signature {
    margin-top: 22px;
    text-align: center;
}
.tpp-receipt-signature span {
    display: block;
    border-top: 1px solid #111827;
    width: 100%;
    margin-bottom: 6px;
}
.tpp-receipt-signature small {
    color: #334155;
}

/* v1.5.2 Data Import Center */
.tpp-import-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}
.tpp-import-card {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background: #ffffff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 170px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}
.tpp-import-card strong {
    color: #0f172a;
    font-size: 15px;
}
.tpp-import-card span {
    color: #64748b;
    font-size: var(--tpp-table-font-size, 14px);
    line-height: 1.45;
    flex: 1;
}
.tpp-import-upload-card input[type="file"] {
    width: 100%;
    border: 1px dashed rgba(148, 163, 184, 0.55);
    border-radius: 12px;
    padding: 10px;
    background: rgba(248, 250, 252, 0.9);
    color: #334155;
}
.tpp-checkline {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #475569;
    font-size: 13px;
    line-height: 1.35;
}
.tpp-checkline input {
    margin-top: 2px;
}
@media (max-width: 700px) {
    .tpp-import-grid {
        grid-template-columns: 1fr;
    }
}

/* TransferPilot Pro v1.5.3 import preview polish */
.tpp-import-preview {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 18px;
    background: rgba(248, 250, 252, .88);
}
.tpp-import-warning-table {
    margin-top: 14px;
}
.tpp-button-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}
.tpp-table.compact th,
.tpp-table.compact td {
    padding: 10px 12px;
    font-size: var(--tpp-table-font-size, 14px);
}
.tpp-panel-header.compact {
    margin-bottom: 12px;
}
@media (max-width: 720px) {
    .tpp-button-row > button,
    .tpp-button-row > a {
        width: 100%;
        justify-content: center;
    }
}

/* TransferPilot Pro v1.5.4 duplicate manager */
.tpp-duplicate-group-card { margin-bottom: 22px; }
.tpp-section-heading-small { margin-bottom: 14px; }
.tpp-merge-form { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(148, 163, 184, 0.18); }
.tpp-checkbox-line { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0; font-size: 13px; color: var(--tpp-muted, #64748b); }
.tpp-checkbox-line input { margin-top: 3px; }
.tpp-warning-card { border-left: 4px solid var(--tpp-accent, #f59e0b); }
@media (max-width: 760px) {
    .tpp-merge-form .tpp-form-grid { grid-template-columns: 1fr; }
}


/* v1.5.6 Email templates and cash register polish */
.tpp-email-templates-panel .tpp-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;}
.tpp-email-templates-panel .tpp-subpanel{background:#fff;border:1px solid #e5e7eb;border-radius:var(--tpp-card-radius);padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);}
.tpp-email-templates-panel .tpp-alert-soft{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px 14px;margin:12px 0;}
.tpp-change-due[readonly]{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#065f46!important;font-weight:800;}
.tpp-amount-received{border-color:#c7d2fe!important;}
@media (max-width: 900px){.tpp-email-templates-panel .tpp-two-column{grid-template-columns:1fr;}}

/* v1.5.8 Daily Closing register snapshot */
.tpp-register-snapshot {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}
.tpp-register-snapshot > div {
    border: 1px solid var(--tpp-border, #dbe3f0);
    border-radius: 16px;
    padding: 12px;
    background: rgba(248, 250, 252, 0.9);
}
.tpp-register-snapshot span {
    display: block;
    color: var(--tpp-muted, #64748b);
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}
.tpp-register-snapshot strong {
    display: block;
    font-size: 15px;
    color: var(--tpp-ink, #0f172a);
    white-space: nowrap;
}
.tpp-daily-closing-form input[readonly] {
    background: #f8fafc;
    color: #334155;
    font-weight: 800;
}
.tpp-closing-difference.is-over {
    color: #047857 !important;
}
.tpp-closing-difference.is-short {
    color: #b91c1c !important;
}
.tpp-checkbox-label {
    align-items: flex-start;
    gap: 8px;
}
.tpp-checkbox-label input[type="checkbox"] {
    width: auto;
    margin-right: 8px;
}
@media (max-width: 980px) {
    .tpp-register-snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .tpp-register-snapshot {
        grid-template-columns: 1fr;
    }
}

/* v1.5.9 payment breakdown / split tender */
.tpp-form-grid.five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.tpp-payment-breakdown {
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #f8fbff;
    padding: 14px;
}
.tpp-payment-breakdown summary {
    cursor: pointer;
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 10px;
}
@media (max-width: 1100px) {
    .tpp-form-grid.five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .tpp-form-grid.five { grid-template-columns: 1fr; }
}

/* v1.5.10 Daily Closing printable manager report */
.tpp-panel-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.tpp-panel-header-actions > span {
    color: var(--tpp-muted, #64748b);
    font-size: 13px;
    font-weight: 800;
}
.tpp-daily-closing-summary-cards {
    margin-bottom: 18px;
}
.tpp-closing-print-checklist {
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #f8fbff;
    margin-top: 18px;
    padding: 16px;
}
.tpp-closing-print-checklist h3 {
    color: #0f172a;
    font-size: 18px;
    margin: 0 0 12px;
}
.tpp-closing-checklist-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.tpp-closing-checklist-grid > div {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 14px;
    padding: 13px 14px;
}
.tpp-closing-checklist-grid strong,
.tpp-closing-checklist-grid span {
    display: block;
}
.tpp-closing-checklist-grid strong {
    color: #0f172a;
    font-size: 13px;
    margin-bottom: 4px;
}
.tpp-closing-checklist-grid span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}
@media (max-width: 760px) {
    .tpp-panel-header-actions,
    .tpp-panel-header-actions .tpp-primary-button {
        width: 100%;
    }
    .tpp-closing-checklist-grid {
        grid-template-columns: 1fr;
    }
}
@media print {
    .tpp-panel-header-actions {
        display: none !important;
    }
    .tpp-closing-print-checklist {
        break-inside: avoid;
        background: #fff !important;
    }
}


/* v1.5.11 Daily Closing variance review */
.tpp-closing-variance-watch {
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #f8fbff;
    padding: 13px 15px;
    margin: 10px 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.tpp-closing-variance-watch span,
.tpp-closing-variance-watch strong,
.tpp-closing-variance-watch p {
    display: block;
    margin: 0;
}
.tpp-closing-variance-watch span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.tpp-closing-variance-watch strong {
    color: #0f172a;
    font-size: 18px;
    margin-top: 3px;
}
.tpp-closing-variance-watch p {
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
    max-width: 520px;
}
.tpp-closing-variance-watch.is-over {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.tpp-closing-variance-watch.is-over strong {
    color: #047857;
}
.tpp-closing-variance-watch.is-short {
    border-color: #fecaca;
    background: #fef2f2;
}
.tpp-closing-variance-watch.is-short strong {
    color: #b91c1c;
}
.tpp-variance-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 88px;
    padding: 6px 9px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}
.tpp-variance-badge strong {
    color: #0f172a;
    font-size: 12px;
    line-height: 1;
}
.tpp-variance-badge small {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}
.tpp-variance-over {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.tpp-variance-over strong,
.tpp-variance-over small {
    color: #047857;
}
.tpp-variance-short {
    background: #fef2f2;
    border-color: #fecaca;
}
.tpp-variance-short strong,
.tpp-variance-short small {
    color: #b91c1c;
}
.tpp-closing-signature-block {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.tpp-closing-signature-block > div {
    min-height: 58px;
    border-bottom: 2px solid #94a3b8;
    display: flex;
    align-items: flex-end;
    padding: 0 4px 7px;
}
.tpp-closing-signature-block span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
@media (max-width: 760px) {
    .tpp-closing-variance-watch {
        align-items: flex-start;
        flex-direction: column;
    }
    .tpp-closing-signature-block {
        grid-template-columns: 1fr;
    }
}
@media print {
    .tpp-closing-signature-block {
        break-inside: avoid;
    }
}


/* v1.5.12 Daily Closing cash count worksheet */
.tpp-cash-count-sheet {
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
    padding: 15px;
    margin: 8px 0 14px;
}
.tpp-cash-count-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.tpp-cash-count-head strong,
.tpp-cash-count-total strong {
    display: block;
    color: #0f172a;
}
.tpp-cash-count-head span,
.tpp-cash-count-total span {
    display: block;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}
.tpp-cash-count-total {
    min-width: 155px;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    background: #eff6ff;
    padding: 9px 11px;
    text-align: right;
}
.tpp-cash-count-total strong {
    font-size: 18px;
    margin-top: 3px;
}
.tpp-cash-count-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: 10px;
}
.tpp-cash-count-grid label {
    margin: 0;
}
.tpp-cash-count-grid label span {
    font-size: 12px;
    font-weight: 800;
    color: #475569;
}
.tpp-cash-count-grid input {
    text-align: center;
}
@media (max-width: 900px) {
    .tpp-cash-count-head {
        display: block;
    }
    .tpp-cash-count-total {
        margin-top: 10px;
        text-align: left;
    }
    .tpp-cash-count-grid {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}


/* v1.5.13 Daily Closing bank deposit prep */
.tpp-deposit-prep-card {
    border: 1px solid #bbf7d0;
    border-radius: 18px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
    padding: 14px 16px;
    margin: 12px 0;
}
.tpp-deposit-prep-card > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.tpp-deposit-prep-card span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: #166534;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.tpp-deposit-prep-card strong {
    display: block;
    color: #14532d;
    font-size: 22px;
}
.tpp-deposit-prep-card p {
    color: #166534;
    margin: 8px 0 0;
    line-height: 1.45;
}
.tpp-deposit-print-slip {
    border: 1px solid #cbd5e1;
    border-radius: 18px;
    padding: 14px;
    margin: 16px 0;
    background: #ffffff;
    break-inside: avoid;
}
.tpp-deposit-print-slip h4 {
    margin: 0 0 12px;
    color: #0f172a;
    font-size: 15px;
}
.tpp-deposit-slip-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 12px;
}
.tpp-deposit-slip-grid div {
    min-height: 52px;
    border-bottom: 1px solid #94a3b8;
    display: flex;
    align-items: flex-end;
    padding-bottom: 5px;
}
.tpp-deposit-slip-grid span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}
.tpp-deposit-print-slip p {
    color: #64748b;
    font-size: 12px;
    margin: 12px 0 0;
}
@media (max-width: 900px) {
    .tpp-deposit-prep-card > div {
        display: block;
    }
    .tpp-deposit-prep-card strong {
        margin-top: 4px;
    }
    .tpp-deposit-slip-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media print {
    .tpp-deposit-prep-card,
    .tpp-deposit-print-slip {
        break-inside: avoid;
    }
}

/* v1.5.14 Daily Closing compact layout */
.tpp-print-only {
    display: none !important;
}
.tpp-closing-manager-note-compact {
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 12px;
    padding: 11px 13px;
}
.tpp-cash-count-details {
    padding: 0;
    overflow: hidden;
    margin: 8px 0 12px;
}
.tpp-cash-count-details summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
}
.tpp-cash-count-details summary::-webkit-details-marker {
    display: none;
}
.tpp-cash-count-details summary::after {
    content: '+';
    width: 30px;
    height: 30px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1d4ed8;
    background: #eff6ff;
    font-weight: 900;
    flex: 0 0 auto;
}
.tpp-cash-count-details[open] summary::after {
    content: '−';
}
.tpp-cash-count-details summary > span:first-child strong,
.tpp-cash-count-details summary > span:first-child small,
.tpp-cash-count-details summary .tpp-cash-count-total small,
.tpp-cash-count-details summary .tpp-cash-count-total strong {
    display: block;
}
.tpp-cash-count-details summary > span:first-child strong {
    color: #0f172a;
    font-size: 15px;
}
.tpp-cash-count-details summary > span:first-child small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 2px;
}
.tpp-cash-count-details summary .tpp-cash-count-total {
    min-width: 142px;
    margin-left: auto;
    padding: 7px 10px;
}
.tpp-cash-count-details summary .tpp-cash-count-total small {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.tpp-cash-count-details summary .tpp-cash-count-total strong {
    font-size: 16px;
    margin-top: 1px;
}
.tpp-cash-count-body {
    border-top: 1px solid #dbeafe;
    padding: 14px;
}
.tpp-closing-live-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 10px 0 12px;
}
.tpp-closing-live-grid .tpp-closing-variance-watch,
.tpp-closing-live-grid .tpp-deposit-prep-card {
    margin: 0;
    min-height: 118px;
}
.tpp-closing-live-grid .tpp-closing-variance-watch {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
}
.tpp-closing-live-grid .tpp-deposit-prep-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tpp-closing-live-grid .tpp-closing-variance-watch strong,
.tpp-closing-live-grid .tpp-deposit-prep-card strong {
    font-size: 20px;
}
.tpp-closing-live-grid .tpp-closing-variance-watch p,
.tpp-closing-live-grid .tpp-deposit-prep-card p {
    font-size: 12px;
    line-height: 1.4;
}
.tpp-closing-help-details {
    border: 1px solid #dbe5ef;
    border-radius: 14px;
    background: #f8fafc;
    padding: 0;
    margin: 10px 0 14px;
}
.tpp-closing-help-details summary {
    cursor: pointer;
    padding: 10px 12px;
    color: #334155;
    font-size: 13px;
    font-weight: 900;
}
.tpp-closing-help-details p {
    margin: 0 12px 10px;
}
@media (max-width: 900px) {
    .tpp-closing-live-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .tpp-cash-count-details summary {
        align-items: stretch;
        flex-direction: column;
    }
    .tpp-cash-count-details summary .tpp-cash-count-total {
        margin-left: 0;
        text-align: left;
        width: 100%;
    }
    .tpp-cash-count-details summary::after {
        position: absolute;
        right: 14px;
        top: 14px;
    }
}
@media print {
    .tpp-print-only {
        display: block !important;
    }
    .tpp-cash-count-details {
        display: none !important;
    }
    .tpp-closing-live-grid {
        display: block;
    }
    .tpp-closing-live-grid .tpp-closing-variance-watch,
    .tpp-closing-live-grid .tpp-deposit-prep-card {
        margin-bottom: 12px;
    }
}


/* v1.5.15 Daily Closing duplicate totals cleanup */
.tpp-closing-totals-reference {
    border: 1px solid #dbeafe;
    background: #f8fbff;
    border-radius: 14px;
    padding: 10px 12px;
    margin: 10px 0 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.tpp-closing-totals-reference strong {
    color: #0f172a;
    font-size: 13px;
}
.tpp-closing-totals-reference span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}
@media (max-width: 700px) {
    .tpp-closing-totals-reference {
        margin-top: 8px;
    }
}

/* v1.5.16 Compact Recent Closings cards */
.tpp-closing-actions-note-compact {
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 12px;
    padding: 11px 13px;
}
.tpp-closing-record-list {
    display: grid;
    gap: 12px;
}
.tpp-closing-record-card {
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.tpp-closing-record-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 12px;
}
.tpp-closing-record-head strong,
.tpp-closing-record-head small,
.tpp-record-label {
    display: block;
}
.tpp-record-label,
.tpp-closing-record-metrics span,
.tpp-closing-record-detail-grid span,
.tpp-closing-print-details strong {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.tpp-closing-record-head strong {
    color: #0f172a;
    font-size: 17px;
    margin-top: 2px;
}
.tpp-closing-record-head small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 4px;
}
.tpp-closing-record-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}
.tpp-closing-record-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.tpp-closing-record-metrics > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    min-width: 0;
    padding: 10px;
}
.tpp-closing-record-metrics strong {
    color: #0f172a;
    display: block;
    font-size: 14px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}
.tpp-closing-record-variance .tpp-variance-badge {
    margin-top: 5px;
}
.tpp-closing-record-details {
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #f8fbff;
    margin-top: 10px;
    overflow: hidden;
}
.tpp-closing-record-details summary {
    cursor: pointer;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    padding: 10px 12px;
}
.tpp-closing-record-detail-grid {
    border-top: 1px solid #dbeafe;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
}
.tpp-closing-record-detail-grid strong,
.tpp-closing-print-details span {
    color: #0f172a;
    display: block;
    font-size: 12px;
    margin-top: 3px;
    overflow-wrap: anywhere;
}
.tpp-closing-card-actions {
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
}
.tpp-closing-card-actions .tpp-inline-action-form,
.tpp-closing-card-actions .tpp-mini-button-link {
    margin: 0;
}
.tpp-closing-print-details {
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 7px;
    margin-top: 10px;
    padding-top: 10px;
}
@media (max-width: 1180px) {
    .tpp-closing-record-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .tpp-closing-record-head {
        display: block;
    }
    .tpp-closing-record-statuses {
        justify-content: flex-start;
        margin-top: 10px;
    }
    .tpp-closing-record-metrics,
    .tpp-closing-record-detail-grid {
        grid-template-columns: 1fr;
    }
    .tpp-closing-card-actions .tpp-inline-action-form,
    .tpp-closing-card-actions .tpp-mini-button-link {
        width: 100%;
    }
}
@media print {
    .tpp-closing-record-card {
        break-inside: avoid;
        box-shadow: none;
    }
}


/* v1.5.18 Flowto / Elementor CRM page compatibility guard */
body.tpp-crm-app-page .tpp-app-shell {
    clear: both;
}
body.tpp-crm-app-page .tpp-app-shell,
body.tpp-crm-app-page .tpp-app-shell * {
    text-transform: none;
    letter-spacing: normal;
}
body.tpp-crm-app-page .tpp-app-shell input[type="text"],
body.tpp-crm-app-page .tpp-app-shell input[type="email"],
body.tpp-crm-app-page .tpp-app-shell input[type="tel"],
body.tpp-crm-app-page .tpp-app-shell input[type="number"],
body.tpp-crm-app-page .tpp-app-shell input[type="date"],
body.tpp-crm-app-page .tpp-app-shell input[type="time"],
body.tpp-crm-app-page .tpp-app-shell input[type="search"],
body.tpp-crm-app-page .tpp-app-shell input[type="url"],
body.tpp-crm-app-page .tpp-app-shell select,
body.tpp-crm-app-page .tpp-app-shell textarea {
    min-height: 44px;
    max-width: 100%;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-table-wrap,
body.tpp-crm-app-page .tpp-app-shell .tpp-compact-closings {
    max-width: 100%;
}


/* v1.5.20 Emergency display restore / Flowto-safe spacing patch
   Do not hide parent theme containers with :has(); keep the CRM shell visible first. */
body.tpp-crm-app-page .tpp-app-shell,
.tpp-app-shell[data-tpp-app="1"] {
    visibility: visible !important;
    opacity: 1 !important;
    clear: both !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-main,
body.tpp-crm-app-page .tpp-app-shell .tpp-topbar,
body.tpp-crm-app-page .tpp-app-shell header.tpp-topbar,
.tpp-app-shell[data-tpp-app="1"] .tpp-main,
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
.tpp-app-shell[data-tpp-app="1"] header.tpp-topbar {
    visibility: visible !important;
    opacity: 1 !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-topbar,
body.tpp-crm-app-page .tpp-app-shell header.tpp-topbar,
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
.tpp-app-shell[data-tpp-app="1"] header.tpp-topbar {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    height: auto !important;
    min-height: 64px !important;
    overflow: visible !important;
    z-index: auto !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-summary-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
    position: relative !important;
    clear: both !important;
    z-index: 1 !important;
}
body.tpp-crm-app-page .tpp-app-shell > .tpp-main,
.tpp-app-shell[data-tpp-app="1"] > .tpp-main {
    position: relative !important;
    min-width: 0 !important;
}
@media (min-width: 1081px) {
    body.tpp-crm-app-page .tpp-app-shell,
    .tpp-app-shell[data-tpp-app="1"] {
        display: grid !important;
    }
}
@media (max-width: 1080px) {
    body.tpp-crm-app-page .tpp-app-shell,
    .tpp-app-shell[data-tpp-app="1"] {
        display: block !important;
    }
}

/* v1.5.21 Flowto Default Template layout guard
   Supports WordPress Default Template without requiring Elementor Full Width.
   Also removes the older transform-centering behavior that could push the CRM to the right in Elementor layouts. */
body.tpp-crm-app-page .tpp-app-shell,
.tpp-app-shell[data-tpp-app="1"] {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(1280px, calc(100vw - 72px)) !important;
    max-width: none !important;
    margin: 16px auto 32px !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-topbar,
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-topbar > div:first-child,
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar > div:first-child {
    min-width: 220px !important;
    flex: 1 1 260px !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-global-search,
.tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
    min-width: min(100%, 300px) !important;
    flex: 1 1 380px !important;
    max-width: 520px !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-top-actions,
.tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}
body.tpp-crm-app-page .tpp-app-shell .tpp-summary-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
    clear: both !important;
}
@media (max-width: 1180px) {
    body.tpp-crm-app-page .tpp-app-shell,
    .tpp-app-shell[data-tpp-app="1"] {
        width: calc(100vw - 16px) !important;
        margin: 8px auto 24px !important;
    }
    body.tpp-crm-app-page .tpp-app-shell .tpp-top-actions,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        margin-left: 0 !important;
    }
}



/* v1.5.22 Flowto Default Template centering correction
   Final small centering pass: only affects non-Elementor Default Template CRM pages. */
@media (min-width: 1081px) {
    body.tpp-crm-app-page:not(.elementor-page) .entry-content,
    body.tpp-crm-app-page:not(.elementor-page) .wp-block-post-content {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: visible !important;
    }
    body.tpp-crm-app-page:not(.elementor-page) .entry-content > .tpp-app-shell[data-tpp-app="1"],
    body.tpp-crm-app-page:not(.elementor-page) .wp-block-post-content > .tpp-app-shell[data-tpp-app="1"],
    body.tpp-crm-app-page:not(.elementor-page) .tpp-app-shell[data-tpp-app="1"] {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: min(1280px, calc(100vw - 72px)) !important;
        max-width: none !important;
        margin: 16px auto 32px !important;
    }
}


/* v1.5.23 Flowto / Elementor balanced CRM width
   Keeps the working v1.5.22 visibility/centering behavior, but prevents the desktop app from running too close to the Elementor page boundary. */
@media (min-width: 1081px) {
    body.tpp-crm-app-page .tpp-app-shell,
    .tpp-app-shell[data-tpp-app="1"] {
        width: min(1280px, calc(100vw - 96px)) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.tpp-crm-app-page .elementor-widget-shortcode .tpp-app-shell[data-tpp-app="1"],
    body.tpp-crm-app-page .elementor-widget-container .tpp-app-shell[data-tpp-app="1"] {
        width: min(1280px, calc(100vw - 96px)) !important;
        max-width: 1280px !important;
    }
}
@media (min-width: 1081px) and (max-width: 1440px) {
    body.tpp-crm-app-page .tpp-app-shell,
    .tpp-app-shell[data-tpp-app="1"] {
        width: min(1280px, calc(100vw - 96px)) !important;
        max-width: 1280px !important;
    }
}


/* v1.5.25 Elementor Full Width boundary clamp
   Keeps the confirmed Flowto + Elementor setup but prevents the CRM shell from visually running too close to the right edge. */
@media (min-width: 1081px) {
    html body .elementor-widget-shortcode .tpp-app-shell[data-tpp-app="1"],
    html body .elementor-widget-container .tpp-app-shell[data-tpp-app="1"],
    html body .entry-content .tpp-app-shell[data-tpp-app="1"],
    html body .site-main .tpp-app-shell[data-tpp-app="1"],
    html body .tpp-app-shell[data-tpp-app="1"] {
        width: min(1280px, calc(100vw - 96px)) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}
@media (min-width: 1081px) and (max-width: 1360px) {
    html body .tpp-app-shell[data-tpp-app="1"] {
        width: calc(100vw - 48px) !important;
        max-width: none !important;
    }
}


/* v1.5.26 Email template test send */
.tpp-email-test-panel{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);
    align-items:end;
    gap:18px;
    margin:18px 0;
}
.tpp-email-test-form{
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;
    align-items:end;
    gap:12px;
}
.tpp-email-test-form label{margin:0;}
@media (max-width: 900px){
    .tpp-email-test-panel,.tpp-email-test-form{grid-template-columns:1fr;align-items:stretch;}
}


/* v1.5.27 Email campaign audience preview */
.tpp-email-audience-preview{
    margin:18px 0;
}
.tpp-email-audience-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.tpp-email-audience-card{
    border:1px solid var(--tpp-border);
    border-radius:18px;
    background:#fff;
    padding:14px;
}
.tpp-email-audience-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.tpp-email-audience-card-head strong{
    color:var(--tpp-ink);
    font-size:14px;
    line-height:1.25;
}
.tpp-email-audience-card-head span{
    border-radius:999px;
    background:var(--tpp-soft-blue);
    color:var(--tpp-muted);
    font-size:12px;
    font-weight:800;
    padding:6px 9px;
    white-space:nowrap;
}
.tpp-email-audience-card ul{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:8px;
}
.tpp-email-audience-card li{
    display:grid;
    gap:2px;
    border-top:1px solid rgba(15,23,42,.08);
    padding-top:8px;
}
.tpp-email-audience-card li:first-child{
    border-top:0;
    padding-top:0;
}
.tpp-email-audience-card li span{
    color:var(--tpp-ink);
    font-weight:800;
    font-size:13px;
}
.tpp-email-audience-card li small{
    color:var(--tpp-muted);
    font-size:12px;
    overflow-wrap:anywhere;
}
@media (max-width:1200px){
    .tpp-email-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
    .tpp-email-audience-grid{grid-template-columns:1fr;}
}


/* v1.5.28 Email campaign final approval guard */
.tpp-campaign-confirm-box{
    border:1px solid rgba(37,99,235,.22);
    background:rgba(239,246,255,.72);
    border-radius:16px;
    padding:12px 14px;
    margin:10px 0 4px;
}
.tpp-campaign-confirm-box .tpp-checkbox-line{
    margin:0;
    color:var(--tpp-ink);
    font-weight:800;
    align-items:flex-start;
}
.tpp-campaign-confirm-box p{
    margin:8px 0 0 28px;
    color:var(--tpp-muted);
    font-size:13px;
    line-height:1.45;
}

/* v1.5.29 Email template rendered preview cards */
.tpp-email-template-preview-library{
    margin:18px 0;
}
.tpp-email-template-preview-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.tpp-email-template-preview-card{
    border:1px solid var(--tpp-border);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    padding:14px;
    min-width:0;
}
.tpp-email-template-preview-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.tpp-email-template-preview-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:15px;
    line-height:1.25;
}
.tpp-email-template-preview-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    font-weight:800;
    margin-top:3px;
}
.tpp-email-template-preview-head em{
    border-radius:999px;
    background:rgba(37,99,235,.10);
    color:var(--tpp-blue);
    font-style:normal;
    font-size:12px;
    font-weight:900;
    padding:6px 9px;
    white-space:nowrap;
}
.tpp-email-preview-subject{
    margin:0 0 10px;
    color:var(--tpp-ink);
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.tpp-email-preview-subject span{
    color:var(--tpp-muted);
    font-weight:900;
}
.tpp-email-preview-body{
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#fff;
    padding:12px;
    color:var(--tpp-muted);
    font-size:13px;
    line-height:1.5;
    max-height:240px;
    overflow:auto;
    overflow-wrap:anywhere;
}
@media (max-width:1200px){
    .tpp-email-template-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
    .tpp-email-template-preview-grid{grid-template-columns:1fr;}
}


/* v1.5.30 Email campaign performance snapshot */
.tpp-email-campaign-performance{
    border:1px solid rgba(15,23,42,.08);
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.tpp-email-campaign-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.tpp-email-campaign-stats div{
    padding:14px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:#fff;
}
.tpp-email-campaign-stats span{
    display:block;
    font-size:12px;
    color:#64748b;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-email-campaign-stats strong{
    display:block;
    margin-top:4px;
    color:#0f172a;
    font-size:22px;
}
.tpp-email-last-campaign{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:14px;
    padding:12px 14px;
    border-radius:14px;
    background:#eff6ff;
    color:#1e3a8a;
}
.tpp-email-last-campaign span{
    color:#1e40af;
}
@media (max-width: 900px){
    .tpp-email-campaign-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 560px){
    .tpp-email-campaign-stats{grid-template-columns:1fr;}
}


/* v1.5.31 Email template edit/status controls */
.tpp-email-template-editor-help{
    margin-top:-4px;
}
.tpp-email-template-editor [data-tpp-template-picker]{
    border-color:rgba(37,99,235,.28);
    background:#f8fbff;
}
.tpp-email-template-editor select[name="status"]{
    font-weight:800;
}

/* v1.5.32 Email template usage snapshot */
.tpp-email-template-usage-cell{
    min-width:150px;
}
.tpp-email-template-usage-cell strong,
.tpp-email-template-usage-cell small,
.tpp-email-template-usage-cell span{
    display:block;
}
.tpp-email-template-usage-cell strong{
    color:var(--tpp-ink);
    font-size:13px;
}
.tpp-email-template-usage-cell small{
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.35;
    margin-top:2px;
}
.tpp-email-template-usage-cell span{
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}


/* v1.5.33 Customer email compliance footer */
.tpp-email-compliance-footer {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.tpp-email-footer-preview {
    margin: 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}


/* v1.5.34 Email campaign readiness checklist */
.tpp-email-readiness-panel{
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border:1px solid rgba(37,99,235,.14);
}
.tpp-email-readiness-panel .tpp-panel-header.compact{
    align-items:flex-start;
}
.tpp-email-readiness-score{
    display:inline-grid;
    place-items:center;
    min-width:62px;
    height:42px;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    border:1px solid #bfdbfe;
    font-weight:900;
}
.tpp-email-readiness-meter{
    margin-top:10px;
}
.tpp-email-readiness-list .tpp-checklist-item{
    grid-template-columns:auto minmax(0,1fr);
}
.tpp-email-readiness-list .tpp-checklist-item.is-pending{
    background:#fff7ed;
    border-color:#fed7aa;
}
.tpp-email-readiness-list .tpp-checklist-item.is-pending .tpp-checkmark{
    background:#f97316;
}
@media (max-width:700px){
    .tpp-email-readiness-panel .tpp-panel-header.compact{display:grid;gap:10px;}
    .tpp-email-readiness-score{justify-self:start;}
}

/* v1.5.35 - keep Email Campaign CSV download aligned inside compact panel headers. */
.tpp-inline-download-form{margin:0;display:flex;align-items:center;justify-content:flex-end;}

/* v1.5.38 Email campaign unique audience health */
.tpp-email-audience-health{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:0 0 12px;
}
.tpp-email-audience-health div{
    border:1px solid rgba(15,23,42,.08);
    border-radius:12px;
    background:#f8fafc;
    padding:8px;
    display:grid;
    gap:2px;
    min-width:0;
}
.tpp-email-audience-health span{
    color:var(--tpp-muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.tpp-email-audience-health strong{
    color:var(--tpp-ink);
    font-size:16px;
    line-height:1;
}
@media (max-width:520px){
    .tpp-email-audience-health{grid-template-columns:1fr;}
}

/* v1.5.39 Email campaign send estimate panel */
.tpp-campaign-send-estimate{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    border:1px solid rgba(37,99,235,.18);
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border-radius:16px;
    padding:12px;
    margin:10px 0;
}
.tpp-campaign-send-estimate div{
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#fff;
    padding:10px 12px;
}
.tpp-campaign-send-estimate span{
    display:block;
    color:var(--tpp-muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-campaign-send-estimate strong{
    display:block;
    color:var(--tpp-ink);
    font-size:22px;
    line-height:1.1;
    margin-top:3px;
}
.tpp-campaign-send-estimate p{
    grid-column:1/-1;
    margin:0;
    color:var(--tpp-muted);
    font-size:13px;
    line-height:1.45;
}
@media (max-width:700px){
    .tpp-campaign-send-estimate{grid-template-columns:1fr;}
}

/* v1.5.40 Email campaign selected-template preview */
.tpp-campaign-template-preview{
    border:1px solid rgba(15,23,42,.10);
    background:#fff;
    border-radius:14px;
    padding:10px 12px;
    margin:0 0 10px;
    box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.tpp-campaign-template-preview span{
    display:block;
    color:var(--tpp-muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:3px;
}
.tpp-campaign-template-preview strong{
    display:block;
    color:var(--tpp-ink);
    font-size:15px;
}
.tpp-campaign-template-preview small{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:3px;
}
.tpp-campaign-template-preview.has-template{
    border-color:rgba(37,99,235,.22);
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.tpp-email-audience-export-form {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.72);
}
.tpp-email-audience-export-form .tpp-help-text {
    grid-column: 1 / -1;
    margin: 0;
}



/* v1.5.42 Email template placeholder quick insert */
.tpp-placeholder-helper{
    border:1px solid rgba(37,99,235,.16);
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
}
.tpp-placeholder-helper-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:12px;
    align-items:end;
    margin-bottom:10px;
}
.tpp-placeholder-helper-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-placeholder-helper-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-placeholder-helper-head label{
    margin:0;
}
.tpp-placeholder-chip-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.tpp-placeholder-chip{
    border:1px solid rgba(37,99,235,.22);
    background:#eff6ff;
    color:#1d4ed8;
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}
.tpp-placeholder-chip:hover,
.tpp-placeholder-chip.is-used{
    background:#1d4ed8;
    color:#fff;
}
@media (max-width:700px){
    .tpp-placeholder-helper-head{grid-template-columns:1fr;}
}

/* v1.5.43 Email template placeholder checker */
.tpp-placeholder-checker{
    border:1px solid rgba(15,23,42,.10);
    background:#fff;
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.tpp-placeholder-checker.is-clean{
    border-color:rgba(22,163,74,.24);
    background:linear-gradient(180deg,#ffffff 0%,#f7fdf9 100%);
}
.tpp-placeholder-checker.has-warning{
    border-color:rgba(245,158,11,.35);
    background:linear-gradient(180deg,#ffffff 0%,#fffaf0 100%);
}
.tpp-placeholder-checker-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:10px;
}
.tpp-placeholder-checker-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-placeholder-checker-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-placeholder-checker-status{
    flex:0 0 auto;
    border-radius:999px;
    padding:6px 9px;
    background:#dcfce7;
    color:#166534 !important;
    font-size:11px !important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-placeholder-checker.has-warning .tpp-placeholder-checker-status{
    background:#fef3c7;
    color:#92400e !important;
}
.tpp-placeholder-checker-body{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.tpp-placeholder-checker-body small{
    display:block;
    color:var(--tpp-muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:6px;
}
.tpp-placeholder-pill-row{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-height:28px;
    align-items:center;
}
.tpp-placeholder-pill{
    border-radius:999px;
    padding:5px 8px;
    background:#eef2ff;
    color:#3730a3;
    font-size:11px;
    font-weight:900;
}
.tpp-placeholder-pill.is-warning{
    background:#fef3c7;
    color:#92400e;
}
.tpp-placeholder-muted{
    color:var(--tpp-muted);
    font-size:12px;
}
@media (max-width:700px){
    .tpp-placeholder-checker-head{display:block;}
    .tpp-placeholder-checker-status{display:inline-block;margin-top:8px;}
    .tpp-placeholder-checker-body{grid-template-columns:1fr;}
}


/* v1.5.44 Email template subject line quality check */
.tpp-subject-quality-checker{
    border:1px solid rgba(15,23,42,.10);
    background:#fff;
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.tpp-subject-quality-checker.is-good{
    border-color:rgba(22,163,74,.24);
    background:linear-gradient(180deg,#ffffff 0%,#f7fdf9 100%);
}
.tpp-subject-quality-checker.has-tips{
    border-color:rgba(37,99,235,.24);
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
}
.tpp-subject-quality-checker.has-warning{
    border-color:rgba(245,158,11,.35);
    background:linear-gradient(180deg,#ffffff 0%,#fffaf0 100%);
}
.tpp-subject-quality-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:10px;
}
.tpp-subject-quality-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-subject-quality-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-subject-quality-status{
    flex:0 0 auto;
    border-radius:999px;
    padding:6px 9px;
    background:#dcfce7;
    color:#166534 !important;
    font-size:11px !important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-subject-quality-checker.has-tips .tpp-subject-quality-status{
    background:#dbeafe;
    color:#1d4ed8 !important;
}
.tpp-subject-quality-checker.has-warning .tpp-subject-quality-status{
    background:#fef3c7;
    color:#92400e !important;
}
.tpp-subject-quality-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:10px;
}
.tpp-subject-quality-grid div{
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.75);
    border-radius:12px;
    padding:9px 10px;
}
.tpp-subject-quality-grid small{
    display:block;
    color:var(--tpp-muted);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
}
.tpp-subject-quality-grid strong{
    color:var(--tpp-ink);
    font-size:18px;
}
.tpp-subject-quality-list{
    margin:0;
    padding-left:18px;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.5;
}
@media (max-width:700px){
    .tpp-subject-quality-head{display:block;}
    .tpp-subject-quality-status{display:inline-block;margin-top:8px;}
    .tpp-subject-quality-grid{grid-template-columns:1fr;}
}


/* v1.5.45 Email template body quality check */
.tpp-body-quality-checker{
    border:1px solid rgba(15,23,42,.10);
    background:#fff;
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.tpp-body-quality-checker.is-good{
    border-color:rgba(22,163,74,.24);
    background:linear-gradient(180deg,#ffffff 0%,#f7fdf9 100%);
}
.tpp-body-quality-checker.has-tips{
    border-color:rgba(37,99,235,.24);
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
}
.tpp-body-quality-checker.has-warning{
    border-color:rgba(245,158,11,.35);
    background:linear-gradient(180deg,#ffffff 0%,#fffaf0 100%);
}
.tpp-body-quality-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:10px;
}
.tpp-body-quality-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-body-quality-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-body-quality-status{
    flex:0 0 auto;
    border-radius:999px;
    padding:6px 9px;
    background:#dbeafe;
    color:#1d4ed8 !important;
    font-size:11px !important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-body-quality-checker.is-good .tpp-body-quality-status{
    background:#dcfce7;
    color:#166534 !important;
}
.tpp-body-quality-checker.has-warning .tpp-body-quality-status{
    background:#fef3c7;
    color:#92400e !important;
}
.tpp-body-quality-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:10px;
}
.tpp-body-quality-grid div{
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.75);
    border-radius:12px;
    padding:9px 10px;
}
.tpp-body-quality-grid small{
    display:block;
    color:var(--tpp-muted);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
}
.tpp-body-quality-grid strong{
    color:var(--tpp-ink);
    font-size:18px;
}
.tpp-body-quality-list{
    margin:0;
    padding-left:18px;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.5;
}
@media (max-width:700px){
    .tpp-body-quality-head{display:block;}
    .tpp-body-quality-status{display:inline-block;margin-top:8px;}
    .tpp-body-quality-grid{grid-template-columns:1fr;}
}


/* v1.5.46 Email template live editor preview */
.tpp-live-template-preview{
    border:1px solid rgba(37,99,235,.18);
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.tpp-live-template-preview.has-content{
    border-color:rgba(22,163,74,.24);
    background:linear-gradient(180deg,#ffffff 0%,#f7fdf9 100%);
}
.tpp-live-template-preview-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.tpp-live-template-preview-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-live-template-preview-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-live-template-preview-head em{
    flex:0 0 auto;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-style:normal;
    font-size:11px;
    font-weight:900;
    padding:6px 9px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-live-preview-subject{
    margin:0 0 10px;
    color:var(--tpp-ink);
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.tpp-live-preview-subject span{
    color:var(--tpp-muted);
    font-weight:900;
}
.tpp-live-preview-subject strong{
    font-weight:800;
}
.tpp-live-preview-body{
    min-height:82px;
    max-height:260px;
    overflow:auto;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#fff;
    padding:12px;
    color:var(--tpp-muted);
    font-size:13px;
    line-height:1.55;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
@media (max-width:700px){
    .tpp-live-template-preview-head{display:block;}
    .tpp-live-template-preview-head em{display:inline-block;margin-top:8px;}
}


.tpp-template-starter-library{
    border:1px solid #dbe7ff;
    background:#f8fbff;
    border-radius:18px;
    padding:16px;
    margin:14px 0 18px;
}
.tpp-template-starter-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.tpp-template-starter-head strong{
    display:block;
    color:#111827;
    font-size:15px;
}
.tpp-template-starter-head span{
    display:block;
    color:#64748b;
    font-size:13px;
    margin-top:3px;
}
.tpp-template-starter-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.tpp-template-starter-card{
    text-align:left;
    border:1px solid #e2e8f0;
    background:#fff;
    border-radius:14px;
    padding:12px 13px;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.tpp-template-starter-card:hover,
.tpp-template-starter-card.is-loaded{
    transform:translateY(-1px);
    border-color:#2563eb;
    box-shadow:0 12px 24px rgba(37,99,235,.12);
}
.tpp-template-starter-card span{
    display:block;
    color:#2563eb;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:800;
}
.tpp-template-starter-card strong{
    display:block;
    color:#0f172a;
    font-size:14px;
    margin-top:5px;
}
.tpp-template-starter-card small{
    display:block;
    color:#64748b;
    font-size:12px;
    margin-top:5px;
}
@media (max-width: 720px){
    .tpp-template-starter-grid{grid-template-columns:1fr;}
}


/* v1.5.48 Email template copy control */
.tpp-template-copy-control{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid rgba(37,99,235,.16);
    background:#f8fbff;
    border-radius:16px;
    padding:13px 14px;
    margin:-4px 0 10px;
}
.tpp-template-copy-control strong{
    display:block;
    color:#0f172a;
    font-size:14px;
}
.tpp-template-copy-control span{
    display:block;
    color:#64748b;
    font-size:12px;
    line-height:1.45;
    margin-top:3px;
}
.tpp-template-copy-control button{
    flex:0 0 auto;
    white-space:nowrap;
}
.tpp-template-copy-control button[disabled]{
    opacity:.55;
    cursor:not-allowed;
}
.tpp-template-copy-control button.is-copied{
    border-color:#16a34a;
    color:#166534;
    background:#f0fdf4;
}
@media (max-width:720px){
    .tpp-template-copy-control{align-items:flex-start;flex-direction:column;}
    .tpp-template-copy-control button{width:100%;}
}



/* v1.5.50 Email template editor reset control */
.tpp-template-editor-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex:0 0 auto;
}
.tpp-template-editor-actions .tpp-secondary-button{
    white-space:nowrap;
}
.tpp-template-editor-actions button.is-cleared{
    border-color:#0ea5e9;
    color:#0369a1;
    background:#eff6ff;
}
@media (max-width:720px){
    .tpp-template-editor-actions{width:100%;justify-content:stretch;}
    .tpp-template-editor-actions .tpp-secondary-button{width:100%;}
}

/* v1.5.49 Email template list search and filters */
.tpp-email-template-list-panel{
    margin-top:18px;
}
.tpp-template-list-controls{
    display:grid;
    grid-template-columns:minmax(220px,1.3fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;
    gap:12px;
    align-items:end;
    margin:12px 0 14px;
}
.tpp-template-list-controls label span{
    display:block;
    font-size:12px;
    font-weight:800;
    color:#475569;
    margin-bottom:6px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-template-list-controls input,
.tpp-template-list-controls select{
    width:100%;
}
.tpp-template-list-count{
    align-self:end;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    color:#475569;
    border-radius:12px;
    padding:11px 13px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}
.tpp-template-list-count span{
    color:#0f172a;
    font-size:15px;
}
@media (max-width:900px){
    .tpp-template-list-controls{
        grid-template-columns:1fr 1fr;
    }
    .tpp-template-list-count{
        align-self:stretch;
    }
}
@media (max-width:640px){
    .tpp-template-list-controls{
        grid-template-columns:1fr;
    }
}

/* v1.5.51 Email template save readiness summary */
.tpp-template-save-readiness{
    border:1px solid rgba(245,158,11,.28);
    background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
    border-radius:16px;
    padding:12px;
    margin:0 0 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.tpp-template-save-readiness.is-ready{
    border-color:rgba(22,163,74,.26);
    background:linear-gradient(180deg,#fff 0%,#f4fdf7 100%);
}
.tpp-template-save-readiness.has-review{
    border-color:rgba(37,99,235,.22);
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.tpp-template-save-readiness-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.tpp-template-save-readiness-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-template-save-readiness-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-template-save-readiness-head em{
    flex:0 0 auto;
    border-radius:999px;
    background:#fff7ed;
    color:#9a3412;
    font-style:normal;
    font-size:11px;
    font-weight:900;
    padding:6px 9px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-template-save-readiness.is-ready .tpp-template-save-readiness-head em{
    background:#dcfce7;
    color:#166534;
}
.tpp-template-save-readiness.has-review .tpp-template-save-readiness-head em{
    background:#eff6ff;
    color:#1d4ed8;
}
.tpp-template-readiness-meter{
    height:8px;
    border-radius:999px;
    background:#e5e7eb;
    overflow:hidden;
    margin-bottom:10px;
}
.tpp-template-readiness-meter span{
    display:block;
    height:100%;
    border-radius:999px;
    background:#2563eb;
    transition:width .18s ease;
}
.tpp-template-save-readiness.is-ready .tpp-template-readiness-meter span{background:#16a34a;}
.tpp-template-save-readiness.has-warning .tpp-template-readiness-meter span{background:#f59e0b;}
.tpp-template-readiness-score{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    border-radius:12px;
    padding:9px 10px;
    margin-bottom:10px;
}
.tpp-template-readiness-score span{
    color:var(--tpp-muted);
    font-size:12px;
    font-weight:800;
}
.tpp-template-readiness-score strong{
    color:var(--tpp-ink);
    font-size:18px;
}
.tpp-template-readiness-list{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:8px;
}
.tpp-template-readiness-list li{
    display:grid;
    gap:2px;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    border-radius:12px;
    padding:9px 10px 9px 32px;
    position:relative;
}
.tpp-template-readiness-list li:before{
    content:'•';
    position:absolute;
    left:12px;
    top:8px;
    color:#f59e0b;
    font-weight:900;
}
.tpp-template-readiness-list li.is-ready:before{
    content:'✓';
    color:#16a34a;
}
.tpp-template-readiness-list strong{
    color:var(--tpp-ink);
    font-size:12px;
}
.tpp-template-readiness-list span{
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.35;
}
@media (max-width:700px){
    .tpp-template-save-readiness-head{display:block;}
    .tpp-template-save-readiness-head em{display:inline-block;margin-top:8px;}
}

/* v1.5.52 Email campaign send readiness checklist */
.tpp-campaign-send-readiness{
    border:1px solid rgba(245,158,11,.28);
    background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
    border-radius:16px;
    padding:12px 14px;
    margin:10px 0;
    box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.tpp-campaign-send-readiness.is-ready{
    border-color:rgba(22,163,74,.26);
    background:linear-gradient(180deg,#fff 0%,#f4fdf7 100%);
}
.tpp-campaign-send-readiness.has-review{
    border-color:rgba(37,99,235,.22);
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.tpp-campaign-send-readiness-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.tpp-campaign-send-readiness-head strong{
    display:block;
    color:var(--tpp-ink);
    font-size:14px;
}
.tpp-campaign-send-readiness-head span{
    display:block;
    color:var(--tpp-muted);
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-campaign-send-readiness-head em{
    flex:0 0 auto;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-style:normal;
    font-size:11px;
    font-weight:900;
    padding:6px 9px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-campaign-send-readiness.is-ready .tpp-campaign-send-readiness-head em{
    background:#dcfce7;
    color:#166534;
}
.tpp-campaign-send-readiness.has-warning .tpp-campaign-send-readiness-head em{
    background:#fff7ed;
    color:#9a3412;
}
.tpp-campaign-send-readiness-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    list-style:none;
    padding:0;
    margin:0;
}
.tpp-campaign-send-readiness-list li{
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    border-radius:12px;
    padding:9px 10px;
}
.tpp-campaign-send-readiness-list li.is-ready{
    border-color:rgba(22,163,74,.22);
    background:#f6fef9;
}
.tpp-campaign-send-readiness-list li.needs-review{
    border-color:rgba(245,158,11,.22);
    background:#fffaf0;
}
.tpp-campaign-send-readiness-list strong{
    display:block;
    color:var(--tpp-ink);
    font-size:12px;
}
.tpp-campaign-send-readiness-list span{
    display:block;
    color:var(--tpp-muted);
    font-size:11px;
    line-height:1.35;
    margin-top:2px;
}
@media (max-width:700px){
    .tpp-campaign-send-readiness-head{display:block;}
    .tpp-campaign-send-readiness-head em{display:inline-block;margin-top:8px;}
    .tpp-campaign-send-readiness-list{grid-template-columns:1fr;}
}

/* v1.5.53 Email campaign send button lock */
.tpp-campaign-send-lock{
    border:1px solid rgba(245,158,11,.24);
    background:#fffaf0;
    color:#9a3412;
    border-radius:14px;
    padding:10px 12px;
    margin:10px 0;
}
.tpp-campaign-send-lock strong{
    display:block;
    font-size:13px;
    font-weight:900;
}
.tpp-campaign-send-lock span{
    display:block;
    font-size:12px;
    line-height:1.4;
    margin-top:2px;
}
.tpp-campaign-send-lock.is-ready{
    border-color:rgba(22,163,74,.24);
    background:#f0fdf4;
    color:#166534;
}
.tpp-primary-button.is-locked,
.tpp-primary-button:disabled{
    opacity:.62;
    cursor:not-allowed;
    box-shadow:none;
}
.tpp-primary-button.is-ready{
    opacity:1;
}


/* v1.5.54 Email campaign history detail review */
.tpp-campaign-history-review-table td{
    vertical-align:top;
}
.tpp-campaign-delivery-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    background:#ecfdf5;
    color:#047857;
    border:1px solid #bbf7d0;
}
.tpp-campaign-delivery-pill.has-warning{
    background:#fff7ed;
    color:#c2410c;
    border-color:#fed7aa;
}
.tpp-campaign-history-details{
    min-width:170px;
}
.tpp-campaign-history-details summary{
    cursor:pointer;
    font-weight:800;
    color:#2563eb;
}
.tpp-campaign-history-details div{
    margin-top:8px;
    padding:10px;
    border-radius:12px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    max-width:360px;
}
.tpp-campaign-history-details p{
    margin:0 0 7px;
    font-size:12px;
    line-height:1.45;
    color:#475569;
}
.tpp-campaign-history-details p:last-child{
    margin-bottom:0;
}
@media (max-width: 900px){
    .tpp-campaign-history-details div{max-width:260px;}
}


/* v1.5.55 Email campaign history filters */
.tpp-campaign-history-filter-panel{
    display:grid;
    grid-template-columns:minmax(220px,1.25fr) minmax(150px,.65fr) minmax(160px,.65fr) auto auto;
    gap:12px;
    align-items:end;
    margin:12px 0 14px;
}
.tpp-campaign-history-filter-panel label span{
    display:block;
    font-size:12px;
    font-weight:800;
    color:#475569;
    margin-bottom:6px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tpp-campaign-history-filter-panel input,
.tpp-campaign-history-filter-panel select{
    width:100%;
}
.tpp-campaign-history-count{
    align-self:end;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    color:#475569;
    border-radius:12px;
    padding:11px 13px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}
.tpp-campaign-history-count span{
    color:#0f172a;
    font-size:15px;
}
.tpp-campaign-history-reset{
    align-self:end;
    white-space:nowrap;
    min-height:44px;
}
@media (max-width:900px){
    .tpp-campaign-history-filter-panel{
        grid-template-columns:1fr 1fr;
    }
    .tpp-campaign-history-count,
    .tpp-campaign-history-reset{
        align-self:stretch;
    }
}
@media (max-width:640px){
    .tpp-campaign-history-filter-panel{
        grid-template-columns:1fr;
    }
}

/* v1.5.57 Email campaign history filtered summary */
.tpp-campaign-history-filter-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 14px;
}
.tpp-campaign-history-filter-summary div{
    border:1px solid #e2e8f0;
    background:#ffffff;
    border-radius:14px;
    padding:12px 14px;
    box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.tpp-campaign-history-filter-summary span{
    display:block;
    font-size:11px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:5px;
}
.tpp-campaign-history-filter-summary strong{
    display:block;
    font-size:21px;
    line-height:1.1;
    color:#0f172a;
}
@media (max-width:900px){
    .tpp-campaign-history-filter-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:560px){
    .tpp-campaign-history-filter-summary{
        grid-template-columns:1fr;
    }
}


/* v1.5.61 Dashboard summary layout guard
   Keeps the confirmed Flowto 1.0.9 + Elementor Full Width shell, but prevents the sixth dashboard summary card from wrapping into a second row on desktop. */
@media (min-width: 1221px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: stretch !important;
        margin-bottom: 20px !important;
    }
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card {
        min-height: 118px !important;
        padding: 14px 10px !important;
        overflow: hidden !important;
    }
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card span,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card span {
        font-size: 12px !important;
        line-height: 1.2 !important;
        overflow-wrap: anywhere !important;
    }
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card strong,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card strong {
        font-size: clamp(18px, 1.6vw, 23px) !important;
        line-height: 1.05 !important;
        margin: 8px 0 6px !important;
        overflow-wrap: anywhere !important;
    }
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card small,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card small {
        font-size: 11px !important;
        line-height: 1.28 !important;
        overflow-wrap: anywhere !important;
    }
}
@media (min-width: 1081px) and (max-width: 1220px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}


/* v1.5.72 Service form dropdown click target usability fix
   Keeps native browser selects but makes the full visible field easier to click/tap. */
.tpp-app-shell .tpp-form select,
.tpp-app-shell .tpp-provider-field select,
.tpp-app-shell .tpp-service-detail-wrap select {
    display: block;
    width: 100%;
    min-height: 56px;
    box-sizing: border-box;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    z-index: 2;
    line-height: 1.35;
    padding: 13px 44px 13px 16px;
    appearance: auto;
    -webkit-appearance: menulist;
    touch-action: manipulation;
}
.tpp-app-shell .tpp-form label:has(select) {
    cursor: pointer;
}
.tpp-app-shell .tpp-form select:disabled {
    cursor: not-allowed;
}

/* v1.5.78 Legacy dropdown duplicate removal
   Remove the failed custom dropdown layer everywhere inside the CRM shell.
   Transaction fields must render as one native browser select only. */
.tpp-app-shell .tpp-select-control,
.tpp-app-shell .tpp-select-button,
.tpp-app-shell .tpp-select-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
.tpp-app-shell [data-tpp-transaction-form="1"] select,
.tpp-app-shell [data-tpp-transaction-form="1"] select.tpp-native-select-hidden,
.tpp-app-shell [data-tpp-transaction-form="1"] select[data-tpp-enhanced-select-ready="1"],
.tpp-app-shell [data-tpp-transaction-form="1"] .tpp-provider-field select,
.tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-detail-wrap select {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    padding: 13px 44px 13px 16px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    touch-action: manipulation !important;
}
.tpp-app-shell [data-tpp-transaction-form="1"] label:has(select) > select + .tpp-select-control,
.tpp-app-shell [data-tpp-transaction-form="1"] label:has(select) > select + .tpp-select-button,
.tpp-app-shell [data-tpp-transaction-form="1"] label:has(select) > select + .tpp-select-menu {
    display: none !important;
}
.tpp-app-shell [data-tpp-transaction-form="1"] select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
    outline: none !important;
}

/* v1.5.79 Source-level native select duplicate guard
   Transaction select labels are now protected at the markup source. If an older cached
   custom dropdown script inserts any extra display control under a real select, hide it. */
.tpp-app-shell [data-tpp-transaction-form="1"] label.tpp-native-select-field > select ~ * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.tpp-app-shell [data-tpp-transaction-form="1"] label.tpp-native-select-field > select {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    min-height: 56px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 5 !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}

/* v1.5.82 compact desktop transaction arrangement
   Reduces scrolling on service transaction screens without changing calculations,
   dropdown behavior, database structure, or saved transaction data. */
@media (min-width: 1280px) {
    .tpp-app-shell .tpp-transaction-layout {
        grid-template-columns: minmax(720px, 1.25fr) minmax(390px, .75fr);
        gap: 22px;
        align-items: start;
    }

    .tpp-app-shell .tpp-transaction-card,
    .tpp-app-shell .tpp-transaction-recent-card {
        min-width: 0;
    }

    .tpp-app-shell .tpp-transaction-recent-card {
        position: sticky;
        top: 18px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] {
        gap: 12px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] label {
        gap: 5px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] input,
    .tpp-app-shell [data-tpp-transaction-form="1"] select,
    .tpp-app-shell [data-tpp-transaction-form="1"] textarea {
        min-height: 48px;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 14px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] select,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-provider-field select,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-detail-wrap select,
    .tpp-app-shell [data-tpp-transaction-form="1"] label.tpp-native-select-field > select {
        min-height: 48px !important;
        padding: 10px 38px 10px 14px !important;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] > .tpp-form-grid.two,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-fields.is-active .tpp-form-grid.two,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-money-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        align-items: start;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-detail-wrap {
        margin: 8px 0 4px;
        padding: 14px;
        border-radius: 16px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-detail-heading {
        margin-bottom: 10px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-service-detail-heading h3 {
        font-size: 19px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-money-grid {
        margin-top: 6px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-help-text,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-form-note,
    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-receipt-preview-note {
        padding: 10px 12px;
        font-size: 12px;
        line-height: 1.35;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-fee-apply {
        margin-top: 6px;
        padding: 9px 10px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-fee-rule-hint {
        margin-top: 4px;
        font-size: 12px;
        line-height: 1.25;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-payment-breakdown {
        padding: 12px 14px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-payment-breakdown:not([open]) {
        padding-bottom: 12px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-payment-breakdown summary {
        margin-bottom: 0;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-payment-breakdown[open] summary {
        margin-bottom: 10px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-form-grid.five {
        grid-template-columns: repeat(5, minmax(80px, 1fr));
        gap: 10px;
    }

    .tpp-app-shell [data-tpp-transaction-form="1"] .tpp-primary-button {
        min-height: 52px;
    }
}

@media (min-width: 1280px) and (max-width: 1500px) {
    .tpp-app-shell .tpp-transaction-layout {
        grid-template-columns: minmax(650px, 1.15fr) minmax(360px, .85fr);
    }
}

/* v1.5.83 compact desktop header and transaction panel balance
   Arranges the CRM header into a tighter desktop row and keeps the Recent Activity card visible
   without changing transaction calculations, dropdown behavior, database structure, or email sending. */
@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-main {
        padding-top: 22px;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        display: grid !important;
        grid-template-columns: minmax(210px, 1fr) minmax(300px, 360px) auto !important;
        align-items: center !important;
        gap: 12px 14px !important;
        margin-bottom: 16px !important;
        min-height: 0 !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar > div:first-child,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar > div:first-child {
        min-width: 0 !important;
        flex: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: clamp(30px, 2.7vw, 40px);
        line-height: 1.03;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-eyebrow {
        margin-bottom: 3px;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search input {
        min-height: 52px !important;
        padding: 12px 118px 12px 18px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search button {
        min-height: 44px;
        padding: 0 18px;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        margin-left: 0 !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        min-width: max-content;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
    .tpp-app-shell[data-tpp-app="1"] .tpp-primary-button {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link {
        padding-left: 12px;
        padding-right: 12px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-primary-button {
        padding-left: 14px;
        padding-right: 14px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-layout {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 320px) !important;
        gap: 18px !important;
        align-items: start;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-recent-card {
        width: 100%;
        max-width: 320px;
        overflow: hidden;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-recent-card .tpp-table-wrap {
        max-width: 100%;
        overflow-x: auto;
    }
}

@media (min-width: 1501px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-layout {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 380px) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-recent-card {
        max-width: 380px;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(260px, 1fr) minmax(360px, 460px) auto !important;
    }
}

@media (min-width: 1280px) and (max-width: 1380px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(200px, 1fr) minmax(260px, 320px) auto !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: clamp(28px, 2.4vw, 34px);
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
    .tpp-app-shell[data-tpp-app="1"] .tpp-primary-button {
        font-size: 13px;
        padding-left: 10px;
        padding-right: 10px;
    }
}


/* v1.5.84 dedicated Activity page and solo service-entry screens
   Moves recent transaction review out of service screens so the recording form has room to breathe.
   Does not change transaction calculations, dropdown behavior, database structure, or saved data. */
.tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-only {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card {
    width: min(100%, 1080px);
    max-width: 1080px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-activity-page .tpp-panel {
    width: 100%;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] > .tpp-form-grid.two,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-service-fields.is-active .tpp-form-grid.two,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-money-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-service-detail-wrap {
        max-width: 100%;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-activity-page .tpp-table-wrap {
        max-width: 100%;
        overflow-x: auto;
    }
}


/* v1.5.85 classic compact CRM header
   Replaces the oversized desktop header with a tighter work-app toolbar.
   Keeps the v1.5.84 Activity page layout and v1.5.79 native dropdown fix untouched. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-main {
        padding-top: 16px !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        display: grid !important;
        grid-template-columns: minmax(210px, 280px) minmax(280px, 420px) auto !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 52px !important;
        margin-bottom: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar > div:first-child {
        min-width: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar .tpp-eyebrow {
        font-size: 9px !important;
        line-height: 1 !important;
        letter-spacing: .045em !important;
        margin: 0 0 2px !important;
        text-transform: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: clamp(22px, 2vw, 28px) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.025em !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        width: 100% !important;
        max-width: 420px !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search input[type="search"] {
        min-height: 42px !important;
        height: 42px !important;
        padding: 9px 92px 9px 16px !important;
        border-radius: 999px !important;
        font-size: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search button {
        min-height: 34px !important;
        height: 34px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        margin-left: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        min-height: 38px !important;
        height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        box-shadow: none !important;
        white-space: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        padding-left: 14px !important;
        padding-right: 14px !important;
        box-shadow: 0 8px 18px rgba(37, 99, 235, .16) !important;
    }
}

@media (min-width: 1500px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(240px, 320px) minmax(320px, 480px) auto !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        max-width: 480px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1260px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(170px, 220px) minmax(220px, 1fr) auto !important;
        gap: 8px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: 21px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search input[type="search"] {
        padding-right: 82px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        font-size: 12px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}

/* v1.5.86 compact header spacing correction
   Adds breathing room near the sidebar/right edge, improves the CRM label size,
   and shifts the search field slightly left without changing app behavior. */
@media (min-width: 1024px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(235px, 255px) minmax(300px, 400px) auto !important;
        gap: 10px 12px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar .tpp-eyebrow {
        font-size: 11px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
        letter-spacing: .015em !important;
        color: #475569 !important;
        margin-bottom: 4px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: clamp(24px, 2.15vw, 30px) !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        max-width: 400px !important;
        justify-self: start !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        padding-right: 0 !important;
    }
}

@media (min-width: 1500px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(260px, 300px) minmax(340px, 440px) auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        max-width: 440px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1260px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(205px, 230px) minmax(250px, 1fr) auto !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar .tpp-eyebrow {
        font-size: 10.5px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        font-size: 23px !important;
    }
}


/* v1.5.87 lower transaction-form compact polish
   Tightens the lower payment/totals/action area on desktop service screens.
   This is presentation-only and does not change calculations, saved data, dropdowns, or payment logic. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-money-grid {
        gap: 12px 14px !important;
        align-items: start !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(132px, 170px) !important;
        gap: 5px 10px !important;
        align-items: end !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > span,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-rule-hint {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > input.tpp-fee {
        grid-column: 1 / 2 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-apply {
        grid-column: 2 / 3 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        white-space: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-fee-rule-hint,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] .tpp-help-text {
        font-size: 11.5px !important;
        line-height: 1.3 !important;
        margin-top: 2px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] textarea {
        min-height: 48px !important;
        resize: vertical !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] > .tpp-receipt-preview-note,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] > .tpp-form-note {
        padding: 9px 12px !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card [data-tpp-transaction-form="1"] > .tpp-primary-button {
        align-self: flex-end !important;
        width: min(100%, 360px) !important;
        min-height: 46px !important;
        height: 46px !important;
        border-radius: 12px !important;
        margin-top: 2px !important;
    }
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-entry-card {
        max-width: 1120px !important;
    }
}


/* v1.5.88 compact desktop sidebar navigation polish
   Reduces sidebar height pressure so more modules stay visible during counter work.
   Presentation-only: does not change access rules, module routing, transaction logic, or saved data. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar {
        padding: 18px 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-brand {
        gap: 10px !important;
        padding: 6px 8px 14px !important;
        margin-bottom: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-brand-logo,
    .tpp-app-shell[data-tpp-app="1"] .tpp-brand-mark {
        width: 42px !important;
        height: 42px !important;
        border-radius: 13px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-brand strong {
        font-size: 16px !important;
        line-height: 1.05 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-brand span {
        font-size: 11.5px !important;
        margin-top: 2px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav.tpp-nav-grouped {
        gap: 6px !important;
        padding-right: 3px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group {
        border-radius: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary {
        padding: 9px 10px !important;
        font-size: 11.5px !important;
        letter-spacing: .055em !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary::after {
        width: 20px !important;
        height: 20px !important;
        font-size: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary small {
        min-width: 22px !important;
        height: 20px !important;
        padding: 0 7px !important;
        font-size: 10.5px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items {
        gap: 2px !important;
        padding: 0 6px 7px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items a,
    .tpp-app-shell[data-tpp-app="1"] .tpp-nav a {
        min-height: 36px !important;
        padding: 7px 10px !important;
        border-radius: 10px !important;
        font-size: 13.5px !important;
        line-height: 1.18 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dot {
        width: 7px !important;
        height: 7px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer {
        margin-top: 10px !important;
        padding: 11px 12px !important;
        border-radius: 13px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer span {
        font-size: 13.5px !important;
        margin-bottom: 3px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer small {
        font-size: 11.5px !important;
        line-height: 1.3 !important;
    }
}


/* v1.5.89 sidebar readability size correction
   Enlarges sidebar text after the compact sidebar pass while keeping the CRM navigation compact.
   Presentation-only: does not change module routing, access rules, transaction logic, or saved data. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-brand strong {
        font-size: 18px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.02em !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-brand span {
        font-size: 13px !important;
        line-height: 1.25 !important;
        margin-top: 3px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary {
        font-size: 14px !important;
        line-height: 1.18 !important;
        letter-spacing: 0 !important;
        font-weight: 900 !important;
        padding: 11px 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary small {
        min-width: 26px !important;
        height: 22px !important;
        padding: 0 8px !important;
        font-size: 12px !important;
        line-height: 22px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary::after {
        width: 23px !important;
        height: 23px !important;
        font-size: 16px !important;
        line-height: 23px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items a,
    .tpp-app-shell[data-tpp-app="1"] .tpp-nav a {
        min-height: 39px !important;
        padding: 8px 11px !important;
        font-size: 15px !important;
        line-height: 1.22 !important;
        font-weight: 500 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dot {
        width: 8px !important;
        height: 8px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer span {
        font-size: 16px !important;
        line-height: 1.18 !important;
        margin-bottom: 5px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer small {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
}


/* v1.5.90 dashboard horizontal service-launch polish
   Converts the Dashboard Service Center modules into compact horizontal launch buttons.
   Presentation-only: does not change service routing, dropdowns, transaction logic, saved data, calculations, reports, or access rules. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel {
        padding: 16px 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header {
        align-items: center !important;
        margin-bottom: 12px !important;
        gap: 10px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header h2 {
        font-size: 21px !important;
        line-height: 1.05 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header .tpp-eyebrow {
        margin-bottom: 3px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header > span {
        padding: 7px 11px !important;
        font-size: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile {
        min-height: 68px !important;
        padding: 11px 13px !important;
        border-radius: 14px !important;
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 11px !important;
        row-gap: 0 !important;
        text-align: left !important;
        justify-content: initial !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile:hover {
        transform: translateY(-1px) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 12px !important;
        margin: 0 !important;
        font-size: 14px !important;
        flex: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile strong {
        display: block !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile small {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 6px 9px !important;
        border-radius: 999px !important;
        background: #f1f5f9 !important;
        color: #475569 !important;
        font-size: 11px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 1500px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1024px) and (max-width: 1240px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v1.5.91 dashboard service center rescue polish
   Replaces the broken v1.5.90 horizontal module experiment with a readable compact launch list.
   Presentation-only: preserves service routing, dropdowns, transaction forms, saved data, calculations, reports, access rules, and campaign sending behavior. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
        gap: 16px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column {
        gap: 16px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel {
        padding: 16px 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header {
        align-items: center !important;
        margin-bottom: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)) !important;
        gap: 9px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile {
        min-height: 56px !important;
        height: auto !important;
        padding: 10px 12px !important;
        border-radius: 14px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 11px !important;
        text-align: left !important;
        overflow: hidden !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        border-radius: 12px !important;
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile strong,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile strong {
        display: block !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        font-size: 14.5px !important;
        line-height: 1.18 !important;
        font-weight: 900 !important;
        color: #0f172a !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: manual !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile small,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile small {
        display: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel {
        gap: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel > .tpp-panel {
        padding: 16px !important;
        border-radius: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts h2 {
        grid-column: 1 / -1 !important;
        margin: 0 0 3px !important;
        font-size: 20px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button {
        min-height: 42px !important;
        padding: 9px 10px !important;
        border-radius: 12px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 850 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-alert-row {
        padding: 11px 12px !important;
        border-radius: 13px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-announcement {
        padding: 18px !important;
    }
}

@media (min-width: 1500px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)) !important;
    }
}

@media (min-width: 1024px) and (max-width: 1240px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid {
        grid-template-columns: 1fr !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    }
}

/* v1.5.92 Dashboard Recent Transactions preview cap
   Keeps the dashboard from growing taller as more transaction rows are saved.
   Full transaction history remains available from the dedicated Activity page. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel {
        max-height: 430px !important;
        overflow: hidden !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-panel-header {
        margin-bottom: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table-wrap {
        max-height: 315px !important;
        overflow: auto !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table th,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table td {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}


/* v1.5.93 Dashboard top-summary compact polish
   Presentation-only: tightens the six Dashboard metric cards without changing statistics, database queries, reports, dropdowns, Activity, or transaction behavior. */
@media (min-width: 1221px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
        gap: 9px !important;
        margin-bottom: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card {
        min-height: 96px !important;
        padding: 12px 12px 11px !important;
        border-radius: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card span {
        font-size: 12px !important;
        line-height: 1.15 !important;
        margin: 0 0 5px !important;
        color: #526179 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card strong {
        font-size: clamp(20px, 1.45vw, 24px) !important;
        line-height: 1.02 !important;
        margin: 0 0 5px !important;
        letter-spacing: -0.045em !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card small {
        font-size: 11px !important;
        line-height: 1.22 !important;
        max-height: 2.5em !important;
        overflow: hidden !important;
    }
}


/* v1.5.94 Dashboard quick-search compact polish
   Presentation-only: tightens the Find Customer / Find Recipient cards without changing lookup queries, routing, saved data, service forms, calculations, reports, access rules, or sending behavior. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-grid {
        gap: 14px !important;
        margin-bottom: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card {
        padding: 16px 18px !important;
        border-radius: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card .tpp-panel-header {
        align-items: center !important;
        margin-bottom: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card .tpp-eyebrow {
        margin-bottom: 3px !important;
        font-size: 11px !important;
        line-height: 1.05 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card h2 {
        font-size: 22px !important;
        line-height: 1.08 !important;
        margin: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card .tpp-panel-header > span {
        padding: 8px 12px !important;
        font-size: 11.5px !important;
        line-height: 1 !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-searchbar-dashboard {
        gap: 9px !important;
        margin: 0 !important;
        flex-wrap: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-searchbar-dashboard input[type="search"] {
        min-height: 48px !important;
        padding: 11px 14px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-searchbar-dashboard .tpp-secondary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-searchbar-dashboard .tpp-link-button {
        min-height: 48px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }
}

/* v1.5.95 Transactions entry-only layout
   Keeps the Transactions screen focused on one new transaction record.
   Full active/deleted history remains on Activity / Deleted Transactions pages. */
.tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-only {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card {
    width: min(100%, 1120px);
    max-width: 1120px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-note {
    margin-top: -4px;
    margin-bottom: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-transaction-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] > .tpp-form-grid.two,
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-service-fields.is-active .tpp-form-grid.two,
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-money-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-service-detail-wrap {
        max-width: 100%;
    }
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-money-grid {
        gap: 12px 14px !important;
        align-items: start !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(132px, 170px) !important;
        gap: 5px 10px !important;
        align-items: end !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > span,
    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-rule-hint {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > input.tpp-fee {
        grid-column: 1 / 2 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-apply {
        grid-column: 2 / 3 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        white-space: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] textarea {
        min-height: 48px !important;
        resize: vertical !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-transaction-entry-card [data-tpp-transaction-form="1"] > .tpp-primary-button {
        align-self: flex-end !important;
        width: min(100%, 360px) !important;
        min-height: 46px !important;
        height: 46px !important;
        border-radius: 12px !important;
        margin-top: 2px !important;
    }
}

/* v1.5.96 Customer entry / directory separation
   Keeps Add Customer clean and gives the customer list its own full-width screen. */
.tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-only,
.tpp-app-shell[data-tpp-app="1"] .tpp-customer-directory-page {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-card {
    width: min(100%, 1180px);
    max-width: 1180px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-card .tpp-form-note {
    margin-top: -4px;
    margin-bottom: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-card .tpp-panel-header {
    align-items: flex-start;
    gap: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-customer-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-customer-directory-page .tpp-table-wrap {
    max-height: 520px;
    overflow: auto;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-directory-searchbar {
    margin-bottom: 14px;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-grid .tpp-span-two {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-customer-entry-card .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-customer-form-actions .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-customer-form-actions .tpp-secondary-button {
        min-height: 46px !important;
        border-radius: 12px !important;
        padding: 0 22px !important;
    }
}

/* v1.5.97 Recipient entry / directory separation
   Keeps Add Recipient clean and gives the recipient list its own full-width screen. */
.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-only,
.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-directory-page {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-card {
    width: min(100%, 1180px);
    max-width: 1180px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-card .tpp-form-note {
    margin-top: -4px;
    margin-bottom: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-card .tpp-panel-header {
    align-items: flex-start;
    gap: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-recipient-directory-page .tpp-table-wrap {
    max-height: 520px;
    overflow: auto;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-grid .tpp-span-two {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-recipient-entry-card .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-recipient-form-actions .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-recipient-form-actions .tpp-secondary-button {
        min-height: 46px !important;
        border-radius: 12px !important;
        padding: 0 22px !important;
    }
}


/* v1.5.98 Daily Closing entry-only and Closing History layout */
.tpp-daily-closing-entry-page {
    width: 100%;
}

.tpp-daily-closing-entry-panel {
    max-width: 1120px;
}

.tpp-closing-history-page .tpp-panel {
    max-width: 1180px;
}

@media (min-width: 1100px) {
    .tpp-daily-closing-entry-panel .tpp-panel-header {
        align-items: center;
    }

    .tpp-daily-closing-entry-panel .tpp-closing-manager-note,
    .tpp-daily-closing-entry-panel .tpp-closing-totals-reference {
        margin: 10px 0;
        padding: 12px 14px;
    }

    .tpp-daily-closing-entry-panel .tpp-daily-closing-form > .tpp-form-grid.two {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px 18px;
    }

    .tpp-daily-closing-entry-panel .tpp-daily-closing-form > .tpp-form-grid.two label {
        min-width: 0;
    }

    .tpp-daily-closing-entry-panel .tpp-daily-closing-form > .tpp-form-grid.two label:has(textarea),
    .tpp-daily-closing-entry-panel .tpp-daily-closing-form > .tpp-form-grid.two .tpp-checkbox-label {
        grid-column: span 3;
    }

    .tpp-daily-closing-entry-panel .tpp-checkbox-label {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: auto;
        padding: 10px 12px;
    }

    .tpp-daily-closing-entry-panel .tpp-cash-count-details,
    .tpp-daily-closing-entry-panel .tpp-closing-help-details {
        margin-top: 14px;
    }

    .tpp-daily-closing-entry-panel .tpp-closing-live-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-top: 16px;
    }

    .tpp-daily-closing-entry-panel .tpp-primary-button[type=submit] {
        width: auto;
        min-width: 240px;
        padding-inline: 28px;
        margin-top: 16px;
    }
}

@media (max-width: 1099px) {
    .tpp-daily-closing-entry-panel {
        max-width: none;
    }
}


/* v1.5.99 - My Profile wide quick-links layout */
@media (min-width: 1024px) {
    .tpp-my-profile .tpp-content-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        max-width: 100%;
    }
    .tpp-my-profile .tpp-panel {
        width: 100%;
    }
    .tpp-my-profile .tpp-profile-hero {
        display: flex;
        gap: 18px;
        align-items: center;
        margin-bottom: 18px;
    }
    .tpp-my-profile .tpp-info-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }
    .tpp-my-profile .tpp-profile-actions {
        display: grid;
        grid-template-columns: repeat(4, minmax(150px, 1fr));
        gap: 10px;
        margin-bottom: 12px;
    }
    .tpp-my-profile .tpp-profile-actions a {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 11px 14px;
        line-height: 1.15;
        white-space: normal;
    }
    .tpp-my-profile .tpp-profile-request-form {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 14px;
        margin-top: 14px;
        padding-top: 14px;
    }
    .tpp-my-profile .tpp-profile-request-heading,
    .tpp-my-profile .tpp-profile-request-form label:nth-of-type(3) {
        grid-column: 1 / -1;
    }
    .tpp-my-profile .tpp-profile-request-form textarea {
        min-height: 78px;
    }
    .tpp-my-profile .tpp-profile-request-form button {
        grid-column: 1 / -1;
        justify-self: end;
        min-width: 260px;
    }
}
@media (min-width: 1280px) {
    .tpp-my-profile .tpp-info-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 1023px) {
    .tpp-my-profile .tpp-profile-actions {
        grid-template-columns: 1fr;
    }
}


/* v1.5.100 - Notifications wide My Profile-style layout */
@media (min-width: 1024px) {
    .tpp-notification-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        max-width: 100%;
    }
    .tpp-notification-layout > .tpp-panel,
    .tpp-notification-layout > .tpp-side-panel {
        width: 100%;
        max-width: 100%;
    }
    .tpp-notification-layout .tpp-side-panel {
        display: grid;
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        gap: 16px;
        align-items: stretch;
    }
    .tpp-notification-layout .tpp-notification-metrics,
    .tpp-notification-layout .tpp-shortcuts {
        margin: 0;
        height: 100%;
    }
    .tpp-notification-layout .tpp-notification-metrics h2,
    .tpp-notification-layout .tpp-shortcuts h2 {
        margin-bottom: 12px;
    }
    .tpp-notification-layout .tpp-notification-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        align-content: start;
    }
    .tpp-notification-layout .tpp-notification-metrics .tpp-eyebrow,
    .tpp-notification-layout .tpp-notification-metrics h2 {
        grid-column: 1 / -1;
    }
    .tpp-notification-layout .tpp-mini-metric {
        min-height: 54px;
        padding: 12px 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .tpp-notification-layout .tpp-shortcuts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        align-content: start;
    }
    .tpp-notification-layout .tpp-shortcuts h2 {
        grid-column: 1 / -1;
    }
    .tpp-notification-layout .tpp-shortcuts button {
        min-height: 48px;
        padding: 12px 14px;
        text-align: center;
        justify-content: center;
    }
    .tpp-notification-layout .tpp-alert-list-large {
        display: grid;
        gap: 10px;
    }
    .tpp-notification-layout .tpp-alert-row {
        padding: 14px 16px;
    }
}
@media (min-width: 1280px) {
    .tpp-notification-layout .tpp-side-panel {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}
@media (max-width: 1023px) {
    .tpp-notification-layout .tpp-side-panel {
        display: grid;
        gap: 14px;
    }
}


/* v1.5.101 Cash Register wide My Profile-style layout */
@media (min-width: 1024px) {
    .tpp-cash-register-layout {
        gap: 16px;
    }
    .tpp-cash-register-layout .tpp-report-control {
        padding: 22px 26px;
    }
    .tpp-cash-register-layout .tpp-report-control .tpp-panel-header {
        margin-bottom: 12px;
    }
    .tpp-cash-register-layout .tpp-report-filter {
        display: grid;
        grid-template-columns: minmax(220px, 0.75fr) minmax(190px, 0.55fr) minmax(210px, 0.62fr) minmax(0, 1fr);
        align-items: end;
        gap: 12px;
    }
    .tpp-cash-register-layout .tpp-report-filter label {
        min-width: 0;
        width: 100%;
    }
    .tpp-cash-register-layout .tpp-report-filter button {
        min-height: 44px;
        padding: 11px 16px;
        white-space: nowrap;
    }
    .tpp-cash-register-layout .tpp-report-filter + .tpp-form-note {
        margin-top: 12px;
        padding: 12px 16px;
    }
    .tpp-cash-register-layout .tpp-report-cards {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 12px;
    }
    .tpp-cash-register-layout .tpp-report-card {
        min-height: 96px;
        padding: 14px 15px;
    }
    .tpp-cash-register-layout .tpp-report-card strong {
        margin: 6px 0 5px;
        font-size: 21px;
    }
    .tpp-cash-register-layout .tpp-report-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
    }
    .tpp-cash-register-layout .tpp-report-grid > .tpp-panel {
        width: 100%;
    }
    .tpp-cash-register-layout .tpp-report-grid > .tpp-panel:last-child {
        padding: 20px 24px;
    }
    .tpp-cash-register-layout .tpp-report-grid > .tpp-panel:last-child .tpp-panel-header {
        margin-bottom: 14px;
    }
    .tpp-cash-register-layout .tpp-mini-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .tpp-cash-register-layout .tpp-mini-list > div {
        min-height: 62px;
        padding: 12px 14px;
        border: 1px solid #dbe6f2;
        border-radius: 14px;
        background: #f8fbff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .tpp-cash-register-layout .tpp-mini-list strong,
    .tpp-cash-register-layout .tpp-mini-list span {
        display: block;
        line-height: 1.2;
    }
    .tpp-cash-register-layout .tpp-mini-list span {
        font-weight: 900;
        color: #0f172a;
        white-space: nowrap;
    }
    .tpp-cash-register-layout .tpp-report-grid .tpp-form-note {
        margin: 12px 0 0;
        padding: 12px 16px;
    }
    .tpp-cash-register-layout .tpp-report-grid .tpp-shortcuts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 14px;
    }
    .tpp-cash-register-layout .tpp-report-grid .tpp-shortcuts button {
        min-height: 48px;
        justify-content: center;
        text-align: center;
    }
}
@media (max-width: 1279px) {
    .tpp-cash-register-layout .tpp-report-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .tpp-cash-register-layout .tpp-mini-list,
    .tpp-cash-register-layout .tpp-report-grid .tpp-shortcuts {
        grid-template-columns: 1fr;
    }
}


/* v1.5.102 - Owner Review wide My Profile-style layout */
@media (min-width: 1024px) {
    .tpp-review-center {
        display: grid;
        gap: 16px;
        max-width: 100%;
    }

    .tpp-review-center > .tpp-panel {
        width: 100%;
    }

    .tpp-review-center > .tpp-panel:first-child {
        padding-bottom: 18px;
    }

    .tpp-review-center > .tpp-panel:first-child .tpp-form-note {
        margin: 12px 0 14px;
        padding: 13px 16px;
    }

    .tpp-review-center > .tpp-panel:first-child .tpp-report-cards {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 12px;
        margin: 0;
    }

    .tpp-review-center > .tpp-panel:first-child .tpp-report-card {
        min-height: 104px;
        padding: 14px 15px;
    }

    .tpp-review-center > .tpp-panel:first-child .tpp-report-card strong {
        margin: 7px 0 5px;
        font-size: 24px;
    }

    .tpp-review-center .tpp-module-grid.wide-left.tpp-review-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
    }

    .tpp-review-center .tpp-module-grid.wide-left.tpp-review-grid > .tpp-panel {
        width: 100%;
        max-width: 100%;
    }

    .tpp-review-center .tpp-module-grid.wide-left.tpp-review-grid > .tpp-panel:first-child {
        padding-bottom: 16px;
    }

    .tpp-review-center .tpp-module-grid.wide-left.tpp-review-grid .tpp-table-wrap {
        max-height: 260px;
        overflow: auto;
    }

    .tpp-review-center .tpp-module-grid.wide-left.tpp-review-grid .tpp-secondary-button {
        margin-top: 12px;
        min-width: 190px;
        justify-content: center;
    }

    .tpp-review-center .tpp-side-panel {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
        gap: 16px;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
    }

    .tpp-review-center .tpp-side-panel .tpp-shortcuts,
    .tpp-review-center .tpp-side-panel .tpp-announcement {
        margin: 0;
        height: 100%;
    }

    .tpp-review-center .tpp-side-panel .tpp-shortcuts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        align-content: start;
    }

    .tpp-review-center .tpp-side-panel .tpp-shortcuts h2 {
        grid-column: 1 / -1;
        margin: 0 0 4px;
    }

    .tpp-review-center .tpp-side-panel .tpp-shortcuts button {
        min-height: 48px;
        padding: 12px 14px;
        text-align: center;
        justify-content: center;
        line-height: 1.15;
    }

    .tpp-review-center .tpp-side-panel .tpp-announcement {
        padding: 18px 20px;
    }

    .tpp-review-center .tpp-side-panel .tpp-announcement h2 {
        font-size: 22px;
        margin-bottom: 8px;
    }

    .tpp-review-center .tpp-side-panel .tpp-announcement p:last-child {
        font-size: 15px;
        line-height: 1.45;
    }

    .tpp-review-center > .tpp-module-grid.tpp-review-grid:not(.wide-left) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
    }

    .tpp-review-center > .tpp-module-grid.tpp-review-grid:not(.wide-left) .tpp-panel {
        min-width: 0;
    }

    .tpp-review-center > .tpp-module-grid.tpp-review-grid:not(.wide-left) .tpp-table-wrap {
        max-height: 240px;
        overflow: auto;
    }

    .tpp-review-center .tpp-panel-header {
        gap: 16px;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    .tpp-review-center > .tpp-panel:first-child .tpp-report-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tpp-review-center .tpp-side-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .tpp-review-center .tpp-side-panel .tpp-shortcuts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1023px) {
    .tpp-review-center .tpp-side-panel .tpp-shortcuts {
        display: grid;
        gap: 10px;
    }
}


/* v1.5.103 Email Templates wide My Profile-style layout */
@media (min-width: 1024px){
    .tpp-email-templates-panel{
        display:block;
    }
    .tpp-email-templates-panel .tpp-panel-header,
    .tpp-email-templates-panel > .tpp-alert,
    .tpp-email-templates-panel > .tpp-subpanel,
    .tpp-email-templates-panel > .tpp-kpi-grid,
    .tpp-email-templates-panel > .tpp-two-column{
        max-width:none;
        width:100%;
    }
    .tpp-email-templates-panel .tpp-two-column{
        grid-template-columns:1fr!important;
        gap:16px;
        margin:16px 0;
    }
    .tpp-email-templates-panel .tpp-two-column > .tpp-subpanel{
        width:100%;
    }
    .tpp-email-templates-panel .tpp-subpanel{
        padding:18px 20px;
    }
    .tpp-email-templates-panel .tpp-form-grid.two{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
    }
    .tpp-email-templates-panel .tpp-email-template-editor > label,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-form-grid,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-template-copy-control,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-template-starter-library,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-placeholder-helper,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-placeholder-checker,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-subject-quality-checker,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-body-quality-checker,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-live-template-preview,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-template-save-readiness,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-help-text,
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-primary-button{
        max-width:none;
        width:100%;
    }
    .tpp-email-templates-panel .tpp-email-template-editor > label.tpp-span-two{
        grid-column:auto;
    }
    .tpp-email-templates-panel .tpp-email-template-editor textarea{
        min-height:168px;
        resize:vertical;
    }
    .tpp-email-templates-panel .tpp-template-copy-control{
        display:grid;
        grid-template-columns:minmax(260px,1fr) auto;
        align-items:center;
        gap:16px;
        margin:10px 0 12px;
    }
    .tpp-email-templates-panel .tpp-template-copy-control span{
        max-width:760px;
    }
    .tpp-email-templates-panel .tpp-template-editor-actions{
        justify-content:flex-end;
        flex-wrap:wrap;
        gap:10px;
    }
    .tpp-email-templates-panel .tpp-template-editor-actions button{
        width:auto;
        min-width:220px;
    }
    .tpp-email-templates-panel .tpp-template-starter-grid,
    .tpp-email-templates-panel .tpp-email-audience-grid,
    .tpp-email-templates-panel .tpp-email-template-preview-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .tpp-email-templates-panel .tpp-placeholder-helper-head,
    .tpp-email-templates-panel .tpp-placeholder-checker-body,
    .tpp-email-templates-panel .tpp-subject-quality-grid,
    .tpp-email-templates-panel .tpp-body-quality-grid,
    .tpp-email-templates-panel .tpp-template-readiness-score{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
    }
    .tpp-email-templates-panel .tpp-placeholder-helper-head{
        align-items:end;
    }
    .tpp-email-templates-panel .tpp-placeholder-helper-head > div{
        grid-column:span 2;
    }
    .tpp-email-templates-panel .tpp-placeholder-chip-grid{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }
    .tpp-email-templates-panel .tpp-email-test-panel,
    .tpp-email-templates-panel .tpp-email-audience-export-form{
        display:grid;
        grid-template-columns:minmax(280px,1fr) minmax(220px,1fr) auto;
        gap:12px;
        align-items:end;
    }
    .tpp-email-templates-panel .tpp-email-test-panel > div,
    .tpp-email-templates-panel .tpp-email-audience-export-form .tpp-help-text{
        grid-column:1/-1;
    }
    .tpp-email-templates-panel .tpp-email-test-panel button,
    .tpp-email-templates-panel .tpp-email-audience-export-form button{
        min-height:48px;
        white-space:nowrap;
    }
    .tpp-email-templates-panel form[action] label select,
    .tpp-email-templates-panel form[action] label input,
    .tpp-email-templates-panel form[action] label textarea{
        width:100%;
    }
    .tpp-email-templates-panel [data-tpp-campaign-send-readiness],
    .tpp-email-templates-panel [data-tpp-campaign-send-lock],
    .tpp-email-templates-panel .tpp-campaign-confirm-box,
    .tpp-email-templates-panel .tpp-campaign-send-estimate,
    .tpp-email-templates-panel .tpp-campaign-template-preview{
        margin-top:12px;
    }
    .tpp-email-templates-panel .tpp-campaign-send-readiness-list{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .tpp-email-templates-panel .tpp-campaign-send-estimate{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .tpp-email-templates-panel .tpp-campaign-send-estimate p{
        grid-column:1/-1;
    }
    .tpp-email-templates-panel .tpp-primary-button[data-tpp-campaign-send-button],
    .tpp-email-templates-panel .tpp-email-template-editor > .tpp-primary-button{
        max-width:320px;
        justify-self:start;
    }
}
@media (max-width: 1023px){
    .tpp-email-templates-panel .tpp-two-column,
    .tpp-email-templates-panel .tpp-form-grid.two,
    .tpp-email-templates-panel .tpp-email-test-panel,
    .tpp-email-templates-panel .tpp-email-audience-export-form{
        grid-template-columns:1fr!important;
    }
    .tpp-email-templates-panel .tpp-template-copy-control{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* v1.5.104 Email Templates Saved Template Preview width correction */
.tpp-email-templates-panel .tpp-email-template-preview-library{
    width:100%;
}
.tpp-email-templates-panel .tpp-email-template-preview-grid{
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    align-items:stretch;
    gap:18px;
}
.tpp-email-templates-panel .tpp-email-template-preview-card{
    min-width:0;
    padding:16px;
}
.tpp-email-templates-panel .tpp-email-template-preview-head strong{
    font-size:16px;
    line-height:1.22;
}
.tpp-email-templates-panel .tpp-email-preview-subject{
    font-size:14px;
    line-height:1.45;
}
.tpp-email-templates-panel .tpp-email-preview-body{
    min-height:210px;
    max-height:260px;
    font-size:14px;
    line-height:1.55;
}
@media (min-width:1400px){
    .tpp-email-templates-panel .tpp-email-template-preview-grid{
        grid-template-columns:repeat(2,minmax(420px,1fr));
    }
}
@media (min-width:1800px){
    .tpp-email-templates-panel .tpp-email-template-preview-grid{
        grid-template-columns:repeat(3,minmax(420px,1fr));
    }
}
@media (max-width:900px){
    .tpp-email-templates-panel .tpp-email-template-preview-grid{
        grid-template-columns:1fr;
    }
}


/* v1.5.105 Email Templates Saved Template Preview containment fix */
.tpp-email-templates-panel .tpp-email-template-preview-library,
.tpp-email-templates-panel .tpp-email-template-preview-library *{
    box-sizing:border-box;
}
.tpp-email-templates-panel .tpp-email-template-preview-library{
    max-width:100%;
    overflow:hidden;
}
.tpp-email-templates-panel .tpp-email-template-preview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    max-width:100%;
    width:100%;
    overflow:hidden;
}
.tpp-email-templates-panel .tpp-email-template-preview-card{
    min-width:0!important;
    max-width:100%;
    width:100%;
}
.tpp-email-templates-panel .tpp-email-template-preview-head,
.tpp-email-templates-panel .tpp-email-preview-subject,
.tpp-email-templates-panel .tpp-email-preview-body{
    max-width:100%;
    min-width:0;
    overflow-wrap:anywhere;
}
@media (max-width: 1180px){
    .tpp-email-templates-panel .tpp-email-template-preview-grid{
        grid-template-columns:1fr!important;
    }
}

/* v1.5.106 Documents entry / directory separation
   Keeps Add Document clean and gives vault search/archive review its own full-width screen. */
.tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-only,
.tpp-app-shell[data-tpp-app="1"] .tpp-document-directory-page {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-card {
    width: min(100%, 1180px);
    max-width: 1180px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-card .tpp-form-note {
    margin-top: -4px;
    margin-bottom: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-card .tpp-panel-header {
    align-items: flex-start;
    gap: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-card .tpp-document-upload-box {
    margin-bottom: 16px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-directory-page .tpp-table-wrap {
    max-height: 520px;
    overflow: auto;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-directory-page .tpp-directory-section {
    margin-top: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-directory-page .tpp-directory-subheader {
    margin-bottom: 10px;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-grid .tpp-span-two,
    .tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-grid textarea,
    .tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-grid label:has(textarea) {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-document-entry-card .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-document-form-actions .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-document-form-actions .tpp-secondary-button {
        min-height: 46px !important;
        border-radius: 12px !important;
        padding: 0 22px !important;
    }
}


/* v1.5.107 Documents dropdown arrow / click target fix
   Scope this to Add Document only so confirmed transaction dropdown behavior stays untouched. */
.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label:has(select),
.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label.tpp-native-select-field {
    position: relative !important;
    cursor: pointer !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form select {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    min-height: 56px !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 2 !important;
    cursor: pointer !important;
    padding: 13px 46px 13px 16px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    touch-action: manipulation !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label:has(select)::after,
.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label.tpp-native-select-field::after {
    content: '';
    position: absolute;
    right: 17px;
    bottom: 22px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #475569;
    border-bottom: 2px solid #475569;
    transform: rotate(45deg);
    pointer-events: none;
    z-index: 3;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
    outline: none !important;
}


/* v1.5.108 Documents duplicate dropdown cleanup
   Keep the Documents entry form to one native dropdown per field. */
.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label.tpp-native-select-field > select ~ * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label.tpp-native-select-field::after,
.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label:has(select)::after {
    display: none !important;
    content: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-document-form label.tpp-native-select-field > select {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    width: 100% !important;
    min-height: 56px !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    box-sizing: border-box !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    cursor: pointer !important;
}

/* TransferPilot Pro v1.5.109 - Employees entry/directory layout */
.tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-only,
.tpp-app-shell[data-tpp-app="1"] .tpp-employee-directory-page {
    display: block;
    width: 100%;
    max-width: none;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-card {
    width: 100%;
    max-width: none;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-card .tpp-form-note,
.tpp-app-shell[data-tpp-app="1"] .tpp-employee-directory-page .tpp-form-note {
    margin-bottom: 18px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-employee-photo-box {
    margin-bottom: 22px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-employee-form-actions,
.tpp-app-shell[data-tpp-app="1"] .tpp-employee-form-actions-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-employee-directory-page .tpp-employee-cards {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
}

@media (min-width: 1180px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-grid label:has(textarea),
    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-entry-grid textarea {
        grid-column: 1 / -1;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-photo-box {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 20px;
        align-items: start;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-photo-box label input {
        max-width: none;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-form-actions .tpp-primary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-employee-form-actions .tpp-secondary-button {
        min-width: 220px;
    }
}


/* TransferPilot Pro v1.5.110 - Service Manager wide quick-links layout */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager > .tpp-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        width: 100%;
        max-width: 100%;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager > .tpp-content-grid > .tpp-panel,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel {
        width: 100%;
        max-width: none;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-panel-header {
        margin-bottom: 12px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-form-note {
        margin-bottom: 16px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-grid {
        grid-template-columns: repeat(3, minmax(220px, 1fr));
        gap: 14px;
        margin: 18px 0 16px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-card {
        min-height: 128px;
        padding: 16px 54px 16px 18px;
        align-content: center;
        gap: 8px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-card strong {
        font-size: 17px;
        line-height: 1.2;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-card small {
        font-size: 13px;
        line-height: 1.35;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-action-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(190px, 1fr));
        gap: 12px;
        margin-top: 16px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-action-row .tpp-secondary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-action-row .tpp-primary-button {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel {
        display: grid;
        grid-template-columns: minmax(240px, 0.9fr) minmax(320px, 1.6fr) minmax(260px, 0.8fr);
        align-items: center;
        gap: 18px;
        padding: 18px 20px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-eyebrow,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel h3 {
        margin: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel h3 {
        margin-top: 4px;
        font-size: 22px;
        line-height: 1.12;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(220px, 1fr));
        gap: 8px 16px;
        margin: 0;
        padding: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list li {
        margin: 0;
        line-height: 1.35;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-link-button {
        width: 100%;
        min-height: 46px;
        margin: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: var(--tpp-blue, #2563eb);
        color: #ffffff !important;
        border-color: var(--tpp-blue, #2563eb);
        box-shadow: 0 12px 28px rgba(37, 99, 235, 0.18);
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-link-button + .tpp-link-button {
        margin-top: 10px;
    }
}

@media (min-width: 1500px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-grid {
        grid-template-columns: repeat(4, minmax(210px, 1fr));
    }
}

@media (max-width: 1180px) and (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel {
        grid-template-columns: 1fr;
    }
}


/* TransferPilot Pro v1.5.111 - Service Manager bottom panel and badge readability fix */
.tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-manager-card .tpp-service-icon {
    color: #ffffff !important;
    font-weight: 800;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.22);
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel {
        display: grid;
        grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1.8fr) minmax(320px, 0.9fr) !important;
        gap: 16px 22px;
        align-items: center;
        overflow: hidden;
        padding: 18px 24px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-eyebrow {
        grid-column: 1;
        grid-row: 1;
        margin: 0;
        align-self: center;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel h3 {
        grid-column: 1;
        grid-row: 2;
        margin: 4px 0 0;
        font-size: 24px;
        line-height: 1.15;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list {
        grid-column: 2;
        grid-row: 1 / span 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 18px;
        margin: 0;
        padding: 0;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list li {
        margin: 0;
        line-height: 1.35;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions {
        grid-column: 3;
        grid-row: 1 / span 2;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        align-self: stretch;
        align-content: center;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions .tpp-link-button {
        width: 100%;
        min-height: 48px;
        margin: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: var(--tpp-blue, #2563eb) !important;
        color: #ffffff !important;
        border-color: var(--tpp-blue, #2563eb) !important;
        box-shadow: 0 12px 28px rgba(37, 99, 235, 0.18);
        white-space: normal;
    }
}

@media (max-width: 1280px) and (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-eyebrow,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel h3,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list,
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions {
        grid-column: 1;
        grid-row: auto;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-panel .tpp-check-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 720px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-manager .tpp-service-rules-actions .tpp-link-button {
        width: 100%;
        color: #ffffff !important;
    }
}

/* TransferPilot Pro v1.5.112 - Dashboard Layout wide My Profile-style layout */
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide {
    gap: 16px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-card .tpp-service-icon {
    color: #ffffff !important;
    font-weight: 800;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.20);
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: 100%;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide > .tpp-panel {
        width: 100%;
        max-width: none;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-panel-header {
        margin-bottom: 12px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-grid {
        grid-template-columns: repeat(3, minmax(230px, 1fr));
        gap: 14px;
        margin: 18px 0 16px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-card {
        min-height: 138px;
        padding: 18px 54px 18px 18px;
        align-content: center;
        gap: 8px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-card strong {
        font-size: 17px;
        line-height: 1.2;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-card small {
        font-size: 13px;
        line-height: 1.35;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-action-row {
        display: grid;
        grid-template-columns: repeat(4, minmax(170px, 1fr));
        gap: 12px;
        margin-top: 16px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-action-row .tpp-secondary-button,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-action-row .tpp-primary-button {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel {
        display: grid;
        grid-template-columns: minmax(210px, 0.65fr) minmax(0, 1.75fr) minmax(260px, 0.8fr);
        gap: 16px 22px;
        align-items: center;
        padding: 18px 24px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-head .tpp-eyebrow,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-head h3 {
        margin: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-head h3 {
        margin-top: 4px;
        font-size: 24px;
        line-height: 1.15;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-view-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel .tpp-mini-metric {
        margin: 0;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel > .tpp-form-note {
        grid-column: 2;
        margin: 0;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
        grid-column: 3;
        grid-row: 1 / span 2;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        align-content: center;
        min-width: 0;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions .tpp-link-button {
        width: 100%;
        min-height: 48px;
        margin: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: var(--tpp-blue, #2563eb) !important;
        color: #ffffff !important;
        border-color: var(--tpp-blue, #2563eb) !important;
        box-shadow: 0 12px 28px rgba(37, 99, 235, 0.18);
        white-space: normal;
    }
}

@media (min-width: 1500px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-panel.tpp-dashboard-layout-wide .tpp-dashboard-widget-grid {
        grid-template-columns: repeat(4, minmax(220px, 1fr));
    }
}

@media (max-width: 1280px) and (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-head,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-view-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel > .tpp-form-note,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
        grid-column: 1;
        grid-row: auto;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 1023px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions .tpp-link-button {
        width: 100%;
        color: #ffffff !important;
    }
}


/* TransferPilot Pro v1.5.113 - Dashboard Layout Recommended Views text fix */
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: stretch !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-head,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-view-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel > .tpp-form-note,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-width: 0;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-view-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 12px !important;
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel .tpp-mini-metric {
    display: grid !important;
    grid-template-columns: minmax(92px, 0.38fr) minmax(0, 1fr);
    align-items: start;
    gap: 12px 16px;
    min-width: 0;
    margin: 0;
    padding: 14px 16px;
    min-height: 82px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel .tpp-mini-metric span {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel .tpp-mini-metric strong {
    display: block;
    font-size: 16px;
    line-height: 1.28;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 12px !important;
    align-content: stretch !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-actions .tpp-link-button {
    min-height: 52px;
    color: #ffffff !important;
}

@media (max-width: 720px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-layout-guidance-panel .tpp-mini-metric {
        grid-template-columns: 1fr;
    }
}


/* v1.5.114 Access Control wide layout and staff-login embed guard */
.tpp-access-control-wide {
    display: grid;
    gap: 18px;
}
.tpp-access-control-wide > .tpp-panel,
.tpp-access-control-wide > .tpp-announcement {
    width: 100%;
    max-width: none;
}
.tpp-access-control-wide .tpp-access-role-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.tpp-access-control-wide .tpp-access-role-card {
    min-width: 0;
}
.tpp-access-setup-panel {
    background: #fff !important;
    color: var(--tpp-ink) !important;
    border: 1px solid var(--tpp-border) !important;
    box-shadow: var(--tpp-shadow) !important;
}
.tpp-access-setup-panel .tpp-eyebrow,
.tpp-access-setup-panel h2,
.tpp-access-setup-panel p {
    color: var(--tpp-ink) !important;
}
.tpp-access-setup-panel > p:not(.tpp-eyebrow) {
    color: var(--tpp-muted) !important;
    max-width: 980px;
}
.tpp-access-setup-panel .tpp-info-strip {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #f8fafc;
    color: var(--tpp-ink);
    border: 1px solid var(--tpp-border);
    border-radius: 16px;
    padding: 14px 16px;
    max-width: 100%;
    overflow: hidden;
}
.tpp-access-setup-panel .tpp-info-strip strong {
    flex: 0 0 auto;
    color: var(--tpp-ink);
}
.tpp-access-setup-panel .tpp-info-strip span {
    min-width: 0;
    color: var(--tpp-muted);
    line-height: 1.45;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-login-shell,
.tpp-app-shell[data-tpp-app="1"] .tpp-login-shell-standalone {
    display: none !important;
}
@media (max-width: 1100px) {
    .tpp-access-control-wide .tpp-access-role-list {
        grid-template-columns: 1fr;
    }
    .tpp-access-setup-panel .tpp-info-strip {
        display: grid;
    }
}


/* v1.5.115 Security Center wide layout */
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide {
    display: grid;
    gap: 18px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-center-main-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-center-secondary-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-panel,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-support-note-panel {
    width: 100%;
    max-width: none;
    min-width: 0;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-status-check-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 12px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-status-check {
    min-height: 86px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-info-grid > div {
    min-width: 0;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-info-grid span {
    overflow-wrap: anywhere;
    word-break: normal;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-shortcuts {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
    margin-top: 14px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-shortcuts button,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-access-panel .tpp-shortcuts .tpp-action-button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--tpp-primary) !important;
    color: #ffffff !important;
    border-color: var(--tpp-primary) !important;
    font-weight: 800;
    text-align: center;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-staff-flow-panel .tpp-support-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-support-note-panel {
    background: #0f1d3d;
    color: #ffffff;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-support-note-panel .tpp-eyebrow,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-support-note-panel h2,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-support-note-panel p {
    color: #ffffff;
}
@media (max-width: 900px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-status-check-list,
    .tpp-app-shell[data-tpp-app="1"] .tpp-security-staff-flow-panel .tpp-support-list {
        grid-template-columns: 1fr;
    }
}


/* v1.5.116 Security Center true wide layout correction */
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide > .tpp-security-center-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide > .tpp-security-center-main-stack,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide > .tpp-security-center-secondary-grid {
    grid-template-columns: 1fr !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-check-panel,
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-access-panel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-access-panel .tpp-info-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-security-access-panel .tpp-shortcuts {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}
@media (min-width: 1200px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-security-center-wide .tpp-status-check-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* v1.5.117 Client Readiness compact containment layout */
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact {
    max-width: 1280px;
    margin-inline: auto;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .tpp-panel {
    overflow: hidden;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-hero {
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-action-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-action-row button,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary b {
    border: 0;
    border-radius: 16px;
    background: #2563eb;
    color: #ffffff;
    font-weight: 900;
    padding: 14px 16px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .15);
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-core-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-core-list,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-rule-grid {
    display: grid;
    gap: 12px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-rule-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-scroll-list {
    max-height: 520px;
    overflow: auto;
    padding-right: 4px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive {
    border: 1px solid var(--tpp-border);
    border-radius: var(--tpp-panel-radius);
    background: #ffffff;
    padding: 0;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    cursor: pointer;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary::-webkit-details-marker {
    display: none;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary strong {
    display: block;
    font-size: 20px;
    color: var(--tpp-ink);
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary em {
    display: block;
    margin-top: 4px;
    font-style: normal;
    color: var(--tpp-muted);
    font-weight: 800;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive[open] summary b {
    background: #0f172a;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive > .tpp-form-note {
    margin: 0 20px 16px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 20px 20px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive-grid span {
    display: block;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    color: #1e3a8a;
    border-radius: 14px;
    padding: 11px 12px;
    font-weight: 900;
    font-size: 13px;
}
@media (max-width: 1100px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-summary-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-core-list,
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-rule-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive-grid {
        grid-template-columns: 1fr;
    }
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-action-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-action-row {
        grid-template-columns: 1fr;
    }
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-archive summary {
        display: grid;
    }
}


/* v1.5.118 Client Readiness embedded preview cleanup */
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .tpp-client-readiness-proof-summary .tpp-panel {
    min-width: 0;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-proof-grid > div {
    border: 1px solid var(--tpp-border);
    background: #f8fafc;
    border-radius: 16px;
    padding: 14px 16px;
    min-width: 0;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-proof-grid strong {
    display: block;
    color: var(--tpp-ink);
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 6px;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-proof-grid span {
    display: block;
    color: var(--tpp-muted);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .tpp-client-readiness-scroll-list {
    max-height: none;
    overflow: visible;
}
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .tpp-app-shell,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .tpp-login-shell,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact iframe,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .wp-block-shortcode,
.tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-compact .elementor-widget-shortcode {
    display: none !important;
}
@media (max-width: 1100px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-client-readiness-proof-grid {
        grid-template-columns: 1fr;
    }
}


/* TransferPilot Pro v1.5.119 - Price & Fees entry/directory layout */
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fees-entry-only,
.tpp-app-shell[data-tpp-app="1"] .tpp-fee-directory-page {
    width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card {
    width: min(100%, 1180px);
    max-width: 1180px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card .tpp-panel-header {
    align-items: flex-start;
    gap: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions-top,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions {
    margin-top: 14px;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions-top span {
    white-space: nowrap;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-fee-directory-page .tpp-table-wrap {
    max-height: 560px;
    overflow: auto;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-fee-directory-page .tpp-panel-header .tpp-primary-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions .tpp-primary-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions .tpp-secondary-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-form-actions-top .tpp-secondary-button {
    min-height: 46px;
    border-radius: 12px;
    padding: 0 22px;
}

@media (min-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card .tpp-pricing-note,
    .tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card .tpp-form-note {
        max-width: none;
    }
}


/* TransferPilot Pro v1.5.120 - Price & Fees dropdown arrow visibility fix
   Scoped to the Add Price / Fee Rule form only. Keeps one native select per field. */
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card label.tpp-native-select-field {
    position: relative;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card label.tpp-native-select-field select {
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 46px !important;
    cursor: pointer;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 18px 18px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card label.tpp-native-select-field select:focus {
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card label.tpp-native-select-field > select ~ * {
    display: none !important;
}


/* TransferPilot Pro v1.5.121 - Price & Fees missing select box restore
   The Service Type and Calculation controls must render as one real native browser select.
   This overrides the previous custom-arrow experiment and restores visible boxes plus native arrows. */
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] label.tpp-native-select-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    position: relative !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] label.tpp-native-select-field > select,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] select[name="service_type"],
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] select[name="calculation_type"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 13px 44px 13px 16px !important;
    cursor: pointer !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    touch-action: manipulation !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] select[name="service_type"]:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] select[name="calculation_type"]:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
    background-color: #ffffff !important;
    outline: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-price-fee-entry-card [data-tpp-price-fee-form="1"] label.tpp-native-select-field > select ~ .tpp-select-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}


/* TransferPilot Pro v1.5.122 - Receipt Templates wide layout fix
   Follows the approved My Profile layout direction: controls full width, preview full width, no narrow stacked right column. */
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-page {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-page > .tpp-panel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-info-box {
    margin-bottom: 16px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-field-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-checkbox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-checkbox-line {
    min-height: 72px !important;
    align-items: center !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager textarea[name="receipt_disclaimer"] {
    min-height: 92px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions {
    justify-content: flex-end !important;
    gap: 12px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions .tpp-button {
    min-height: 48px !important;
    border-radius: 12px !important;
    padding: 0 24px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview {
    display: grid !important;
    grid-template-columns: minmax(320px, 430px) minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: stretch !important;
    gap: 20px !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-panel-header {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-panel-header h2 {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-receipt-card {
    width: 100% !important;
    max-width: 430px !important;
    justify-self: center !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-self: stretch !important;
    min-width: 0 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid > div {
    min-height: 92px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid strong,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid span {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 56px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    padding: 13px 44px 13px 16px !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}

@media (max-width: 1280px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-field-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview {
        grid-template-columns: 1fr !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-receipt-card {
        max-width: 430px !important;
    }
}

@media (max-width: 760px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-field-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-checkbox-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid {
        grid-template-columns: 1fr !important;
    }
}

/* TransferPilot Pro v1.5.123 - Receipt Template preview cleanup fix
   Removes duplicate Receipt Width display boxes and makes the live preview details professional/contained. */
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select ~ .tpp-select-menu,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select ~ input,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select ~ div:not(.tpp-field-help) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager label.tpp-native-select-field > select[name="receipt_print_width"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 56px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    padding: 13px 44px 13px 16px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-receipt-card {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    justify-self: start !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
    overflow: visible !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid > div {
    min-height: 0 !important;
    height: auto !important;
    padding: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    white-space: normal !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid strong,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid span {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
}

@media (max-width: 1180px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
        grid-template-columns: 1fr !important;
    }
}


/* TransferPilot Pro v1.5.124 - Receipt Template Live Preview balance fix
   Keeps the v1.5.123 duplicate-dropdown cleanup, then uses the empty right side of the preview panel properly. */
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview {
    display: grid !important;
    grid-template-columns: minmax(480px, 0.62fr) minmax(320px, 0.38fr) !important;
    grid-template-areas:
        "header header"
        "receipt details" !important;
    gap: 18px 22px !important;
    align-items: start !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-panel-header {
    grid-area: header !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-receipt-card {
    grid-area: receipt !important;
    width: 100% !important;
    max-width: 640px !important;
    justify-self: stretch !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
    grid-area: details !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(110px, auto) !important;
    gap: 14px !important;
    margin: 0 !important;
    overflow: visible !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid > div {
    min-height: 110px !important;
    height: auto !important;
    padding: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid strong {
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid span {
    font-size: 0.98rem !important;
    line-height: 1.35 !important;
}

@media (max-width: 1180px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "header"
            "receipt"
            "details" !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-receipt-card {
        max-width: 640px !important;
        justify-self: start !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-auto-rows: auto !important;
    }
}

@media (max-width: 760px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
        grid-template-columns: 1fr !important;
    }
}


/* TransferPilot Pro v1.5.125 - Receipt Templates compact preview polish
   Keeps the balanced preview layout but stops the preview-detail cards from stretching into tall blocks. */
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid.compact {
    align-self: start !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;
    grid-auto-rows: auto !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid > div {
    min-height: 88px !important;
    height: auto !important;
    padding: 16px 18px !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid strong {
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-preview > .tpp-info-grid span {
    font-size: .96rem !important;
    line-height: 1.3 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions {
    align-items: center !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions button.tpp-button[type="submit"] {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(37,99,235,.20) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions button.tpp-button[type="submit"]:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-receipt-template-manager .tpp-form-actions button.tpp-button[type="submit"]:focus {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}


/* v1.5.126 Demo Center font and spacing polish */
.tpp-demo-center-panel {
    --tpp-demo-card-padding: 20px;
}
.tpp-demo-center-panel .tpp-panel-header h2 {
    font-size: clamp(22px, 1.9vw, 28px);
    line-height: 1.15;
    margin: 0;
}
.tpp-demo-center-panel .tpp-demo-mode-card {
    padding: 18px 22px;
    gap: 22px;
}
.tpp-demo-center-panel .tpp-demo-mode-card strong {
    font-size: 1.12rem;
    line-height: 1.25;
}
.tpp-demo-center-panel .tpp-demo-mode-card p {
    max-width: 820px;
    font-size: 1rem;
    line-height: 1.45;
}
.tpp-demo-center-panel .tpp-demo-grid {
    align-items: stretch;
    gap: 18px;
}
.tpp-demo-center-panel .tpp-demo-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: var(--tpp-demo-card-padding);
}
.tpp-demo-center-panel .tpp-demo-card h3 {
    margin: 0 0 10px;
    font-size: clamp(22px, 1.9vw, 30px);
    line-height: 1.08;
    letter-spacing: -0.02em;
}
.tpp-demo-center-panel .tpp-demo-card p,
.tpp-demo-center-panel .tpp-check-list {
    font-size: 1rem;
    line-height: 1.45;
}
.tpp-demo-center-panel .tpp-demo-card p {
    margin: 0 0 12px;
}
.tpp-demo-center-panel .tpp-check-list {
    margin: 10px 0 16px;
    padding-left: 22px;
}
.tpp-demo-center-panel .tpp-check-list li {
    margin-bottom: 6px;
}
.tpp-demo-center-panel .tpp-demo-card form {
    margin-top: auto;
}
.tpp-demo-center-panel .tpp-demo-card .tpp-primary-button,
.tpp-demo-center-panel .tpp-demo-card .tpp-danger-button,
.tpp-demo-center-panel .tpp-demo-mode-card .tpp-primary-button {
    min-height: 52px;
    padding: 0 22px;
    border-radius: 14px;
    font-size: 1rem;
    line-height: 1.2;
}
.tpp-demo-center-panel .tpp-demo-counts {
    gap: 9px;
    margin: 12px 0 16px;
}
.tpp-demo-center-panel .tpp-demo-counts span {
    padding: 8px 12px;
    font-size: 0.96rem;
    line-height: 1.2;
}
.tpp-demo-center-panel .tpp-info-strip {
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 13px 18px;
    font-size: 1rem;
    line-height: 1.35;
}
.tpp-demo-center-panel .tpp-info-strip strong {
    white-space: nowrap;
    color: #0f172a;
}
@media (min-width: 1100px) {
    .tpp-demo-center-panel .tpp-demo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .tpp-demo-center-panel .tpp-demo-card h3 {
        font-size: 1.45rem;
    }
    .tpp-demo-center-panel .tpp-info-strip {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* v1.5.127 Help & Support containment / wide layout fix */
.tpp-help-support-wide {
    gap: 18px;
}
.tpp-help-support-wide .tpp-content-grid,
.tpp-help-support-wide.tpp-module-stack {
    max-width: 100%;
}
.tpp-help-support-wide > .tpp-panel {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.tpp-help-support-wide .tpp-help-setup-grid,
.tpp-help-support-wide .tpp-help-status-grid,
.tpp-help-support-wide .tpp-help-fix-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}
.tpp-help-support-wide .tpp-help-status-grid .tpp-status-check,
.tpp-help-support-wide .tpp-help-fix-grid > div,
.tpp-help-support-wide .tpp-help-setup-grid .tpp-support-card {
    min-width: 0;
}
.tpp-help-support-wide .tpp-status-check {
    min-height: 92px;
}
.tpp-help-support-wide .tpp-support-note-panel {
    display: grid;
    gap: 14px;
}
.tpp-help-recordkeeping-panel .tpp-setup-note-box {
    margin-top: 0;
}
.tpp-help-support-wide .tpp-mini-button,
.tpp-help-support-wide .tpp-setup-open-button {
    background: var(--tpp-primary-color, #2563eb);
    color: #ffffff !important;
    border-color: transparent;
}
.tpp-help-support .tpp-app-shell,
.tpp-help-support .tpp-login-shell,
.tpp-help-support .tpp-login-shell-standalone {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
@media (max-width: 900px) {
    .tpp-help-support-wide .tpp-help-setup-grid,
    .tpp-help-support-wide .tpp-help-status-grid,
    .tpp-help-support-wide .tpp-help-fix-grid {
        grid-template-columns: 1fr;
    }
}

/* TransferPilot Pro v1.5.128 - Daily Closing Status dropdown restore
   Scoped to Daily Closing only. Keeps the Status control as one real dropdown with no duplicate display box. */
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    position: relative !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select,
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form select[name="status"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 13px 44px 13px 16px !important;
    cursor: pointer !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    touch-action: manipulation !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form select[name="status"]:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
    outline: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select ~ .tpp-select-menu,
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select ~ input,
.tpp-app-shell[data-tpp-app="1"] .tpp-daily-closing-form label.tpp-native-select-field > select ~ div {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}


/* TransferPilot Pro v1.5.129 - Email campaign send dropdown arrow fix
   Restores visible dropdown arrows on the Send Customer Email controls only.
   Does not change campaign safety, send limits, audience counts, or email sending behavior. */
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-campaign-native-select-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    position: relative !important;
    cursor: pointer !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-template],
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-audience],
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-send-limit] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 18px 18px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 13px 46px 13px 16px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    touch-action: manipulation !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-template]:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-audience]:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] select[data-tpp-campaign-send-limit]:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    outline: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select ~ .tpp-select-menu,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select ~ input,
.tpp-app-shell[data-tpp-app="1"] .tpp-email-templates-panel form[data-tpp-campaign-send-form="1"] label.tpp-native-select-field > select ~ div {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* v1.5.130 Branding & Appearance wide-layout polish
   Keeps branding/settings logic unchanged while removing the cramped two-column appearance screen. */
.tpp-app-shell[data-tpp-active-module="appearance"] .tpp-topbar h1 {
    font-size: clamp(28px, 2.15vw, 34px);
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.02;
}

.tpp-appearance-page {
    grid-template-columns: 1fr !important;
    gap: 20px;
}

.tpp-appearance-page > .tpp-panel {
    width: 100%;
    max-width: none;
}

.tpp-appearance-control-panel .tpp-info-grid.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tpp-appearance-control-panel .tpp-info-grid.compact > div {
    min-height: 104px;
}

.tpp-appearance-preview-panel .tpp-color-preview-grid {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 16px;
}

.tpp-appearance-preview-panel .tpp-color-preview-grid > div {
    min-height: 128px;
}

.tpp-appearance-preview-panel .tpp-color-preview-grid span {
    height: 48px;
}

.tpp-appearance-preview-panel .tpp-brand-sample-card {
    margin-top: 20px;
    padding: 18px 20px;
}

.tpp-appearance-control-panel .tpp-help-text {
    margin-top: 18px;
}

@media (max-width: 1180px) {
    .tpp-appearance-control-panel .tpp-info-grid.compact,
    .tpp-appearance-preview-panel .tpp-color-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .tpp-appearance-control-panel .tpp-info-grid.compact,
    .tpp-appearance-preview-panel .tpp-color-preview-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.5.131 Branding Editor inside front-end CRM
   Lets owners set client brand colors without entering wp-admin. */
.tpp-appearance-editor-page .tpp-branding-editor-form {
    display: grid;
    gap: 18px;
}

.tpp-appearance-editor-page .tpp-branding-editor-intro {
    margin: 0;
}

.tpp-appearance-editor-page .tpp-form-grid.three,
.tpp-appearance-editor-page .tpp-branding-preset-grid,
.tpp-appearance-editor-page .tpp-branding-size-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpp-appearance-editor-page .tpp-form-grid.five,
.tpp-appearance-editor-page .tpp-branding-color-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.tpp-appearance-editor-page .tpp-branding-color-grid label {
    min-height: 132px;
    align-content: start;
    gap: 10px;
}

.tpp-appearance-editor-page .tpp-branding-color-grid input[type="color"] {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 6px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    cursor: pointer;
}

.tpp-appearance-editor-page .tpp-branding-color-grid small,
.tpp-appearance-editor-page .tpp-branding-readonly-card small {
    display: block;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

.tpp-appearance-editor-page .tpp-branding-readonly-card {
    min-height: 94px;
    border: 1px solid #dbe5ef;
    background: #f8fbff;
    border-radius: 16px;
    padding: 16px 18px;
    display: grid;
    align-content: start;
    gap: 6px;
}

.tpp-appearance-editor-page .tpp-branding-readonly-card strong {
    color: #0f172a;
    font-weight: 800;
}

.tpp-appearance-editor-page .tpp-branding-readonly-card span {
    color: #475569;
    font-size: 18px;
}

.tpp-appearance-editor-page .tpp-branding-actions {
    justify-content: flex-end;
    margin-top: 2px;
}

.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field select {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 14px !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 18px 18px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 13px 46px 13px 16px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field > select ~ .tpp-select-menu,
.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field > select ~ input,
.tpp-appearance-editor-page form[data-tpp-branding-editor="1"] label.tpp-native-select-field > select ~ div {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 1280px) {
    .tpp-appearance-editor-page .tpp-form-grid.five,
    .tpp-appearance-editor-page .tpp-branding-color-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .tpp-appearance-editor-page .tpp-form-grid.three,
    .tpp-appearance-editor-page .tpp-branding-preset-grid,
    .tpp-appearance-editor-page .tpp-branding-size-grid,
    .tpp-appearance-editor-page .tpp-form-grid.five,
    .tpp-appearance-editor-page .tpp-branding-color-grid {
        grid-template-columns: 1fr;
    }

    .tpp-appearance-editor-page .tpp-branding-actions {
        justify-content: stretch;
    }

    .tpp-appearance-editor-page .tpp-branding-actions .tpp-button {
        width: 100%;
    }
}

/* v1.5.133 Final UI guard sweep
   Broad protection for the repeated final-readiness issues found during page-by-page QA. */
.tpp-app-shell[data-tpp-app="1"] .tpp-main,
.tpp-app-shell[data-tpp-app="1"] .tpp-content,
.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel,
.tpp-app-shell[data-tpp-app="1"] .tpp-module-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-panel,
.tpp-app-shell[data-tpp-app="1"] .tpp-subpanel {
    min-width: 0;
    max-width: 100%;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel {
    overflow-x: hidden;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-table-wrap,
.tpp-app-shell[data-tpp-app="1"] .tpp-scroll-table,
.tpp-app-shell[data-tpp-app="1"] .tpp-directory-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field select,
.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field select.tpp-native-select-hidden,
.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field select[data-tpp-enhanced-select-ready="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 14px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 13px 46px 13px 16px !important;
    cursor: pointer !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    touch-action: manipulation !important;
    z-index: auto !important;
}

.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field select:focus {
    border-color: var(--tpp-brand-button, #2563eb) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
    outline: none !important;
}

.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field > select ~ .tpp-select-control,
.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field > select ~ .tpp-select-button,
.tpp-app-shell[data-tpp-app="1"] label.tpp-native-select-field > select ~ .tpp-select-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel .tpp-app-shell,
.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel .tpp-login-shell,
.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel .tpp-staff-login-page,
.tpp-app-shell[data-tpp-app="1"] .tpp-module-panel .tpp-login-page {
    display: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-submit,
.tpp-app-shell[data-tpp-app="1"] .tpp-action-button {
    border-radius: 14px;
    font-weight: 800;
}

/* TransferPilot Pro v1.6.52 - Client dashboard UI polish
   Presentation-only: improves the dashboard, sidebar, cards, empty transaction table,
   and right-column visual balance. Does not change CRM data, calculations, access rules,
   license behavior, receipts, reports, daily closing, staff records, or campaign sending. */
.tpp-app-shell[data-tpp-app="1"] {
    --tpp-bg: #edf3f8;
    --tpp-panel: #ffffff;
    --tpp-ink: #0b1730;
    --tpp-muted: #65758b;
    --tpp-border: #dbe6f1;
    grid-template-columns: 292px minmax(0, 1fr) !important;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 34%),
        linear-gradient(180deg, #f4f8fc 0%, #eaf1f7 100%) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.10) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-sidebar {
    background: linear-gradient(180deg, #0c1628 0%, #081020 100%) !important;
    padding: 22px 14px 18px !important;
    border-right: 1px solid rgba(255,255,255,0.05) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-brand {
    padding: 6px 10px 18px !important;
    margin-bottom: 14px !important;
    gap: 11px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-brand-logo,
.tpp-app-shell[data-tpp-app="1"] .tpp-brand-mark {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-brand strong {
    font-size: 18px !important;
    letter-spacing: -0.035em !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-brand span {
    font-size: 12.5px !important;
    color: #b8c7da !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav.tpp-nav-grouped {
    gap: 8px !important;
    padding-right: 2px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group {
    background: rgba(255,255,255,0.045) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group[open] {
    background: rgba(255,255,255,0.058) !important;
    border-color: rgba(56,189,248,0.18) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary {
    min-height: 42px !important;
    padding: 10px 12px !important;
    color: #f8fbff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group summary small {
    min-width: 28px !important;
    height: 24px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(56,189,248,0.18) !important;
    color: #d8f1ff !important;
    font-size: 12px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items {
    padding: 3px 7px 9px !important;
    gap: 2px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items a,
.tpp-app-shell[data-tpp-app="1"] .tpp-nav a {
    min-height: 38px !important;
    padding: 9px 10px !important;
    border-radius: 11px !important;
    border-left: 3px solid transparent !important;
    color: #c6d4e7 !important;
    font-size: 14.5px !important;
    line-height: 1.2 !important;
    transform: none !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items a:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-nav-group-items a.is-active,
.tpp-app-shell[data-tpp-app="1"] .tpp-nav a:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-nav a.is-active {
    color: #ffffff !important;
    background: rgba(255,255,255,0.095) !important;
    border-left-color: #38bdf8 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.035) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-dot {
    width: 6px !important;
    height: 6px !important;
    opacity: 0.52 !important;
    background: #38bdf8 !important;
}

.tpp-app-shell[data-tpp-app="1"] a.is-active .tpp-dot {
    opacity: 1 !important;
    box-shadow: 0 0 0 4px rgba(56,189,248,0.12) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-sidebar-footer {
    margin-top: 18px !important;
    padding: 13px 14px !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,0.055) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-main {
    padding: 24px 24px 28px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
    display: grid !important;
    grid-template-columns: minmax(240px, 0.9fr) minmax(360px, 1.05fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
    font-size: clamp(28px, 2.4vw, 36px) !important;
    line-height: 0.98 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-top-meta span {
    background: rgba(255,255,255,0.78) !important;
    border-color: rgba(219,230,241,0.9) !important;
    color: #526179 !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
    max-width: 520px !important;
    width: 100% !important;
    justify-self: end !important;
    box-shadow: 0 12px 28px rgba(15,23,42,0.05) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
    gap: 9px !important;
    flex-wrap: nowrap !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-date,
.tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button {
    min-height: 44px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-panel,
.tpp-app-shell[data-tpp-app="1"] .tpp-summary-card,
.tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card {
    border: 1px solid rgba(207,219,230,0.82) !important;
    box-shadow: 0 14px 34px rgba(15,23,42,0.055) !important;
}

@media (min-width: 1221px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-grid {
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card {
        min-height: 112px !important;
        padding: 15px 14px !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,0.96) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card span {
        color: #506176 !important;
        font-size: 12.5px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card strong {
        font-size: clamp(22px, 1.55vw, 27px) !important;
        color: #07152f !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-summary-card small {
        color: #718096 !important;
        font-size: 11.5px !important;
    }
}

.tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-grid {
    gap: 16px !important;
    margin-bottom: 18px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-fast-search-card {
    background: rgba(255,255,255,0.96) !important;
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid {
        grid-template-columns: minmax(0, 1fr) minmax(305px, 338px) !important;
        gap: 20px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column {
        display: grid !important;
        gap: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel {
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        gap: 11px !important;
        grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile {
        min-height: 60px !important;
        padding: 11px 13px !important;
        border-radius: 15px !important;
        background: #ffffff !important;
        border-color: rgba(219,230,241,0.95) !important;
        box-shadow: 0 7px 18px rgba(15,23,42,0.032) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile:hover,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 14px 28px rgba(15,23,42,0.09) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        border-radius: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel {
        gap: 16px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel > .tpp-panel {
        padding: 17px !important;
        border-radius: 19px !important;
        background: rgba(255,255,255,0.96) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-panel-header {
        margin-bottom: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-staff-contact {
        display: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-staff-main {
        margin-bottom: 13px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts {
        gap: 9px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button {
        min-height: 44px !important;
        background: #f8fbff !important;
        border-color: #dfe8f2 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-announcement {
        background: linear-gradient(145deg, #0b1730, #112653) !important;
        padding: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel {
        max-height: none !important;
        overflow: visible !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table-wrap {
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        border-radius: 14px !important;
        border: 1px solid #e5edf5 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: auto !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table th,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-table td {
        white-space: normal !important;
        padding: 12px 11px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-recent-panel .tpp-empty-state {
        min-height: 74px !important;
        display: table-cell !important;
        vertical-align: middle !important;
        background: #f8fbff !important;
        color: #607089 !important;
        font-weight: 800 !important;
    }
}

@media (max-width: 1380px) and (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] {
        grid-template-columns: 280px minmax(0, 1fr) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        justify-self: stretch !important;
    }
}

@media (max-width: 1080px) {
    .tpp-app-shell[data-tpp-app="1"] {
        grid-template-columns: 1fr !important;
        border-radius: 18px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-sidebar {
        padding: 18px !important;
    }
}


/* TransferPilot Pro v1.6.53 - Dashboard launchpad layout polish
   Presentation-only: expands the dashboard action area so frequently used service buttons,
   notifications, counter profile, quick actions, and support cards use horizontal launchpad
   layouts instead of forcing excessive vertical scrolling. No CRM data, transaction logic,
   receipt logic, cash register calculations, daily closing records, reports, staff records,
   license behavior, database structure, or campaign sending behavior is changed. */
@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        min-width: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-panel-header {
        align-items: center !important;
        margin-bottom: 14px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile {
        --tpp-tile-color: #2563eb;
        min-height: 70px !important;
        padding: 12px 13px !important;
        border-radius: 16px !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 11px !important;
        background: linear-gradient(135deg, color-mix(in srgb, var(--tpp-tile-color) 12%, #ffffff) 0%, #ffffff 66%) !important;
        border: 1px solid color-mix(in srgb, var(--tpp-tile-color) 28%, #dbe6f1) !important;
        border-left: 5px solid var(--tpp-tile-color) !important;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045) !important;
        overflow: hidden !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile:hover,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile:hover {
        transform: translateY(-2px) !important;
        border-color: color-mix(in srgb, var(--tpp-tile-color) 45%, #dbe6f1) !important;
        box-shadow: 0 16px 30px rgba(15, 23, 42, 0.11) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        margin: 0 !important;
        border-radius: 13px !important;
        background: var(--tpp-tile-color) !important;
        color: #ffffff !important;
        font-size: 13px !important;
        box-shadow: 0 9px 18px color-mix(in srgb, var(--tpp-tile-color) 24%, transparent) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile strong,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile strong {
        display: block !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: #07152f !important;
        font-size: 15.5px !important;
        line-height: 1.16 !important;
        font-weight: 950 !important;
        white-space: normal !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile small,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile small {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        background: color-mix(in srgb, var(--tpp-tile-color) 10%, #ffffff) !important;
        border: 1px solid color-mix(in srgb, var(--tpp-tile-color) 18%, #e5edf5) !important;
        color: color-mix(in srgb, var(--tpp-tile-color) 72%, #0f172a) !important;
        font-size: 10.5px !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-blue { --tpp-tile-color: var(--tpp-blue); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-green { --tpp-tile-color: var(--tpp-green); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-purple { --tpp-tile-color: var(--tpp-purple); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-orange { --tpp-tile-color: var(--tpp-orange); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-cyan { --tpp-tile-color: var(--tpp-cyan); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-indigo { --tpp-tile-color: var(--tpp-indigo); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-red { --tpp-tile-color: var(--tpp-red); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-amber { --tpp-tile-color: var(--tpp-amber); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-slate { --tpp-tile-color: var(--tpp-slate); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-pink { --tpp-tile-color: var(--tpp-pink); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-teal { --tpp-tile-color: var(--tpp-teal); }
    .tpp-app-shell[data-tpp-app="1"] .tpp-tone-navy { --tpp-tile-color: var(--tpp-navy); }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
        align-items: stretch !important;
        min-width: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel > .tpp-panel {
        min-width: 0 !important;
        min-height: 100% !important;
        padding: 17px !important;
        border-radius: 20px !important;
        background: rgba(255, 255, 255, 0.97) !important;
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts {
        order: -3 !important;
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
        gap: 10px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts h2 {
        grid-column: 1 / -1 !important;
        margin: 0 0 4px !important;
        font-size: 20px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button {
        min-height: 50px !important;
        padding: 11px 12px !important;
        border-radius: 14px !important;
        text-align: center !important;
        background: linear-gradient(135deg, #ffffff 0%, #f3f7ff 100%) !important;
        border: 1px solid #dce7f3 !important;
        color: #0b1730 !important;
        font-size: 13px !important;
        line-height: 1.16 !important;
        font-weight: 950 !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button:hover {
        background: linear-gradient(135deg, var(--tpp-brand-primary), var(--tpp-brand-secondary)) !important;
        border-color: transparent !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-notification-card {
        order: -2 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-dashboard-staff-card {
        order: -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-announcement {
        order: 1 !important;
        background: linear-gradient(145deg, #0b1730, #112653) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-notification-card .tpp-alert-list-compact {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
        gap: 10px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-notification-card .tpp-alert-row {
        min-height: 86px !important;
        padding: 13px !important;
        border-radius: 14px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-notification-card .tpp-notification-open,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-staff-card .tpp-staff-manage-button {
        min-height: 44px !important;
        border-radius: 13px !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-staff-card .tpp-dashboard-staff-main {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 13px !important;
        align-items: center !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-staff-card .tpp-dashboard-staff-avatar {
        width: 54px !important;
        height: 54px !important;
        border-radius: 17px !important;
    }
}

@media (min-width: 1380px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1024px) and (max-width: 1180px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-side-panel,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts {
        grid-template-columns: 1fr !important;
    }
}


/* v1.6.54 Service Center launchpad correction
   Removes the redundant Open module pill, restores the original per-service icon colors,
   and keeps enabled services in a compact multi-column button grid. */
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(190px, 1fr)) !important;
    gap: 12px !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile {
    min-height: 72px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    background: #ffffff !important;
    border: 1px solid #dce7f3 !important;
    border-left: 1px solid #dce7f3 !important;
    box-shadow: 0 9px 20px rgba(15, 23, 42, 0.045) !important;
    overflow: hidden !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(37, 99, 235, 0.26) !important;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    border-radius: 13px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08) !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-blue .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-blue .tpp-service-icon { background: var(--tpp-blue) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-green .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-green .tpp-service-icon { background: var(--tpp-green) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-purple .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-purple .tpp-service-icon { background: var(--tpp-purple) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-orange .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-orange .tpp-service-icon { background: var(--tpp-orange) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-cyan .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-cyan .tpp-service-icon { background: var(--tpp-cyan) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-indigo .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-indigo .tpp-service-icon { background: var(--tpp-indigo) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-red .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-red .tpp-service-icon { background: var(--tpp-red) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-amber .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-amber .tpp-service-icon { background: var(--tpp-amber) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-slate .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-slate .tpp-service-icon { background: var(--tpp-slate) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-pink .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-pink .tpp-service-icon { background: var(--tpp-pink) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-teal .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-teal .tpp-service-icon { background: var(--tpp-teal) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-tone-navy .tpp-service-icon,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-tone-navy .tpp-service-icon { background: var(--tpp-navy) !important; }

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile strong,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile strong {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #07152f !important;
    font-size: 15.5px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile small,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile small {
    display: none !important;
}

@media (min-width: 1024px) and (max-width: 1320px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: 1fr !important;
    }
}


/* TransferPilot Pro v1.6.55 - Branding persistence, button state, font sizing, and dashboard correction polish.
   Presentation/settings-only: preserves CRM data and business logic. */
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1,
body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.02 !important;
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-grid,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-grid {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
        gap: 12px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile {
        min-height: 64px !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 12px !important;
        background: #ffffff !important;
        border: 1px solid #dbe6f1 !important;
        border-left: 1px solid #dbe6f1 !important;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04) !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-tile small,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-tile small {
        display: none !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-service-panel .tpp-service-icon,
    .tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-main-column .tpp-service-icon {
        background: var(--tpp-tile-color) !important;
    }
}

.tpp-app-shell[data-tpp-app="1"] .tpp-shortcuts button,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button,
.tpp-app-shell[data-tpp-app="1"] .tpp-submit,
.tpp-app-shell[data-tpp-app="1"] .tpp-search-row button,
.tpp-app-shell[data-tpp-app="1"] .tpp-global-search button {
    background: var(--tpp-brand-button) !important;
    border-color: var(--tpp-brand-button) !important;
    color: #ffffff !important;
}

.tpp-app-shell[data-tpp-app="1"] .tpp-shortcuts button:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-shortcuts button:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-shortcuts button:active,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-dashboard-flow-grid .tpp-shortcuts button:active,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-primary-button:active,
.tpp-app-shell[data-tpp-app="1"] .tpp-submit:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-submit:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-submit:active,
.tpp-app-shell[data-tpp-app="1"] .tpp-search-row button:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-search-row button:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-search-row button:active,
.tpp-app-shell[data-tpp-app="1"] .tpp-global-search button:hover,
.tpp-app-shell[data-tpp-app="1"] .tpp-global-search button:focus,
.tpp-app-shell[data-tpp-app="1"] .tpp-global-search button:active {
    background: var(--tpp-brand-button-hover) !important;
    border-color: var(--tpp-brand-button-hover) !important;
    color: #ffffff !important;
}

.tpp-admin-wrap .tpp-admin-appearance-grid input[type="number"],
.tpp-app-shell[data-tpp-app="1"] .tpp-branding-size-grid input[type="number"] {
    width: 100%;
    min-height: 42px;
}

.tpp-admin-wrap textarea[name="remittance_providers"] {
    min-height: 180px;
    resize: vertical;
}

/* TransferPilot Pro v1.6.56 - Header sizing, button containment, and brand control correction.
   UI/settings-only: preserves CRM records, module routing, calculations, license checks, and data tables. */
.tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1,
body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
    font-size: var(--tpp-heading-size) !important;
    line-height: 1.04 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
}

@media (min-width: 1024px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        display: grid !important;
        grid-template-columns: minmax(300px, 0.82fr) minmax(240px, 1fr) minmax(318px, max-content) !important;
        align-items: center !important;
        gap: 12px !important;
        overflow: visible !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-main {
        overflow: visible !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-global-search,
    .tpp-app-shell[data-tpp-app="1"] .tpp-global-search {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions {
        min-width: 0 !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        min-width: 150px !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 1024px) and (max-width: 1220px) {
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar,
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar {
        grid-template-columns: minmax(260px, 0.8fr) minmax(210px, 1fr) minmax(292px, max-content) !important;
        gap: 9px !important;
    }
    .tpp-app-shell[data-tpp-app="1"] .tpp-date,
    .tpp-app-shell[data-tpp-app="1"] .tpp-logout-link,
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: max(12px, calc(var(--tpp-font-size-button) - 2px)) !important;
    }
    .tpp-app-shell[data-tpp-app="1"] .tpp-top-actions .tpp-primary-button {
        min-width: 132px !important;
    }
}

@media (max-width: 1023px) {
    .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1,
    body.tpp-crm-app-page .tpp-app-shell[data-tpp-app="1"] .tpp-topbar h1 {
        white-space: normal !important;
    }
}

/* Keep service icon colors tied to each enabled service tone, not the global button color. */
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-blue .tpp-service-icon { background: var(--tpp-blue) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-green .tpp-service-icon { background: var(--tpp-green) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-purple .tpp-service-icon { background: var(--tpp-purple) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-orange .tpp-service-icon { background: var(--tpp-orange) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-cyan .tpp-service-icon { background: var(--tpp-cyan) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-indigo .tpp-service-icon { background: var(--tpp-indigo) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-red .tpp-service-icon { background: var(--tpp-red) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-amber .tpp-service-icon { background: var(--tpp-amber) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-slate .tpp-service-icon { background: var(--tpp-slate) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-pink .tpp-service-icon { background: var(--tpp-pink) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-teal .tpp-service-icon { background: var(--tpp-teal) !important; }
.tpp-app-shell[data-tpp-app="1"] .tpp-tone-navy .tpp-service-icon { background: var(--tpp-navy) !important; }

.tpp-app-shell[data-tpp-app="1"] .tpp-branding-size-grid small,
.tpp-app-shell[data-tpp-app="1"] .tpp-branding-color-grid small {
    display: none !important;
}

/* v1.6.57 Money Transfer sender/receiver record flow */
.tpp-money-transfer-identity {
    display: grid;
    gap: 16px;
    margin: 4px 0 18px;
}

.tpp-service-subsection {
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: rgba(248, 250, 252, 0.9);
    border-radius: 18px;
    padding: 16px;
}

.tpp-service-subsection-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.tpp-service-subsection-heading strong {
    color: #0f172a;
    font-size: 14px;
    letter-spacing: -0.01em;
}

.tpp-service-subsection-heading small {
    color: #64748b;
    line-height: 1.45;
    max-width: 560px;
    text-align: right;
}

.tpp-form-grid.three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tpp-destination-country-field small.tpp-help-text {
    display: block;
    margin-top: 6px;
}

@media (max-width: 900px) {
    .tpp-form-grid.three {
        grid-template-columns: 1fr;
    }
    .tpp-service-subsection-heading {
        display: block;
    }
    .tpp-service-subsection-heading small {
        display: block;
        text-align: left;
        margin-top: 6px;
    }
}


/* v1.6.58 Phone field and transaction fee-button alignment polish */
.tpp-app-shell[data-tpp-app="1"] input[type="tel"],
.tpp-app-shell[data-tpp-app="1"] input[name="phone"],
.tpp-app-shell[data-tpp-app="1"] input[name="requested_phone"],
.tpp-app-shell[data-tpp-app="1"] input[name*="[sender_phone]"],
.tpp-app-shell[data-tpp-app="1"] input[name*="[receiver_phone]"] {
    letter-spacing: .01em;
}

@media (min-width: 1024px) {
    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-money-grid {
        align-items: start !important;
    }

    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-fee-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) !important;
        align-items: end !important;
        column-gap: 12px !important;
        row-gap: 6px !important;
    }

    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-fee-field > span,
    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-rule-hint {
        grid-column: 1 / -1 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-fee-field > input.tpp-fee {
        grid-column: 1 / 2 !important;
        margin: 0 !important;
    }

    .tpp-app-shell[data-tpp-app="1"] [data-tpp-transaction-form="1"] .tpp-fee-field > .tpp-fee-apply {
        grid-column: 2 / 3 !important;
        align-self: end !important;
        justify-self: stretch !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
    }
}
