
:root {
    --utap-bg: #f5f7fb;
    --utap-surface: #ffffff;
    --utap-surface-soft: #f8fafc;
    --utap-border: #e6eaf0;
    --utap-text: #18202c;
    --utap-muted: #718096;
    --utap-muted-2: #9aa6b5;
    --utap-blue: #2563eb;
    --utap-blue-soft: #edf4ff;
    --utap-green: #16855b;
    --utap-green-soft: #edf9f4;
    --utap-red: #d64747;
    --utap-amber: #d79a21;
    --utap-shadow: 0 10px 30px rgba(26, 39, 61, 0.055);
    --utap-radius: 18px;
    --utap-sidebar: 250px;
}

* {
    box-sizing: border-box;
}

html {
    background: var(--utap-bg);
}

body.utap-light {
    margin: 0;
    background: var(--utap-bg);
    color: var(--utap-text);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

.utap-app {
    min-height: 100vh;
}

.utap-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    width: var(--utap-sidebar);
    padding: 26px 18px 22px;
    background: #fff;
    border-right: 1px solid var(--utap-border);
    display: flex;
    flex-direction: column;
}

.utap-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 8px 26px;
}

.utap-brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--utap-blue);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 7px 18px rgba(37, 99, 235, .2);
}

.utap-brand strong,
.utap-brand span {
    display: block;
}

.utap-brand strong {
    font-size: 17px;
    letter-spacing: .04em;
}

.utap-brand span {
    margin-top: 2px;
    font-size: 11px;
    color: var(--utap-muted);
}

.utap-nav {
    display: grid;
    gap: 6px;
}

.utap-nav-item {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 12px;
    border-radius: 12px;
    color: #5e6a7b;
    font-size: 14px;
    font-weight: 600;
    transition: .18s ease;
}

.utap-nav-item:hover {
    background: var(--utap-surface-soft);
    color: var(--utap-text);
}

.utap-nav-item.is-active {
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
}

.utap-nav-icon {
    width: 22px;
    text-align: center;
    font-size: 17px;
}

.utap-sidebar-footer {
    margin-top: auto;
    display: grid;
    gap: 4px;
}

.utap-main {
    min-height: 100vh;
    margin-left: var(--utap-sidebar);
    padding: 30px clamp(24px, 4vw, 52px) 56px;
}

.utap-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.utap-topbar h1,
.utap-panel h2,
.utap-modal h2 {
    margin: 0;
    letter-spacing: -.025em;
}

.utap-topbar h1 {
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.15;
}

.utap-kicker {
    margin: 0 0 6px;
    color: var(--utap-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.utap-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.utap-search-button,
.utap-primary-button,
.utap-period-button,
.utap-modal-close,
.utap-mobile-menu {
    border: 0;
    cursor: pointer;
}

.utap-search-button {
    min-height: 42px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fff;
    color: var(--utap-muted);
}

.utap-search-button kbd {
    margin-left: 8px;
    padding: 2px 6px;
    border: 1px solid var(--utap-border);
    border-bottom-width: 2px;
    border-radius: 6px;
    background: var(--utap-surface-soft);
    color: var(--utap-muted-2);
    font-size: 11px;
}

.utap-primary-button {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 12px;
    background: var(--utap-blue);
    color: #fff;
    font-weight: 750;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .18);
}

.utap-notice {
    margin-bottom: 18px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #d9e7ff;
    border-radius: 14px;
    background: #f5f9ff;
    color: #38557d;
    font-size: 13px;
}

.utap-notice strong,
.utap-notice span {
    display: inline;
}

.utap-notice strong {
    margin-right: 5px;
    color: #26446f;
}

.utap-badge {
    padding: 5px 8px;
    border-radius: 8px;
    background: #e4efff;
    color: var(--utap-blue);
    font-weight: 800;
    white-space: nowrap;
}

.utap-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.utap-kpi-card,
.utap-panel {
    border: 1px solid var(--utap-border);
    background: var(--utap-surface);
    box-shadow: var(--utap-shadow);
}

.utap-kpi-card {
    min-height: 144px;
    padding: 20px;
    border-radius: 16px;
}

.utap-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 700;
}

.utap-kpi-card > strong {
    display: block;
    margin-top: 18px;
    font-size: clamp(23px, 2vw, 30px);
    letter-spacing: -.035em;
}

.utap-kpi-card small {
    display: block;
    margin-top: 8px;
    color: var(--utap-muted-2);
}

.utap-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--utap-blue);
    box-shadow: 0 0 0 4px var(--utap-blue-soft);
}

.utap-dot--green {
    background: var(--utap-green);
    box-shadow: 0 0 0 4px var(--utap-green-soft);
}

.utap-dot--amber {
    background: var(--utap-amber);
    box-shadow: 0 0 0 4px #fff7e6;
}

.utap-dot--blue {
    background: #6b7c93;
    box-shadow: 0 0 0 4px #edf1f5;
}

.utap-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
    gap: 14px;
}

.utap-panel {
    min-height: 260px;
    padding: 22px;
    border-radius: var(--utap-radius);
}

.utap-panel--wide {
    min-height: 350px;
}

.utap-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.utap-panel h2 {
    font-size: 18px;
}

.utap-period-button {
    padding: 8px 10px;
    border-radius: 9px;
    background: var(--utap-surface-soft);
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 700;
}

.utap-link-muted {
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 700;
}

.utap-empty-chart {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
    display: grid;
    place-items: center;
}

.utap-chart-lines {
    position: absolute;
    inset: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.utap-chart-lines i {
    border-top: 1px dashed #e3e8ef;
}

.utap-empty-copy {
    position: relative;
    z-index: 2;
    max-width: 360px;
    padding: 20px;
    text-align: center;
}

.utap-empty-copy strong,
.utap-empty-copy span,
.utap-empty-state strong,
.utap-empty-state span {
    display: block;
}

.utap-empty-copy strong {
    margin-bottom: 7px;
}

.utap-empty-copy span,
.utap-empty-state span {
    color: var(--utap-muted);
    font-size: 12px;
    line-height: 1.55;
}

.utap-cashflow-list {
    display: grid;
    gap: 4px;
}

.utap-cashflow-list > div {
    padding: 12px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #eef1f5;
    font-size: 13px;
}

.utap-cashflow-list span {
    color: var(--utap-muted);
}

.utap-cashflow-total {
    margin-top: 6px;
    padding: 14px 14px !important;
    border: 0 !important;
    border-radius: 12px;
    background: var(--utap-surface-soft);
}

.utap-positive {
    color: var(--utap-green);
}

.utap-empty-state {
    min-height: 155px;
    padding: 24px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed #dce2ea;
    border-radius: 14px;
    background: #fbfcfe;
}

.utap-empty-state--compact {
    min-height: 130px;
    grid-template-columns: auto 1fr;
    gap: 14px;
    text-align: left;
    justify-items: start;
}

.utap-empty-icon,
.utap-status-ok {
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-weight: 800;
}

.utap-status-ok {
    margin: 0;
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-mobile-menu {
    display: none;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--utap-border);
}

.utap-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;
    padding: 24px;
    background: rgba(16, 24, 40, .28);
    backdrop-filter: blur(5px);
    display: grid;
    place-items: center;
}

.utap-modal-backdrop[hidden] {
    display: none;
}

.utap-modal {
    width: min(620px, 100%);
    padding: 24px;
    border: 1px solid var(--utap-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(26, 39, 61, .18);
}

.utap-modal-header {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.utap-modal-close {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--utap-surface-soft);
    color: var(--utap-muted);
    font-size: 24px;
    line-height: 1;
}

.utap-quick-add-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.utap-quick-add-grid button {
    min-height: 128px;
    padding: 18px;
    text-align: left;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    opacity: 1;
}

.utap-quick-add-grid button:disabled {
    cursor: default;
}

.utap-quick-add-grid strong,
.utap-quick-add-grid small {
    display: block;
}

.utap-quick-add-grid strong {
    margin: 10px 0 4px;
    color: var(--utap-text);
}

.utap-quick-add-grid small {
    color: var(--utap-muted);
    line-height: 1.4;
}

.utap-quick-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-weight: 800;
}

.utap-modal-note {
    margin: 16px 0 0;
    color: var(--utap-muted);
    font-size: 12px;
    line-height: 1.5;
}

.utap-login-shell {
    min-height: 100vh;
    padding: 28px;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 20% 10%, rgba(37,99,235,.06), transparent 35%),
        var(--utap-bg);
}

.utap-login-card {
    width: min(430px, 100%);
    padding: 34px;
    border: 1px solid var(--utap-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-brand--login {
    padding: 0 0 28px;
}

.utap-login-copy {
    margin-bottom: 24px;
}

.utap-login-copy h1 {
    margin: 0 0 10px;
    font-size: 28px;
    letter-spacing: -.03em;
}

.utap-login-copy p:last-child {
    margin: 0;
    color: var(--utap-muted);
    line-height: 1.55;
}

.utap-login-card form p {
    margin: 0 0 16px;
}

.utap-login-card label {
    display: block;
    margin-bottom: 7px;
    color: #4a5568;
    font-size: 12px;
    font-weight: 700;
}

.utap-login-card input[type="text"],
.utap-login-card input[type="password"] {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #dce2ea;
    border-radius: 11px;
    outline: none;
    background: #fff;
}

.utap-login-card input:focus {
    border-color: #9fbbef;
    box-shadow: 0 0 0 4px var(--utap-blue-soft);
}

.utap-login-card .login-remember label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.utap-login-card input[type="submit"] {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 11px;
    background: var(--utap-blue);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.utap-simple-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.utap-simple-card {
    width: min(560px, 100%);
    padding: 32px;
    border: 1px solid var(--utap-border);
    border-radius: 20px;
    background: #fff;
}

@media (max-width: 1100px) {
    .utap-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .utap-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .utap-sidebar {
        transform: translateX(-104%);
        transition: transform .22s ease;
        box-shadow: 12px 0 35px rgba(26, 39, 61, .1);
    }

    .utap-sidebar.is-open {
        transform: translateX(0);
    }

    .utap-main {
        margin-left: 0;
        padding: 22px 18px 42px;
    }

    .utap-mobile-menu {
        display: grid;
        place-items: center;
        flex: 0 0 auto;
    }

    .utap-topbar {
        align-items: flex-start;
    }

    .utap-search-button {
        display: none;
    }

    .utap-topbar > div:nth-child(2) {
        flex: 1;
    }
}

@media (max-width: 620px) {
    .utap-topbar {
        flex-wrap: wrap;
    }

    .utap-topbar-actions {
        width: 100%;
    }

    .utap-primary-button {
        width: 100%;
    }

    .utap-notice {
        align-items: flex-start;
    }

    .utap-notice div span {
        display: block;
        margin-top: 4px;
        line-height: 1.45;
    }

    .utap-kpi-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .utap-kpi-card {
        min-height: 126px;
        padding: 16px;
    }

    .utap-kpi-card > strong {
        font-size: 20px;
    }

    .utap-dashboard-grid {
        gap: 10px;
    }

    .utap-panel {
        padding: 18px;
    }

    .utap-quick-add-grid {
        grid-template-columns: 1fr;
    }

    .utap-modal {
        padding: 20px;
    }
}

@media (max-width: 430px) {
    .utap-kpi-grid {
        grid-template-columns: 1fr;
    }

    .utap-login-shell {
        padding: 16px;
    }

    .utap-login-card {
        padding: 26px 22px;
    }
}


/* v0.2 refinements */
.utap-svg-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

.utap-nav-item .utap-svg-icon {
    width: 19px;
    height: 19px;
}

.utap-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.utap-primary-button .utap-svg-icon {
    width: 18px;
    height: 18px;
}

.utap-page-heading {
    min-width: 0;
}

.utap-period-label {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 650;
}

.utap-period-label .utap-svg-icon {
    width: 15px;
    height: 15px;
}

.utap-secondary-kpis {
    margin: -2px 0 14px;
    padding: 14px 18px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
}

.utap-secondary-kpis > div {
    min-height: 42px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-right: 1px solid var(--utap-border);
}

.utap-secondary-kpis > div:first-child {
    padding-left: 0;
}

.utap-secondary-kpis > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.utap-secondary-kpis span {
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 650;
}

.utap-secondary-kpis strong {
    font-size: 14px;
}

.utap-panel-meta {
    color: var(--utap-muted-2);
    font-size: 11px;
    font-weight: 700;
}

.utap-empty-icon .utap-svg-icon,
.utap-status-ok .utap-svg-icon {
    width: 21px;
    height: 21px;
}

.utap-dot--slate {
    background: #8090a4;
    box-shadow: 0 0 0 4px #eef2f6;
}

.utap-quick-symbol {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 12px;
    font-weight: 850;
}

@media (max-width: 1050px) {
    .utap-secondary-kpis {
        grid-template-columns: repeat(3, minmax(0,1fr));
        row-gap: 12px;
    }

    .utap-secondary-kpis > div {
        border-right: 0;
        padding: 0 12px;
    }

    .utap-secondary-kpis > div:first-child {
        padding-left: 12px;
    }
}

@media (max-width: 620px) {
    .utap-secondary-kpis {
        grid-template-columns: 1fr 1fr;
        padding: 12px;
    }

    .utap-secondary-kpis > div {
        padding: 0 8px !important;
    }
}


/* v0.3 - pierwszy działający moduł: Pojazdy */
.utap-heading-subtitle {
    margin: 7px 0 0;
    color: var(--utap-muted);
    font-size: 12px;
}

.utap-system-message {
    margin-bottom: 14px;
    padding: 14px 16px;
    display: flex;
    gap: 7px;
    border-radius: 12px;
    font-size: 12px;
}

.utap-system-message strong {
    color: var(--utap-text);
}

.utap-system-message span {
    color: var(--utap-muted);
}

.utap-system-message--warning {
    border: 1px solid #f1ddb0;
    background: #fffaf0;
}

.utap-module-summary {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.utap-module-summary article {
    padding: 18px 20px;
    border: 1px solid var(--utap-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-module-summary span,
.utap-module-summary strong {
    display: block;
}

.utap-module-summary span {
    color: var(--utap-muted);
    font-size: 11px;
    font-weight: 700;
}

.utap-module-summary strong {
    margin-top: 8px;
    font-size: 24px;
    letter-spacing: -.03em;
}

.utap-vehicles-empty {
    min-height: 430px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.utap-vehicles-empty h2 {
    margin: 8px 0;
    font-size: 20px;
}

.utap-vehicles-empty p {
    max-width: 520px;
    margin: 0 0 20px;
    color: var(--utap-muted);
    font-size: 13px;
    line-height: 1.6;
}

.utap-vehicles-panel {
    min-height: 0;
}

.utap-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--utap-border);
    border-radius: 13px;
}

.utap-table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
    background: #fff;
}

.utap-table th,
.utap-table td {
    padding: 14px 15px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    white-space: nowrap;
    vertical-align: middle;
}

.utap-table th {
    background: #fafbfd;
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.utap-table td {
    color: #4b586b;
    font-size: 12px;
}

.utap-table tbody tr:last-child td {
    border-bottom: 0;
}

.utap-vehicle-name {
    display: flex;
    align-items: center;
    gap: 11px;
}

.utap-vehicle-name strong,
.utap-vehicle-name small {
    display: block;
}

.utap-vehicle-name strong {
    color: var(--utap-text);
    font-size: 13px;
}

.utap-vehicle-name small {
    margin-top: 3px;
    color: var(--utap-muted-2);
    font-size: 10px;
}

.utap-vehicle-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
}

.utap-vehicle-icon .utap-svg-icon {
    width: 19px;
    height: 19px;
}

.utap-date-ok {
    color: var(--utap-green);
    font-weight: 700;
}

.utap-date-warning {
    color: #b47a0b;
    font-weight: 800;
}

.utap-date-danger {
    color: var(--utap-red);
    font-weight: 800;
}

.utap-date-muted {
    color: var(--utap-muted-2);
}

.utap-status-toggle {
    padding: 6px 9px;
    border: 0;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.utap-status-toggle.is-active {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-status-toggle.is-inactive {
    background: #f1f3f6;
    color: #778396;
}

.utap-profit-placeholder {
    color: var(--utap-muted-2);
    font-weight: 800;
}

.utap-panel-link {
    color: var(--utap-blue);
    font-size: 11px;
    font-weight: 800;
}

.utap-dashboard-vehicle-ready {
    min-height: 155px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #dce7f7;
    border-radius: 14px;
    background: #fbfdff;
}

.utap-dashboard-vehicle-ready strong,
.utap-dashboard-vehicle-ready span {
    display: block;
}

.utap-dashboard-vehicle-ready span {
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 12px;
    line-height: 1.5;
}

.utap-inline-button {
    margin-top: 14px;
    padding: 8px 11px;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 11px;
    font-weight: 800;
}

.utap-modal--vehicle {
    width: min(760px, 100%);
}

.utap-form {
    display: grid;
    gap: 16px;
}

.utap-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
}

.utap-form label {
    display: grid;
    gap: 6px;
}

.utap-form label > span {
    color: #596679;
    font-size: 11px;
    font-weight: 750;
}

.utap-form input,
.utap-form select,
.utap-form textarea {
    width: 100%;
    border: 1px solid #dce2ea;
    border-radius: 10px;
    background: #fff;
    color: var(--utap-text);
    outline: none;
}

.utap-form input,
.utap-form select {
    min-height: 42px;
    padding: 0 11px;
}

.utap-form textarea {
    padding: 10px 11px;
    resize: vertical;
}

.utap-form input:focus,
.utap-form select:focus,
.utap-form textarea:focus {
    border-color: #9fbbef;
    box-shadow: 0 0 0 4px var(--utap-blue-soft);
}

.utap-form-full {
    grid-column: 1 / -1;
}

.utap-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding-top: 3px;
}

.utap-secondary-button {
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: #fff;
    color: var(--utap-muted);
    font-weight: 750;
    cursor: pointer;
}

.utap-form-message {
    padding: 10px 12px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}

.utap-form-message.is-success {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-form-message.is-error {
    background: #fff0f0;
    color: var(--utap-red);
}

@media (max-width: 700px) {
    .utap-module-summary {
        grid-template-columns: 1fr;
    }

    .utap-form-grid {
        grid-template-columns: 1fr;
    }

    .utap-modal--vehicle {
        max-height: calc(100vh - 30px);
        overflow-y: auto;
    }
}


/* v0.4 - Kierowcy i Klienci */
.utap-form input[type="email"] {
    width: 100%;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #dce2ea;
    border-radius: 10px;
    background: #fff;
    color: var(--utap-text);
    outline: none;
}

.utap-form input[type="email"]:focus {
    border-color: #9fbbef;
    box-shadow: 0 0 0 4px var(--utap-blue-soft);
}


/* v0.5 - edycja rekordów */
.utap-actions-col,
.utap-actions-cell {
    width: 1%;
    text-align: right !important;
}

.utap-edit-button {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    background: #fff;
    color: #526176;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    transition: .16s ease;
}

.utap-edit-button:hover {
    border-color: #aac3ef;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
}


/* v0.6 - Finanse */
.utap-topbar-actions--finance {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.utap-secondary-action {
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #dfe4eb;
    border-radius: 12px;
    background: #fff;
    color: #596679;
    font-weight: 800;
    cursor: pointer;
}

.utap-finance-summary {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}

.utap-finance-summary article {
    padding: 18px 20px;
    border: 1px solid var(--utap-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-finance-summary span,
.utap-finance-summary strong {
    display: block;
}

.utap-finance-summary span {
    color: var(--utap-muted);
    font-size: 11px;
    font-weight: 700;
}

.utap-finance-summary strong {
    margin-top: 9px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.utap-negative {
    color: var(--utap-red) !important;
}

.utap-finance-layout {
    display: grid;
    gap: 14px;
}

.utap-finance-panel {
    min-height: 0;
}

.utap-small-add {
    min-height: 32px;
    padding: 0 11px;
    border: 0;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.utap-small-add--expense {
    background: #f3f5f8;
    color: #596679;
}

.utap-finance-empty {
    min-height: 130px;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px dashed #dce2ea;
    border-radius: 13px;
    background: #fbfcfe;
}

.utap-finance-empty strong,
.utap-finance-empty span {
    display: block;
}

.utap-finance-empty span {
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 12px;
}

.utap-finance-table {
    min-width: 1100px;
}

.utap-payment-button {
    min-height: 28px;
    padding: 0 9px;
    border: 0;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.utap-payment-button.is-paid {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-payment-button.is-unpaid {
    background: #fff7e8;
    color: #a66b00;
}

.utap-payment-button.is-overdue {
    background: #fff0f0;
    color: var(--utap-red);
}

.utap-quick-add-grid a {
    min-height: 128px;
    padding: 18px;
    text-align: left;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    display: block;
    transition: .16s ease;
}

.utap-quick-add-grid a:hover {
    border-color: #bcd0f4;
    background: #fbfdff;
    transform: translateY(-1px);
}

.utap-quick-add-grid a strong,
.utap-quick-add-grid a small {
    display: block;
}

.utap-quick-add-grid a strong {
    margin: 10px 0 4px;
    color: var(--utap-text);
}

.utap-quick-add-grid a small {
    color: var(--utap-muted);
    line-height: 1.4;
}

.utap-form input[type="text"],
.utap-form input[type="date"] {
    width: 100%;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #dce2ea;
    border-radius: 10px;
    background: #fff;
    color: var(--utap-text);
    outline: none;
}

@media (max-width: 900px) {
    .utap-finance-summary {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .utap-finance-summary {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }

    .utap-finance-summary article {
        padding: 15px;
    }

    .utap-finance-summary strong {
        font-size: 18px;
    }

    .utap-topbar-actions--finance {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}


/* v0.7 - Eksploatacja i czytelniejsze finanse */
.utap-info-strip {
    margin: -4px 0 14px;
    padding: 11px 13px;
    border: 1px solid #dce7f7;
    border-radius: 10px;
    background: #f8fbff;
    color: #5d6d82;
    font-size: 11px;
    line-height: 1.5;
}

.utap-info-strip strong {
    color: #334b70;
    margin-right: 4px;
}

.utap-live-total {
    padding: 11px 13px;
    border-radius: 10px;
    background: var(--utap-surface-soft);
    color: var(--utap-text);
    font-size: 12px;
    font-weight: 800;
}

.utap-row-sub {
    display: block;
    margin-top: 3px;
    color: var(--utap-muted-2);
    font-size: 9px;
    font-weight: 650;
}

.utap-profitability-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.utap-profitability-list > div {
    min-height: 145px;
    padding: 18px;
    border: 1px solid var(--utap-border);
    border-radius: 13px;
    background: #fbfcfe;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.utap-profitability-list span,
.utap-profitability-list strong,
.utap-profitability-list b {
    display: block;
}

.utap-profitability-list span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-profitability-list strong {
    margin-top: 7px;
    font-size: 13px;
}

.utap-profitability-list b {
    margin-top: 8px;
    font-size: 18px;
}

@media (max-width: 620px) {
    .utap-profitability-list {
        grid-template-columns: 1fr;
    }
}


/* v0.8 - wielowalutowość */
.utap-label-note {
    margin-left: 4px;
    color: var(--utap-muted-2);
    font-size: 9px;
    font-weight: 650;
}

.utap-exchange-rate-field[hidden] {
    display: none !important;
}

.utap-currency-summary {
    line-height: 1.5;
}

.utap-finance-table td strong + .utap-row-sub {
    max-width: 150px;
    white-space: normal;
}

.utap-form input[type="number"] {
    width: 100%;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #dce2ea;
    border-radius: 10px;
    background: #fff;
    color: var(--utap-text);
    outline: none;
}

.utap-form input[type="number"]:focus {
    border-color: #9fbbef;
    box-shadow: 0 0 0 4px var(--utap-blue-soft);
}


/* v0.9 - przełącznik PLN/EUR + kontrola brakujących kursów */
.utap-currency-toggle {
    display: inline-flex;
    padding: 3px;
    border: 1px solid #dfe4eb;
    border-radius: 11px;
    background: #fff;
}

.utap-currency-toggle a {
    min-width: 48px;
    height: 34px;
    padding: 0 11px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #738096;
    font-size: 11px;
    font-weight: 800;
    transition: .15s ease;
}

.utap-currency-toggle a.is-active {
    background: var(--utap-blue);
    color: #fff;
    box-shadow: 0 4px 12px rgba(37,99,235,.18);
}

.utap-display-currency-note {
    margin-bottom: 14px;
    padding: 13px 16px;
    border: 1px solid #dce7f7;
    border-radius: 13px;
    background: #f8fbff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.utap-display-currency-note strong,
.utap-display-currency-note span {
    display: block;
}

.utap-display-currency-note span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 10px;
}

.utap-display-rate {
    flex: 0 0 auto;
    color: #607086;
    font-size: 10px;
    text-align: right;
}

.utap-data-quality {
    margin-bottom: 14px;
    padding: 17px;
    border: 1px solid #f0d6a6;
    border-radius: 15px;
    background: #fffbf3;
}

.utap-data-quality__header h2 {
    margin: 2px 0 3px;
    font-size: 16px;
}

.utap-data-quality__header span {
    color: #8a7350;
    font-size: 10px;
}

.utap-data-quality__list {
    margin-top: 12px;
    display: grid;
    gap: 7px;
}

.utap-data-quality__list a {
    padding: 10px 11px;
    border: 1px solid #f1e1c4;
    border-radius: 10px;
    background: rgba(255,255,255,.72);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-data-quality__list strong,
.utap-data-quality__list span {
    display: block;
}

.utap-data-quality__list strong {
    color: var(--utap-text);
    font-size: 10px;
}

.utap-data-quality__list span {
    margin-top: 2px;
    color: #907a58;
    font-size: 9px;
}

.utap-data-quality__list b {
    color: #9a6400;
    font-size: 9px;
    white-space: nowrap;
}

.utap-row-warning {
    color: #b36b00 !important;
    font-weight: 800 !important;
}

.utap-profitability-list--single {
    grid-template-columns: 1fr;
}

@media (max-width: 700px) {
    .utap-display-currency-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .utap-display-rate {
        text-align: left;
    }

    .utap-topbar-actions {
        gap: 7px;
    }
}


/* v0.10 - kursy NBP + hotfix Dashboardu */
.utap-rate-control {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 7px;
}

.utap-rate-fetch {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #cdddf8;
    border-radius: 10px;
    background: #f5f9ff;
    color: var(--utap-blue);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.utap-rate-fetch:hover {
    background: var(--utap-blue-soft);
}

.utap-rate-fetch:disabled {
    opacity: .65;
    cursor: wait;
}

.utap-rate-status {
    display: block;
    min-height: 15px;
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 9px;
    line-height: 1.45;
}

.utap-rate-status.is-success { color: var(--utap-green); }
.utap-rate-status.is-warning { color: #a66b00; }
.utap-rate-status.is-manual { color: #64748b; }
.utap-rate-status.is-loading { color: var(--utap-blue); }

.utap-exchange-rate-field > span small {
    color: var(--utap-muted-2);
    font-size: 9px;
    font-weight: 650;
}

@media (max-width: 520px) {
    .utap-rate-control { grid-template-columns: 1fr; }
}


/* v0.10.1 — widoczny przełącznik waluty Dashboardu */
.utap-topbar-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.utap-currency-toggle {
    display: inline-flex !important;
    align-items: center;
    padding: 3px;
    border: 1px solid #dfe4eb;
    border-radius: 11px;
    background: #fff;
    flex: 0 0 auto;
}

.utap-currency-toggle a {
    min-width: 48px;
    height: 34px;
    padding: 0 11px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #738096;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.utap-currency-toggle a.is-active {
    background: var(--utap-blue);
    color: #fff;
    box-shadow: 0 4px 12px rgba(37,99,235,.18);
}

@media (max-width: 620px) {
    .utap-topbar-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}


/* v0.11 - pełny Cash Flow */
.utap-cashflow-start {
    margin-bottom: 14px;
    padding: 22px;
    border: 1px solid #cfe0fb;
    border-radius: 16px;
    background: linear-gradient(135deg,#f8fbff 0%,#fff 100%);
    display: flex;
    align-items: center;
    gap: 18px;
}

.utap-cashflow-start__icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.utap-cashflow-start h2 {
    margin: 3px 0 7px;
    font-size: 18px;
}

.utap-cashflow-start p {
    max-width: 760px;
    margin: 0 0 13px;
    color: var(--utap-muted);
    font-size: 11px;
    line-height: 1.6;
}

.utap-cashflow-layout {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr);
    gap: 14px;
    margin-bottom: 14px;
}

.utap-account-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}

.utap-account-card {
    padding: 16px;
    border: 1px solid var(--utap-border);
    border-radius: 13px;
    background: #fbfcfe;
}

.utap-account-card.is-inactive {
    opacity: .58;
}

.utap-account-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.utap-account-card__top span {
    display: inline-flex;
    margin-bottom: 4px;
    padding: 3px 6px;
    border-radius: 6px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 8px;
    font-weight: 850;
}

.utap-account-card__top strong {
    display: block;
    font-size: 11px;
}

.utap-account-card > b {
    display: block;
    margin-top: 16px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.utap-account-card > small {
    display: block;
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 9px;
}

.utap-cashflow-timeline {
    display: grid;
    gap: 6px;
}

.utap-cashflow-timeline > div {
    padding: 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.utap-cashflow-timeline > div.is-overdue {
    border-color: #f3cccc;
    background: #fffafa;
}

.utap-cf-direction {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-weight: 900;
}

.utap-cf-direction.is-in {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-cf-direction.is-out {
    background: #fff1f1;
    color: var(--utap-red);
}

.utap-cf-main {
    min-width: 0;
    flex: 1;
}

.utap-cf-main strong,
.utap-cf-main span {
    display: block;
}

.utap-cf-main strong {
    font-size: 10px;
}

.utap-cf-main span {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 9px;
}

.utap-cashflow-timeline > div > b {
    font-size: 10px;
    white-space: nowrap;
}

.utap-transfer-panel {
    margin-bottom: 20px;
}

.utap-secondary-action:disabled,
.utap-small-add:disabled {
    opacity: .45;
    cursor: not-allowed;
}

[data-settlement-account-wrap][hidden],
[data-settlement-amount-field][hidden] {
    display: none !important;
}

.utap-form label small {
    display: block;
    margin-top: 4px;
    color: var(--utap-muted-2);
    font-size: 8px;
    font-weight: 600;
}

@media (max-width: 1000px) {
    .utap-cashflow-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .utap-account-grid {
        grid-template-columns: 1fr;
    }

    .utap-cashflow-start {
        align-items: flex-start;
    }

    .utap-cashflow-timeline > div {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .utap-cashflow-timeline > div > b {
        width: 100%;
        padding-left: 38px;
    }
}


/* v0.12 - DKV */
.utap-provider-badge {
    min-height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    background: #fff4df;
    color: #9a6200;
    display: inline-flex;
    align-items: center;
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}

.utap-provider-badge.is-settled {
    background: #eef8f1;
    color: #27854d;
}

.utap-provider-badge.is-direct {
    background: #f1f5fa;
    color: #5b6a7e;
}

.utap-dkv-info,
.utap-dkv-modal-note {
    padding: 12px 13px;
    border: 1px solid #dce7f7;
    border-radius: 10px;
    background: #f8fbff;
}

.utap-dkv-info[hidden] {
    display: none !important;
}

.utap-dkv-info strong,
.utap-dkv-info span,
.utap-dkv-modal-note strong,
.utap-dkv-modal-note span {
    display: block;
}

.utap-dkv-info strong,
.utap-dkv-modal-note strong {
    color: #334b70;
    font-size: 10px;
}

.utap-dkv-info span,
.utap-dkv-modal-note span {
    margin-top: 3px;
    color: #708096;
    font-size: 9px;
    line-height: 1.5;
}

.utap-dkv-panel {
    margin-bottom: 14px;
}

.utap-dkv-summary {
    margin-bottom: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.utap-dkv-summary > div {
    padding: 15px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
}

.utap-dkv-summary span,
.utap-dkv-summary strong,
.utap-dkv-summary small {
    display: block;
}

.utap-dkv-summary span {
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 750;
}

.utap-dkv-summary strong {
    margin-top: 6px;
    font-size: 22px;
}

.utap-dkv-summary small {
    margin-top: 3px;
    color: var(--utap-muted-2);
    font-size: 9px;
}

@media (max-width: 620px) {
    .utap-dkv-summary {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
 * v0.13 — TRYB PROSTY
 * ============================================================ */

.utap-dashboard-more {
    margin: -2px 0 14px;
}

.utap-dashboard-more > summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
    color: #627187;
    font-size: 10px;
    font-weight: 800;
    user-select: none;
}

.utap-dashboard-more > summary::-webkit-details-marker {
    display: none;
}

.utap-dashboard-more > summary::before {
    content: '+';
    width: 18px;
    height: 18px;
    margin-right: 6px;
    border: 1px solid var(--utap-border);
    border-radius: 6px;
    display: inline-grid;
    place-items: center;
    background: #fff;
}

.utap-dashboard-more[open] > summary::before {
    content: '−';
}

.utap-dashboard-more > summary span {
    margin-left: 4px;
    color: #9aa5b4;
    font-weight: 650;
}

.utap-dashboard-more .utap-secondary-kpis {
    margin-top: 10px;
}

.utap-simple-mode .utap-advanced-field {
    display: none !important;
}

.utap-simple-toggle {
    margin-top: 4px;
    display: flex;
    justify-content: flex-start;
}

.utap-simple-toggle button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #627187;
    cursor: pointer;
    text-align: left;
}

.utap-simple-toggle button span {
    display: block;
    font-size: 10px;
    font-weight: 850;
}

.utap-simple-toggle button span::before {
    content: '+';
    margin-right: 5px;
}

.utap-advanced-mode .utap-simple-toggle button span::before {
    content: '−';
}

.utap-simple-toggle button small {
    display: block;
    margin-top: 2px;
    color: #9aa5b4;
    font-size: 8px;
    font-weight: 600;
}

.utap-auto-badge {
    padding: 4px 7px;
    border-radius: 7px;
    background: #eef6ff;
    color: #3869a8;
    font-size: 8px;
    font-weight: 800;
    white-space: nowrap;
}

.utap-muted-action {
    color: #9aa5b4;
    font-size: 8px;
    font-weight: 700;
    white-space: nowrap;
}

/* Ukryte dynamicznie pola płatności nie zajmują miejsca w gridzie. */
[data-payment-date-wrap][hidden],
[data-due-date-wrap][hidden] {
    display: none !important;
}

.utap-form label > span small {
    color: #9aa5b4;
    font-size: 8px;
    font-weight: 650;
}

@media (max-width: 620px) {
    .utap-dashboard-more > summary span {
        display: none;
    }
}


/* v0.13.1 — przewijane modale + kontrola licznika */
.utap-modal-backdrop {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.utap-modal {
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

.utap-modal-header {
    position: sticky;
    top: 0;
    z-index: 8;
    background: #fff;
}

.utap-form-actions {
    position: sticky;
    bottom: 0;
    z-index: 7;
    padding-top: 14px;
    padding-bottom: 4px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 22%, #fff 100%);
}

.utap-odometer-status {
    margin-top: 5px !important;
    padding: 7px 8px;
    border-radius: 7px;
    line-height: 1.45;
}

.utap-odometer-status.is-error {
    display: block;
    background: #fff1f1;
    color: #b42318 !important;
    font-weight: 800 !important;
}

.utap-input-error {
    border-color: #d92d20 !important;
    box-shadow: 0 0 0 3px rgba(217,45,32,.08) !important;
}

@media (max-width: 620px) {
    .utap-modal-backdrop {
        align-items: flex-start !important;
        padding: 8px !important;
    }
    .utap-modal {
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }
}


/* ============================================================
 * v0.14 — BEZPIECZNE USUWANIE
 * ============================================================ */

.utap-delete-button {
    margin-left: 5px;
    padding: 6px 8px;
    border: 1px solid #f1caca;
    border-radius: 7px;
    background: #fff;
    color: #b42318;
    cursor: pointer;
    font-size: 8px;
    font-weight: 850;
}

.utap-delete-button:hover:not(:disabled) {
    background: #fff5f5;
    border-color: #eaa8a8;
}

.utap-delete-button:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.utap-modal--confirm {
    width: min(520px, calc(100vw - 32px));
}

.utap-delete-content {
    padding: 22px 24px 8px;
}

.utap-delete-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 13px;
    border-radius: 11px;
    background: #fff1f1;
    color: #b42318;
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 900;
}

.utap-delete-content > p {
    margin: 0;
    color: #59677a;
    font-size: 11px;
    line-height: 1.65;
}

.utap-delete-rule {
    margin-top: 14px;
    padding: 11px 12px;
    border: 1px solid #e6eaf0;
    border-radius: 10px;
    background: #fafbfc;
}

.utap-delete-rule strong,
.utap-delete-rule span {
    display: block;
}

.utap-delete-rule strong {
    font-size: 9px;
}

.utap-delete-rule span {
    margin-top: 3px;
    color: #8390a2;
    font-size: 8px;
    line-height: 1.45;
}

.utap-danger-button {
    min-height: 38px;
    padding: 0 15px;
    border: 1px solid #b42318;
    border-radius: 9px;
    background: #b42318;
    color: #fff;
    cursor: pointer;
    font-size: 10px;
    font-weight: 850;
}

.utap-danger-button:disabled {
    opacity: .55;
    cursor: wait;
}

.utap-delete-actions {
    margin-top: 10px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 20px;
}

.utap-safety-note {
    margin-bottom: 10px;
    padding: 10px 11px;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
    background: #fafbfc;
}

.utap-safety-note strong,
.utap-safety-note span {
    display: block;
}

.utap-safety-note strong {
    font-size: 9px;
}

.utap-safety-note span {
    margin-top: 3px;
    color: #7d899a;
    font-size: 8px;
    line-height: 1.45;
}

.utap-table td:last-child {
    white-space: nowrap;
}


/* ============================================================
 * v0.15 — DASHBOARD V1
 * ============================================================ */

.utap-kpi-grid {
    grid-template-columns: repeat(5, minmax(0,1fr));
}

.utap-kpi-card {
    min-height: 132px;
    padding: 18px;
}

.utap-kpi-card > strong {
    font-size: clamp(20px,1.8vw,27px);
}

.utap-kpi-card--forecast {
    background: linear-gradient(145deg,#fff 0%,#f7fbff 100%);
}

.utap-currency-method-note {
    margin: -2px 0 14px;
    color: var(--utap-muted);
    font-size: 9px;
}

.utap-currency-method-note > summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
    font-weight: 750;
}

.utap-currency-method-note > summary::-webkit-details-marker {
    display: none;
}

.utap-currency-method-note > summary::before {
    content: 'i';
    width: 16px;
    height: 16px;
    margin-right: 6px;
    border: 1px solid var(--utap-border);
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    font-size: 8px;
}

.utap-currency-method-note > div {
    margin-top: 8px;
    padding: 9px 11px;
    border: 1px solid var(--utap-border);
    border-radius: 9px;
    background: #fbfcfe;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.utap-currency-method-note strong {
    white-space: nowrap;
    color: var(--utap-text);
}

.utap-month-compare-panel {
    min-height: 0;
}

.utap-month-compare-head,
.utap-month-compare-row {
    display: grid;
    grid-template-columns: minmax(130px,1.05fr) minmax(120px,1fr) minmax(120px,1fr) 72px;
    gap: 12px;
    align-items: center;
}

.utap-month-compare-head {
    padding: 0 12px 8px;
    color: var(--utap-muted-2);
    font-size: 8px;
    text-align: right;
}

.utap-month-compare-head strong {
    color: var(--utap-text);
    font-size: 9px;
}

.utap-month-compare-row {
    min-height: 52px;
    padding: 0 12px;
    border-top: 1px solid #eef1f5;
}

.utap-month-compare-row > span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-month-compare-row > strong,
.utap-month-compare-row > b {
    text-align: right;
    font-size: 12px;
}

.utap-month-compare-row > b {
    color: #8a96a7;
    font-weight: 750;
}

.utap-month-compare-row > em {
    justify-self: end;
    min-width: 58px;
    padding: 5px 7px;
    border-radius: 7px;
    font-size: 8px;
    font-style: normal;
    font-weight: 850;
    text-align: center;
}

.utap-month-compare-row > em.is-good {
    background: #eef8f1;
    color: #27854d;
}

.utap-month-compare-row > em.is-bad {
    background: #fff1f1;
    color: #b42318;
}

.utap-month-compare-row > em.is-neutral {
    background: #f3f5f8;
    color: #8793a3;
}

.utap-month-result-strip {
    margin-top: 13px;
    padding: 12px;
    border-radius: 11px;
    background: var(--utap-surface-soft);
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}

.utap-month-result-strip > div {
    padding: 0 10px;
    border-right: 1px solid var(--utap-border);
}

.utap-month-result-strip > div:last-child {
    border-right: 0;
}

.utap-month-result-strip span,
.utap-month-result-strip strong {
    display: block;
}

.utap-month-result-strip span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-month-result-strip strong {
    margin-top: 4px;
    font-size: 12px;
}

.utap-cashflow-list--dashboard > div {
    min-height: 50px;
}

.utap-dashboard-status-list {
    display: grid;
    gap: 8px;
}

.utap-dashboard-status-list > div {
    min-height: 54px;
    padding: 10px 11px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.utap-dashboard-status-list > div > span {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 900;
}

.utap-dashboard-status-list > div.is-ok > span {
    background: #eef8f1;
    color: #27854d;
}

.utap-dashboard-status-list > div.is-warning > span {
    background: #fff1f1;
    color: #b42318;
}

.utap-dashboard-status-list > div.is-info > span {
    background: #eef6ff;
    color: #3869a8;
}

.utap-dashboard-status-list strong,
.utap-dashboard-status-list small {
    display: block;
}

.utap-dashboard-status-list strong {
    font-size: 9px;
}

.utap-dashboard-status-list small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

@media (max-width: 1280px) {
    .utap-kpi-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 920px) {
    .utap-kpi-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-month-compare-head {
        display: none;
    }

    .utap-month-compare-row {
        grid-template-columns: 1fr auto;
        gap: 4px 12px;
        padding: 10px 12px;
    }

    .utap-month-compare-row > span {
        grid-column: 1;
    }

    .utap-month-compare-row > strong {
        grid-column: 2;
        grid-row: 1;
    }

    .utap-month-compare-row > b {
        grid-column: 1;
        grid-row: 2;
        text-align: left;
        font-size: 9px;
    }

    .utap-month-compare-row > b::before {
        content: 'Poprzednio: ';
        font-weight: 600;
    }

    .utap-month-compare-row > em {
        grid-column: 2;
        grid-row: 2;
    }
}

@media (max-width: 620px) {
    .utap-kpi-grid {
        grid-template-columns: 1fr;
    }

    .utap-kpi-card {
        min-height: 112px;
    }

    .utap-currency-method-note > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .utap-month-result-strip {
        grid-template-columns: 1fr;
    }

    .utap-month-result-strip > div {
        padding: 7px 0;
        border-right: 0;
        border-bottom: 1px solid var(--utap-border);
    }

    .utap-month-result-strip > div:last-child {
        border-bottom: 0;
    }
}


/* ============================================================
 * v0.16 — FINANSE V1
 * ============================================================ */

.utap-finance-payment-strip {
    margin: -2px 0 14px;
    padding: 10px 14px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.utap-finance-payment-strip > div {
    min-height: 38px;
    padding: 0 14px;
    border-right: 1px solid var(--utap-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-finance-payment-strip > div:first-child {
    padding-left: 0;
}

.utap-finance-payment-strip > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.utap-finance-payment-strip span {
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 700;
}

.utap-finance-payment-strip strong {
    font-size: 11px;
}

.utap-finance-table th {
    white-space: nowrap;
}

.utap-finance-table td {
    vertical-align: middle;
}

.utap-finance-row--overdue td {
    background: #fffafa;
}

.utap-finance-row--overdue td:first-child {
    box-shadow: inset 3px 0 0 #d92d20;
}

.utap-finance-payment-cell small {
    display: block;
    margin-top: 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
    white-space: nowrap;
}

.utap-form-inline-warning {
    padding: 10px 11px;
    border: 1px solid #f1ddb0;
    border-radius: 9px;
    background: #fffaf0;
}

.utap-form-inline-warning[hidden] {
    display: none !important;
}

.utap-form-inline-warning strong,
.utap-form-inline-warning span {
    display: block;
}

.utap-form-inline-warning strong {
    color: #815b10;
    font-size: 9px;
}

.utap-form-inline-warning span {
    margin-top: 3px;
    color: #8b7551;
    font-size: 8px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .utap-finance-payment-strip {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .utap-finance-payment-strip > div {
        padding: 8px 0;
        border-right: 0;
        border-bottom: 1px solid var(--utap-border);
    }

    .utap-finance-payment-strip > div:last-child {
        border-bottom: 0;
    }
}


/* ============================================================
 * v0.16.1 — WĘŻSZE PANELE FINANSÓW
 * ============================================================ */

body .utap-finance-layout {
    width: min(100%, 1180px);
    margin-left: auto;
    margin-right: auto;
}

body .utap-finance-panel {
    min-width: 0;
    width: 100%;
}

body .utap-finance-summary,
body .utap-finance-payment-strip {
    width: min(100%, 1180px);
    margin-left: auto;
    margin-right: auto;
}

body .utap-finance-table {
    width: 100%;
}

body .utap-finance-table th,
body .utap-finance-table td {
    padding-left: 12px;
    padding-right: 12px;
}

/* Na dużych monitorach sekcje nie rozciągają się przesadnie. */
@media (min-width: 1400px) {
    body .utap-finance-layout,
    body .utap-finance-summary,
    body .utap-finance-payment-strip {
        max-width: 1120px;
    }
}

/* Na mniejszych ekranach zachowujemy pełną szerokość. */
@media (max-width: 900px) {
    body .utap-finance-layout,
    body .utap-finance-summary,
    body .utap-finance-payment-strip {
        width: 100%;
        max-width: none;
    }
}


/* ============================================================
 * v0.16.2 — SPÓJNA SZEROKOŚĆ CAŁEJ APLIKACJI
 * ============================================================ */

/*
 * Na dużych monitorach zawartość UTAP nie rozciąga się na całą wolną
 * szerokość obok sidebara. Wszystkie główne ekrany mają jeden,
 * spójny kontener i są wycentrowane.
 */
.utap-main > * {
    width: min(100%, 1180px);
    margin-left: auto;
    margin-right: auto;
}

/* Finanse korzystają od teraz z tej samej szerokości co reszta UTAP. */
body .utap-finance-layout,
body .utap-finance-summary,
body .utap-finance-payment-strip {
    width: min(100%, 1180px);
    max-width: 1180px;
}

/* Duże tabele przewijają się wewnątrz panelu zamiast poszerzać ekran. */
.utap-table-wrap {
    max-width: 100%;
}

/* Na standardowych laptopach korzystamy normalnie z dostępnej przestrzeni. */
@media (max-width: 1280px) {
    .utap-main > * {
        width: 100%;
        max-width: none;
    }

    body .utap-finance-layout,
    body .utap-finance-summary,
    body .utap-finance-payment-strip {
        width: 100%;
        max-width: none;
    }
}


/* ============================================================
 * v0.17 — EKSPLOATACJA V1
 * ============================================================ */

.utap-operations-kpis {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.utap-operations-kpis > article {
    min-height: 112px;
    padding: 17px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-operations-kpis span,
.utap-operations-kpis strong,
.utap-operations-kpis small {
    display: block;
}

.utap-operations-kpis span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-operations-kpis strong {
    margin-top: 13px;
    font-size: 22px;
    letter-spacing: -.03em;
}

.utap-operations-kpis small {
    margin-top: 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-operations-more {
    margin: -2px 0 14px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
}

.utap-operations-more > summary {
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
    color: var(--utap-text);
    font-size: 9px;
    font-weight: 800;
}

.utap-operations-more > summary::-webkit-details-marker {
    display: none;
}

.utap-operations-more > summary span {
    margin-left: 5px;
    color: var(--utap-muted-2);
    font-weight: 650;
}

.utap-operations-more-grid {
    padding: 0 14px 12px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.utap-operations-more-grid > div {
    padding: 10px;
    border-radius: 9px;
    background: #fff;
}

.utap-operations-more-grid span,
.utap-operations-more-grid strong {
    display: block;
}

.utap-operations-more-grid span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-operations-more-grid strong {
    margin-top: 4px;
    font-size: 12px;
}

.utap-operations-tip,
.utap-mileage-help {
    margin-bottom: 14px;
    padding: 11px 12px;
    border: 1px solid #dce8f8;
    border-radius: 11px;
    background: #f8fbff;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.utap-operations-tip__icon {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 8px;
    background: #eaf6ee;
    color: #27854d;
    display: grid;
    place-items: center;
    font-size: 10px;
    font-weight: 900;
}

.utap-operations-tip strong,
.utap-operations-tip span,
.utap-mileage-help strong,
.utap-mileage-help span {
    display: block;
}

.utap-operations-tip strong,
.utap-mileage-help strong {
    font-size: 9px;
}

.utap-operations-tip div > span,
.utap-mileage-help > span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.utap-mileage-help {
    display: block;
    border-color: var(--utap-border);
    background: #fbfcfe;
}

.utap-operations-fuel-table {
    min-width: 930px;
}

.utap-mileage-table {
    min-width: 720px;
}

.utap-operation-detail {
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 10px;
}

.utap-small-add--muted {
    background: #f3f5f8;
    color: #596679;
}

.utap-manual-badge {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 7px;
    background: #f3f5f8;
    color: #657285;
    font-size: 8px;
    font-weight: 800;
}

.utap-field-explain {
    display: block;
    margin: -2px 0 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
    font-weight: 500;
}

@media (max-width: 900px) {
    .utap-operations-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 580px) {
    .utap-operations-kpis {
        grid-template-columns: 1fr;
    }

    .utap-operations-more-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
 * v0.18 — CASH FLOW V1
 * ============================================================ */

.utap-cashflow-kpis {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.utap-cashflow-kpi {
    min-height: 126px;
    padding: 18px;
    border: 1px solid var(--utap-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-cashflow-kpi--primary {
    background: linear-gradient(145deg,#fff 0%,#f8fbff 100%);
}

.utap-cashflow-kpi--forecast {
    background: linear-gradient(145deg,#fff 0%,#f8fcf9 100%);
}

.utap-cashflow-kpi span,
.utap-cashflow-kpi strong,
.utap-cashflow-kpi small {
    display: block;
}

.utap-cashflow-kpi span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-cashflow-kpi strong {
    margin-top: 14px;
    font-size: clamp(21px,2vw,28px);
    letter-spacing: -.035em;
}

.utap-cashflow-kpi small {
    margin-top: 6px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-cashflow-alerts {
    margin: -2px 0 14px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.utap-cashflow-alerts > * {
    min-height: 47px;
    padding: 8px 11px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 9px;
}

.utap-cashflow-alerts > *.is-warning {
    border-color: #f0d0d0;
    background: #fffafa;
}

.utap-cashflow-alerts > *.is-info {
    background: #f8fbff;
}

.utap-cashflow-alerts > * > span {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: #f3f5f8;
    font-size: 9px;
    font-weight: 900;
}

.utap-cashflow-alerts strong,
.utap-cashflow-alerts small {
    display: block;
}

.utap-cashflow-alerts strong {
    color: var(--utap-text);
    font-size: 9px;
}

.utap-cashflow-alerts small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-cashflow-layout--v1 {
    grid-template-columns: minmax(0,1fr) minmax(360px,.88fr);
    align-items: start;
}

.utap-cashflow-layout--v1 > .utap-panel {
    min-height: 0;
}

.utap-account-grid--v1 {
    grid-template-columns: repeat(2,minmax(0,1fr));
}

.utap-account-card__bottom {
    margin-top: 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.utap-account-card__bottom small {
    margin: 0;
}

.utap-account-card__bottom em {
    padding: 4px 6px;
    border-radius: 6px;
    font-size: 7px;
    font-style: normal;
    font-weight: 850;
}

.utap-account-card__bottom em.is-active {
    background: #eef8f1;
    color: #27854d;
}

.utap-account-card__bottom em.is-inactive {
    background: #f1f3f6;
    color: #788596;
}

.utap-cashflow-help {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--utap-border);
    color: var(--utap-muted);
}

.utap-cashflow-help > summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
    font-size: 8px;
    font-weight: 750;
}

.utap-cashflow-help > summary::-webkit-details-marker {
    display: none;
}

.utap-cashflow-help p {
    margin: 8px 0 0;
    max-width: 620px;
    font-size: 8px;
    line-height: 1.55;
}

.utap-cashflow-overdue-badge {
    padding: 5px 7px;
    border-radius: 7px;
    background: #fff1f1;
    color: #b42318;
    font-size: 8px;
    font-weight: 850;
}

.utap-cashflow-timeline--v1 {
    max-height: 440px;
    overflow-y: auto;
    padding-right: 2px;
}

.utap-cashflow-more-info {
    display: block;
    margin-top: 9px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-dkv-panel--v1 {
    min-height: 0;
    margin-bottom: 14px;
}

.utap-dkv-status-grid {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: minmax(160px,.65fr) minmax(160px,.65fr) minmax(260px,1.7fr);
    gap: 10px;
}

.utap-dkv-status-grid > div {
    min-height: 88px;
    padding: 13px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: #fbfcfe;
}

.utap-dkv-status-grid span,
.utap-dkv-status-grid strong,
.utap-dkv-status-grid small {
    display: block;
}

.utap-dkv-status-grid > div > span {
    color: var(--utap-muted);
    font-size: 8px;
    font-weight: 700;
}

.utap-dkv-status-grid > div > strong {
    margin-top: 8px;
    font-size: 18px;
}

.utap-dkv-status-grid > div > small {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-dkv-status-grid .utap-dkv-rule {
    background: #f8fbff;
}

.utap-dkv-rule strong,
.utap-dkv-rule span {
    display: block;
}

.utap-dkv-rule strong {
    margin: 0;
    font-size: 9px;
}

.utap-dkv-rule span {
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.utap-dkv-table--v1 {
    min-width: 830px;
}

.utap-transfer-section {
    margin-bottom: 20px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-transfer-section > summary {
    min-height: 76px;
    padding: 14px 18px;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.utap-transfer-section > summary::-webkit-details-marker {
    display: none;
}

.utap-transfer-section > summary strong,
.utap-transfer-section > summary span {
    display: block;
}

.utap-transfer-section > summary strong {
    color: var(--utap-text);
    font-size: 11px;
}

.utap-transfer-section > summary span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-transfer-section > summary b {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #f3f5f8;
    display: grid;
    place-items: center;
    font-size: 9px;
}

.utap-transfer-section__body {
    padding: 0 18px 18px;
}

.utap-transfer-section__head {
    margin-bottom: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--utap-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-transfer-section__head > span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-transfer-table--v1 {
    min-width: 760px;
}

@media (max-width: 1000px) {
    .utap-cashflow-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-cashflow-layout--v1 {
        grid-template-columns: 1fr;
    }

    .utap-dkv-status-grid {
        grid-template-columns: 1fr 1fr;
    }

    .utap-dkv-status-grid .utap-dkv-rule {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .utap-cashflow-kpis {
        grid-template-columns: 1fr;
    }

    .utap-account-grid--v1 {
        grid-template-columns: 1fr;
    }

    .utap-dkv-status-grid {
        grid-template-columns: 1fr;
    }

    .utap-dkv-status-grid .utap-dkv-rule {
        grid-column: auto;
    }

    .utap-transfer-section__head {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ============================================================
 * v0.19 — POJAZDY V1
 * ============================================================ */

.utap-fleet-kpis {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.utap-fleet-kpis > article {
    min-height: 116px;
    padding: 17px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-fleet-kpis span,
.utap-fleet-kpis strong,
.utap-fleet-kpis small {
    display: block;
}

.utap-fleet-kpis span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-fleet-kpis strong {
    margin-top: 13px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.utap-fleet-kpis small {
    margin-top: 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
    line-height: 1.4;
}

.utap-fleet-result-strip {
    margin-bottom: 14px;
    padding: 10px 14px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.utap-fleet-result-strip > div {
    min-height: 40px;
    padding: 0 14px;
    border-right: 1px solid var(--utap-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-fleet-result-strip > div:first-child {
    padding-left: 0;
}

.utap-fleet-result-strip > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.utap-fleet-result-strip span {
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 700;
}

.utap-fleet-result-strip strong {
    font-size: 11px;
}

.utap-fleet-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.utap-fleet-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--utap-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-fleet-card.is-inactive {
    opacity: .68;
}

.utap-fleet-card__header {
    padding: 17px 18px;
    border-bottom: 1px solid var(--utap-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-fleet-card__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.utap-fleet-card__identity > div {
    min-width: 0;
}

.utap-fleet-card__identity strong,
.utap-fleet-card__identity span {
    display: block;
}

.utap-fleet-card__identity strong {
    overflow: hidden;
    color: var(--utap-text);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-fleet-card__identity div > span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 750;
}

.utap-fleet-card__profit {
    padding: 17px 18px 12px;
}

.utap-fleet-card__profit span,
.utap-fleet-card__profit strong,
.utap-fleet-card__profit small {
    display: block;
}

.utap-fleet-card__profit > span {
    color: var(--utap-muted);
    font-size: 8px;
    font-weight: 700;
}

.utap-fleet-card__profit > strong {
    margin-top: 5px;
    font-size: 25px;
    letter-spacing: -.035em;
}

.utap-fleet-card__profit > small {
    margin-top: 4px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-fleet-card__metrics {
    padding: 0 18px 17px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}

.utap-fleet-card__metrics > div {
    min-width: 0;
    padding: 9px 8px;
    border-radius: 9px;
    background: var(--utap-surface-soft);
}

.utap-fleet-card__metrics span,
.utap-fleet-card__metrics strong {
    display: block;
}

.utap-fleet-card__metrics span {
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-fleet-card__metrics strong {
    margin-top: 3px;
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-fleet-card__inactive-copy {
    min-height: 115px;
    padding: 18px;
    display: grid;
    align-content: center;
    background: #fbfcfe;
}

.utap-fleet-card__inactive-copy strong,
.utap-fleet-card__inactive-copy span {
    display: block;
}

.utap-fleet-card__inactive-copy strong {
    font-size: 10px;
}

.utap-fleet-card__inactive-copy span {
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-fleet-card__service {
    padding: 12px 18px;
    border-top: 1px solid var(--utap-border);
    border-bottom: 1px solid var(--utap-border);
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 8px;
}

.utap-fleet-card__service span,
.utap-fleet-card__service strong {
    display: block;
}

.utap-fleet-card__service span {
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-fleet-card__service strong {
    margin-top: 3px;
    font-size: 9px;
}

.utap-fleet-card__footer {
    min-height: 54px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-fleet-card__footer details {
    min-width: 0;
    color: var(--utap-muted);
}

.utap-fleet-card__footer summary {
    cursor: pointer;
    list-style: none;
    font-size: 8px;
    font-weight: 750;
}

.utap-fleet-card__footer summary::-webkit-details-marker {
    display: none;
}

.utap-fleet-card__footer details > div {
    position: absolute;
    z-index: 20;
    width: min(340px,calc(100vw - 40px));
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20,35,55,.12);
}

.utap-fleet-card__footer details span {
    padding: 4px 0;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    font-size: 8px;
}

.utap-fleet-card__footer details strong {
    max-width: 210px;
    overflow-wrap: anywhere;
    color: var(--utap-text);
    text-align: right;
}

@media (max-width: 1000px) {
    .utap-fleet-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-fleet-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .utap-fleet-kpis,
    .utap-fleet-result-strip {
        grid-template-columns: 1fr;
    }

    .utap-fleet-result-strip > div {
        padding: 8px 0;
        border-right: 0;
        border-bottom: 1px solid var(--utap-border);
    }

    .utap-fleet-result-strip > div:last-child {
        border-bottom: 0;
    }

    .utap-fleet-card__metrics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-fleet-card__service {
        grid-template-columns: 1fr;
    }

    .utap-fleet-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ============================================================
 * v0.20 — KIEROWCY V1
 * ============================================================ */

.utap-driver-kpis {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.utap-driver-kpis > article {
    min-height: 114px;
    padding: 17px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-driver-kpis span,
.utap-driver-kpis strong,
.utap-driver-kpis small {
    display: block;
}

.utap-driver-kpis span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-driver-kpis strong {
    margin-top: 13px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.utap-driver-kpis small {
    margin-top: 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
    line-height: 1.45;
}

.utap-driver-info,
.utap-driver-warning {
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: #fbfcfe;
}

.utap-driver-info strong,
.utap-driver-info span {
    display: block;
}

.utap-driver-info strong {
    font-size: 9px;
}

.utap-driver-info span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.utap-driver-warning {
    border-color: #f1ddb0;
    background: #fffaf0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.utap-driver-warning > span {
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: #fff1cb;
    color: #946200;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 9px;
    font-weight: 900;
}

.utap-driver-warning strong,
.utap-driver-warning small {
    display: block;
}

.utap-driver-warning strong {
    font-size: 9px;
}

.utap-driver-warning small {
    margin-top: 2px;
    color: #8c7551;
    font-size: 8px;
}

.utap-driver-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.utap-driver-card {
    min-width: 0;
    border: 1px solid var(--utap-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-driver-card.is-inactive {
    opacity: .68;
}

.utap-driver-card__header {
    padding: 17px 18px;
    border-bottom: 1px solid var(--utap-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-driver-card__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.utap-driver-card__identity strong,
.utap-driver-card__identity span {
    display: block;
}

.utap-driver-card__identity strong {
    color: var(--utap-text);
    font-size: 13px;
}

.utap-driver-card__identity div > span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-driver-card__cost {
    padding: 17px 18px;
}

.utap-driver-card__cost span,
.utap-driver-card__cost strong,
.utap-driver-card__cost small {
    display: block;
}

.utap-driver-card__cost > span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-driver-card__cost > strong {
    margin-top: 5px;
    font-size: 24px;
    letter-spacing: -.035em;
}

.utap-driver-card__cost > small {
    margin-top: 4px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-driver-card__contact {
    padding: 12px 18px;
    border-top: 1px solid var(--utap-border);
    border-bottom: 1px solid var(--utap-border);
    display: grid;
    grid-template-columns: .8fr 1.35fr .8fr;
    gap: 8px;
}

.utap-driver-card__contact span,
.utap-driver-card__contact strong {
    display: block;
}

.utap-driver-card__contact span {
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-driver-card__contact strong {
    margin-top: 3px;
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-driver-card__footer {
    min-height: 54px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-driver-card__footer details {
    position: relative;
    color: var(--utap-muted);
}

.utap-driver-card__footer summary {
    cursor: pointer;
    list-style: none;
    font-size: 8px;
    font-weight: 750;
}

.utap-driver-card__footer summary::-webkit-details-marker {
    display: none;
}

.utap-driver-card__footer details > div {
    position: absolute;
    z-index: 20;
    width: min(340px,calc(100vw - 40px));
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20,35,55,.12);
}

.utap-driver-card__footer details span {
    padding: 4px 0;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    font-size: 8px;
}

.utap-driver-card__footer details strong {
    color: var(--utap-text);
    text-align: right;
}

@media (max-width: 1000px) {
    .utap-driver-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-driver-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .utap-driver-kpis {
        grid-template-columns: 1fr;
    }

    .utap-driver-card__contact {
        grid-template-columns: 1fr;
    }

    .utap-driver-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ============================================================
 * v0.21 — KIEROWCY V2 / WYNAGRODZENIA
 * ============================================================ */

.utap-driver-card__cost--total {
    background: linear-gradient(145deg,#fff 0%,#f8fbff 100%);
}

.utap-driver-pay-breakdown {
    padding: 0 18px 16px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
}

.utap-driver-pay-breakdown > div {
    padding: 9px;
    border-radius: 9px;
    background: var(--utap-surface-soft);
}

.utap-driver-pay-breakdown span,
.utap-driver-pay-breakdown strong {
    display: block;
}

.utap-driver-pay-breakdown span {
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-driver-pay-breakdown strong {
    margin-top: 4px;
    font-size: 9px;
}

.utap-driver-payment-state {
    padding: 0 18px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.utap-driver-payment-state small {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-compensation-button {
    min-height: 30px;
    padding: 0 10px;
    border: 0;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.utap-driver-history {
    margin: 0 18px;
    padding: 10px 0;
    border-top: 1px solid var(--utap-border);
}

.utap-driver-history > summary {
    cursor: pointer;
    list-style: none;
    color: var(--utap-muted);
    font-size: 8px;
    font-weight: 750;
}

.utap-driver-history > summary::-webkit-details-marker {
    display: none;
}

.utap-driver-history > div {
    margin-top: 8px;
    display: grid;
    gap: 5px;
}

.utap-driver-history__row {
    min-height: 31px;
    padding: 6px 8px;
    border-radius: 8px;
    background: #f8fafc;
    display: grid;
    grid-template-columns: .7fr 1fr .8fr;
    align-items: center;
    gap: 8px;
}

.utap-driver-history__row span,
.utap-driver-history__row strong,
.utap-driver-history__row small {
    font-size: 8px;
}

.utap-driver-history__row strong {
    text-align: right;
}

.utap-driver-history__row small {
    color: var(--utap-muted);
    text-align: right;
}

.utap-compensation-modal {
    width: min(820px,100%);
}

.utap-compensation-section {
    padding: 13px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
}

.utap-compensation-section__head {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 9px;
}

.utap-compensation-section__head > span {
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 9px;
    font-weight: 900;
}

.utap-compensation-section__head strong,
.utap-compensation-section__head small {
    display: block;
}

.utap-compensation-section__head strong {
    font-size: 10px;
}

.utap-compensation-section__head small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-compensation-rule {
    padding: 11px 12px;
    border: 1px solid #dce8f8;
    border-radius: 10px;
    background: #f8fbff;
}

.utap-compensation-rule strong,
.utap-compensation-rule span {
    display: block;
}

.utap-compensation-rule strong {
    font-size: 9px;
}

.utap-compensation-rule span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

[data-comp-paid-date][hidden],
[data-comp-account][hidden],
[data-comp-settlement][hidden] {
    display: none !important;
}

@media (max-width: 620px) {
    .utap-driver-pay-breakdown {
        grid-template-columns: 1fr;
    }

    .utap-driver-history__row {
        grid-template-columns: 1fr;
    }

    .utap-driver-history__row strong,
    .utap-driver-history__row small {
        text-align: left;
    }
}


/* ============================================================
 * v0.22 — FILTRY / KLIENCI / BEZPIECZNE USUWANIE
 * ============================================================ */

.utap-finance-filters {
    margin-bottom: 14px;
    padding: 9px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fff;
    display: grid;
    grid-template-columns: minmax(220px,1.5fr) minmax(150px,.8fr) 130px 130px 150px auto;
    gap: 7px;
}

.utap-finance-filters input,
.utap-finance-filters select,
.utap-finance-filters button,
.utap-client-search input {
    min-height: 35px;
    border: 1px solid var(--utap-border);
    border-radius: 9px;
    background: #fff;
    color: var(--utap-text);
    font: inherit;
    font-size: 9px;
}

.utap-finance-filters input,
.utap-finance-filters select {
    padding: 0 9px;
}

.utap-finance-filters button {
    padding: 0 10px;
    color: var(--utap-muted);
    cursor: pointer;
}

.utap-finance-filter-search,
.utap-client-search {
    position: relative;
}

.utap-finance-filter-search > span,
.utap-client-search > span {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--utap-muted-2);
    pointer-events: none;
}

.utap-finance-filter-search input,
.utap-client-search input {
    width: 100%;
    padding-left: 29px;
}

.utap-filter-empty {
    margin: 12px 0 18px;
    padding: 18px;
    border: 1px dashed var(--utap-border);
    border-radius: 11px;
    color: var(--utap-muted);
    background: #fbfcfe;
    font-size: 9px;
    text-align: center;
}

.utap-filter-empty[hidden],
[data-finance-row][hidden],
[data-client-card][hidden] {
    display: none !important;
}

.utap-client-kpis {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.utap-client-kpis > article {
    min-height: 114px;
    padding: 17px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-client-kpis span,
.utap-client-kpis strong,
.utap-client-kpis small {
    display: block;
}

.utap-client-kpis span {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 750;
}

.utap-client-kpis strong {
    margin-top: 13px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.utap-client-kpis small {
    margin-top: 5px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-client-info {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: #fbfcfe;
}

.utap-client-info strong,
.utap-client-info span {
    display: block;
}

.utap-client-info strong {
    font-size: 9px;
}

.utap-client-info span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.utap-client-search {
    margin-bottom: 14px;
    max-width: 460px;
}

.utap-client-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.utap-client-card {
    min-width: 0;
    border: 1px solid var(--utap-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-client-card.is-inactive {
    opacity: .68;
}

.utap-client-card__header,
.utap-client-card__footer {
    padding: 15px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.utap-client-card__header {
    border-bottom: 1px solid var(--utap-border);
}

.utap-client-card__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.utap-client-card__identity strong,
.utap-client-card__identity span {
    display: block;
}

.utap-client-card__identity strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-client-card__identity div > span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-client-card__profit {
    padding: 16px 17px 12px;
}

.utap-client-card__profit span,
.utap-client-card__profit strong,
.utap-client-card__profit small {
    display: block;
}

.utap-client-card__profit span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-client-card__profit strong {
    margin-top: 5px;
    font-size: 23px;
}

.utap-client-card__profit small {
    margin-top: 3px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-client-card__metrics,
.utap-client-card__history {
    padding: 0 17px 14px;
    display: grid;
    gap: 7px;
}

.utap-client-card__metrics {
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.utap-client-card__history {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.utap-client-card__metrics > div,
.utap-client-card__history > div {
    padding: 8px;
    border-radius: 9px;
    background: var(--utap-surface-soft);
}

.utap-client-card__metrics span,
.utap-client-card__metrics strong,
.utap-client-card__history span,
.utap-client-card__history strong {
    display: block;
}

.utap-client-card__metrics span,
.utap-client-card__history span {
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-client-card__metrics strong,
.utap-client-card__history strong {
    margin-top: 3px;
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-client-card__contact {
    padding: 10px 17px;
    border-top: 1px solid var(--utap-border);
    border-bottom: 1px solid var(--utap-border);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.utap-client-card__contact span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-client-card__footer {
    justify-content: flex-end;
}

@media (max-width: 1050px) {
    .utap-finance-filters {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .utap-client-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-client-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .utap-finance-filters,
    .utap-client-kpis {
        grid-template-columns: 1fr;
    }

    .utap-client-card__metrics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .utap-client-card__history {
        grid-template-columns: 1fr;
    }
}


/* v0.23 — elastyczny koszt miesięczny kierowcy */
.utap-compensation-section [data-comp-actual-help] {
    color: var(--utap-blue);
    font-weight: 650;
}

.utap-driver-card__cost--total small {
    line-height: 1.45;
}


/* ============================================================
 * v0.24 — finalny audyt / jakość danych
 * ============================================================ */
.utap-audit-warning {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #efd7a1;
    border-radius: 13px;
    background: #fffaf0;
}

.utap-audit-warning h2 {
    margin: 3px 0 0;
    font-size: 14px;
}

.utap-audit-warning__items {
    margin-top: 10px;
    display: grid;
    gap: 7px;
}

.utap-audit-warning__items a {
    padding: 9px 10px;
    border: 1px solid #f1dfb7;
    border-radius: 9px;
    background: #fff;
    display: block;
}

.utap-audit-warning__items strong,
.utap-audit-warning__items span {
    display: block;
}

.utap-audit-warning__items strong {
    color: #7d5a12;
    font-size: 9px;
}

.utap-audit-warning__items span {
    margin-top: 3px;
    color: #8d7751;
    font-size: 8px;
    line-height: 1.45;
}


/* ============================================================
 * v0.25 — TERMINY I SERWIS POJAZDÓW
 * ============================================================ */

.utap-dashboard-reminders {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-dashboard-reminders__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.utap-dashboard-reminders__head h2 {
    margin: 3px 0 0;
    font-size: 14px;
}

.utap-dashboard-reminders__head > a {
    color: var(--utap-blue);
    font-size: 9px;
    font-weight: 800;
}

.utap-dashboard-reminders__list {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
}

.utap-dashboard-reminder {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fbfcfe;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
}

.utap-dashboard-reminder__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e0a42b;
}

.utap-dashboard-reminder.is-danger .utap-dashboard-reminder__dot {
    background: #d44747;
}

.utap-dashboard-reminder strong,
.utap-dashboard-reminder small {
    display: block;
}

.utap-dashboard-reminder strong {
    overflow: hidden;
    color: var(--utap-text);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-dashboard-reminder small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-dashboard-reminder b {
    color: #9b7119;
    font-size: 8px;
}

.utap-dashboard-reminder.is-danger b {
    color: #b63e3e;
}

.utap-dashboard-reminders__ok {
    margin-top: 11px;
    padding: 10px;
    border-radius: 10px;
    background: #f6fbf7;
    display: flex;
    align-items: center;
    gap: 9px;
}

.utap-dashboard-reminders__ok > span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e7f6e9;
    color: #2d7a3f;
    display: grid;
    place-items: center;
    font-size: 10px;
    font-weight: 900;
}

.utap-dashboard-reminders__ok strong,
.utap-dashboard-reminders__ok small {
    display: block;
}

.utap-dashboard-reminders__ok strong {
    font-size: 9px;
}

.utap-dashboard-reminders__ok small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-fleet-card__reminders {
    padding: 12px 16px;
    border-top: 1px solid var(--utap-border);
}

.utap-fleet-card__reminders-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.utap-fleet-card__reminders-head span,
.utap-fleet-card__reminders-head small {
    display: block;
}

.utap-fleet-card__reminders-head span {
    font-size: 9px;
    font-weight: 800;
}

.utap-fleet-card__reminders-head small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-service-add-button {
    min-height: 28px;
    padding: 0 9px;
    border: 0;
    border-radius: 8px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    font-size: 8px;
    font-weight: 800;
    cursor: pointer;
}

.utap-fleet-card__reminder-list {
    margin-top: 8px;
    display: grid;
    gap: 5px;
}

.utap-service-row {
    padding: 8px 9px;
    border: 1px solid var(--utap-border);
    border-radius: 9px;
    background: #fbfcfe;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.utap-service-row.is-warning {
    border-color: #edd9a9;
    background: #fffaf1;
}

.utap-service-row.is-danger {
    border-color: #efc5c5;
    background: #fff7f7;
}

.utap-service-row strong,
.utap-service-row span {
    display: block;
}

.utap-service-row strong {
    font-size: 8px;
}

.utap-service-row span {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 7px;
}

.utap-service-row__actions {
    display: flex;
    gap: 5px;
}

.utap-service-row__actions button {
    min-height: 26px;
    padding: 0 7px;
    border: 1px solid var(--utap-border);
    border-radius: 7px;
    background: #fff;
    color: var(--utap-text);
    font-size: 7px;
    font-weight: 750;
    cursor: pointer;
}

.utap-service-row__actions button:first-child {
    border-color: #cde7d2;
    background: #f5fbf6;
    color: #357446;
}

.utap-service-tip {
    padding: 10px 11px;
    border: 1px solid #dce8f8;
    border-radius: 10px;
    background: #f8fbff;
}

.utap-service-tip strong,
.utap-service-tip span {
    display: block;
}

.utap-service-tip strong {
    font-size: 9px;
}

.utap-service-tip span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.utap-service-cost-toggle {
    padding: 11px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fbfcfe;
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
}

.utap-service-cost-toggle input {
    margin-top: 2px;
}

.utap-service-cost-toggle strong,
.utap-service-cost-toggle small {
    display: block;
}

.utap-service-cost-toggle strong {
    font-size: 9px;
}

.utap-service-cost-toggle small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-service-cost-fields {
    padding: 11px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
}

.utap-service-cost-fields[hidden] {
    display: none !important;
}

@media (max-width: 780px) {
    .utap-dashboard-reminders__list {
        grid-template-columns: 1fr;
    }

    .utap-service-row {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ============================================================
 * v0.26 — JEDNO ŹRÓDŁO DANYCH
 * ============================================================ */

.utap-source-map {
    margin-bottom: 12px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fff;
}

.utap-source-map > summary {
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
    font-size: 9px;
    font-weight: 800;
}

.utap-source-map > summary::-webkit-details-marker {
    display: none;
}

.utap-source-map > summary span {
    margin-left: 6px;
    color: var(--utap-muted);
    font-size: 8px;
    font-weight: 500;
}

.utap-source-map__grid {
    padding: 0 10px 10px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}

.utap-source-map__grid a {
    padding: 9px;
    border: 1px solid var(--utap-border);
    border-radius: 9px;
    background: #fbfcfe;
}

.utap-source-map__grid strong,
.utap-source-map__grid span,
.utap-source-map__grid small {
    display: block;
}

.utap-source-map__grid strong {
    color: var(--utap-text);
    font-size: 8px;
}

.utap-source-map__grid span {
    margin-top: 3px;
    color: var(--utap-blue);
    font-size: 8px;
    font-weight: 750;
}

.utap-source-map__grid small {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.4;
}

.utap-expense-route-note,
.utap-service-finance-separation {
    padding: 10px 11px;
    border: 1px solid #dce8f8;
    border-radius: 10px;
    background: #f8fbff;
}

.utap-expense-route-note {
    margin-bottom: 10px;
}

.utap-expense-route-note > strong,
.utap-service-finance-separation > strong {
    display: block;
    font-size: 9px;
}

.utap-expense-route-note > div {
    margin-top: 7px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 5px;
}

.utap-expense-route-note span {
    padding: 6px 7px;
    border-radius: 7px;
    background: #fff;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.4;
}

.utap-expense-route-note b {
    color: var(--utap-text);
}

.utap-service-finance-separation span {
    display: block;
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .utap-source-map__grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .utap-source-map__grid,
    .utap-expense-route-note > div {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
 * v0.27 — PROWADZENIE UŻYTKOWNIKA / INSTRUKCJA
 * ============================================================ */

.utap-quick-intro {
    display: block;
    max-width: 470px;
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 9px;
    line-height: 1.45;
}

.utap-quick-add-grid--guided a {
    min-height: 142px;
    padding: 14px;
}

.utap-quick-add-grid--guided a strong {
    margin: 8px 0 3px;
    font-size: 10px;
}

.utap-quick-add-grid--guided a b {
    display: block;
    margin-bottom: 4px;
    color: var(--utap-blue);
    font-size: 8px;
}

.utap-quick-add-grid--guided a small {
    font-size: 8px;
}

.utap-quick-add-grid--guided .utap-quick-symbol {
    width: auto;
    min-width: 34px;
    padding: 0 8px;
    display: inline-grid;
    font-size: 9px;
}

.utap-guide-rule {
    margin-bottom: 14px;
    padding: 15px 16px;
    border: 1px solid #cfe0fb;
    border-radius: 14px;
    background: #f7faff;
    display: flex;
    align-items: center;
    gap: 12px;
}

.utap-guide-rule__icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 11px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 900;
}

.utap-guide-rule strong,
.utap-guide-rule p {
    display: block;
}

.utap-guide-rule strong {
    font-size: 11px;
}

.utap-guide-rule p {
    margin: 4px 0 0;
    color: var(--utap-muted);
    font-size: 9px;
    line-height: 1.5;
}

.utap-guide-section {
    margin-bottom: 14px;
    padding: 16px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-guide-section__head {
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
}

.utap-guide-section__head h2 {
    margin: 2px 0 0;
    font-size: 15px;
}

.utap-guide-section__head > span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-guide-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
}

.utap-guide-actions > a {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fbfcfe;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    transition: .15s ease;
}

.utap-guide-actions > a:hover {
    border-color: #bfd2f4;
    background: #f8fbff;
}

.utap-guide-number {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: grid;
    place-items: center;
    font-size: 7px;
    font-weight: 900;
}

.utap-guide-actions strong,
.utap-guide-actions b,
.utap-guide-actions small {
    display: block;
}

.utap-guide-actions strong {
    color: var(--utap-text);
    font-size: 9px;
}

.utap-guide-actions b {
    margin-top: 3px;
    color: var(--utap-blue);
    font-size: 8px;
}

.utap-guide-actions small {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.45;
}

.utap-guide-setup {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}

.utap-guide-setup > a {
    padding: 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fbfcfe;
    display: flex;
    gap: 8px;
}

.utap-guide-setup > a > span {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 7px;
    background: #eef3f8;
    color: #58687c;
    display: grid;
    place-items: center;
    font-size: 8px;
    font-weight: 900;
}

.utap-guide-setup strong,
.utap-guide-setup small {
    display: block;
}

.utap-guide-setup strong {
    color: var(--utap-text);
    font-size: 8px;
}

.utap-guide-setup small {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.4;
}

.utap-guide-two-columns {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.utap-guide-card {
    padding: 16px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-guide-card h2 {
    margin: 2px 0 12px;
    font-size: 14px;
}

.utap-guide-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.utap-guide-checks > div {
    padding: 8px;
    border-radius: 9px;
    background: #f7fbf8;
    display: flex;
    align-items: flex-start;
    gap: 7px;
}

.utap-guide-checks > div > span {
    color: #3d8a52;
    font-size: 9px;
    font-weight: 900;
}

.utap-guide-checks p {
    margin: 0;
}

.utap-guide-checks strong,
.utap-guide-checks small {
    display: block;
}

.utap-guide-checks strong {
    font-size: 8px;
}

.utap-guide-checks small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.35;
}

.utap-guide-card--warning {
    border-color: #efe0bd;
    background: #fffcf6;
}

.utap-guide-donts {
    display: grid;
    gap: 6px;
}

.utap-guide-donts > div {
    padding: 8px 9px;
    border: 1px solid #f1e5c9;
    border-radius: 9px;
    background: #fff;
}

.utap-guide-donts strong,
.utap-guide-donts span {
    display: block;
}

.utap-guide-donts strong {
    color: #76591f;
    font-size: 8px;
}

.utap-guide-donts span {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 7px;
    line-height: 1.4;
}

.utap-guide-bottom {
    padding: 14px 16px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.utap-guide-bottom strong,
.utap-guide-bottom span {
    display: block;
}

.utap-guide-bottom strong {
    font-size: 10px;
}

.utap-guide-bottom span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

@media (max-width: 950px) {
    .utap-guide-setup {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 700px) {
    .utap-guide-actions,
    .utap-guide-two-columns {
        grid-template-columns: 1fr;
    }

    .utap-guide-section__head,
    .utap-guide-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .utap-quick-add-grid--guided,
    .utap-guide-setup,
    .utap-guide-checks {
        grid-template-columns: 1fr;
    }

    .utap-quick-add-grid--guided a {
        min-height: 118px;
    }
}


/* ============================================================
 * v0.27.1 — PROSTSZE SZYBKIE DODAWANIE
 * ============================================================ */

.utap-quick-add-grid--simple a {
    min-height: 122px;
    padding: 16px;
}

.utap-quick-add-grid--simple a strong {
    margin: 9px 0 4px;
    font-size: 11px;
}

.utap-quick-add-grid--simple a small {
    font-size: 8px;
    line-height: 1.45;
}

.utap-quick-add-grid--simple .utap-quick-symbol {
    width: 34px;
    min-width: 34px;
    padding: 0;
    font-size: 10px;
}

@media (max-width: 520px) {
    .utap-quick-add-grid--simple {
        grid-template-columns: 1fr 1fr;
    }

    .utap-quick-add-grid--simple a {
        min-height: 110px;
    }
}


/* ============================================================
 * v0.27.3 — SZYBKIE DODAWANIE: WERSJA PREMIUM
 * ============================================================ */

#utap-quick-add .utap-modal {
    width: min(650px, 100%);
    padding: 26px;
    border-radius: 20px;
}

#utap-quick-add .utap-modal-header {
    margin-bottom: 18px;
}

#utap-quick-add-title {
    font-size: 24px;
}

.utap-quick-intro {
    margin-top: 4px;
    font-size: 9px;
}

.utap-quick-add-grid--polished {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.utap-quick-card {
    position: relative;
    min-height: 116px;
    padding: 16px 42px 16px 15px;
    border: 1px solid #e3e8ef;
    border-radius: 14px;
    background: #fff;
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    overflow: hidden;
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.utap-quick-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 14px 0 0 14px;
    background: var(--quick-accent, #2563eb);
    opacity: .75;
}

.utap-quick-card:hover {
    transform: translateY(-2px);
    border-color: #cfd9e8;
    box-shadow: 0 10px 24px rgba(30, 45, 70, .08);
}

.utap-quick-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--quick-icon-bg, #eef5ff);
    color: var(--quick-accent, #2563eb);
    display: grid;
    place-items: center;
}

.utap-quick-card__icon .utap-svg-icon {
    width: 21px;
    height: 21px;
}

.utap-quick-card__copy {
    min-width: 0;
}

.utap-quick-card__copy strong,
.utap-quick-card__copy small {
    display: block;
}

.utap-quick-card__copy strong {
    margin: 0 0 4px !important;
    color: #172033;
    font-size: 11px;
    font-weight: 820;
    letter-spacing: -.01em;
}

.utap-quick-card__copy small {
    color: #7c889a;
    font-size: 8px;
    line-height: 1.45;
}

.utap-quick-card__arrow {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #a8b2c1;
    font-size: 16px;
    font-weight: 500;
    transition: transform .16s ease, color .16s ease;
}

.utap-quick-card:hover .utap-quick-card__arrow {
    transform: translate(2px,-50%);
    color: var(--quick-accent, #2563eb);
}

/* Subtelne rozróżnienie semantyczne — bez krzykliwych kolorów */
.utap-quick-card--income {
    --quick-accent: #2f7d55;
    --quick-icon-bg: #eef8f2;
}

.utap-quick-card--expense {
    --quick-accent: #9a6a28;
    --quick-icon-bg: #fbf5ea;
}

.utap-quick-card--fuel {
    --quick-accent: #2563eb;
    --quick-icon-bg: #eef5ff;
}

.utap-quick-card--odometer {
    --quick-accent: #59677a;
    --quick-icon-bg: #f0f3f6;
}

.utap-modal-note--quiet {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #edf0f4;
    color: #8b96a7;
    font-size: 8px;
}

@media (max-width: 620px) {
    #utap-quick-add .utap-modal {
        padding: 20px;
    }

    .utap-quick-add-grid--polished {
        grid-template-columns: 1fr;
    }

    .utap-quick-card {
        min-height: 96px;
    }
}

/* ============================================================
 * v0.28 — FINALNY BRANDING UTAP
 * ============================================================ */
.utap-brand--sidebar-image {
    padding: 18px 14px 16px;
}
.utap-brand--sidebar-image img {
    display: block;
    width: 100%;
    max-width: 190px;
    height: auto;
}
.utap-brand--login.utap-brand--image {
    padding: 0 0 28px;
}
.utap-brand--login.utap-brand--image img {
    display: block;
    width: min(360px, 100%);
    height: auto;
}
@media (max-width: 760px) {
    .utap-brand--sidebar-image img { max-width: 172px; }
}

/* ============================================================
 * v0.29 — Dashboard mobile + month picker + refined logo
 * ============================================================ */
.utap-topbar--dashboard {
    align-items: flex-start;
}

.utap-dashboard-toolbar {
    margin-left: auto;
    min-width: 320px;
    display: grid;
    gap: 12px;
}

.utap-dashboard-toolbar__row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.utap-period-switcher {
    min-height: 48px;
    padding: 4px;
    border: 1px solid var(--utap-border);
    border-radius: 16px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 10px 24px rgba(26, 39, 61, 0.05);
}

.utap-period-switcher__label {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 12px;
    background: var(--utap-surface-soft);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5d6c81;
    font-weight: 700;
    white-space: nowrap;
}

.utap-period-switcher__nav {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: var(--utap-text);
    font-size: 22px;
    font-weight: 700;
    transition: .16s ease;
}

.utap-period-switcher__nav:hover {
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
}

.utap-period-switcher__nav.is-disabled {
    opacity: .35;
    pointer-events: none;
}

.utap-primary-button--dashboard {
    justify-content: center;
}

.utap-brand--sidebar-image {
    padding-top: 14px;
}

.utap-brand--sidebar-image img {
    max-width: 198px;
}

@media (max-width: 1024px) {
    .utap-topbar--dashboard {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 16px;
        align-items: start;
    }
    .utap-topbar--dashboard .utap-page-heading {
        grid-column: 2;
    }
    .utap-dashboard-toolbar {
        grid-column: 1 / -1;
        margin-left: 0;
        min-width: 0;
    }
    .utap-dashboard-toolbar__row {
        justify-content: space-between;
    }
}

@media (max-width: 640px) {
    .utap-topbar--dashboard {
        gap: 12px;
        margin-bottom: 18px;
    }
    .utap-topbar--dashboard .utap-page-heading h1 {
        font-size: 26px;
    }
    .utap-dashboard-toolbar {
        gap: 10px;
    }
    .utap-dashboard-toolbar__row {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .utap-period-switcher {
        width: 100%;
        justify-content: space-between;
        border-radius: 18px;
    }
    .utap-period-switcher__label {
        flex: 1;
        justify-content: center;
        font-size: 15px;
    }
    .utap-currency-toggle {
        width: 100%;
        justify-content: stretch;
    }
    .utap-currency-toggle a {
        flex: 1;
        text-align: center;
        justify-content: center;
        min-height: 48px;
    }
    .utap-primary-button--dashboard {
        width: 100%;
        min-height: 54px;
        border-radius: 18px;
        font-size: 16px;
    }
    .utap-brand--sidebar-image img {
        max-width: 184px;
    }
}


/* ============================================================
 * v0.29.2 — mniejsze przełączniki walut i lepsze osadzenie akcji mobile
 * ============================================================ */
.utap-topbar-buttons {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.utap-topbar-buttons .utap-secondary-action,
.utap-topbar-buttons .utap-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .utap-currency-toggle {
        width: auto !important;
        justify-content: flex-start;
    }

    .utap-currency-toggle a {
        flex: 0 0 auto !important;
        min-width: 54px;
        min-height: 40px;
        padding: 0 14px;
        font-size: 11px;
    }

    .utap-dashboard-toolbar__row {
        flex-direction: column;
        align-items: stretch;
    }

    .utap-dashboard-toolbar__row .utap-currency-toggle {
        align-self: flex-start;
    }

    .utap-topbar-actions--duo {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        justify-items: stretch;
    }

    .utap-topbar-actions--duo .utap-currency-toggle {
        justify-self: start;
    }

    .utap-topbar-buttons {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
        gap: 10px;
    }

    .utap-topbar-buttons .utap-secondary-action,
    .utap-topbar-buttons .utap-primary-button {
        width: 100%;
        min-height: 48px;
        border-radius: 16px;
        font-size: 14px;
        padding: 0 14px;
    }

    .utap-primary-button--dashboard {
        min-height: 52px;
    }
}


/* ============================================================
 * v0.30 — SIMPLE UI
 * ============================================================ */

/* Mniej pionowego miejsca w nagłówkach modułów. */
.utap-topbar:not(.utap-topbar--dashboard) {
    margin-bottom: 18px;
}

@media (max-width: 640px) {
    .utap-main {
        padding-top: 18px;
    }

    .utap-topbar:not(.utap-topbar--dashboard) {
        gap: 12px;
        margin-bottom: 16px;
    }

    .utap-topbar:not(.utap-topbar--dashboard) .utap-page-heading h1 {
        font-size: 27px;
    }

    .utap-topbar:not(.utap-topbar--dashboard) .utap-heading-subtitle {
        margin-top: 7px;
        max-width: 29rem;
        font-size: 12px;
        line-height: 1.45;
    }

    /* Po usunięciu waluty przyciski akcji są od razu pod tytułem. */
    .utap-topbar-actions--duo,
    .utap-topbar-actions--finance {
        margin-top: 2px;
    }

    .utap-topbar-actions--duo .utap-topbar-buttons,
    .utap-topbar-actions--finance .utap-topbar-buttons {
        width: 100%;
    }

    /* Pojedynczy przycisk modułu — mniej masywny niż wcześniej. */
    .utap-topbar-actions:not(.utap-topbar-actions--duo):not(.utap-topbar-actions--finance) .utap-primary-button {
        min-height: 48px;
        border-radius: 16px;
    }

    /* Pulpit: EUR/PLN jest jedynym globalnym przełącznikiem. */
    .utap-dashboard-toolbar__row .utap-currency-toggle a {
        min-width: 50px;
        min-height: 38px;
        padding: 0 12px;
    }
}


/* ============================================================
 * v0.31 — DKV w Finansach + prostsze filtry
 * ============================================================ */

.utap-dkv-finance {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--utap-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-dkv-finance__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.utap-dkv-finance__head h2 {
    margin: 2px 0 0;
    font-size: 15px;
}

.utap-dkv-finance__head > div > span {
    display: block;
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.45;
}

.utap-dkv-finance__summary {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.utap-dkv-finance__summary > div {
    padding: 10px 11px;
    border-radius: 10px;
    background: var(--utap-surface-soft);
}

.utap-dkv-finance__summary span,
.utap-dkv-finance__summary strong,
.utap-dkv-finance__summary small {
    display: block;
}

.utap-dkv-finance__summary span {
    color: var(--utap-muted);
    font-size: 8px;
    font-weight: 700;
}

.utap-dkv-finance__summary strong {
    margin-top: 4px;
    font-size: 18px;
}

.utap-dkv-finance__summary small {
    margin-top: 2px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-dkv-finance__empty {
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 9px;
    background: #fafbfc;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-dkv-history {
    margin-top: 10px;
    border-top: 1px solid var(--utap-border);
}

.utap-dkv-history > summary {
    padding: 10px 2px 0;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--utap-text);
    font-size: 9px;
    font-weight: 800;
}

.utap-dkv-history > summary::-webkit-details-marker {
    display: none;
}

.utap-dkv-history > summary b {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 7px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: inline-grid;
    place-items: center;
    font-size: 8px;
}

.utap-dkv-history .utap-table-wrap {
    margin-top: 10px;
}

.utap-finance-filters--simple {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 8px;
    align-items: start;
}

.utap-finance-more-filters {
    position: relative;
}

.utap-finance-more-filters > summary {
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    cursor: pointer;
    list-style: none;
    color: #5e6b7d;
    font-size: 9px;
    font-weight: 800;
}

.utap-finance-more-filters > summary::-webkit-details-marker {
    display: none;
}

.utap-finance-more-filters[open] > summary {
    border-color: #c8d8f2;
    background: #f8fbff;
    color: var(--utap-blue);
}

.utap-finance-more-filters__body {
    margin-top: 7px;
    padding: 8px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
    box-shadow: var(--utap-shadow);
}

@media (max-width: 850px) {
    .utap-finance-more-filters__body {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .utap-dkv-finance__head {
        align-items: stretch;
        flex-direction: column;
    }

    .utap-dkv-finance__head .utap-small-add {
        align-self: flex-start;
    }

    .utap-dkv-finance__summary {
        grid-template-columns: 1fr 1fr;
    }

    .utap-finance-filters--simple {
        grid-template-columns: 1fr auto;
    }

    .utap-finance-more-filters__body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .utap-dkv-finance__summary {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
 * v0.31.1 — DKV: karty + płatność jednym kliknięciem
 * ============================================================ */

.utap-dkv-cards {
    margin-top: 10px;
    display: grid;
    gap: 9px;
}

.utap-dkv-card {
    padding: 13px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fff;
}

.utap-dkv-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.utap-dkv-card__top strong,
.utap-dkv-card__eyebrow {
    display: block;
}

.utap-dkv-card__eyebrow {
    margin-bottom: 3px;
    color: var(--utap-muted);
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.utap-dkv-card__top strong {
    font-size: 11px;
}

.utap-dkv-status {
    flex: 0 0 auto;
    padding: 5px 7px;
    border-radius: 7px;
    background: #fff6e5;
    color: #a66b00;
    font-size: 7px;
    font-weight: 800;
}

.utap-dkv-status.is-paid {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

.utap-dkv-status.is-overdue,
.utap-dkv-status.utap-due--danger {
    background: #fff0f0;
    color: var(--utap-red);
}

.utap-dkv-card__amount {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.035em;
}

.utap-dkv-card__meta {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 7px;
}

.utap-dkv-card__meta span {
    min-width: 0;
    padding: 8px 9px;
    border-radius: 9px;
    background: var(--utap-surface-soft);
    color: #58667a;
    font-size: 8px;
    line-height: 1.35;
}

.utap-dkv-card__meta b {
    display: block;
    margin-bottom: 2px;
    color: var(--utap-muted);
    font-size: 6.8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.utap-dkv-pay-button {
    width: 100%;
    min-height: 39px;
    margin-top: 10px;
    border: 0;
    border-radius: 10px;
    background: var(--utap-blue);
    color: #fff;
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(37,99,235,.14);
}

.utap-dkv-pay-button:disabled {
    opacity: .65;
    cursor: wait;
}

.utap-dkv-paid-note {
    margin-top: 10px;
    padding: 8px 9px;
    border-radius: 9px;
    background: var(--utap-green-soft);
    color: var(--utap-green);
    font-size: 8px;
    font-weight: 800;
}

.utap-dkv-paid-note span {
    font-weight: 650;
}

.utap-dkv-card__more {
    margin-top: 8px;
}

.utap-dkv-card__more > summary {
    cursor: pointer;
    list-style: none;
    color: var(--utap-muted);
    font-size: 7.5px;
    font-weight: 800;
}

.utap-dkv-card__more > summary::-webkit-details-marker {
    display: none;
}

.utap-dkv-card__more > div {
    margin-top: 7px;
    display: flex;
    gap: 7px;
}

.utap-modal--compact {
    max-width: 430px;
}

.utap-form-grid--single {
    grid-template-columns: 1fr;
}

@media (max-width: 640px) {
    .utap-dkv-card {
        padding: 12px;
    }

    .utap-dkv-card__meta {
        grid-template-columns: 1fr 1fr;
    }

    .utap-dkv-card__meta span:nth-child(3) {
        grid-column: 1 / -1;
    }

    .utap-dkv-pay-button {
        min-height: 44px;
        font-size: 10px;
        border-radius: 12px;
    }
}


/* v0.31.2 — dowolny termin płatności klienta */
.utap-number-with-unit {
    position: relative;
}

.utap-number-with-unit input {
    width: 100%;
    padding-right: 48px !important;
}

.utap-number-with-unit > span {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 700;
    pointer-events: none;
}


/* v0.31.3 — jasne wyjaśnienie kosztu kierowcy */
.utap-compensation-explain {
    margin-bottom: 16px;
    padding: 14px 15px;
    border: 1px solid #d9e7ff;
    border-radius: 13px;
    background: #f7faff;
}

.utap-compensation-explain strong,
.utap-compensation-explain p,
.utap-compensation-explain span {
    display: block;
}

.utap-compensation-explain strong {
    color: #24446f;
    font-size: 11px;
}

.utap-compensation-explain p {
    margin: 6px 0 5px;
    color: var(--utap-text);
    font-size: 10px;
    line-height: 1.5;
}

.utap-compensation-explain span {
    color: var(--utap-muted);
    font-size: 9px;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .utap-compensation-explain {
        padding: 13px;
    }
}


/* ============================================================
 * v0.32 — wynagrodzenie: brutto firmy vs netto do wypłaty
 * ============================================================ */
.utap-payroll-explainer {
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.utap-payroll-explainer > div {
    padding: 13px 14px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: var(--utap-surface-soft);
}

.utap-payroll-explainer strong,
.utap-payroll-explainer p {
    display: block;
}

.utap-payroll-explainer strong {
    margin-top: 6px;
    font-size: 11px;
    color: var(--utap-text);
}

.utap-payroll-explainer p {
    margin: 4px 0 0;
    color: var(--utap-muted);
    font-size: 8.5px;
    line-height: 1.5;
}

.utap-payroll-explainer__badge {
    display: inline-flex;
    min-height: 21px;
    padding: 0 7px;
    align-items: center;
    border-radius: 7px;
    background: #fff1e5;
    color: #a96512;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .05em;
}

.utap-payroll-explainer__badge--net {
    background: var(--utap-green-soft);
    color: var(--utap-green);
}

@media (max-width: 640px) {
    .utap-payroll-explainer {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
 * v0.33 — wynagrodzenia miesiąc po miesiącu
 * ============================================================ */
.utap-driver-pay-breakdown--simple {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.utap-payroll-suggestion {
    margin-top: 10px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #cdddf8;
    border-radius: 10px;
    background: #f7faff;
    color: var(--utap-blue);
    cursor: pointer;
    font-size: 8.5px;
    font-weight: 800;
}

.utap-payroll-suggestion:hover {
    background: var(--utap-blue-soft);
}

@media (max-width: 640px) {
    .utap-driver-pay-breakdown--simple {
        grid-template-columns: 1fr 1fr;
    }

    .utap-driver-pay-breakdown--simple > div:last-child {
        grid-column: 1 / -1;
    }

    .utap-payroll-suggestion {
        width: 100%;
        min-height: 42px;
        font-size: 9px;
    }
}


/* ============================================================
 * v0.34 — premie kierowców od spedytorów
 * ============================================================ */
.utap-driver-bonuses {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: #fbfcfe;
}

.utap-driver-bonuses__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.utap-driver-bonuses__head strong,
.utap-driver-bonuses__head span {
    display: block;
}

.utap-driver-bonuses__head strong {
    font-size: 10px;
}

.utap-driver-bonuses__head span {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-driver-bonuses__head b {
    color: var(--utap-text);
}

.utap-driver-bonus-list {
    margin-top: 9px;
    display: grid;
    gap: 7px;
}

.utap-driver-bonus-item {
    padding: 9px 10px;
    border: 1px solid var(--utap-border);
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.utap-driver-bonus-item > div:first-child {
    min-width: 0;
}

.utap-driver-bonus-item strong,
.utap-driver-bonus-item span,
.utap-driver-bonus-item small {
    display: block;
}

.utap-driver-bonus-item strong {
    font-size: 10px;
}

.utap-driver-bonus-item span {
    margin-top: 2px;
    color: #5f6d7e;
    font-size: 7.5px;
    overflow-wrap: anywhere;
}

.utap-driver-bonus-item small {
    margin-top: 2px;
    color: var(--utap-muted-2);
    font-size: 7px;
}

.utap-driver-bonus-item__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
}

.utap-driver-bonus-pay {
    min-height: 30px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: var(--utap-blue);
    color: #fff;
    cursor: pointer;
    font-size: 7.5px;
    font-weight: 800;
}

.utap-driver-bonus-paid {
    padding: 5px 7px;
    border-radius: 7px;
    background: var(--utap-green-soft);
    color: var(--utap-green) !important;
    font-size: 7px !important;
    font-weight: 800;
}

.utap-driver-bonuses__empty {
    margin-top: 8px;
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-bonus-explain {
    margin-bottom: 14px;
    padding: 12px 13px;
    border: 1px solid #d9e7ff;
    border-radius: 11px;
    background: #f7faff;
}

.utap-bonus-explain strong,
.utap-bonus-explain span {
    display: block;
}

.utap-bonus-explain strong {
    color: #24446f;
    font-size: 10px;
}

.utap-bonus-explain span {
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 8.5px;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .utap-driver-bonuses__head {
        align-items: flex-start;
    }

    .utap-driver-bonus-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .utap-driver-bonus-item__actions {
        width: 100%;
    }

    .utap-driver-bonus-pay {
        flex: 1;
        min-height: 38px;
    }
}


/* ============================================================
 * v0.34.1 — otwarte premie + „Do opłacenia” na Pulpicie
 * ============================================================ */
.utap-dashboard-payables {
    margin-bottom: 14px;
    padding: 18px;
    border: 1px solid var(--utap-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--utap-shadow);
}

.utap-dashboard-payables__summary {
    margin: 12px 0 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff8f3;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 12px;
    align-items: center;
}

.utap-dashboard-payables__summary span,
.utap-dashboard-payables__summary strong,
.utap-dashboard-payables__summary small {
    display: block;
}

.utap-dashboard-payables__summary span {
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 750;
}

.utap-dashboard-payables__summary strong {
    grid-row: 1 / 3;
    grid-column: 2;
    color: var(--utap-red);
    font-size: 18px;
}

.utap-dashboard-payables__summary small {
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-dashboard-reminder.is-normal .utap-dashboard-reminder__dot {
    background: #7b8ca3;
}

@media (max-width: 640px) {
    .utap-dashboard-payables {
        padding: 14px;
        border-radius: 14px;
    }

    .utap-dashboard-payables__summary {
        margin-top: 10px;
    }

    .utap-dashboard-payables__summary strong {
        font-size: 16px;
    }
}


/* ============================================================
 * v0.35 — przypisanie kierowca ↔ pojazd
 * ============================================================ */
.utap-driver-vehicle {
    margin-top: 4px;
    display: flex !important;
    align-items: center;
    gap: 5px;
    color: var(--utap-blue) !important;
    font-size: 7.5px !important;
    font-weight: 750;
}

.utap-driver-vehicle svg {
    width: 12px;
    height: 12px;
}

.utap-driver-vehicle > span {
    color: var(--utap-muted-2);
    font-weight: 650;
}

.utap-fleet-card__driver {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: var(--utap-surface-soft);
}

.utap-fleet-card__driver span,
.utap-fleet-card__driver strong,
.utap-fleet-card__driver small {
    display: block;
}

.utap-fleet-card__driver span {
    color: var(--utap-muted);
    font-size: 7.5px;
    font-weight: 750;
}

.utap-fleet-card__driver strong {
    margin-top: 2px;
    color: var(--utap-text);
    font-size: 10px;
}

.utap-fleet-card__driver strong.is-empty {
    color: var(--utap-muted-2);
}

.utap-fleet-card__driver small {
    margin-top: 2px;
    color: var(--utap-muted-2);
    font-size: 7px;
}

@media (max-width: 640px) {
    .utap-fleet-card__driver {
        padding: 10px;
    }
}


/* ============================================================
 * v0.37 — koszt stały / zmienny
 * ============================================================ */
.utap-fixed-cost-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid var(--utap-border);
    border-radius: 11px;
    background: var(--utap-surface-soft);
    cursor: pointer;
}

.utap-fixed-cost-check input {
    width: 18px !important;
    height: 18px;
    margin: 1px 0 0;
    flex: 0 0 auto;
}

.utap-fixed-cost-check > span {
    display: block;
}

.utap-fixed-cost-check strong,
.utap-fixed-cost-check small {
    display: block;
}

.utap-fixed-cost-check strong {
    color: var(--utap-text);
    font-size: 9px;
}

.utap-fixed-cost-check small {
    margin-top: 3px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.45;
}

.utap-cost-kind {
    margin-top: 4px;
    display: inline-flex !important;
    width: fit-content;
    min-height: 19px;
    padding: 0 7px;
    align-items: center;
    border-radius: 7px;
    font-size: 7px !important;
    font-weight: 800;
}

.utap-cost-kind.is-fixed {
    background: #edf3ff;
    color: #315da8;
}

.utap-cost-kind.is-variable {
    background: #f3f5f7;
    color: #697586;
}

.utap-kpi-card--fixed-cost strong {
    color: #315da8;
}


/* ============================================================
 * v0.37.1 — globalne odstępy formularzy / brak nakładania pól
 * ============================================================ */

/* Każdy label jest własnym pionowym kontenerem.
   Zapobiega nachodzeniu kolejnych rzędów przy podpowiedziach <small>. */
.utap-form-grid > label,
.utap-form-full,
.utap-modal form > label {
    min-width: 0;
    align-self: start;
}

/* Większy odstęp pionowy między rzędami formularzy. */
.utap-form-grid {
    row-gap: 18px !important;
    column-gap: 14px;
}

/* Label tekstowy nad polem. */
.utap-form-grid label > span:first-child,
.utap-form-full > span:first-child {
    display: block;
    margin-bottom: 6px;
    line-height: 1.25;
}

/* Pola nie mogą wystawać poza własną kolumnę. */
.utap-form-grid input,
.utap-form-grid select,
.utap-form-grid textarea,
.utap-form-full input,
.utap-form-full select,
.utap-form-full textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Podpowiedź zawsze zajmuje normalne miejsce w układzie,
   zamiast "wisieć" pod polem i nachodzić na następny rząd. */
.utap-form-grid label > small,
.utap-form-full > small,
.utap-modal label > small {
    position: static !important;
    display: block;
    margin-top: 6px !important;
    line-height: 1.4;
    min-height: 0;
}

/* Checkbox / kafelek kosztu stałego ma własną wysokość. */
.utap-fixed-cost-check {
    min-height: 0;
    height: auto !important;
    margin: 0;
    box-sizing: border-box;
}

/* Elementy ukrywane/rozwijane nie rezerwują miejsca. */
.utap-form-grid [hidden],
.utap-form-full[hidden],
.utap-modal label[hidden] {
    display: none !important;
}

/* Sekcje formularzy też dostają bezpieczny odstęp. */
.utap-compensation-section + .utap-compensation-section,
.utap-modal .utap-compensation-rule,
.utap-modal .utap-form-message {
    margin-top: 16px;
}

/* Desktop: dwa pola w wierszu, ale wysokość wiersza dopasowuje się
   do najwyższego elementu zamiast narzucać wysokość sąsiedniemu polu. */
@media (min-width: 641px) {
    .utap-form-grid {
        grid-auto-rows: auto !important;
        align-items: start !important;
    }

    .utap-form-grid > label {
        height: auto !important;
    }
}

/* Mobile: jeszcze większy oddech, żeby formularze były łatwiejsze w obsłudze. */
@media (max-width: 640px) {
    .utap-form-grid {
        row-gap: 16px !important;
    }

    .utap-form-grid > label,
    .utap-form-full {
        margin-bottom: 0 !important;
    }
}


/* ============================================================
 * v0.37.2 — równe formularze + wygodne tabele na iPadzie
 * ============================================================ */

/* Jeden układ label -> pole -> podpowiedź.
   Dzięki temu pola w tym samym rzędzie zaczynają się na tej samej wysokości. */
.utap-form-grid > label:not(.utap-fixed-cost-check) {
    display: grid !important;
    grid-template-rows: auto 42px auto;
    align-content: start;
    gap: 6px !important;
}

.utap-form-grid > label:not(.utap-fixed-cost-check) > input,
.utap-form-grid > label:not(.utap-fixed-cost-check) > select,
.utap-form-grid > label:not(.utap-fixed-cost-check) > .utap-rate-control {
    align-self: start;
}

.utap-form-grid > label:not(.utap-fixed-cost-check) > small {
    margin-top: 0 !important;
}

/* Krótka podpowiedź typu „zalecane” zostaje obok nazwy pola,
   nie tworzy dodatkowej linii nad inputem. */
.utap-form-grid label > span .utap-inline-hint {
    display: inline !important;
    margin: 0 0 0 4px !important;
    color: var(--utap-blue);
    font-size: .82em;
    font-weight: 800;
}

/* Jeżeli element jest bardziej złożony (np. rachunek + pomoc),
   może mieć naturalną wysokość zamiast wymuszonego wiersza 42 px. */
.utap-form-grid > label[data-settlement-account-wrap],
.utap-form-grid > label[data-settlement-amount-field],
.utap-form-grid > label.utap-exchange-rate-field {
    grid-template-rows: auto auto auto;
}

/* Na tabletach akcje w tabelach nie powinny znikać poza ekranem. */
@media (max-width: 1180px) and (min-width: 761px) {
    .utap-table .utap-actions-col,
    .utap-table .utap-actions-cell {
        position: sticky;
        right: 0;
        z-index: 3;
        background: #fff;
        box-shadow: -8px 0 14px rgba(31,47,70,.06);
    }

    .utap-table thead .utap-actions-col {
        background: #fafbfd;
        z-index: 4;
    }
}

/* Tankowania na iPadzie/tablecie są kartami zamiast szerokiej tabeli.
   Wszystkie dane i przyciski są od razu widoczne bez przewijania w bok. */
@media (max-width: 1400px) {
    .utap-operations-fuel-table {
        min-width: 0 !important;
        width: 100%;
        border-collapse: separate;
        background: transparent;
    }

    .utap-operations-fuel-table thead {
        display: none;
    }

    .utap-operations-fuel-table,
    .utap-operations-fuel-table tbody,
    .utap-operations-fuel-table tr,
    .utap-operations-fuel-table td {
        display: block;
        width: 100%;
    }

    .utap-operations-fuel-table tbody {
        display: grid;
        gap: 10px;
    }

    .utap-operations-fuel-table tr {
        overflow: hidden;
        border: 1px solid var(--utap-border);
        border-radius: 13px;
        background: #fff;
    }

    .utap-operations-fuel-table td {
        min-height: 0;
        padding: 9px 12px;
        border-bottom: 1px solid #edf0f4;
        white-space: normal !important;
        display: grid;
        grid-template-columns: 92px minmax(0,1fr);
        gap: 10px;
        align-items: start;
        text-align: left !important;
    }

    .utap-operations-fuel-table td::before {
        content: attr(data-label);
        color: var(--utap-muted);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    .utap-operations-fuel-table td:last-child {
        border-bottom: 0;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        position: static !important;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        padding-top: 11px;
        padding-bottom: 11px;
        background: #fafbfd;
        box-shadow: none !important;
    }

    .utap-operations-fuel-table .utap-actions-cell::before {
        margin-right: auto;
        align-self: center;
    }

    .utap-operations-fuel-table .utap-edit-button,
    .utap-operations-fuel-table .utap-delete-button {
        min-height: 36px;
        padding: 0 12px;
    }

    .utap-operations-fuel-table .utap-operation-detail {
        max-width: none;
        white-space: normal;
    }

    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }
}

/* Telefon: karta jest jeszcze prostsza, etykieta i wartość obok siebie. */
@media (max-width: 640px) {
    .utap-form-grid > label:not(.utap-fixed-cost-check) {
        grid-template-rows: auto auto auto;
    }

    .utap-operations-fuel-table td {
        grid-template-columns: 82px minmax(0,1fr);
    }

    .utap-operations-fuel-table .utap-actions-cell {
        flex-wrap: wrap;
    }

    .utap-operations-fuel-table .utap-edit-button,
    .utap-operations-fuel-table .utap-delete-button {
        flex: 1;
        min-width: 105px;
    }
}


/* ============================================================
 * v0.38.0 — Finanse > Wydatki firmy bez przewijania poziomego
 * ============================================================ */
@media (max-width: 1400px) {
    .utap-expense-cards {
        width: 100% !important;
        min-width: 0 !important;
        border-collapse: separate;
        background: transparent;
    }

    .utap-expense-cards thead {
        display: none !important;
    }

    .utap-expense-cards,
    .utap-expense-cards tbody,
    .utap-expense-cards tr,
    .utap-expense-cards td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .utap-expense-cards tbody {
        display: grid;
        gap: 10px;
    }

    .utap-expense-cards tr {
        overflow: hidden;
        border: 1px solid var(--utap-border);
        border-radius: 13px;
        background: #fff;
    }

    .utap-expense-cards td {
        min-height: 0 !important;
        padding: 9px 12px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        display: grid !important;
        grid-template-columns: 105px minmax(0,1fr);
        gap: 10px;
        align-items: start;
        text-align: left !important;
        position: static !important;
        box-shadow: none !important;
    }

    .utap-expense-cards td::before {
        content: attr(data-label);
        color: var(--utap-muted);
        font-size: 7.5px;
        font-weight: 850;
        letter-spacing: .035em;
        text-transform: uppercase;
        line-height: 1.35;
    }

    .utap-expense-cards td:last-child {
        border-bottom: 0 !important;
    }

    .utap-expense-cards .utap-actions-cell {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 8px;
        padding-top: 11px !important;
        padding-bottom: 11px !important;
        background: #fafbfd !important;
    }

    .utap-expense-cards .utap-actions-cell::before {
        content: "Akcje";
        margin-right: auto;
        align-self: center;
    }

    .utap-expense-cards .utap-edit-button,
    .utap-expense-cards .utap-delete-button,
    .utap-expense-cards .utap-payment-button {
        min-height: 36px;
        max-width: 100%;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap {
        overflow: visible !important;
        max-width: 100%;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    /* Nie pozwalamy sekcji finansowej rozszerzać całej strony poza ekran. */
    .utap-finance-panel,
    .utap-finance-panel .utap-table-wrap,
    .utap-expense-cards {
        max-width: 100% !important;
        overflow-x: clip !important;
    }
}

@media (max-width: 640px) {
    .utap-expense-cards td {
        grid-template-columns: 82px minmax(0,1fr);
        padding: 9px 10px !important;
    }

    .utap-expense-cards .utap-actions-cell {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .utap-expense-cards .utap-actions-cell::before {
        grid-column: 1 / -1;
    }

    .utap-expense-cards .utap-edit-button,
    .utap-expense-cards .utap-delete-button {
        width: 100%;
    }
}


/* ============================================================
 * v0.38.1 — FINALNY, odporny układ wszystkich formularzy
 * Bez stałych wysokości wierszy i bez nachodzenia elementów.
 * ============================================================ */

/*
 * Każde pole formularza jest pionowym kontenerem:
 * nazwa -> kontrolka -> podpowiedź.
 * Nie narzucamy już 42 px jako osobnego wiersza CSS Grid,
 * bo dynamiczne podpowiedzi i selecty mogły się wtedy nakładać.
 */
.utap-form-grid > label:not(.utap-fixed-cost-check),
.utap-form-grid--single > label:not(.utap-fixed-cost-check),
.utap-form-full {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 6px !important;
    overflow: visible !important;
}

/* Wyłączamy wcześniejszy sztywny model wierszy. */
.utap-form-grid > label:not(.utap-fixed-cost-check),
.utap-form-grid > label[data-settlement-account-wrap],
.utap-form-grid > label[data-settlement-amount-field],
.utap-form-grid > label.utap-exchange-rate-field {
    grid-template-rows: none !important;
}

/* Nazwy pól zawsze mają swoje miejsce i nie nachodzą na input. */
.utap-form-grid > label > span:first-child,
.utap-form-grid--single > label > span:first-child,
.utap-form-full > span:first-child {
    position: static !important;
    display: block !important;
    flex: 0 0 auto;
    min-height: 14px;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* Kontrolki mają tę samą bazową wysokość, ale label może rosnąć naturalnie. */
.utap-form-grid > label > input:not([type="checkbox"]):not([type="hidden"]),
.utap-form-grid > label > select,
.utap-form-grid--single > label > input:not([type="checkbox"]):not([type="hidden"]),
.utap-form-grid--single > label > select,
.utap-form-full > input:not([type="checkbox"]):not([type="hidden"]),
.utap-form-full > select {
    flex: 0 0 auto;
    min-height: 42px !important;
    height: 42px;
    margin: 0 !important;
}

/* Textarea nie dostaje wymuszonej wysokości 42px. */
.utap-form-grid > label > textarea,
.utap-form-grid--single > label > textarea,
.utap-form-full > textarea {
    flex: 0 0 auto;
    min-height: 72px;
    height: auto !important;
    margin: 0 !important;
}

/* Podpowiedź ZAWSZE po kontrolce i w normalnym przepływie dokumentu. */
.utap-form-grid > label > small,
.utap-form-grid--single > label > small,
.utap-form-full > small {
    position: static !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto;
    width: 100%;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow: visible !important;
}

/* Element z kursem walutowym jest normalną kontrolką formularza. */
.utap-rate-control {
    flex: 0 0 auto;
    min-height: 42px;
    margin: 0 !important;
}

/* Checkbox-kafelek ma swój własny naturalny układ. */
.utap-fixed-cost-check {
    align-self: stretch !important;
    min-height: 66px !important;
    height: auto !important;
}

/*
 * Grid wylicza wysokość każdego rzędu z najwyższego pola.
 * Następny rząd zaczyna się dopiero PO całej podpowiedzi.
 */
.utap-form-grid {
    grid-auto-flow: row;
    grid-auto-rows: max-content !important;
    align-items: start !important;
    row-gap: 18px !important;
    column-gap: 14px !important;
}

/* Ukryte pola absolutnie nie uczestniczą w układzie. */
.utap-form-grid > label[hidden],
.utap-form-grid--single > label[hidden],
.utap-form-full[hidden],
.utap-form-grid > .utap-advanced-field[hidden] {
    display: none !important;
}

/* Modal zawsze może przewinąć się pionowo, nigdy nie ściska pól. */
.utap-modal {
    max-height: calc(100dvh - 32px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

/* Nagłówek nie jest ściskany przez długi formularz. */
.utap-modal-header,
.utap-modal-head {
    flex: 0 0 auto;
}

/* Przyciski końcowe pozostają osobnym rzędem. */
.utap-form-actions {
    position: static !important;
    clear: both;
    flex: 0 0 auto;
    margin-top: 2px;
}

/* Tablet/iPad: nadal dwie kolumny, ale bez wymuszonych wysokości. */
@media (min-width: 701px) and (max-width: 1180px) {
    .utap-form-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    }

    .utap-modal--vehicle,
    .utap-modal {
        width: min(760px, calc(100vw - 32px)) !important;
    }
}

/* Telefon: jedna kolumna = brak możliwości kolizji poziomej. */
@media (max-width: 700px) {
    .utap-form-grid {
        grid-template-columns: minmax(0,1fr) !important;
        row-gap: 15px !important;
    }

    .utap-modal {
        width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
}


/* ============================================================
 * v0.38.2 — iPad/tablet: wszystkie modale w jednej kolumnie
 * ============================================================ */

/*
 * iPady potrafią raportować viewport szerszy niż 1180 CSS px.
 * Dlatego do 1400 px rezygnujemy z układu 2-kolumnowego w modalach.
 * Priorytet: czytelność i brak kolizji, nie maksymalne upakowanie.
 */
@media (max-width: 1400px) {
    .utap-modal .utap-form-grid,
    .utap-modal .utap-form-grid--single {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: max-content !important;
        row-gap: 16px !important;
        column-gap: 0 !important;
        align-items: start !important;
    }

    .utap-modal .utap-form-grid > label,
    .utap-modal .utap-form-grid--single > label,
    .utap-modal .utap-form-full,
    .utap-modal .utap-fixed-cost-check {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        box-sizing: border-box;
    }

    .utap-modal .utap-payroll-explainer {
        grid-template-columns: minmax(0,1fr) !important;
        gap: 8px !important;
    }

    .utap-modal .utap-driver-pay-breakdown,
    .utap-modal .utap-driver-pay-breakdown--simple {
        grid-template-columns: minmax(0,1fr) !important;
    }

    .utap-modal {
        width: min(680px, calc(100vw - 28px)) !important;
        max-width: calc(100vw - 28px) !important;
        max-height: calc(100dvh - 28px) !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .utap-modal form,
    .utap-modal .utap-compensation-section,
    .utap-modal .utap-payroll-explainer,
    .utap-modal .utap-compensation-rule {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    /* Każdy element w labelu jest normalnym blokiem w kolejności DOM. */
    .utap-modal label {
        position: static !important;
        overflow: visible !important;
    }

    .utap-modal label > span,
    .utap-modal label > input,
    .utap-modal label > select,
    .utap-modal label > textarea,
    .utap-modal label > small,
    .utap-modal label > .utap-rate-control {
        position: static !important;
        float: none !important;
        clear: both !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .utap-modal label > small {
        order: 3;
    }

    .utap-modal label > input:not([type="checkbox"]):not([type="hidden"]),
    .utap-modal label > select,
    .utap-modal label > textarea,
    .utap-modal label > .utap-rate-control {
        order: 2;
    }

    .utap-modal label > span:first-child {
        order: 1;
    }
}

/* Bardzo mały ekran — modal niemal pełnoekranowy. */
@media (max-width: 700px) {
    .utap-modal {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}


/* v0.39 — wybór miesiąca Kierowców */
.utap-driver-period-switcher {
    margin-bottom: 14px;
}


/* v0.40 — wszystkie pozostałe główne tabele jako karty na iPadzie */
@media (max-width: 1400px) {
  .utap-global-cards{width:100%!important;min-width:0!important;border-collapse:separate;background:transparent}
  .utap-global-cards thead{display:none!important}
  .utap-global-cards,.utap-global-cards tbody,.utap-global-cards tr,.utap-global-cards td{display:block;width:100%;box-sizing:border-box}
  .utap-global-cards tbody{display:grid;gap:10px}
  .utap-global-cards tr{overflow:hidden;border:1px solid var(--utap-border);border-radius:13px;background:#fff}
  .utap-global-cards td{padding:9px 12px!important;border:0!important;border-bottom:1px solid #edf0f4!important;white-space:normal!important;overflow-wrap:anywhere;display:grid!important;grid-template-columns:105px minmax(0,1fr);gap:10px;align-items:start;text-align:left!important;position:static!important;box-shadow:none!important}
  .utap-global-cards td::before{content:attr(data-label);color:var(--utap-muted);font-size:7.5px;font-weight:850;letter-spacing:.035em;text-transform:uppercase;line-height:1.35}
  .utap-global-cards td:last-child{border-bottom:0!important}
  .utap-global-cards .utap-actions-cell,.utap-global-cards td[data-label="Akcje"]{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;background:#fafbfd!important}
  .utap-global-cards .utap-actions-cell::before,.utap-global-cards td[data-label="Akcje"]::before{content:"Akcje";margin-right:auto}
  .utap-table-wrap:has(.utap-global-cards){overflow:visible!important;max-width:100%!important;border:0;background:transparent}
}
@media (max-width:640px){.utap-global-cards td{grid-template-columns:82px minmax(0,1fr)}}


/* ============================================================
 * v0.42.1 — zobowiązania/należności w walutach źródłowych
 * ============================================================ */
.utap-native-currency-totals {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.utap-native-currency-totals strong {
    display: block;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .utap-native-currency-totals {
        align-items: flex-start;
    }
}


/* ============================================================
 * v0.43 — wyjaśnialne koszty + kontrola rozliczeń DKV
 * ============================================================ */
.utap-kpi-card--clickable {
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}
.utap-kpi-card--clickable:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(31,47,70,.08);
}
.utap-kpi-card--clickable:focus-visible {
    outline: 2px solid var(--utap-blue);
    outline-offset: 2px;
}

.utap-modal--wide {
    width: min(900px, calc(100vw - 32px));
}

.utap-cost-details-summary {
    margin-bottom: 12px;
    padding: 13px 14px;
    border-radius: 12px;
    background: var(--utap-surface-soft);
}
.utap-cost-details-summary span,
.utap-cost-details-summary strong,
.utap-cost-details-summary small {
    display:block;
}
.utap-cost-details-summary strong {
    margin-top:3px;
    font-size:18px;
}

.utap-cost-details-list {
    display:grid;
    gap:8px;
}
.utap-cost-details-list article {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:11px 12px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:#fff;
}
.utap-cost-details-list article > div:first-child {
    min-width:0;
}
.utap-cost-details-list span,
.utap-cost-details-list strong,
.utap-cost-details-list small {
    display:block;
}
.utap-cost-details-list span,
.utap-cost-details-list small {
    color:var(--utap-muted);
    font-size:8px;
}
.utap-cost-details-list article > div:last-child {
    flex:0 0 auto;
    text-align:right;
}

.utap-dkv-reconcile {
    width:100%;
    margin:10px 0 0;
    padding:10px 11px;
    border:1px solid var(--utap-border);
    border-radius:10px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    background:#fafbfd;
    cursor:pointer;
    text-align:left;
}
.utap-dkv-reconcile span { font-weight:800; }
.utap-dkv-reconcile b { color:var(--utap-blue); white-space:nowrap; }
.utap-dkv-reconcile.is-match {
    border-color:#cfe9d8;
    background:#f5fbf7;
    color:var(--utap-green);
}
.utap-dkv-reconcile.is-difference,
.utap-dkv-reconcile.is-incomplete {
    border-color:#f1d7bb;
    background:#fff8f1;
    color:#9b5d14;
}

.utap-dkv-card[data-dkv-card-details] {
    cursor:pointer;
}

.utap-dkv-detail-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.utap-dkv-detail-heading span,
.utap-dkv-detail-heading strong,
.utap-dkv-detail-heading small { display:block; }
.utap-dkv-detail-heading > div > span,
.utap-dkv-detail-heading small {
    color:var(--utap-muted);
    font-size:8px;
}

.utap-dkv-reconciliation-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
}
.utap-dkv-reconciliation-grid > div {
    padding:12px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:var(--utap-surface-soft);
}
.utap-dkv-reconciliation-grid span,
.utap-dkv-reconciliation-grid strong { display:block; }
.utap-dkv-reconciliation-grid span {
    color:var(--utap-muted);
    font-size:8px;
}
.utap-dkv-reconciliation-grid strong {
    margin-top:3px;
    font-size:13px;
}
.utap-dkv-reconciliation-grid .is-warning strong { color:var(--utap-red); }
.utap-dkv-reconciliation-grid .is-ok strong { color:var(--utap-green); }

.utap-dkv-audit-alert,
.utap-dkv-audit-ok {
    margin-bottom:10px;
    padding:10px 12px;
    border-radius:10px;
}
.utap-dkv-audit-alert {
    background:#fff7ef;
    border:1px solid #f0d3b4;
    color:#8f5617;
}
.utap-dkv-audit-ok {
    background:#f3faf5;
    border:1px solid #cfe8d6;
    color:var(--utap-green);
}
.utap-dkv-audit-alert strong,
.utap-dkv-audit-alert span,
.utap-dkv-audit-ok strong { display:block; }
.utap-dkv-audit-alert span {
    margin-top:3px;
    font-size:8.5px;
}

.utap-dkv-fueling-list {
    display:grid;
    gap:8px;
}
.utap-dkv-fueling-list article {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:12px;
    align-items:center;
    padding:11px 12px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:#fff;
}
.utap-dkv-fueling-main span,
.utap-dkv-fueling-main strong,
.utap-dkv-fueling-main small,
.utap-dkv-fueling-value strong,
.utap-dkv-fueling-value small {
    display:block;
}
.utap-dkv-fueling-main span,
.utap-dkv-fueling-main small,
.utap-dkv-fueling-value small {
    color:var(--utap-muted);
    font-size:8px;
}
.utap-dkv-fueling-value {
    text-align:right;
}
.utap-dkv-fueling-actions {
    display:flex;
    gap:6px;
}

@media (max-width: 1400px) {
    .utap-modal--wide {
        width:min(760px,calc(100vw - 28px))!important;
    }
}
@media (max-width: 700px) {
    .utap-dkv-reconciliation-grid {
        grid-template-columns:1fr;
    }
    .utap-dkv-fueling-list article {
        grid-template-columns:1fr;
    }
    .utap-dkv-fueling-value {
        text-align:left;
    }
    .utap-dkv-fueling-actions .utap-edit-button,
    .utap-dkv-fueling-actions .utap-delete-button {
        flex:1;
    }
    .utap-cost-details-list article {
        flex-direction:column;
    }
    .utap-cost-details-list article > div:last-child {
        text-align:left;
    }
}

/* v0.44 */
.utap-global-period{margin:0 0 14px;padding:8px;display:grid;grid-template-columns:42px minmax(180px,1fr) 42px;gap:8px;border:1px solid var(--utap-border);border-radius:13px;background:#fff}
.utap-global-period .utap-period-arrow{min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--utap-border);border-radius:10px;background:var(--utap-surface-soft);color:var(--utap-text);text-decoration:none;font-weight:900}
.utap-global-period .utap-period-arrow.is-disabled{opacity:.35}
.utap-period-picker{position:relative;padding:7px 38px 7px 12px;display:flex;flex-direction:column;justify-content:center;border:1px solid #dbe3ef;border-radius:10px;background:#fbfcfe;cursor:pointer;overflow:hidden}
.utap-period-picker small{color:var(--utap-muted);font-size:7.5px}.utap-period-picker strong{font-size:10.5px}
.utap-period-picker>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--utap-blue)}
.utap-period-picker input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;z-index:2}
.utap-long-list{max-height:620px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}
.utap-long-list--cards{padding:2px 4px 2px 0}
@media(max-width:1400px){.utap-table-wrap.utap-long-list,.utap-finance-panel .utap-table-wrap.utap-long-list{max-height:620px!important;overflow-y:auto!important;overflow-x:hidden!important}}
@media(max-width:700px){.utap-long-list,.utap-table-wrap.utap-long-list{max-height:68dvh!important}.utap-global-period{grid-template-columns:38px minmax(0,1fr) 38px}}
.utap-fleet-card__driver{display:flex;align-items:center;justify-content:space-between;gap:10px}.utap-fleet-card__driver>div{min-width:0}
.utap-small-link-button{flex:0 0 auto;min-height:30px;padding:0 9px;border:1px solid #cfdcf0;border-radius:8px;background:#fff;color:var(--utap-blue);font-size:7.5px;font-weight:850;cursor:pointer}
.utap-assign-driver-vehicle{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--utap-surface-soft);font-weight:800}
.utap-dkv-history>.utap-dkv-history-button{min-height:42px;padding:0 12px;border:1px solid #cddcf3;border-radius:10px;display:flex;align-items:center;justify-content:space-between;background:#f7faff;color:var(--utap-blue);cursor:pointer;font-weight:850}
.utap-dkv-pay-button{width:auto!important;min-height:32px!important;padding:0 10px!important;margin-top:9px;display:inline-flex!important;align-items:center;justify-content:center;align-self:flex-start;font-size:7.5px!important;border-radius:8px!important}


/* ============================================================
 * v0.44.1 — pełna instrukcja dla początkującego
 * ============================================================ */
.utap-guide-actions--expanded {
    grid-template-columns: repeat(2,minmax(0,1fr));
}

.utap-guide-two-columns {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.utap-guide-two-columns article,
.utap-guide-glossary article,
.utap-guide-dont article {
    padding:14px;
    border:1px solid var(--utap-border);
    border-radius:12px;
    background:#fff;
}
.utap-guide-two-columns strong,
.utap-guide-glossary strong,
.utap-guide-dont strong {
    display:block;
    margin-top:5px;
}
.utap-guide-two-columns p,
.utap-guide-glossary p,
.utap-guide-dont p {
    margin:5px 0 0;
    color:var(--utap-muted);
    font-size:8.5px;
    line-height:1.55;
}
.utap-guide-chip {
    display:inline-flex;
    min-height:20px;
    padding:0 7px;
    align-items:center;
    border-radius:7px;
    background:#fff3e8;
    color:#9a5b18;
    font-size:7px;
    font-weight:900;
}
.utap-guide-chip--green {
    background:#edf8f1;
    color:var(--utap-green);
}

.utap-guide-example,
.utap-guide-warning {
    margin-top:10px;
    padding:13px 14px;
    border-radius:12px;
}
.utap-guide-example {
    border:1px solid #d9e5f7;
    background:#f7faff;
}
.utap-guide-warning {
    border:1px solid #f0d2b1;
    background:#fff7ee;
}
.utap-guide-example strong,
.utap-guide-warning strong {
    display:block;
}
.utap-guide-example p,
.utap-guide-warning p {
    margin:5px 0 0;
    color:var(--utap-muted);
    font-size:8.5px;
    line-height:1.55;
}

.utap-guide-steps {
    display:grid;
    gap:8px;
}
.utap-guide-steps article {
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    padding:12px 13px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:#fff;
}
.utap-guide-steps article>span {
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#edf4ff;
    color:var(--utap-blue);
    font-weight:900;
}
.utap-guide-steps strong {
    display:block;
}
.utap-guide-steps p {
    margin:4px 0 0;
    color:var(--utap-muted);
    font-size:8.5px;
    line-height:1.5;
}

.utap-guide-glossary,
.utap-guide-dont {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.utap-guide-checklist {
    display:grid;
    gap:7px;
}
.utap-guide-checklist label {
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:9px;
    align-items:start;
    padding:10px 12px;
    border:1px solid var(--utap-border);
    border-radius:10px;
    background:#fff;
}
.utap-guide-checklist label>span {
    color:var(--utap-green);
    font-weight:900;
}
.utap-guide-checklist p {
    margin:0;
    font-size:8.5px;
    line-height:1.5;
}

.utap-guide-routing {
    overflow:hidden;
    border:1px solid var(--utap-border);
    border-radius:12px;
    background:#fff;
}
.utap-guide-routing>div {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    padding:10px 12px;
    border-bottom:1px solid #edf0f4;
}
.utap-guide-routing>div:last-child {
    border-bottom:0;
}
.utap-guide-routing strong {
    font-size:8.5px;
}
.utap-guide-routing span {
    color:var(--utap-blue);
    font-size:8.5px;
    font-weight:750;
}

@media (max-width:900px) {
    .utap-guide-actions--expanded,
    .utap-guide-two-columns,
    .utap-guide-glossary,
    .utap-guide-dont {
        grid-template-columns:1fr;
    }
}
@media (max-width:640px) {
    .utap-guide-routing>div {
        grid-template-columns:1fr;
        gap:3px;
    }
}


/* ============================================================
 * v0.44.4 — naprawa modali + prostsze Rozliczenia DKV
 * ============================================================ */
.utap-dkv-finance--clean {
    padding: 16px;
    border: 1px solid var(--utap-border);
    border-radius: 15px;
    background: #fff;
}

.utap-dkv-finance--clean .utap-dkv-finance__head {
    margin-bottom: 12px;
    align-items: center;
}

.utap-dkv-finance--clean .utap-dkv-finance__head h2 {
    margin-bottom: 3px;
}

.utap-dkv-finance--clean .utap-dkv-finance__head > div > span {
    display: block;
    max-width: 620px;
    color: var(--utap-muted);
    line-height: 1.45;
}

.utap-dkv-add-button {
    width: auto !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    white-space: nowrap;
}

.utap-dkv-overview {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.utap-dkv-overview article {
    padding: 11px 12px;
    border: 1px solid #e4e9f1;
    border-radius: 11px;
    background: #fafbfd;
}

.utap-dkv-overview span,
.utap-dkv-overview strong,
.utap-dkv-overview small {
    display: block;
}

.utap-dkv-overview span {
    color: var(--utap-muted);
    font-size: 8px;
}

.utap-dkv-overview strong {
    margin-top: 2px;
    font-size: 17px;
}

.utap-dkv-overview small {
    margin-top: 1px;
    color: var(--utap-muted);
    font-size: 7.8px;
}

.utap-dkv-history {
    margin-top: 4px;
}

.utap-dkv-history > .utap-dkv-history-button {
    min-height: 52px !important;
    padding: 9px 12px !important;
    border: 1px solid #dfe6f0 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--utap-text) !important;
}

.utap-dkv-history-button > div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.utap-dkv-history-button strong {
    font-size: 9px;
}

.utap-dkv-history-button small {
    color: var(--utap-muted);
    font-size: 7.5px;
    font-weight: 600;
}

.utap-dkv-history-chevron {
    color: var(--utap-blue);
    font-size: 15px;
    font-weight: 900;
    transition: transform .15s ease;
}

.utap-dkv-history[open] .utap-dkv-history-chevron {
    transform: rotate(180deg);
}

.utap-dkv-cards {
    margin-top: 9px;
}

.utap-dkv-card {
    padding: 12px !important;
    border: 1px solid #e4e9f1 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: #fff !important;
}

.utap-dkv-card__top {
    align-items: flex-start;
}

.utap-dkv-card__amount {
    margin: 8px 0 !important;
    font-size: 18px !important;
}

.utap-dkv-card__meta {
    gap: 6px !important;
}

.utap-dkv-card__meta > span {
    padding: 7px 8px;
    border-radius: 8px;
    background: #f7f8fa;
}

.utap-dkv-reconcile {
    min-height: 38px;
    padding: 8px 10px !important;
    border-radius: 9px !important;
    font-size: 8px;
}

.utap-dkv-reconcile b {
    font-size: 7.5px;
}

.utap-dkv-pay-button {
    margin-top: 7px !important;
    min-height: 30px !important;
    padding: 0 9px !important;
    font-size: 7.2px !important;
}

.utap-dkv-card__more {
    margin-top: 7px;
}

.utap-dkv-card__more > summary {
    color: var(--utap-muted);
    font-size: 7.5px;
}

@media (max-width:700px) {
    .utap-dkv-finance--clean {
        padding: 12px;
    }
    .utap-dkv-finance--clean .utap-dkv-finance__head {
        align-items: stretch;
    }
    .utap-dkv-add-button {
        width: 100% !important;
    }
    .utap-dkv-overview {
        grid-template-columns: 1fr 1fr;
    }
}


/* ============================================================
 * v0.45 — porządek wizualny: Kierowcy i Pojazdy
 * ============================================================ */

/* Karty mają spójne osadzenie i pionowy rytm. */
.utap-driver-grid,
.utap-fleet-grid {
    gap: 14px !important;
    align-items: stretch !important;
}

.utap-driver-card,
.utap-fleet-card {
    height: 100%;
    padding: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
    border-radius: 15px !important;
    border: 1px solid #e2e7ef !important;
    box-shadow: 0 3px 12px rgba(31,47,70,.035) !important;
    background: #fff;
}

.utap-driver-card__header,
.utap-fleet-card__header {
    min-height: 48px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf0f4;
    align-items: center !important;
}

.utap-driver-card__identity,
.utap-fleet-card__identity {
    min-width: 0;
}

.utap-driver-card__identity strong,
.utap-fleet-card__identity strong {
    line-height: 1.25 !important;
}

.utap-driver-card__cost,
.utap-fleet-card__profit {
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 11px !important;
    border: 1px solid #e5eaf1;
    background: #fafbfd !important;
}

.utap-driver-card__contact,
.utap-fleet-card__service,
.utap-fleet-card__metrics {
    margin: 0 !important;
    gap: 7px !important;
}

.utap-driver-card__contact > div,
.utap-fleet-card__service > div,
.utap-fleet-card__metrics > div {
    min-height: 54px;
    padding: 9px 10px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 9px !important;
}

.utap-fleet-card__driver {
    min-height: 54px;
    padding: 9px 10px;
    border: 1px solid #e7ebf1;
    border-radius: 10px;
    background: #fbfcfd;
}

.utap-fleet-card__reminders,
.utap-driver-bonuses {
    margin-top: 0 !important;
}

.utap-driver-card__footer,
.utap-fleet-card__footer {
    margin-top: auto !important;
    padding-top: 11px !important;
    border-top: 1px solid #edf0f4;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: wrap;
}

.utap-driver-card__footer > button,
.utap-driver-card__footer > a,
.utap-fleet-card__footer > button,
.utap-fleet-card__footer > a,
.utap-small-link-button,
.utap-service-add-button {
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 7.8px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

.utap-driver-card__footer .utap-compensation-button {
    flex: 1 1 150px;
}

.utap-driver-card__footer .utap-edit-button,
.utap-fleet-card__footer .utap-edit-button {
    flex: 0 1 auto;
}

.utap-status-toggle {
    min-height: 28px !important;
    padding: 0 8px !important;
    border-radius: 8px !important;
    flex: 0 0 auto;
}

/* Formularze Kierowcy/Pojazdu mają to samo osadzenie. */
#utap-driver-modal .utap-modal,
#utap-vehicle-modal .utap-modal,
#utap-compensation-modal .utap-modal,
#utap-assign-driver-modal .utap-modal {
    padding: 20px !important;
    border-radius: 17px !important;
    box-shadow: 0 24px 70px rgba(21,36,58,.18) !important;
}

#utap-driver-modal .utap-modal-header,
#utap-vehicle-modal .utap-modal-header,
#utap-compensation-modal .utap-modal-header,
#utap-assign-driver-modal .utap-modal-head {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #edf0f4;
}

#utap-driver-modal .utap-form-actions,
#utap-vehicle-modal .utap-form-actions,
#utap-compensation-modal .utap-form-actions,
#utap-assign-driver-modal .utap-form-actions {
    margin-top: 16px !important;
    padding-top: 13px !important;
    border-top: 1px solid #edf0f4;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
}

#utap-driver-modal .utap-form-actions button,
#utap-vehicle-modal .utap-form-actions button,
#utap-compensation-modal .utap-form-actions button,
#utap-assign-driver-modal .utap-form-actions button {
    min-width: 118px;
    min-height: 39px !important;
    border-radius: 10px !important;
}

.utap-compensation-driver {
    margin-bottom: 13px;
    padding: 11px 12px;
    border: 1px solid #dce5f1;
    border-radius: 11px;
    background: #f8fbff;
}

.utap-compensation-driver > span {
    font-weight: 850;
}

@media (max-width: 900px) {
    .utap-driver-card,
    .utap-fleet-card {
        padding: 13px !important;
    }

    #utap-driver-modal .utap-modal,
    #utap-vehicle-modal .utap-modal,
    #utap-compensation-modal .utap-modal,
    #utap-assign-driver-modal .utap-modal {
        padding: 16px !important;
    }
}

@media (max-width: 640px) {
    .utap-driver-card__footer,
    .utap-fleet-card__footer {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .utap-driver-card__footer > button,
    .utap-driver-card__footer > a,
    .utap-fleet-card__footer > button,
    .utap-fleet-card__footer > a {
        width: 100%;
    }

    #utap-driver-modal .utap-form-actions,
    #utap-vehicle-modal .utap-form-actions,
    #utap-compensation-modal .utap-form-actions,
    #utap-assign-driver-modal .utap-form-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    #utap-driver-modal .utap-form-actions button,
    #utap-vehicle-modal .utap-form-actions button,
    #utap-compensation-modal .utap-form-actions button,
    #utap-assign-driver-modal .utap-form-actions button {
        min-width: 0;
        width: 100%;
    }
}


/* v0.45.1 — usuwanie wynagrodzeń */
.utap-driver-history__row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
}
.utap-driver-history__main>span,
.utap-driver-history__main>strong,
.utap-driver-history__main>small { display:block; }

.utap-payroll-delete-button {
    min-height:30px !important;
    padding:0 9px !important;
    border-radius:8px !important;
    font-size:7.2px !important;
}

.utap-compensation-actions .utap-form-actions__spacer {
    flex:1 1 auto;
}
.utap-compensation-delete {
    margin-right:auto;
    min-width:0 !important;
    min-height:36px !important;
    padding:0 11px !important;
}

@media(max-width:640px) {
    .utap-compensation-actions { grid-template-columns:1fr 1fr !important; }
    .utap-compensation-actions .utap-form-actions__spacer { display:none; }
    .utap-compensation-delete { grid-column:1/-1;width:100%; }
}


/* ============================================================
 * v0.45.3 — globalne wyrównanie i osadzenie modali
 * ============================================================ */

/* Oba stosowane warianty nagłówka mają IDENTYCZNY układ. */
.utap-modal-header,
.utap-modal-head {
    position: relative !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 46px 13px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px solid #edf0f4;
    box-sizing: border-box;
}

.utap-modal-header > div,
.utap-modal-head > div {
    min-width: 0;
    flex: 1 1 auto;
}

.utap-modal-header h2,
.utap-modal-head h2 {
    margin: 2px 0 0 !important;
    line-height: 1.18 !important;
}

.utap-modal-header .utap-kicker,
.utap-modal-head .utap-kicker {
    margin: 0 0 3px !important;
}

/* X zawsze w prawym górnym rogu — nigdy pod tytułem. */
.utap-modal-header .utap-modal-close,
.utap-modal-head .utap-modal-close {
    position: absolute !important;
    top: -4px !important;
    right: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 10px !important;
    background: #f7f8fa !important;
    color: #657084 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    z-index: 2;
}

/* Szerokie okna nie rozlewają się na cały iPad. */
.utap-modal--wide {
    width: min(820px, calc(100vw - 48px)) !important;
    padding: 20px !important;
    border-radius: 17px !important;
}

/* Stopka modala zawsze jest wyraźnie oddzielona i równo osadzona. */
.utap-modal > .utap-form-actions,
.utap-modal form > .utap-form-actions {
    width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 13px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    border-top: 1px solid #edf0f4;
    box-sizing: border-box;
}

.utap-modal > .utap-form-actions .utap-primary-button,
.utap-modal > .utap-form-actions .utap-secondary-button,
.utap-modal form > .utap-form-actions .utap-primary-button,
.utap-modal form > .utap-form-actions .utap-secondary-button {
    width: auto !important;
    min-width: 108px !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
}

/* Szczegóły kosztów: bardziej zwarte i równe. */
#utap-dashboard-costs-modal .utap-cost-details-summary {
    margin: 0 0 10px !important;
    padding: 11px 12px !important;
    border: 1px solid #e6eaf0;
    border-radius: 11px !important;
    background: #fafbfd !important;
}

#utap-dashboard-costs-modal .utap-cost-details-list {
    max-height: min(48dvh, 460px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

#utap-dashboard-costs-modal .utap-cost-details-list article {
    min-height: 58px;
    padding: 10px 12px !important;
    align-items: center !important;
    border-radius: 10px !important;
}

#utap-dashboard-costs-modal .utap-cost-details-list article > div:last-child {
    min-width: 120px;
}

/* Ta sama geometria dla kontroli DKV. */
#utap-dkv-details-modal .utap-dkv-fueling-list {
    max-height: min(48dvh, 460px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

@media (max-width: 1400px) {
    .utap-modal--wide {
        width: min(700px, calc(100vw - 56px)) !important;
    }
}

@media (max-width: 700px) {
    .utap-modal-header,
    .utap-modal-head {
        padding-right: 42px !important;
        margin-bottom: 13px !important;
    }

    .utap-modal--wide {
        width: calc(100vw - 18px) !important;
        padding: 15px !important;
    }

    .utap-modal > .utap-form-actions,
    .utap-modal form > .utap-form-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .utap-modal > .utap-form-actions .utap-primary-button,
    .utap-modal > .utap-form-actions .utap-secondary-button,
    .utap-modal form > .utap-form-actions .utap-primary-button,
    .utap-modal form > .utap-form-actions .utap-secondary-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    #utap-dashboard-costs-modal .utap-cost-details-list article > div:last-child {
        min-width: 0;
    }
}


/* ============================================================
 * v0.46 — niepełne tankowania DKV + spalanie pojazdu
 * ============================================================ */
.utap-fuel-incomplete-badge {
    display:inline-flex;
    align-items:center;
    min-height:21px;
    margin:0 0 4px;
    padding:0 7px;
    border:1px solid #efc38f;
    border-radius:7px;
    background:#fff4e7;
    color:#96540d;
    font-size:7px;
    font-weight:900;
    line-height:1;
}

.utap-dkv-fueling-list article.is-incomplete {
    border-color:#e6b878 !important;
    background:#fff9f1 !important;
    box-shadow:inset 3px 0 0 #d58a28;
}

.utap-dkv-fueling-list article.is-incomplete .utap-dkv-fueling-main small b {
    color:#94530f;
}

.utap-dkv-fueling-list article.is-incomplete .utap-edit-button {
    border-color:#d8a35e !important;
    background:#fff !important;
    color:#8d510e !important;
}

.utap-fleet-card__metrics {
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

.utap-fleet-card__metrics > div small {
    display:block;
    margin-top:2px;
    color:var(--utap-muted);
    font-size:6.6px;
}

@media(max-width:1100px) {
    .utap-fleet-card__metrics {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:640px) {
    .utap-fleet-card__metrics {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* ============================================================
 * v0.46.1 — średnie spalanie widoczne na karcie pojazdu
 * ============================================================ */
.utap-fleet-card__fuel {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(130px,.55fr);
    gap:8px;
    padding:10px;
    border:1px solid #dce6f4;
    border-radius:11px;
    background:#f7faff;
}

.utap-fleet-card__fuel > div {
    min-width:0;
    padding:3px 4px;
}

.utap-fleet-card__fuel span,
.utap-fleet-card__fuel strong,
.utap-fleet-card__fuel small {
    display:block;
}

.utap-fleet-card__fuel span {
    color:var(--utap-muted);
    font-size:7.5px;
}

.utap-fleet-card__fuel strong {
    margin-top:2px;
    color:var(--utap-text);
    font-size:15px;
    line-height:1.2;
}

.utap-fleet-card__fuel > div:first-child strong {
    color:var(--utap-blue);
    font-size:18px;
}

.utap-fleet-card__fuel small {
    margin-top:2px;
    color:var(--utap-muted);
    font-size:7px;
    line-height:1.35;
}

.utap-fleet-card__metrics {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

@media(max-width:700px) {
    .utap-fleet-card__fuel {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:480px) {
    .utap-fleet-card__fuel {
        grid-template-columns:1fr;
    }
}


/* ============================================================
 * v0.46.2 — Szybkie dodawanie jako centrum akcji
 * ============================================================ */
#utap-quick-add .utap-modal {
    width:min(860px,calc(100vw - 48px)) !important;
}

.utap-quick-section + .utap-quick-section {
    margin-top:16px;
    padding-top:15px;
    border-top:1px solid #edf0f4;
}

.utap-quick-section__head {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin:0 2px 8px;
}

.utap-quick-section__head strong {
    font-size:9px;
    font-weight:900;
}

.utap-quick-section__head small {
    color:var(--utap-muted);
    font-size:7px;
}

.utap-quick-add-grid--secondary .utap-quick-card {
    background:#fbfcfd;
}

.utap-quick-card.is-disabled {
    opacity:.66;
}

.utap-service-vehicle-select {
    padding:10px 11px;
    border:1px solid #dce5f1;
    border-radius:11px;
    background:#f8fbff;
}

@media(max-width:700px) {
    #utap-quick-add .utap-modal {
        width:calc(100vw - 18px) !important;
    }

    .utap-quick-section__head {
        display:block;
    }

    .utap-quick-section__head small {
        display:block;
        margin-top:2px;
    }
}


/* ============================================================
 * v0.46.3 — mobilne Finanse > Wydatki firmy
 * Zwarta karta zamiast pionowej tabeli z 7 sekcjami.
 * ============================================================ */
.utap-action-label-mobile { display:none; }

@media (max-width: 700px) {
    .utap-finance-panel:has(.utap-expense-cards) {
        padding: 15px !important;
        border-radius: 18px !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-panel-header {
        margin-bottom: 12px !important;
        align-items: center !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-panel-header h2 {
        margin-top: 2px !important;
        font-size: 20px !important;
        line-height: 1.12 !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-small-add--expense {
        min-height: 38px !important;
        padding: 0 12px !important;
        border-radius: 10px !important;
        font-size: 8px !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap.utap-long-list {
        max-height: 68dvh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 1px 2px 2px !important;
        -webkit-overflow-scrolling: touch;
    }

    .utap-expense-cards,
    .utap-expense-cards tbody {
        display: block !important;
        width: 100% !important;
    }

    .utap-expense-cards tbody {
        display: grid !important;
        gap: 10px !important;
    }

    .utap-expense-cards tr {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-template-areas:
            "date amount"
            "main main"
            "assignment assignment"
            "payment actions" !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        border: 1px solid #dde3ec !important;
        border-radius: 13px !important;
        background: #fff !important;
        box-shadow: 0 2px 7px rgba(30,47,70,.04) !important;
    }

    .utap-expense-cards td {
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        box-shadow: none !important;
    }

    .utap-expense-cards td::before {
        display: none !important;
        content: none !important;
    }

    /* Góra karty: data + najważniejsza kwota */
    .utap-expense-cards .utap-expense-date {
        grid-area: date !important;
        padding: 11px 8px 10px 13px !important;
        color: #626e82 !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .utap-expense-cards .utap-expense-date::before {
        display: inline-block !important;
        content: "◷" !important;
        margin-right: 6px;
        color: #77849a;
        font-size: 11px;
        vertical-align: -1px;
    }

    .utap-expense-cards .utap-expense-amount {
        grid-area: amount !important;
        position: relative !important;
        padding: 10px 29px 9px 8px !important;
        text-align: right !important;
        white-space: nowrap !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .utap-expense-cards .utap-expense-amount::after {
        content: "›";
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-52%);
        color: #66748a;
        font-size: 22px;
        font-weight: 500;
        line-height: 1;
    }

    .utap-expense-cards .utap-expense-amount > strong {
        display: block !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        color: var(--utap-text) !important;
    }

    .utap-expense-cards .utap-expense-amount > .utap-row-sub {
        display: none !important;
    }

    /* Główna informacja */
    .utap-expense-cards .utap-expense-main {
        grid-area: main !important;
        position: relative !important;
        padding: 11px 13px 5px 48px !important;
    }

    .utap-expense-cards .utap-expense-main::before {
        display: flex !important;
        content: "₽" !important;
        position: absolute;
        left: 13px;
        top: 10px;
        width: 27px;
        height: 27px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #eaf2ff;
        color: #1760d5;
        font-size: 0 !important;
        letter-spacing: 0 !important;
    }

    /* Prosta ikonka paliwa/operacji bez zewnętrznych assetów */
    .utap-expense-cards tr:has(.utap-edit-button[href*="operations"]) .utap-expense-main::before {
        content: "⛽" !important;
        font-size: 13px !important;
        background: #eaf2ff;
    }

    .utap-expense-cards .utap-expense-main > strong {
        display: block !important;
        margin: 0 !important;
        color: var(--utap-text) !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
    }

    .utap-expense-cards .utap-expense-main .utap-row-sub {
        display: block !important;
        margin-top: 2px !important;
        color: #8792a5 !important;
        font-size: 8px !important;
        line-height: 1.25 !important;
    }

    .utap-expense-cards .utap-expense-main .utap-cost-kind {
        position: absolute !important;
        left: 13px !important;
        bottom: -67px !important;
        z-index: 2;
        width: auto !important;
        min-height: 25px !important;
        margin: 0 !important;
        padding: 0 9px !important;
        display: inline-flex !important;
        align-items: center;
        border-radius: 8px !important;
        font-size: 7.2px !important;
        white-space: nowrap;
    }

    .utap-expense-cards .utap-expense-assignment {
        grid-area: assignment !important;
        position: relative !important;
        padding: 4px 13px 10px 48px !important;
        color: #5d687b !important;
        font-size: 9px !important;
        line-height: 1.25 !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .utap-expense-cards .utap-expense-assignment::before {
        display: inline-block !important;
        content: "▱" !important;
        position: absolute;
        left: 16px;
        top: 3px;
        color: #758298;
        font-size: 15px;
        font-weight: 400;
    }

    /* Dół: status + akcje */
    .utap-expense-cards .utap-finance-payment-cell {
        grid-area: payment !important;
        min-height: 45px !important;
        padding: 9px 6px 9px 112px !important;
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        overflow: hidden !important;
        background: #fbfcfd !important;
    }

    .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
    .utap-expense-cards .utap-finance-payment-cell .utap-payment-button {
        width: auto !important;
        min-width: 0 !important;
        max-width: 155px !important;
        min-height: 27px !important;
        margin: 0 !important;
        padding: 0 9px !important;
        border-radius: 8px !important;
        font-size: 7.3px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .utap-expense-cards .utap-finance-payment-cell > small {
        display: none !important;
    }

    /* Drugi, powtarzający się status ukrywamy — wszystko jest już w płatności. */
    .utap-expense-cards .utap-expense-status {
        display: none !important;
    }

    .utap-expense-cards .utap-actions-cell {
        grid-area: actions !important;
        min-height: 45px !important;
        padding: 7px 10px 7px 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 5px !important;
        background: #fbfcfd !important;
    }

    .utap-expense-cards .utap-actions-cell::before {
        display: none !important;
        content: none !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-row-sub {
        display: none !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-edit-button {
        width: auto !important;
        min-width: 0 !important;
        min-height: 30px !important;
        padding: 0 7px !important;
        border: 0 !important;
        background: transparent !important;
        color: #1760d5 !important;
        font-size: 8px !important;
        font-weight: 900 !important;
        box-shadow: none !important;
        white-space: nowrap !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-edit-button::after {
        content: " ›";
        font-size: 14px;
        vertical-align: -1px;
    }

    .utap-expense-cards .utap-actions-cell .utap-delete-button {
        width: auto !important;
        min-width: 0 !important;
        min-height: 28px !important;
        padding: 0 7px !important;
        border-radius: 7px !important;
        font-size: 7px !important;
    }

    .utap-action-label-desktop { display:none !important; }
    .utap-action-label-mobile { display:inline !important; }

    /* Przy kosztach automatycznych mamy tylko jeden prosty link. */
    .utap-expense-cards .utap-actions-cell a.utap-edit-button {
        padding-right: 2px !important;
    }

    /* Na bardzo wąskich ekranach nie pozwalamy elementom wypchnąć karty. */
    @media (max-width: 390px) {
        .utap-expense-cards .utap-finance-payment-cell {
            padding-left: 104px !important;
        }

        .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
        .utap-expense-cards .utap-finance-payment-cell .utap-payment-button {
            max-width: 125px !important;
        }

        .utap-expense-cards .utap-expense-date {
            font-size: 9px !important;
        }

        .utap-expense-cards .utap-expense-amount > strong {
            font-size: 12px !important;
        }
    }
}


/* ============================================================
 * v0.46.4 — wyrównany dolny pasek kosztów + czytelne przypisanie
 * ============================================================ */
.utap-mobile-cost-kind {
    display:none;
}

@media (max-width:700px) {
    /* Oryginalny badge w środku karty zostaje tylko na desktopie. */
    .utap-expense-cards .utap-expense-main .utap-cost-kind {
        display:none !important;
    }

    /* Usuwamy tymczasowy symbol obok pojazdu. */
    .utap-expense-cards .utap-expense-assignment {
        padding:4px 13px 10px 48px !important;
    }

    .utap-expense-cards .utap-expense-assignment::before {
        display:none !important;
        content:none !important;
    }

    /* Dolna część karty = jeden równy pasek. */
    .utap-expense-cards tr {
        grid-template-areas:
            "date amount"
            "main main"
            "assignment assignment"
            "payment actions" !important;
    }

    .utap-expense-cards .utap-finance-payment-cell {
        grid-area:payment !important;
        min-height:48px !important;
        padding:8px 5px 8px 12px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:7px !important;
        overflow:visible !important;
        background:#fbfcfd !important;
    }

    .utap-expense-cards .utap-mobile-cost-kind {
        display:inline-flex !important;
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        z-index:auto !important;
        width:auto !important;
        min-width:0 !important;
        min-height:28px !important;
        margin:0 !important;
        padding:0 9px !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:8px !important;
        font-size:7px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
    .utap-expense-cards .utap-finance-payment-cell .utap-payment-button {
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        min-height:28px !important;
        margin:0 !important;
        padding:0 9px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:8px !important;
        font-size:7px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        overflow:visible !important;
        text-overflow:clip !important;
    }

    .utap-expense-cards .utap-actions-cell {
        grid-area:actions !important;
        min-height:48px !important;
        padding:8px 11px 8px 5px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:5px !important;
        background:#fbfcfd !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-edit-button {
        min-height:28px !important;
        margin:0 !important;
        padding:0 3px 0 7px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        line-height:1 !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-edit-button::after {
        line-height:1 !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-delete-button {
        min-height:28px !important;
        margin:0 !important;
        align-self:center !important;
    }

    /* Przypisanie ma być tekstem, bez pseudo-ikon. */
    .utap-expense-cards .utap-expense-assignment {
        color:#5d687b !important;
        font-size:9px !important;
        line-height:1.25 !important;
    }
}

@media (max-width:390px) {
    .utap-expense-cards .utap-finance-payment-cell {
        padding-left:9px !important;
        gap:5px !important;
    }

    .utap-expense-cards .utap-mobile-cost-kind,
    .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
    .utap-expense-cards .utap-finance-payment-cell .utap-payment-button {
        padding-left:7px !important;
        padding-right:7px !important;
        font-size:6.6px !important;
    }
}


/* ============================================================
 * v0.47.0 — wspólny kompaktowy standard kart mobilnych
 * Pojazdy / Kierowcy / Paliwo i przebieg / Klienci
 * ============================================================ */

@media (max-width:700px) {

    /* ---------- WSPÓLNY RYTM ---------- */
    .utap-fleet-grid,
    .utap-driver-grid,
    .utap-client-grid {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .utap-fleet-card,
    .utap-driver-card,
    .utap-client-card {
        padding:0 !important;
        gap:0 !important;
        overflow:hidden !important;
        border:1px solid #dde3ec !important;
        border-radius:14px !important;
        background:#fff !important;
        box-shadow:0 2px 8px rgba(30,47,70,.045) !important;
    }

    .utap-fleet-card__header,
    .utap-driver-card__header,
    .utap-client-card__header {
        min-height:58px !important;
        margin:0 !important;
        padding:10px 12px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        background:#fff !important;
    }

    .utap-fleet-card__identity,
    .utap-driver-card__identity,
    .utap-client-card__identity {
        gap:9px !important;
        align-items:center !important;
    }

    .utap-fleet-card__identity .utap-vehicle-icon,
    .utap-driver-card__identity .utap-vehicle-icon,
    .utap-client-card__identity .utap-vehicle-icon {
        width:32px !important;
        height:32px !important;
        min-width:32px !important;
        border-radius:10px !important;
    }

    .utap-fleet-card__identity strong,
    .utap-driver-card__identity strong,
    .utap-client-card__identity strong {
        font-size:12.5px !important;
        line-height:1.15 !important;
    }

    .utap-fleet-card__identity span,
    .utap-driver-card__identity span,
    .utap-client-card__identity span {
        margin-top:2px !important;
        font-size:8px !important;
        line-height:1.2 !important;
    }

    .utap-status-toggle {
        min-height:27px !important;
        padding:0 8px !important;
        border-radius:8px !important;
        font-size:6.8px !important;
    }

    /* =========================================================
       POJAZDY
       ========================================================= */
    .utap-fleet-card__driver {
        min-height:48px !important;
        margin:0 !important;
        padding:8px 12px !important;
        display:flex !important;
        align-items:center !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        border-radius:0 !important;
        background:#fbfcfd !important;
    }

    .utap-fleet-card__driver span {
        font-size:7px !important;
    }

    .utap-fleet-card__driver strong {
        margin-top:1px !important;
        font-size:9px !important;
    }

    .utap-fleet-card__driver .utap-small-link-button {
        min-height:28px !important;
        padding:0 8px !important;
        font-size:7px !important;
    }

    .utap-fleet-card__fuel {
        margin:0 !important;
        padding:9px 12px !important;
        grid-template-columns:1fr 1fr !important;
        gap:6px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        border-radius:0 !important;
        background:#f7faff !important;
    }

    .utap-fleet-card__fuel > div {
        padding:2px !important;
    }

    .utap-fleet-card__fuel span {
        font-size:7px !important;
    }

    .utap-fleet-card__fuel strong,
    .utap-fleet-card__fuel > div:first-child strong {
        margin-top:2px !important;
        font-size:13px !important;
    }

    .utap-fleet-card__fuel small {
        display:none !important;
    }

    .utap-fleet-card__profit {
        margin:0 !important;
        padding:9px 12px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        border-radius:0 !important;
        background:#fff !important;
    }

    .utap-fleet-card__profit span {
        font-size:7px !important;
    }

    .utap-fleet-card__profit strong {
        margin-top:1px !important;
        font-size:15px !important;
    }

    .utap-fleet-card__profit small {
        margin-top:1px !important;
        font-size:7px !important;
    }

    .utap-fleet-card__metrics {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-fleet-card__metrics > div {
        min-height:43px !important;
        padding:6px 4px !important;
        border-radius:8px !important;
    }

    .utap-fleet-card__metrics span {
        font-size:6.4px !important;
    }

    .utap-fleet-card__metrics strong {
        margin-top:2px !important;
        font-size:8.5px !important;
    }

    .utap-fleet-card__service {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-fleet-card__service > div {
        min-height:43px !important;
        padding:6px 5px !important;
        border-radius:8px !important;
    }

    .utap-fleet-card__service span {
        font-size:6.3px !important;
    }

    .utap-fleet-card__service strong {
        margin-top:2px !important;
        font-size:8px !important;
    }

    .utap-fleet-card__reminders {
        margin:0 !important;
        padding:9px 11px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-fleet-card__reminders-head {
        gap:6px !important;
        align-items:center !important;
    }

    .utap-fleet-card__reminders-head span {
        font-size:8px !important;
    }

    .utap-fleet-card__reminders-head small {
        font-size:6.5px !important;
    }

    .utap-service-add-button {
        min-height:28px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    .utap-fleet-card__reminder-list {
        max-height:155px !important;
        margin-top:7px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch;
    }

    .utap-service-row {
        padding:7px !important;
        gap:6px !important;
    }

    .utap-fleet-card__footer {
        margin:0 !important;
        padding:8px 10px !important;
        display:flex !important;
        align-items:center !important;
        gap:6px !important;
        border:0 !important;
        background:#fbfcfd;
    }

    .utap-fleet-card__footer details {
        margin-right:auto !important;
    }

    .utap-fleet-card__footer > button,
    .utap-fleet-card__footer > .utap-edit-button,
    .utap-fleet-card__footer > .utap-delete-button {
        min-height:29px !important;
        width:auto !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    /* =========================================================
       KIEROWCY
       ========================================================= */
    .utap-driver-card__identity .utap-driver-vehicle {
        margin-top:3px !important;
        font-size:7px !important;
    }

    .utap-driver-card__identity .utap-driver-vehicle svg {
        display:none !important;
    }

    .utap-driver-card__cost {
        margin:0 !important;
        padding:9px 12px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        border-radius:0 !important;
        background:#f8fbff !important;
    }

    .utap-driver-card__cost span {
        font-size:7px !important;
    }

    .utap-driver-card__cost strong {
        margin-top:1px !important;
        font-size:15px !important;
    }

    .utap-driver-card__cost small {
        margin-top:1px !important;
        font-size:7px !important;
    }

    .utap-driver-pay-breakdown {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-pay-breakdown > div {
        min-height:43px !important;
        padding:6px 7px !important;
        border-radius:8px !important;
    }

    .utap-driver-pay-breakdown span {
        font-size:6.4px !important;
    }

    .utap-driver-pay-breakdown strong {
        margin-top:2px !important;
        font-size:8.5px !important;
    }

    .utap-driver-payment-state {
        margin:0 !important;
        min-height:40px !important;
        padding:7px 11px !important;
        display:flex !important;
        align-items:center !important;
        gap:7px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-payment-state .utap-payment-button {
        min-height:27px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    .utap-driver-payment-state small {
        font-size:7px !important;
    }

    .utap-driver-bonuses {
        margin:0 !important;
        padding:9px 11px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-bonuses__head {
        gap:7px !important;
    }

    .utap-driver-bonuses__head strong {
        font-size:8px !important;
    }

    .utap-driver-bonuses__head span {
        font-size:7px !important;
    }

    .utap-driver-bonuses__head .utap-small-add {
        min-height:28px !important;
        padding:0 8px !important;
        font-size:6.7px !important;
    }

    .utap-driver-bonus-list {
        max-height:150px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch;
    }

    .utap-driver-bonus-item {
        padding:7px !important;
    }

    .utap-driver-card__contact {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-card__contact > div {
        min-height:40px !important;
        padding:5px !important;
        border-radius:8px !important;
    }

    .utap-driver-card__contact span {
        font-size:6.2px !important;
    }

    .utap-driver-card__contact strong {
        margin-top:2px !important;
        font-size:7.4px !important;
        overflow-wrap:anywhere;
    }

    .utap-driver-history {
        margin:0 !important;
        padding:8px 11px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-history summary {
        font-size:7.5px !important;
    }

    .utap-driver-card__footer {
        margin:0 !important;
        padding:8px 10px !important;
        display:flex !important;
        align-items:center !important;
        gap:6px !important;
        border:0 !important;
        background:#fbfcfd;
    }

    .utap-driver-card__footer > button {
        width:auto !important;
        min-width:0 !important;
        min-height:29px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    .utap-driver-card__footer .utap-compensation-button {
        margin-right:auto !important;
        flex:0 1 auto !important;
    }

    /* =========================================================
       KLIENCI
       ========================================================= */
    .utap-client-card__profit {
        margin:0 !important;
        padding:9px 12px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        border-radius:0 !important;
        background:#f8fbff !important;
    }

    .utap-client-card__profit span {
        font-size:7px !important;
    }

    .utap-client-card__profit strong {
        margin-top:1px !important;
        font-size:15px !important;
    }

    .utap-client-card__profit small {
        margin-top:1px !important;
        font-size:7px !important;
    }

    .utap-client-card__metrics {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-client-card__metrics > div {
        min-height:42px !important;
        padding:6px 7px !important;
        border-radius:8px !important;
    }

    .utap-client-card__metrics span {
        font-size:6.4px !important;
    }

    .utap-client-card__metrics strong {
        margin-top:2px !important;
        font-size:8.5px !important;
    }

    .utap-client-card__history {
        margin:0 !important;
        padding:8px 10px !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:5px !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-client-card__history > div {
        min-height:39px !important;
        padding:5px !important;
        border-radius:8px !important;
    }

    .utap-client-card__history span {
        font-size:6px !important;
    }

    .utap-client-card__history strong {
        margin-top:2px !important;
        font-size:7.5px !important;
    }

    .utap-client-card__contact {
        margin:0 !important;
        padding:8px 11px !important;
        display:flex !important;
        flex-wrap:wrap !important;
        gap:5px 11px !important;
        border-bottom:1px solid #edf0f4;
        color:#6b7688 !important;
    }

    .utap-client-card__contact span {
        font-size:7px !important;
    }

    .utap-client-card__footer {
        margin:0 !important;
        padding:8px 10px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:6px !important;
        border:0 !important;
        background:#fbfcfd;
    }

    .utap-client-card__footer button {
        width:auto !important;
        min-width:0 !important;
        min-height:29px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    .utap-client-card__footer .utap-edit-button {
        margin-right:auto !important;
    }

    /* =========================================================
       PALIWO — TANKOWANIA
       ========================================================= */
    .utap-operations-fuel-table,
    .utap-operations-fuel-table tbody {
        display:block !important;
        width:100% !important;
    }

    .utap-operations-fuel-table thead {
        display:none !important;
    }

    .utap-operations-fuel-table tbody {
        display:grid !important;
        gap:9px !important;
    }

    .utap-operations-fuel-table tr {
        display:grid !important;
        width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "date amount"
            "vehicle liters"
            "details details"
            "payment actions" !important;
        border:1px solid #dde3ec !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:0 2px 7px rgba(30,47,70,.04) !important;
    }

    .utap-operations-fuel-table td {
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        min-height:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        grid-template-columns:none !important;
    }

    .utap-operations-fuel-table td::before {
        display:none !important;
        content:none !important;
    }

    .utap-fuel-date {
        grid-area:date !important;
        padding:10px 8px 9px 12px !important;
        border-bottom:1px solid #edf0f4 !important;
        color:#647084 !important;
        font-size:9px !important;
    }

    .utap-fuel-amount {
        grid-area:amount !important;
        padding:9px 12px 8px 8px !important;
        text-align:right !important;
        white-space:nowrap !important;
        border-bottom:1px solid #edf0f4 !important;
    }

    .utap-fuel-amount > strong {
        display:block !important;
        font-size:11.5px !important;
    }

    .utap-fuel-amount .utap-row-sub {
        font-size:6.5px !important;
    }

    .utap-fuel-amount .utap-fuel-incomplete-badge {
        margin-right:4px !important;
        vertical-align:2px !important;
    }

    .utap-fuel-vehicle {
        grid-area:vehicle !important;
        padding:9px 8px 6px 12px !important;
    }

    .utap-fuel-vehicle strong {
        display:block !important;
        font-size:10.5px !important;
    }

    .utap-fuel-vehicle .utap-row-sub {
        margin-top:2px !important;
        font-size:6.8px !important;
    }

    .utap-fuel-liters {
        grid-area:liters !important;
        padding:9px 12px 6px 8px !important;
        text-align:right !important;
    }

    .utap-fuel-liters strong {
        font-size:10.5px !important;
    }

    .utap-fuel-liters .utap-row-sub {
        margin-top:2px !important;
        font-size:6.5px !important;
    }

    .utap-fuel-details {
        grid-area:details !important;
        min-height:27px !important;
        padding:3px 12px 8px !important;
        border-bottom:1px solid #edf0f4 !important;
        color:#707b8d !important;
        font-size:7px !important;
    }

    .utap-fuel-details .utap-operation-detail,
    .utap-fuel-details .utap-row-sub {
        display:inline !important;
        font-size:7px !important;
    }

    .utap-fuel-payment {
        grid-area:payment !important;
        min-height:43px !important;
        padding:7px 5px 7px 11px !important;
        display:flex !important;
        align-items:center !important;
        gap:5px !important;
        background:#fbfcfd !important;
    }

    .utap-fuel-payment .utap-provider-badge {
        min-height:27px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    .utap-fuel-payment .utap-row-sub {
        font-size:6.4px !important;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        grid-area:actions !important;
        min-height:43px !important;
        padding:7px 10px 7px 4px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:5px !important;
        background:#fbfcfd !important;
    }

    .utap-operations-fuel-table .utap-actions-cell .utap-edit-button,
    .utap-operations-fuel-table .utap-actions-cell .utap-delete-button {
        min-height:28px !important;
        width:auto !important;
        min-width:0 !important;
        padding:0 7px !important;
        font-size:6.8px !important;
    }

    /* =========================================================
       PRZEBIEG — ODCZYTY
       ========================================================= */
    .utap-mileage-table,
    .utap-mileage-table tbody {
        display:block !important;
        width:100% !important;
    }

    .utap-mileage-table thead {
        display:none !important;
    }

    .utap-mileage-table tbody {
        display:grid !important;
        gap:8px !important;
    }

    .utap-mileage-table tr {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "date value"
            "vehicle source"
            "actions actions" !important;
        width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
        border:1px solid #dde3ec !important;
        border-radius:12px !important;
        background:#fff !important;
    }

    .utap-mileage-table td {
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        min-height:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        grid-template-columns:none !important;
    }

    .utap-mileage-table td::before {
        display:none !important;
        content:none !important;
    }

    .utap-mileage-date {
        grid-area:date !important;
        padding:9px 7px 8px 11px !important;
        color:#657185 !important;
        font-size:8.5px !important;
        border-bottom:1px solid #edf0f4 !important;
    }

    .utap-mileage-value {
        grid-area:value !important;
        padding:8px 11px 7px 7px !important;
        text-align:right !important;
        border-bottom:1px solid #edf0f4 !important;
    }

    .utap-mileage-value strong {
        font-size:11px !important;
    }

    .utap-mileage-vehicle {
        grid-area:vehicle !important;
        padding:8px 7px 8px 11px !important;
    }

    .utap-mileage-vehicle strong {
        font-size:9px !important;
    }

    .utap-mileage-source {
        grid-area:source !important;
        padding:7px 11px 7px 7px !important;
        text-align:right !important;
    }

    .utap-mileage-source .utap-auto-badge,
    .utap-mileage-source .utap-manual-badge {
        min-height:25px !important;
        padding:0 7px !important;
        font-size:6.6px !important;
    }

    .utap-mileage-table .utap-actions-cell {
        grid-area:actions !important;
        min-height:39px !important;
        padding:6px 9px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:5px !important;
        border-top:1px solid #edf0f4 !important;
        background:#fbfcfd !important;
    }

    .utap-mileage-table .utap-actions-cell .utap-edit-button,
    .utap-mileage-table .utap-actions-cell .utap-delete-button {
        min-height:27px !important;
        width:auto !important;
        min-width:0 !important;
        padding:0 7px !important;
        font-size:6.6px !important;
    }

    .utap-mileage-table .utap-muted-action {
        font-size:6.8px !important;
    }

    /* Tabele/listy: zawsze pionowo, nigdy poziomo */
    .utap-operations-fuel-table,
    .utap-mileage-table,
    .utap-fleet-card,
    .utap-driver-card,
    .utap-client-card {
        max-width:100% !important;
    }
}

@media (max-width:390px) {
    .utap-fleet-card__metrics {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .utap-fleet-card__service,
    .utap-driver-card__contact,
    .utap-client-card__history {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .utap-operations-fuel-table tr {
        grid-template-columns:minmax(0,1fr) auto !important;
    }
}


/* ============================================================
 * v0.48.0 — zaliczki i potrącenia kierowców
 * ============================================================ */
.utap-driver-adjustments {
    margin-top:0;
    padding:11px 12px;
    border-top:1px solid #edf0f4;
}

.utap-driver-adjustments__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.utap-driver-adjustments__head strong,
.utap-driver-adjustments__head span {
    display:block;
}

.utap-driver-adjustments__head strong {
    font-size:8.5px;
}

.utap-driver-adjustments__head span {
    margin-top:2px;
    color:var(--utap-muted);
    font-size:7px;
}

.utap-driver-adjustment-list {
    display:grid;
    gap:6px;
    margin-top:8px;
}

.utap-driver-adjustment-item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 9px;
    border:1px solid #e7ebf1;
    border-radius:9px;
    background:#fbfcfd;
}

.utap-driver-adjustment-item > div {
    min-width:0;
}

.utap-driver-adjustment-item strong,
.utap-driver-adjustment-item span,
.utap-driver-adjustment-item small {
    display:block;
}

.utap-driver-adjustment-item strong {
    font-size:8.5px;
}

.utap-driver-adjustment-item span {
    margin-top:1px;
    font-size:7px;
}

.utap-driver-adjustment-item small {
    margin-top:2px;
    color:var(--utap-muted);
    font-size:6.5px;
}

.utap-driver-adjustments__empty {
    margin-top:7px;
    padding:8px;
    border-radius:8px;
    background:#f8f9fb;
    color:var(--utap-muted);
    font-size:7px;
}

.utap-driver-adjustment-metric strong {
    color:#9a5c13;
}

.utap-driver-remaining-metric {
    border-color:#cfe0f8 !important;
    background:#f5f9ff !important;
}

.utap-driver-remaining-metric strong {
    color:var(--utap-blue);
}

.utap-payroll-deductions-summary {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:10px;
    padding:10px;
    border:1px solid #dce6f4;
    border-radius:11px;
    background:#f8fbff;
}

.utap-payroll-deductions-summary > div {
    padding:7px 8px;
    border-radius:8px;
    background:#fff;
}

.utap-payroll-deductions-summary span,
.utap-payroll-deductions-summary strong {
    display:block;
}

.utap-payroll-deductions-summary span {
    color:var(--utap-muted);
    font-size:7px;
}

.utap-payroll-deductions-summary strong {
    margin-top:2px;
    font-size:11px;
}

.utap-payroll-deductions-summary > div:last-of-type strong {
    color:var(--utap-blue);
}

.utap-payroll-deductions-summary > small {
    grid-column:1/-1;
    color:var(--utap-muted);
    font-size:6.8px;
    line-height:1.4;
}

.utap-adjustment-cash-row {
    margin-top:12px;
}

.utap-adjustment-info {
    margin-top:10px;
    padding:10px 11px;
    border-radius:10px;
    background:#f7f8fa;
}

.utap-adjustment-info strong,
.utap-adjustment-info span {
    display:block;
}

.utap-adjustment-info strong {
    font-size:8px;
}

.utap-adjustment-info span {
    margin-top:2px;
    color:var(--utap-muted);
    font-size:7px;
    line-height:1.4;
}

@media(max-width:700px) {
    .utap-driver-adjustments {
        margin:0 !important;
        padding:9px 11px !important;
        border-top:0 !important;
        border-bottom:1px solid #edf0f4;
    }

    .utap-driver-adjustments__head strong {
        font-size:8px;
    }

    .utap-driver-adjustments__head .utap-small-add {
        min-height:28px !important;
        padding:0 8px !important;
        font-size:6.7px !important;
    }

    .utap-driver-adjustment-list {
        max-height:145px;
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
    }

    .utap-driver-adjustment-item {
        padding:7px !important;
    }

    .utap-driver-pay-breakdown {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .utap-driver-card__footer .utap-adjustment-button {
        margin-right:auto !important;
    }

    .utap-payroll-deductions-summary {
        grid-template-columns:1fr;
    }

    .utap-payroll-deductions-summary > small {
        grid-column:auto;
    }
}


/* ============================================================
 * v0.49.0 — powiązanie potrącenia z kosztem firmy
 * ============================================================ */
.utap-adjustment-cover-row {
    margin-top:10px;
    padding:10px 11px;
    border:1px solid #dce6f4;
    border-radius:10px;
    background:#f7faff;
}

.utap-expense-recovery-field {
    padding:10px 11px;
    border:1px solid #dce6f4;
    border-radius:10px;
    background:#f8fbff;
}

.utap-expense-recovery-note {
    color:#24734b !important;
    font-weight:750;
}

@media(max-width:700px) {
    .utap-expense-cards .utap-expense-main .utap-expense-recovery-note {
        display:block !important;
        margin-top:3px !important;
        color:#24734b !important;
        font-size:7px !important;
    }

    .utap-expense-cards .utap-expense-amount > .utap-row-sub {
        display:block !important;
        margin-top:2px !important;
        color:#778398 !important;
        font-size:6.5px !important;
    }
}


/* ============================================================
 * v0.50.0 — kompaktowy mobilny układ + widoczne niepełne tankowania
 * ============================================================ */
.utap-mobile-card-more { display:none; }

@media(max-width:700px) {
    /* Brak zagnieżdżonego scrolla — nic nie wygląda jak zniknięte. */
    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap.utap-long-list,
    .utap-table-wrap.utap-long-list:has(.utap-operations-fuel-table),
    .utap-table-wrap.utap-long-list:has(.utap-mileage-table) {
        max-height:none !important;
        height:auto !important;
        overflow:visible !important;
    }

    .utap-expense-cards tr:has(.utap-fuel-incomplete-badge) {
        border-color:#e7bd83 !important;
        background:#fffdf8 !important;
    }

    .utap-expense-cards .utap-expense-amount .utap-fuel-incomplete-badge {
        display:inline-flex !important;
        margin:0 5px 0 0 !important;
        vertical-align:2px;
    }

    .utap-mobile-card-more {
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:4px !important;
        margin-right:auto !important;
        min-height:28px !important;
        width:auto !important;
        min-width:0 !important;
        padding:0 8px !important;
        border:0 !important;
        border-radius:8px !important;
        background:#f1f4f8 !important;
        color:#637086 !important;
        font-size:6.7px !important;
        font-weight:850 !important;
    }

    .utap-mobile-card-more b { font-size:10px; transition:transform .15s ease; }
    .is-mobile-expanded .utap-mobile-card-more b { transform:rotate(180deg); }

    .utap-mobile-secondary { display:none !important; }
    .is-mobile-expanded .utap-mobile-secondary { display:grid !important; }
    .is-mobile-expanded .utap-driver-adjustments,
    .is-mobile-expanded .utap-driver-bonuses,
    .is-mobile-expanded .utap-driver-history,
    .is-mobile-expanded .utap-fleet-card__reminders { display:block !important; }

    /* Pojazdy */
    .utap-fleet-card__header { min-height:52px !important; padding:8px 10px !important; }
    .utap-fleet-card__driver { min-height:40px !important; padding:6px 10px !important; }
    .utap-fleet-card__fuel { padding:6px 9px !important; }
    .utap-fleet-card__fuel strong,.utap-fleet-card__fuel > div:first-child strong { font-size:11px !important; }
    .utap-fleet-card__profit { padding:6px 10px !important; }
    .utap-fleet-card__profit strong { font-size:12.5px !important; }
    .utap-fleet-card__metrics { padding:5px 7px !important; gap:4px !important; }
    .utap-fleet-card__metrics > div { min-height:35px !important; padding:4px 3px !important; }
    .utap-fleet-card__footer { min-height:40px !important; padding:6px 8px !important; }

    /* Kierowcy */
    .utap-driver-card__header { min-height:53px !important; padding:8px 10px !important; }
    .utap-driver-card__cost { padding:6px 10px !important; }
    .utap-driver-card__cost strong { font-size:12.5px !important; }
    .utap-driver-pay-breakdown {
        padding:5px 7px !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:4px !important;
    }
    .utap-driver-pay-breakdown > div { min-height:37px !important; padding:4px !important; }
    .utap-driver-pay-breakdown span { font-size:5.5px !important; }
    .utap-driver-pay-breakdown strong { font-size:7.4px !important; }
    .utap-driver-payment-state { min-height:34px !important; padding:5px 8px !important; }
    .utap-driver-card__footer { min-height:40px !important; padding:6px 8px !important; flex-wrap:wrap !important; }

    /* Klienci */
    .utap-client-card__header { min-height:52px !important; padding:8px 10px !important; }
    .utap-client-card__profit { padding:6px 10px !important; }
    .utap-client-card__profit strong { font-size:12.5px !important; }
    .utap-client-card__metrics { padding:5px 7px !important; gap:4px !important; }
    .utap-client-card__metrics > div { min-height:36px !important; padding:4px 5px !important; }
    .utap-client-card__footer { min-height:40px !important; padding:6px 8px !important; }

    /* Paliwo */
    .utap-operations-fuel-table tbody { gap:7px !important; }
    .utap-operations-fuel-table tr { border-radius:11px !important; }
    .utap-fuel-date,.utap-fuel-amount { padding-top:7px !important; padding-bottom:6px !important; }
    .utap-fuel-date { font-size:8px !important; }
    .utap-fuel-amount > strong { font-size:10px !important; }
    .utap-fuel-vehicle,.utap-fuel-liters { padding-top:6px !important; padding-bottom:4px !important; }
    .utap-fuel-details { min-height:20px !important; padding-top:1px !important; padding-bottom:5px !important; }
    .utap-fuel-payment,.utap-operations-fuel-table .utap-actions-cell { min-height:37px !important; padding-top:5px !important; padding-bottom:5px !important; }

    /* Przebieg */
    .utap-mileage-table tbody { gap:7px !important; }
    .utap-mileage-table tr { border-radius:11px !important; }
    .utap-mileage-date,.utap-mileage-value { padding-top:6px !important; padding-bottom:5px !important; }
    .utap-mileage-vehicle,.utap-mileage-source { padding-top:5px !important; padding-bottom:5px !important; }
    .utap-mileage-table .utap-actions-cell { min-height:33px !important; padding:4px 7px !important; }
}

@media(max-width:390px) {
    .utap-driver-pay-breakdown,
    .utap-fleet-card__metrics {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* ============================================================
 * v0.50.1 — Tankowania: zwarta, czytelna karta mobilna
 * ============================================================ */
@media(max-width:700px) {
    .utap-operations-fuel-table tbody {
        gap:9px !important;
    }

    .utap-operations-fuel-table tr {
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "date amount"
            "vehicle liters"
            "details details"
            "payment actions" !important;
        border:1px solid #dfe5ed !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:0 2px 7px rgba(30,47,70,.04) !important;
    }

    .utap-fuel-date {
        min-height:39px !important;
        padding:10px 8px 8px 12px !important;
        display:flex !important;
        align-items:center !important;
        border-bottom:1px solid #edf0f4 !important;
        color:#697589 !important;
        font-size:8.5px !important;
    }

    .utap-fuel-date::before {
        display:inline-block !important;
        content:"◷" !important;
        margin-right:6px;
        color:#7b8798;
        font-size:10px;
    }

    .utap-fuel-amount {
        min-height:39px !important;
        padding:8px 12px 7px 7px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-end !important;
        justify-content:center !important;
        border-bottom:1px solid #edf0f4 !important;
        text-align:right !important;
    }

    .utap-fuel-amount > strong {
        font-size:12px !important;
        line-height:1.1 !important;
    }

    .utap-fuel-amount .utap-fuel-incomplete-badge {
        min-height:20px !important;
        margin:0 0 3px !important;
        padding:0 6px !important;
        font-size:6.5px !important;
    }

    .utap-fuel-amount .utap-row-sub {
        margin-top:2px !important;
        font-size:6.5px !important;
        line-height:1.2 !important;
    }

    /* W środku karta ma dwie czytelne wartości, bez pustej dziury. */
    .utap-fuel-vehicle {
        min-height:54px !important;
        padding:10px 8px 8px 12px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
    }

    .utap-fuel-vehicle::before {
        display:block !important;
        content:"Pojazd";
        margin-bottom:3px;
        color:#98a1b0;
        font-size:5.8px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
    }

    .utap-fuel-vehicle strong {
        font-size:11px !important;
        line-height:1.15 !important;
    }

    .utap-fuel-vehicle .utap-row-sub {
        margin-top:3px !important;
        color:#7f8999 !important;
        font-size:6.7px !important;
    }

    .utap-fuel-liters {
        min-height:54px !important;
        padding:10px 12px 8px 8px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-end !important;
        justify-content:center !important;
        text-align:right !important;
    }

    .utap-fuel-liters::before {
        display:block !important;
        content:"Paliwo";
        margin-bottom:3px;
        color:#98a1b0;
        font-size:5.8px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
    }

    .utap-fuel-liters strong {
        font-size:11px !important;
        line-height:1.15 !important;
    }

    .utap-fuel-liters .utap-row-sub {
        margin-top:3px !important;
        color:#7f8999 !important;
        font-size:6.4px !important;
    }

    /* Szczegóły pokazujemy tylko gdy faktycznie coś w nich jest. */
    .utap-fuel-details {
        min-height:0 !important;
        padding:0 12px 8px !important;
        border-bottom:1px solid #edf0f4 !important;
        color:#7d8797 !important;
        font-size:6.5px !important;
        line-height:1.25 !important;
    }

    .utap-fuel-details:empty {
        display:none !important;
    }

    /* Jeden równy dolny pasek. */
    .utap-fuel-payment {
        min-height:42px !important;
        padding:7px 5px 7px 11px !important;
        display:flex !important;
        align-items:center !important;
        gap:5px !important;
        background:#fbfcfd !important;
    }

    .utap-fuel-payment .utap-provider-badge {
        width:auto !important;
        min-width:0 !important;
        min-height:27px !important;
        margin:0 !important;
        padding:0 8px !important;
        display:inline-flex !important;
        align-items:center !important;
        border-radius:8px !important;
        font-size:6.7px !important;
        line-height:1 !important;
    }

    .utap-fuel-payment .utap-row-sub {
        display:none !important;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        min-height:42px !important;
        padding:7px 10px 7px 4px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:6px !important;
        background:#fbfcfd !important;
    }

    .utap-operations-fuel-table .utap-actions-cell .utap-edit-button,
    .utap-operations-fuel-table .utap-actions-cell .utap-delete-button {
        min-height:28px !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 8px !important;
        border-radius:8px !important;
        font-size:6.7px !important;
    }

    /* Niepełne tankowanie subtelnie podświetlone, bez krzykliwego bloku. */
    .utap-operations-fuel-table tr:has(.utap-fuel-incomplete-badge) {
        border-color:#e7c18b !important;
        background:#fffdf9 !important;
    }
}


/* ============================================================
 * v0.51.0 — Pojazdy: mobilna karta w standardzie „Wydatki firmy”
 * ============================================================ */
@media(max-width:700px) {
    .utap-fleet-grid {
        gap:9px !important;
    }

    .utap-fleet-card {
        border:1px solid #dfe5ed !important;
        border-radius:14px !important;
        box-shadow:0 2px 7px rgba(30,47,70,.04) !important;
    }

    /* 1. Zwarty nagłówek: pojazd + rejestracja + status. */
    .utap-fleet-card__header {
        min-height:54px !important;
        padding:9px 11px !important;
    }

    .utap-fleet-card__identity {
        gap:9px !important;
        min-width:0 !important;
    }

    .utap-fleet-card__identity .utap-vehicle-icon {
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
        border-radius:10px !important;
    }

    .utap-fleet-card__identity > div {
        min-width:0 !important;
    }

    .utap-fleet-card__identity strong {
        max-width:100% !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:13px !important;
        line-height:1.15 !important;
    }

    .utap-fleet-card__identity div > span {
        margin-top:2px !important;
        font-size:7.8px !important;
        line-height:1.15 !important;
    }

    .utap-fleet-card .utap-status-toggle {
        min-height:27px !important;
        padding:0 8px !important;
        border-radius:8px !important;
        font-size:6.8px !important;
    }

    /* 2. Kierowca jest jednym krótkim wierszem, bez osobnego "panelu". */
    .utap-fleet-card__driver {
        min-height:43px !important;
        padding:7px 11px !important;
        gap:8px !important;
        background:#fff !important;
    }

    .utap-fleet-card__driver span {
        font-size:6.7px !important;
        line-height:1.1 !important;
    }

    .utap-fleet-card__driver strong {
        margin-top:2px !important;
        font-size:9px !important;
        line-height:1.15 !important;
    }

    .utap-fleet-card__driver .utap-small-link-button {
        min-height:27px !important;
        padding:0 8px !important;
        border-radius:8px !important;
        font-size:6.7px !important;
    }

    /* 3. Spalanie / litry jako równy, dwukolumnowy pasek. */
    .utap-fleet-card__fuel {
        min-height:50px !important;
        padding:7px 11px !important;
        grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) !important;
        gap:8px !important;
        background:#f7faff !important;
    }

    .utap-fleet-card__fuel > div {
        padding:0 !important;
        min-width:0 !important;
    }

    .utap-fleet-card__fuel span {
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:6.7px !important;
        line-height:1.1 !important;
    }

    .utap-fleet-card__fuel strong,
    .utap-fleet-card__fuel > div:first-child strong {
        margin-top:3px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:11.5px !important;
        line-height:1.1 !important;
    }

    .utap-fleet-card__fuel small {
        display:none !important;
    }

    /* 4. Wynik ma rytm podobny do nagłówka kwoty na karcie kosztu. */
    .utap-fleet-card__profit {
        min-height:49px !important;
        padding:7px 11px !important;
        background:#fff !important;
    }

    .utap-fleet-card__profit > span {
        font-size:7px !important;
        line-height:1.1 !important;
    }

    .utap-fleet-card__profit > strong {
        margin-top:2px !important;
        font-size:14px !important;
        line-height:1.05 !important;
    }

    .utap-fleet-card__profit > small {
        margin-top:2px !important;
        font-size:6.7px !important;
        line-height:1.15 !important;
    }

    /* 5. Cztery mikro-wskaźniki w jednej linii na typowym telefonie. */
    .utap-fleet-card__metrics,
    .utap-fleet-card__metrics {
        padding:6px 8px !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:5px !important;
        background:#fff !important;
    }

    .utap-fleet-card__metrics > div {
        min-height:39px !important;
        padding:5px 4px !important;
        border-radius:8px !important;
        background:#f7f8fa !important;
    }

    .utap-fleet-card__metrics span {
        font-size:5.9px !important;
        line-height:1.05 !important;
    }

    .utap-fleet-card__metrics strong {
        margin-top:3px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:7.8px !important;
        line-height:1.1 !important;
    }

    /* 6. Domyślnie tylko jeden niski pasek akcji. */
    .utap-fleet-card__footer {
        min-height:42px !important;
        margin:0 !important;
        padding:7px 9px !important;
        display:flex !important;
        align-items:center !important;
        gap:6px !important;
        border:0 !important;
        background:#fbfcfd !important;
    }

    .utap-fleet-card__footer .utap-mobile-card-more {
        min-height:28px !important;
        margin:0 auto 0 0 !important;
        padding:0 9px !important;
        border-radius:8px !important;
        font-size:6.8px !important;
    }

    /* Edycja, usuwanie i dane techniczne nie wiszą już stale pod kartą. */
    .utap-fleet-card:not(.is-mobile-expanded) .utap-fleet-card__footer details,
    .utap-fleet-card:not(.is-mobile-expanded) .utap-fleet-card__footer > .utap-edit-button,
    .utap-fleet-card:not(.is-mobile-expanded) .utap-fleet-card__footer > .utap-delete-button {
        display:none !important;
    }

    /* 7. Po „Więcej” pokazujemy zwarte sekcje, bez pustej przestrzeni. */
    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__service {
        padding:7px 8px !important;
        gap:5px !important;
        background:#fff !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__service > div {
        min-height:39px !important;
        padding:5px !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__reminders {
        padding:8px 10px !important;
        background:#fff !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer {
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        align-items:center !important;
        gap:6px !important;
        padding:7px 9px 9px !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer .utap-mobile-card-more {
        grid-column:1 / -1 !important;
        justify-self:start !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer details {
        grid-column:1 / -1 !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        border:1px solid #e5eaf1 !important;
        border-radius:9px !important;
        background:#fff !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer details summary {
        min-height:32px !important;
        padding:0 9px !important;
        display:flex !important;
        align-items:center !important;
        font-size:6.8px !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer details > div {
        margin:0 !important;
        padding:7px 9px !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:5px !important;
        border-top:1px solid #edf0f4 !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer details span {
        margin:0 !important;
        padding:0 !important;
        font-size:6.5px !important;
        line-height:1.25 !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer > .utap-edit-button,
    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__footer > .utap-delete-button {
        display:inline-flex !important;
        width:100% !important;
        min-height:30px !important;
        margin:0 !important;
        padding:0 8px !important;
        border-radius:8px !important;
        font-size:6.8px !important;
    }
}

/* Bardzo wąskie ekrany nadal bez poziomego przewijania. */
@media(max-width:390px) {
    .utap-fleet-card__metrics {
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
    .utap-fleet-card__metrics > div {
        min-width:0 !important;
    }
    .utap-fleet-card__metrics strong {
        font-size:7.1px !important;
    }
}

/* ============================================================
 * v0.52.0 — Pojazdy mobile: lżejsza karta, pełna nazwa pojazdu
 * ============================================================ */
@media (max-width:700px) {
    .utap-fleet-grid {
        gap:10px !important;
    }

    .utap-fleet-card {
        border-radius:16px !important;
        border-color:#dbe2eb !important;
        box-shadow:0 2px 8px rgba(31,47,70,.035) !important;
    }

    /* Nagłówek: pełna dostępna szerokość dla nazwy auta. */
    .utap-fleet-card__header {
        min-height:58px !important;
        padding:10px 11px !important;
        gap:10px !important;
        display:flex !important;
        align-items:center !important;
    }

    .utap-fleet-card__identity {
        flex:1 1 0 !important;
        width:0 !important;
        min-width:0 !important;
        gap:9px !important;
    }

    .utap-fleet-card__identity > div {
        flex:1 1 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
    }

    .utap-fleet-card__identity .utap-vehicle-icon {
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
    }

    .utap-fleet-card__identity strong {
        display:block !important;
        max-width:none !important;
        overflow:visible !important;
        text-overflow:clip !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        font-size:13.5px !important;
        line-height:1.15 !important;
    }

    .utap-fleet-card__identity div > span {
        margin-top:3px !important;
        font-size:8px !important;
        line-height:1.1 !important;
    }

    .utap-fleet-card .utap-status-toggle {
        flex:0 0 auto !important;
        min-width:auto !important;
        min-height:28px !important;
        padding:0 8px !important;
        font-size:6.8px !important;
    }

    /* Kierowca — jeden zwięzły wiersz. */
    .utap-fleet-card__driver {
        min-height:45px !important;
        padding:7px 11px !important;
        background:#fff !important;
    }

    .utap-fleet-card__driver > div {
        min-width:0 !important;
        flex:1 1 auto !important;
    }

    .utap-fleet-card__driver span {
        font-size:6.8px !important;
    }

    .utap-fleet-card__driver strong {
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:9px !important;
    }

    /* Spalanie i litry: lekki pas zamiast kolejnego ciężkiego panelu. */
    .utap-fleet-card__fuel {
        min-height:48px !important;
        padding:7px 11px !important;
        grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr) !important;
        gap:12px !important;
        background:#f7faff !important;
    }

    .utap-fleet-card__fuel > div {
        min-width:0 !important;
        padding:0 !important;
    }

    .utap-fleet-card__fuel span {
        font-size:6.7px !important;
    }

    .utap-fleet-card__fuel strong,
    .utap-fleet-card__fuel > div:first-child strong {
        margin-top:3px !important;
        font-size:11.5px !important;
    }

    /* Wynik: na wzór wiersza kwoty w Wydatkach firmy. */
    .utap-fleet-card__profit {
        min-height:48px !important;
        padding:7px 11px !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "label value"
            "note value" !important;
        column-gap:10px !important;
        row-gap:2px !important;
        align-items:center !important;
        background:#fff !important;
    }

    .utap-fleet-card__profit > span {
        grid-area:label !important;
        align-self:end !important;
        font-size:7px !important;
        font-weight:750 !important;
    }

    .utap-fleet-card__profit > strong {
        grid-area:value !important;
        margin:0 !important;
        align-self:center !important;
        text-align:right !important;
        white-space:nowrap !important;
        font-size:14px !important;
        line-height:1.05 !important;
    }

    .utap-fleet-card__profit > small {
        grid-area:note !important;
        margin:0 !important;
        align-self:start !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:6.5px !important;
        line-height:1.15 !important;
    }

    /* Statystyki bez czterech ciężkich kafelków. */
    .utap-fleet-card__metrics {
        min-height:44px !important;
        margin:0 !important;
        padding:7px 6px !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:0 !important;
        background:#fff !important;
    }

    .utap-fleet-card__metrics > div {
        min-height:30px !important;
        padding:1px 7px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
    }

    .utap-fleet-card__metrics > div + div {
        border-left:1px solid #edf0f4 !important;
    }

    .utap-fleet-card__metrics span {
        font-size:5.9px !important;
        line-height:1.05 !important;
    }

    .utap-fleet-card__metrics strong {
        margin-top:4px !important;
        font-size:7.8px !important;
        line-height:1.05 !important;
    }

    /* Dół jak prosty pasek akcji z Wydatków. */
    .utap-fleet-card__footer {
        min-height:40px !important;
        padding:6px 9px !important;
        background:#fbfcfd !important;
    }

    .utap-fleet-card__footer .utap-mobile-card-more {
        min-height:27px !important;
        padding:0 8px !important;
        border:0 !important;
        background:#f3f5f8 !important;
        box-shadow:none !important;
    }

    /* Dodatkowe bloki pozostają wyłącznie po rozwinięciu. */
    .utap-fleet-card:not(.is-mobile-expanded) .utap-mobile-secondary {
        display:none !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-mobile-secondary {
        display:block !important;
    }

    .utap-fleet-card.is-mobile-expanded .utap-fleet-card__service {
        display:grid !important;
    }
}

@media (max-width:390px) {
    .utap-fleet-card__header {
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .utap-fleet-card__identity strong {
        font-size:13px !important;
    }

    .utap-fleet-card__metrics > div {
        padding-left:5px !important;
        padding-right:5px !important;
    }
}

/* ============================================================
 * v0.53.0 — pełna responsywność: macOS / iPadOS / iOS
 * Pojazdy + Finanse > Wydatki firmy
 * ============================================================ */

/* ---------- POJAZDY: desktop / macOS ---------- */
@media (min-width: 1101px) {
    .utap-fleet-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .utap-fleet-card {
        height: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
        grid-template-areas:
            "header header"
            "driver fuel"
            "profit metrics"
            "service service"
            "reminders reminders"
            "footer footer" !important;
        gap: 0 !important;
        overflow: hidden !important;
        border-radius: 14px !important;
    }

    .utap-fleet-card__header {
        grid-area: header !important;
        min-height: 58px !important;
        padding: 10px 13px !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .utap-fleet-card__identity {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .utap-fleet-card__identity > div {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .utap-fleet-card__identity strong {
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    .utap-fleet-card__identity div > span {
        margin-top: 2px !important;
        font-size: 7.5px !important;
    }

    .utap-fleet-card__driver {
        grid-area: driver !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 9px 12px !important;
        border: 0 !important;
        border-right: 1px solid #edf0f4 !important;
        border-bottom: 1px solid #edf0f4 !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    .utap-fleet-card__driver span,
    .utap-fleet-card__fuel span,
    .utap-fleet-card__profit > span,
    .utap-fleet-card__metrics span,
    .utap-fleet-card__service span {
        font-size: 7px !important;
    }

    .utap-fleet-card__driver strong {
        margin-top: 2px !important;
        font-size: 9px !important;
    }

    .utap-fleet-card__driver .utap-small-link-button {
        min-height: 27px !important;
        padding: 0 8px !important;
        font-size: 6.8px !important;
    }

    .utap-fleet-card__fuel {
        grid-area: fuel !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 9px 12px !important;
        display: grid !important;
        grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr) !important;
        gap: 10px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        border-radius: 0 !important;
        background: #f8fbff !important;
    }

    .utap-fleet-card__fuel > div {
        min-width: 0 !important;
        padding: 0 !important;
    }

    .utap-fleet-card__fuel strong,
    .utap-fleet-card__fuel > div:first-child strong {
        margin-top: 3px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    .utap-fleet-card__fuel small {
        display: none !important;
    }

    .utap-fleet-card__profit {
        grid-area: profit !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border: 0 !important;
        border-right: 1px solid #edf0f4 !important;
        border-bottom: 1px solid #edf0f4 !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    .utap-fleet-card__profit > strong {
        margin-top: 2px !important;
        font-size: 17px !important;
        line-height: 1.05 !important;
    }

    .utap-fleet-card__profit > small {
        margin-top: 2px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 6.6px !important;
    }

    .utap-fleet-card__metrics {
        grid-area: metrics !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 8px 9px !important;
        display: grid !important;
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        gap: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        background: #fff !important;
    }

    .utap-fleet-card__metrics > div {
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 5px 7px !important;
        border-radius: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .utap-fleet-card__metrics > div + div {
        border-left: 1px solid #edf0f4 !important;
    }

    .utap-fleet-card__metrics strong {
        margin-top: 3px !important;
        font-size: 8.5px !important;
    }

    .utap-fleet-card__service {
        grid-area: service !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        display: grid !important;
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        background: #fbfcfd !important;
    }

    .utap-fleet-card__service > div {
        min-height: 36px !important;
        padding: 4px 9px !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .utap-fleet-card__service > div + div {
        border-left: 1px solid #edf0f4 !important;
    }

    .utap-fleet-card__service strong {
        margin-top: 2px !important;
        font-size: 8px !important;
    }

    .utap-fleet-card__reminders {
        grid-area: reminders !important;
        margin: 0 !important;
        padding: 8px 11px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        background: #fff !important;
    }

    .utap-fleet-card__reminders-head span { font-size: 8px !important; }
    .utap-fleet-card__reminders-head small { font-size: 6.5px !important; }
    .utap-service-add-button { min-height: 27px !important; padding: 0 8px !important; font-size: 6.6px !important; }
    .utap-fleet-card__reminder-list { max-height: 120px !important; margin-top: 6px !important; overflow-y: auto !important; }

    .utap-fleet-card__footer {
        grid-area: footer !important;
        min-height: 45px !important;
        margin: 0 !important;
        padding: 7px 11px !important;
        border: 0 !important;
        background: #fbfcfd !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 7px !important;
    }

    .utap-fleet-card__footer > button,
    .utap-fleet-card__footer > a,
    .utap-fleet-card__footer .utap-edit-button,
    .utap-fleet-card__footer .utap-delete-button {
        min-height: 28px !important;
        padding: 0 8px !important;
        font-size: 6.7px !important;
    }

    .utap-fleet-card__footer details { margin-right: auto !important; }
    .utap-fleet-card__footer summary { font-size: 6.8px !important; }
    .utap-fleet-card__footer .utap-mobile-card-more { display: none !important; }
}

/* ---------- POJAZDY: iPad / tablet ---------- */
@media (min-width: 701px) and (max-width: 1100px) {
    .utap-fleet-grid {
        grid-template-columns: 1fr !important;
        gap: 11px !important;
    }

    .utap-fleet-card {
        height: auto !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
        grid-template-areas:
            "header header"
            "driver fuel"
            "profit metrics"
            "service service"
            "reminders reminders"
            "footer footer" !important;
        gap: 0 !important;
        overflow: hidden !important;
    }

    .utap-fleet-card__header { grid-area: header !important; padding: 11px 13px !important; }
    .utap-fleet-card__identity { flex: 1 1 auto !important; min-width: 0 !important; }
    .utap-fleet-card__identity > div { flex: 1 1 auto !important; min-width: 0 !important; }
    .utap-fleet-card__identity strong {
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .utap-fleet-card__driver { grid-area: driver !important; margin: 0 !important; border-radius: 0 !important; border: 0 !important; border-right: 1px solid #edf0f4 !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__fuel { grid-area: fuel !important; margin: 0 !important; border-radius: 0 !important; border: 0 !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__profit { grid-area: profit !important; margin: 0 !important; border-radius: 0 !important; border: 0 !important; border-right: 1px solid #edf0f4 !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__metrics { grid-area: metrics !important; margin: 0 !important; padding: 8px !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__service { grid-area: service !important; margin: 0 !important; padding: 8px 11px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; border: 0 !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__reminders { grid-area: reminders !important; margin: 0 !important; padding: 9px 11px !important; border-bottom: 1px solid #edf0f4 !important; }
    .utap-fleet-card__footer { grid-area: footer !important; min-height: 46px !important; margin: 0 !important; padding: 7px 11px !important; flex-direction: row !important; align-items: center !important; }
    .utap-fleet-card__footer .utap-mobile-card-more { display: none !important; }
}

/* ---------- POJAZDY: iPhone — pełna nazwa i pewny układ nagłówka ---------- */
@media (max-width: 700px) {
    .utap-fleet-card__header {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
    }

    .utap-fleet-card__identity {
        width: auto !important;
        min-width: 0 !important;
    }

    .utap-fleet-card__identity > div {
        width: auto !important;
        min-width: 0 !important;
    }

    .utap-fleet-card__identity strong {
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

/* ---------- FINANSE: macOS / szeroki desktop — tabela ma mieścić się w panelu ---------- */
@media (min-width: 1401px) {
    .utap-finance-panel:has(.utap-expense-cards) {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .utap-expense-cards.utap-finance-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .utap-expense-cards th,
    .utap-expense-cards td {
        min-width: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        vertical-align: middle !important;
    }

    .utap-expense-cards th:nth-child(1), .utap-expense-cards td:nth-child(1) { width: 9% !important; }
    .utap-expense-cards th:nth-child(2), .utap-expense-cards td:nth-child(2) { width: 17% !important; }
    .utap-expense-cards th:nth-child(3), .utap-expense-cards td:nth-child(3) { width: 19% !important; }
    .utap-expense-cards th:nth-child(4), .utap-expense-cards td:nth-child(4) { width: 13% !important; }
    .utap-expense-cards th:nth-child(5), .utap-expense-cards td:nth-child(5) { width: 20% !important; }
    .utap-expense-cards th:nth-child(6), .utap-expense-cards td:nth-child(6) { width: 22% !important; }

    .utap-expense-cards .utap-finance-payment-cell,
    .utap-expense-cards .utap-actions-cell {
        min-width: 0 !important;
    }

    .utap-expense-cards .utap-finance-payment-cell {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 5px !important;
    }

    .utap-expense-cards .utap-provider-badge,
    .utap-expense-cards .utap-payment-button,
    .utap-expense-cards .utap-cost-kind {
        max-width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
        line-height: 1.15 !important;
    }

    .utap-expense-cards .utap-actions-cell {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
    }

    .utap-expense-cards .utap-actions-cell > * {
        max-width: 100% !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-edit-button,
    .utap-expense-cards .utap-actions-cell .utap-delete-button {
        min-width: 0 !important;
        white-space: normal !important;
        line-height: 1.1 !important;
    }
}

/* iPad / mniejszy laptop: karty kosztów zostają, ale panel nie może poszerzać strony. */
@media (min-width: 701px) and (max-width: 1400px) {
    .utap-finance-panel:has(.utap-expense-cards),
    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap,
    .utap-expense-cards {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .utap-expense-cards tbody { gap: 8px !important; }
    .utap-expense-cards tr { border-radius: 12px !important; }
    .utap-expense-cards td {
        grid-template-columns: 96px minmax(0,1fr) !important;
        padding: 8px 10px !important;
    }
}


/* ============================================================
 * v0.53.1 — HOTFIX Finanse / macOS + tablet
 * Poprawka struktury Wydatków firmy: ukrywamy duplikat statusu,
 * dzięki czemu tabela ma faktycznie 6 kolumn jak nagłówek.
 * ============================================================ */

/* Status jest już jednoznacznie pokazany w kolumnie „Płatność”.
 * Druga komórka statusu była 7. kolumną przy nagłówku 6-kolumnowym
 * i wypychała akcje poza panel. */
.utap-expense-cards .utap-expense-status {
    display: none !important;
}

/* Mobilny duplikat rodzaju kosztu ma istnieć tylko na telefonie. */
@media (min-width: 701px) {
    .utap-expense-cards .utap-mobile-cost-kind {
        display: none !important;
    }
}

/* Desktop / macOS: sześć realnych kolumn, bez łamania etykiet znak po znaku. */
@media (min-width: 1401px) {
    .utap-expense-cards.utap-finance-table {
        table-layout: fixed !important;
    }

    .utap-expense-cards th,
    .utap-expense-cards td {
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .utap-expense-cards th:nth-child(1), .utap-expense-cards td:nth-child(1) { width: 9% !important; }
    .utap-expense-cards th:nth-child(2), .utap-expense-cards td:nth-child(2) { width: 17% !important; }
    .utap-expense-cards th:nth-child(3), .utap-expense-cards td:nth-child(3) { width: 19% !important; }
    .utap-expense-cards th:nth-child(4), .utap-expense-cards td:nth-child(4) { width: 14% !important; }
    .utap-expense-cards th:nth-child(5), .utap-expense-cards td:nth-child(5) { width: 20% !important; }
    .utap-expense-cards th:nth-child(6), .utap-expense-cards td:nth-child(6) { width: 21% !important; }

    .utap-expense-cards .utap-finance-payment-cell {
        display: table-cell !important;
        vertical-align: middle !important;
    }

    .utap-expense-cards .utap-finance-payment-cell > * {
        vertical-align: middle !important;
    }

    .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
    .utap-expense-cards .utap-finance-payment-cell .utap-payment-button,
    .utap-expense-cards .utap-expense-main .utap-cost-kind,
    .utap-expense-cards .utap-actions-cell .utap-edit-button,
    .utap-expense-cards .utap-actions-cell .utap-delete-button {
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
    }

    .utap-expense-cards .utap-finance-payment-cell > small {
        display: block !important;
        margin-top: 5px !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
    }

    .utap-expense-cards .utap-actions-cell {
        display: table-cell !important;
        vertical-align: middle !important;
        text-align: left !important;
    }

    .utap-expense-cards .utap-actions-cell > * + * {
        margin-left: 6px !important;
    }

    .utap-expense-cards .utap-actions-cell .utap-row-sub {
        display: block !important;
        margin: 5px 0 0 !important;
        white-space: normal !important;
    }

    .utap-expense-cards tr {
        height: auto !important;
    }

    .utap-expense-cards td {
        min-height: 0 !important;
        height: auto !important;
    }
}

/* iPad / mniejszy laptop: status również nie tworzy dodatkowego wiersza.
 * Karty pozostają bez poziomego przewijania. */
@media (min-width: 701px) and (max-width: 1400px) {
    .utap-expense-cards .utap-expense-status {
        display: none !important;
    }

    .utap-expense-cards .utap-actions-cell {
        min-height: 0 !important;
    }
}

/* ============================================================
 * v0.53.2 — Finanse > Faktury i wpływy
 * Ten sam standard responsywny co „Wydatki firmy”.
 * ============================================================ */

.utap-income-mobile-document { display:none; }

/* Wspólna ochrona panelu przed rozszerzaniem strony. */
.utap-finance-panel:has(.utap-income-cards),
.utap-finance-panel:has(.utap-income-cards) .utap-table-wrap,
.utap-income-cards {
    max-width:100% !important;
    min-width:0 !important;
}

/* macOS / szeroki desktop: normalna, zwarta tabela jak w kosztach. */
@media (min-width:1401px) {
    .utap-finance-panel:has(.utap-income-cards) {
        overflow:hidden !important;
    }
    .utap-finance-panel:has(.utap-income-cards) .utap-table-wrap {
        width:100% !important;
        overflow-x:hidden !important;
    }
    .utap-income-cards.utap-finance-table {
        width:100% !important;
        table-layout:fixed !important;
    }
    .utap-income-cards th,
    .utap-income-cards td {
        min-width:0 !important;
        padding-left:10px !important;
        padding-right:10px !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        vertical-align:middle !important;
    }
    .utap-income-cards th:nth-child(1), .utap-income-cards td:nth-child(1) { width:9% !important; }
    .utap-income-cards th:nth-child(2), .utap-income-cards td:nth-child(2) { width:19% !important; }
    .utap-income-cards th:nth-child(3), .utap-income-cards td:nth-child(3) { width:16% !important; }
    .utap-income-cards th:nth-child(4), .utap-income-cards td:nth-child(4) { width:15% !important; }
    .utap-income-cards th:nth-child(5), .utap-income-cards td:nth-child(5) { width:22% !important; }
    .utap-income-cards th:nth-child(6), .utap-income-cards td:nth-child(6) { width:19% !important; }

    .utap-income-cards .utap-payment-button,
    .utap-income-cards .utap-edit-button,
    .utap-income-cards .utap-delete-button {
        width:auto !important;
        max-width:100% !important;
        white-space:nowrap !important;
        word-break:keep-all !important;
    }
    .utap-income-cards .utap-actions-cell {
        white-space:normal !important;
    }
    .utap-income-cards .utap-actions-cell > * + * {
        margin-left:6px !important;
    }
}

/* iPad / mniejszy laptop: karty bez poziomego przewijania. */
@media (min-width:701px) and (max-width:1400px) {
    .utap-finance-panel:has(.utap-income-cards) .utap-table-wrap {
        overflow:visible !important;
        border:0 !important;
        background:transparent !important;
    }
    .utap-income-cards,
    .utap-income-cards tbody {
        display:block !important;
        width:100% !important;
    }
    .utap-income-cards thead { display:none !important; }
    .utap-income-cards tbody {
        display:grid !important;
        gap:8px !important;
    }
    .utap-income-cards tr {
        display:block !important;
        width:100% !important;
        overflow:hidden !important;
        border:1px solid var(--utap-border) !important;
        border-radius:12px !important;
        background:#fff !important;
    }
    .utap-income-cards td {
        width:100% !important;
        min-width:0 !important;
        padding:8px 10px !important;
        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;
        display:grid !important;
        grid-template-columns:96px minmax(0,1fr) !important;
        gap:10px !important;
        align-items:start !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        text-align:left !important;
    }
    .utap-income-cards td::before {
        content:attr(data-label);
        color:var(--utap-muted);
        font-size:7.5px;
        font-weight:850;
        letter-spacing:.035em;
        text-transform:uppercase;
        line-height:1.35;
    }
    .utap-income-cards td:last-child { border-bottom:0 !important; }
    .utap-income-cards .utap-actions-cell {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex-wrap:wrap !important;
        gap:8px !important;
        background:#fafbfd !important;
    }
    .utap-income-cards .utap-actions-cell::before {
        content:"Akcje";
        margin-right:auto;
    }
}

/* iPhone: kompaktowa karta analogiczna do „Wydatków firmy”. */
@media (max-width:700px) {
    .utap-finance-panel:has(.utap-income-cards) {
        padding:15px !important;
        border-radius:18px !important;
    }
    .utap-finance-panel:has(.utap-income-cards) .utap-panel-header {
        margin-bottom:12px !important;
        align-items:center !important;
    }
    .utap-finance-panel:has(.utap-income-cards) .utap-panel-header h2 {
        margin-top:2px !important;
        font-size:20px !important;
        line-height:1.12 !important;
    }
    .utap-finance-panel:has(.utap-income-cards) .utap-table-wrap.utap-long-list {
        max-height:68dvh !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding:1px 2px 2px !important;
        border:0 !important;
        background:transparent !important;
        -webkit-overflow-scrolling:touch;
    }
    .utap-income-cards,
    .utap-income-cards tbody {
        display:block !important;
        width:100% !important;
    }
    .utap-income-cards thead { display:none !important; }
    .utap-income-cards tbody {
        display:grid !important;
        gap:10px !important;
    }
    .utap-income-cards tr {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "date amount"
            "main main"
            "payment actions" !important;
        width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
        border:1px solid #dde3ec !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:0 2px 7px rgba(30,47,70,.04) !important;
    }
    .utap-income-cards td {
        width:auto !important;
        min-width:0 !important;
        min-height:0 !important;
        display:block !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }
    .utap-income-cards td::before {
        display:none !important;
        content:none !important;
    }
    .utap-income-cards .utap-income-date {
        grid-area:date !important;
        padding:11px 8px 10px 13px !important;
        color:#626e82 !important;
        font-size:10px !important;
        line-height:1.2 !important;
        border-bottom:1px solid #edf0f4 !important;
    }
    .utap-income-cards .utap-income-date::before {
        display:inline-block !important;
        content:"◷" !important;
        margin-right:6px;
        color:#77849a;
        font-size:11px;
        vertical-align:-1px;
    }
    .utap-income-cards .utap-income-amount {
        grid-area:amount !important;
        position:relative !important;
        padding:10px 29px 9px 8px !important;
        text-align:right !important;
        white-space:nowrap !important;
        border-bottom:1px solid #edf0f4 !important;
    }
    .utap-income-cards .utap-income-amount::after {
        content:"›";
        position:absolute;
        right:12px;
        top:50%;
        transform:translateY(-52%);
        color:#66748a;
        font-size:22px;
        font-weight:500;
        line-height:1;
    }
    .utap-income-cards .utap-income-amount > strong {
        display:block !important;
        font-size:13px !important;
        line-height:1.15 !important;
        color:var(--utap-text) !important;
    }
    .utap-income-cards .utap-income-amount > .utap-row-sub {
        display:none !important;
    }
    .utap-income-cards .utap-income-main {
        grid-area:main !important;
        position:relative !important;
        padding:11px 13px 10px 48px !important;
        border-bottom:1px solid #edf0f4 !important;
    }
    .utap-income-cards .utap-income-main::before {
        display:flex !important;
        content:"€" !important;
        position:absolute;
        left:13px;
        top:10px;
        width:27px;
        height:27px;
        align-items:center;
        justify-content:center;
        border-radius:50%;
        background:#eaf2ff;
        color:#1760d5;
        font-size:12px !important;
        font-weight:900;
    }
    .utap-income-cards .utap-income-main > strong {
        display:block !important;
        margin:0 !important;
        color:var(--utap-text) !important;
        font-size:12.5px !important;
        line-height:1.2 !important;
    }
    .utap-income-cards .utap-income-main .utap-row-sub,
    .utap-income-cards .utap-income-mobile-document {
        display:block !important;
        margin-top:2px !important;
        color:#8792a5 !important;
        font-size:8px !important;
        line-height:1.25 !important;
    }
    .utap-income-cards .utap-income-document {
        display:none !important;
    }
    .utap-income-cards .utap-finance-payment-cell {
        grid-area:payment !important;
        min-height:45px !important;
        padding:8px 6px 8px 13px !important;
        display:flex !important;
        align-items:center !important;
        gap:5px !important;
        overflow:hidden !important;
        background:#fbfcfd !important;
    }
    .utap-income-cards .utap-finance-payment-cell .utap-payment-button {
        width:auto !important;
        min-width:0 !important;
        max-width:160px !important;
        min-height:27px !important;
        margin:0 !important;
        padding:0 9px !important;
        border-radius:8px !important;
        font-size:7.3px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
    .utap-income-cards .utap-finance-payment-cell > small {
        display:none !important;
    }
    .utap-income-cards .utap-actions-cell {
        grid-area:actions !important;
        min-height:45px !important;
        padding:7px 10px 7px 4px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:3px !important;
        background:#fbfcfd !important;
    }
    .utap-income-cards .utap-actions-cell::before {
        display:none !important;
        content:none !important;
    }
    .utap-income-cards .utap-actions-cell .utap-edit-button,
    .utap-income-cards .utap-actions-cell .utap-delete-button {
        width:auto !important;
        min-width:0 !important;
        min-height:30px !important;
        padding:0 6px !important;
        font-size:7.5px !important;
        white-space:nowrap !important;
    }
    .utap-income-cards .utap-actions-cell .utap-edit-button {
        border:0 !important;
        background:transparent !important;
        color:#1760d5 !important;
        box-shadow:none !important;
        font-weight:900 !important;
    }
    .utap-income-cards .utap-actions-cell .utap-delete-button {
        color:#c64e4e !important;
    }
}

/* ============================================================
 * v0.53.3 — Finanse: klikalne wiersze/karty + Szczegóły
 * iPhone / iPad / macOS
 * ============================================================ */
[data-finance-details-row] {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

[data-finance-details-row]:focus-visible {
    outline: 2px solid rgba(33, 103, 232, .52) !important;
    outline-offset: -2px;
}

@media (hover:hover) and (pointer:fine) {
    .utap-finance-table [data-finance-details-row]:hover td {
        background-color: #fbfdff;
    }
    .utap-finance-table [data-finance-details-row]:hover .utap-income-amount::after,
    .utap-finance-table [data-finance-details-row]:hover .utap-expense-amount::after {
        color: #1760d5 !important;
    }
}

.utap-finance-details-modal {
    width: min(720px, calc(100vw - 36px)) !important;
    max-width: 720px !important;
    max-height: min(86dvh, 820px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

.utap-finance-details-header {
    align-items: flex-start !important;
}

.utap-finance-details-header > div {
    min-width: 0;
}

.utap-finance-details-header h2 {
    overflow-wrap: anywhere;
}

.utap-finance-details-header small {
    display: block;
    margin-top: 4px;
    color: var(--utap-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.utap-finance-details-alert {
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid #e9bd73;
    border-radius: 12px;
    background: #fff9ef;
    color: #8a5a12;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.4;
}

.utap-finance-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #e3e8ef;
    border-radius: 14px;
    background: #e8edf3;
}

.utap-finance-details-grid > div {
    min-width: 0;
    padding: 12px 13px;
    background: #fff;
}

.utap-finance-details-grid > div[hidden] {
    display: none !important;
}

.utap-finance-details-grid > div[data-detail-field="assignment"],
.utap-finance-details-grid > div[data-detail-field="source"],
.utap-finance-details-grid > div[data-detail-field="payment"],
.utap-finance-details-grid > div[data-detail-field="recovery"] {
    grid-column: span 2;
}

.utap-finance-details-grid span,
.utap-finance-details-description > span {
    display: block;
    margin-bottom: 4px;
    color: #8793a6;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .055em;
    line-height: 1.25;
    text-transform: uppercase;
}

.utap-finance-details-grid strong {
    display: block;
    min-width: 0;
    color: var(--utap-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.utap-finance-details-description {
    margin-top: 12px;
    padding: 12px 13px;
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    background: #fbfcfe;
}

.utap-finance-details-description p {
    margin: 0;
    color: #39465a;
    font-size: 12.5px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.utap-finance-details-actions {
    position: sticky;
    bottom: -1px;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin: 16px -2px -2px;
    padding: 12px 2px 2px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 15px, #fff 100%);
}

.utap-finance-details-actions button {
    min-height: 40px;
}

/* Telefon: panel szczegółów niemal na cały ekran, ale bez poziomego przewijania. */
@media (max-width:700px) {
    .utap-finance-details-backdrop {
        padding: 8px !important;
        align-items: center !important;
    }

    .utap-finance-details-modal {
        width: calc(100vw - 16px) !important;
        max-width: none !important;
        max-height: calc(100dvh - 16px) !important;
        padding: 16px !important;
        border-radius: 20px !important;
    }

    .utap-finance-details-header {
        margin-bottom: 13px !important;
    }

    .utap-finance-details-header h2 {
        font-size: 21px !important;
        line-height: 1.15 !important;
    }

    .utap-finance-details-header small {
        font-size: 10.5px !important;
    }

    .utap-finance-details-grid > div {
        padding: 10px 11px;
    }

    .utap-finance-details-grid span,
    .utap-finance-details-description > span {
        font-size: 7.7px;
    }

    .utap-finance-details-grid strong {
        font-size: 11.5px;
    }

    .utap-finance-details-description p {
        font-size: 11.5px;
    }

    .utap-finance-details-actions {
        margin-top: 13px;
        gap: 7px;
    }

    .utap-finance-details-actions button {
        flex: 1 1 0;
        min-width: 0;
        min-height: 42px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* iPad / tablet: szczegóły są szerokim, czytelnym panelem, nie mobilną "kartą w karcie". */
@media (min-width:701px) and (max-width:1100px) {
    .utap-finance-details-modal {
        width: min(680px, calc(100vw - 40px)) !important;
    }
}

/* ============================================================
 * v0.53.4 — Paliwo i przebieg: klikalne tankowania + Szczegóły
 * ============================================================ */
.utap-operations-fuel-table [data-finance-details-row] {
    cursor: pointer;
}

@media (hover:hover) and (pointer:fine) {
    .utap-operations-fuel-table [data-finance-details-row]:hover td {
        background-color: #fbfdff;
    }
}

@media (max-width: 980px) {
    .utap-operations-fuel-table [data-finance-details-row] {
        position: relative;
    }

    .utap-operations-fuel-table [data-finance-details-row]:active {
        transform: translateY(1px);
    }
}

/* ============================================================
 * v0.53.5 — Finanse: bez kolumny „Akcje”, kasowanie czerwonym X
 * ============================================================ */
.utap-finance-edit-proxy {
    display: none !important;
}

.utap-finance-table .utap-delete-col,
.utap-finance-table .utap-row-delete-cell {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: center !important;
}

.utap-row-delete-cell {
    vertical-align: middle !important;
}

.utap-row-delete-x {
    appearance: none;
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #fff;
    color: #dc2626;
    font: 600 22px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    cursor: pointer;
    box-shadow: none;
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

.utap-row-delete-x:hover {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}

.utap-row-delete-x:active {
    transform: scale(.94);
}

.utap-row-delete-x:focus-visible {
    outline: 2px solid rgba(220,38,38,.28);
    outline-offset: 2px;
}

/* macOS / szeroki iPad — ostatnia komórka jest tylko miejscem na X. */
@media (min-width: 981px) {
    .utap-expense-cards th:nth-child(1), .utap-expense-cards td:nth-child(1) { width: 10% !important; }
    .utap-expense-cards th:nth-child(2), .utap-expense-cards td:nth-child(2) { width: 23% !important; }
    .utap-expense-cards th:nth-child(3), .utap-expense-cards td:nth-child(3) { width: 20% !important; }
    .utap-expense-cards th:nth-child(4), .utap-expense-cards td:nth-child(4) { width: 14% !important; }
    .utap-expense-cards th:nth-child(5), .utap-expense-cards td:nth-child(5) { width: 29% !important; }
    .utap-expense-cards th:nth-child(6), .utap-expense-cards td:nth-child(6) { width: 4% !important; }

    .utap-income-cards th:nth-child(1), .utap-income-cards td:nth-child(1) { width: 10% !important; }
    .utap-income-cards th:nth-child(2), .utap-income-cards td:nth-child(2) { width: 24% !important; }
    .utap-income-cards th:nth-child(3), .utap-income-cards td:nth-child(3) { width: 18% !important; }
    .utap-income-cards th:nth-child(4), .utap-income-cards td:nth-child(4) { width: 15% !important; }
    .utap-income-cards th:nth-child(5), .utap-income-cards td:nth-child(5) { width: 29% !important; }
    .utap-income-cards th:nth-child(6), .utap-income-cards td:nth-child(6) { width: 4% !important; }
}

/* iPhone / iPad w układzie kart — X jest zawsze w prawym dolnym rogu.
   Kliknięcie reszty karty nadal otwiera Szczegóły. */
@media (max-width: 980px) {
    .utap-expense-cards tr,
    .utap-income-cards tr {
        position: relative !important;
        padding-bottom: 42px !important;
    }

    .utap-expense-cards td.utap-row-delete-cell,
    .utap-income-cards td.utap-row-delete-cell {
        position: absolute !important;
        right: 9px !important;
        bottom: 8px !important;
        top: auto !important;
        left: auto !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: 4;
    }

    .utap-expense-cards td.utap-row-delete-cell::before,
    .utap-income-cards td.utap-row-delete-cell::before {
        display: none !important;
        content: none !important;
    }

    .utap-row-delete-x {
        width: 30px;
        height: 30px;
        min-width: 30px;
        min-height: 30px;
        border-radius: 9px;
        font-size: 22px;
        background: #fff5f5;
    }
}

/* ============================================================
 * v0.53.7 — HOTFIX iOS/iPadOS po v0.53.6
 * Bez zmiany bazowej siatki kart finansowych.
 * ============================================================ */

/* Ikona paliwa jest wiązana ze źródłem kosztu, nie z dawną kolumną Akcje. */
@media (max-width:700px) {
    .utap-expense-cards tr[data-expense-source="fueling"] .utap-expense-main::before {
        content:"⛽" !important;
        font-size:13px !important;
        background:#eaf2ff !important;
        color:#1760d5 !important;
    }
}

/* iPhone: NIE nadpisujemy grid-template-columns.
   Korzystamy z istniejącego obszaru "actions" w bazowej karcie. */
@media (max-width:700px) {
    .utap-expense-cards tr,
    .utap-income-cards tr {
        padding-bottom:0 !important;
    }

    .utap-expense-cards td.utap-row-delete-cell,
    .utap-income-cards td.utap-row-delete-cell {
        position:static !important;
        grid-area:actions !important;
        width:auto !important;
        min-width:44px !important;
        max-width:none !important;
        min-height:45px !important;
        height:auto !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        align-self:stretch !important;
        padding:7px 10px 7px 4px !important;
        margin:0 !important;
        border:0 !important;
        background:#fbfcfd !important;
        box-shadow:none !important;
        z-index:2 !important;
    }

    .utap-expense-cards td.utap-row-delete-cell::before,
    .utap-income-cards td.utap-row-delete-cell::before {
        display:none !important;
        content:none !important;
    }

    .utap-row-delete-x {
        width:30px !important;
        height:30px !important;
        min-width:30px !important;
        min-height:30px !important;
        margin:0 !important;
        flex:0 0 30px !important;
    }
}

/* iPad / mniejszy laptop: karty są układem blokowym, więc X nakładamy
   wyłącznie na prawą stronę ostatniego wiersza płatności. Nie dodajemy
   dodatkowej wysokości i nie ingerujemy w strukturę pozostałych pól. */
@media (min-width:701px) and (max-width:1400px) {
    .utap-expense-cards tr,
    .utap-income-cards tr {
        position:relative !important;
        padding-bottom:0 !important;
    }

    .utap-expense-cards .utap-finance-payment-cell,
    .utap-income-cards .utap-finance-payment-cell {
        padding-right:58px !important;
    }

    .utap-expense-cards td.utap-row-delete-cell,
    .utap-income-cards td.utap-row-delete-cell {
        position:absolute !important;
        right:10px !important;
        bottom:8px !important;
        top:auto !important;
        left:auto !important;
        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:32px !important;
        min-height:32px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:0 !important;
        margin:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        z-index:4 !important;
    }

    .utap-expense-cards td.utap-row-delete-cell::before,
    .utap-income-cards td.utap-row-delete-cell::before {
        display:none !important;
        content:none !important;
    }
}

/* ============================================================
 * v0.54.0 — POJAZDY: kompaktowe karty + szczegóły w modalu
 * Spójny układ iPhone / iPadOS / macOS.
 * ============================================================ */

.utap-fleet-grid--compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
}

.utap-fleet-card--compact {
    display: block !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe5ec !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(31,47,70,.035) !important;
    cursor: pointer !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

.utap-fleet-card--compact:hover {
    border-color: #cfd8e4 !important;
    box-shadow: 0 5px 16px rgba(31,47,70,.055) !important;
}

.utap-fleet-card--compact:focus-visible {
    outline: 2px solid rgba(37,99,235,.24) !important;
    outline-offset: 2px !important;
}

.utap-fleet-card--compact .utap-fleet-card__header {
    min-height: 62px !important;
    padding: 11px 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: #fff !important;
}

.utap-fleet-card--compact .utap-fleet-card__identity {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
}

.utap-fleet-card--compact .utap-fleet-card__identity > div {
    min-width: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
}

.utap-fleet-card--compact .utap-fleet-card__identity .utap-vehicle-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
}

.utap-fleet-card--compact .utap-fleet-card__identity strong {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

.utap-fleet-card--compact .utap-fleet-card__identity div > span {
    display: block !important;
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}

.utap-fleet-card--compact .utap-status-toggle {
    min-width: auto !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

.utap-fleet-card--compact .utap-fleet-card__driver {
    min-height: 48px !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.utap-fleet-card--compact .utap-fleet-card__driver > div {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.utap-fleet-card--compact .utap-fleet-card__driver span,
.utap-fleet-card--compact .utap-fleet-card__fuel span,
.utap-fleet-card--compact .utap-fleet-card__profit span,
.utap-fleet-card--compact .utap-fleet-card__metrics span {
    display: block !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    color: #7b8797 !important;
}

.utap-fleet-card--compact .utap-fleet-card__driver strong {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}

.utap-fleet-card--compact .utap-small-link-button {
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 9px !important;
    border-radius: 8px !important;
    flex: 0 0 auto !important;
    font-size: 9px !important;
}

.utap-fleet-card--compact .utap-fleet-card__fuel {
    min-height: 55px !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr) !important;
    gap: 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8eef6 !important;
    border-radius: 0 !important;
    background: #f7faff !important;
}

.utap-fleet-card--compact .utap-fleet-card__fuel > div {
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.utap-fleet-card--compact .utap-fleet-card__fuel strong,
.utap-fleet-card--compact .utap-fleet-card__fuel > div:first-child strong {
    display: block !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
}

.utap-fleet-card--compact .utap-fleet-card__fuel small {
    display: none !important;
}

.utap-fleet-card--compact .utap-fleet-card__profit {
    min-height: 55px !important;
    margin: 0 !important;
    padding: 9px 13px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.utap-fleet-card--compact .utap-fleet-card__profit > div {
    min-width: 0 !important;
}

.utap-fleet-card--compact .utap-fleet-card__profit small {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    color: #8a94a3 !important;
}

.utap-fleet-card--compact .utap-fleet-card__profit > strong {
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.utap-fleet-card--compact .utap-fleet-card__metrics {
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

.utap-fleet-card--compact .utap-fleet-card__metrics > div {
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 8px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.utap-fleet-card--compact .utap-fleet-card__metrics > div + div {
    border-left: 1px solid #edf0f4 !important;
}

.utap-fleet-card--compact .utap-fleet-card__metrics strong {
    display: block !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
}

.utap-fleet-card--compact .utap-fleet-card__inactive-copy {
    min-height: 72px !important;
    margin: 0 !important;
    padding: 12px 13px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: #fbfcfd !important;
}

.utap-fleet-card--compact .utap-fleet-card__inactive-copy strong {
    font-size: 12px !important;
}

.utap-fleet-card--compact .utap-fleet-card__inactive-copy span {
    margin-top: 3px !important;
    font-size: 9px !important;
}

.utap-fleet-card__openbar {
    min-height: 38px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    border-top: 1px solid #edf0f4 !important;
    background: #fbfcfd !important;
    color: #5c6878 !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

.utap-fleet-card__openbar b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 7px !important;
    background: #eef4ff !important;
    color: #2563eb !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.utap-vehicle-details-source[hidden] {
    display: none !important;
}

#utap-vehicle-details-modal .utap-modal--vehicle-details {
    width: min(780px, calc(100vw - 36px)) !important;
    max-width: 780px !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;
    padding: 0 !important;
}

#utap-vehicle-details-modal .utap-modal-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    margin: 0 !important;
    padding: 16px 18px 13px !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: rgba(255,255,255,.98) !important;
}

.utap-vehicle-details-registration {
    display: block !important;
    margin-top: 3px !important;
    color: #7b8797 !important;
    font-size: 11px !important;
}

.utap-vehicle-details-body {
    padding: 14px 16px 16px !important;
}

.utap-vehicle-details-body > .utap-vehicle-details-source {
    display: block !important;
}

.utap-vehicle-details-grid,
.utap-vehicle-month-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
}

.utap-vehicle-details-grid > div,
.utap-vehicle-month-grid > div {
    min-width: 0 !important;
    padding: 10px 11px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 11px !important;
    background: #fbfcfd !important;
}

.utap-vehicle-detail-wide {
    grid-column: 1 / -1 !important;
}

.utap-vehicle-details-grid span,
.utap-vehicle-month-grid span {
    display: block !important;
    color: #7b8797 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
}

.utap-vehicle-details-grid strong,
.utap-vehicle-month-grid strong {
    display: block !important;
    margin-top: 4px !important;
    overflow-wrap: anywhere !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.utap-vehicle-details-section {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 13px !important;
    background: #fff !important;
}

.utap-vehicle-details-section__head {
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.utap-vehicle-details-section__head > div {
    min-width: 0 !important;
}

.utap-vehicle-details-section__head strong {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}

.utap-vehicle-details-section__head span {
    display: block !important;
    margin-top: 3px !important;
    color: #7b8797 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
}

.utap-vehicle-details-section .utap-service-add-button {
    min-height: 30px !important;
    padding: 0 9px !important;
    flex: 0 0 auto !important;
    font-size: 9px !important;
}

.utap-vehicle-details-reminders {
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
}

.utap-vehicle-details-reminders .utap-service-row {
    min-height: 48px !important;
    padding: 8px 9px !important;
}

.utap-vehicle-details-empty,
.utap-vehicle-details-note {
    margin: 0 !important;
    color: #6f7a89 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.utap-vehicle-details-actions {
    margin-top: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.utap-vehicle-details-actions > button {
    min-height: 34px !important;
    margin: 0 !important;
}

@media (min-width: 1101px) {
    .utap-fleet-grid--compact {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (min-width: 701px) and (max-width: 1100px) {
    .utap-fleet-grid--compact {
        grid-template-columns: 1fr !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__header,
    .utap-fleet-card--compact .utap-fleet-card__driver,
    .utap-fleet-card--compact .utap-fleet-card__fuel,
    .utap-fleet-card--compact .utap-fleet-card__profit {
        min-height: 56px !important;
    }
}

@media (max-width: 700px) {
    .utap-fleet-grid--compact {
        gap: 10px !important;
    }

    .utap-fleet-card--compact {
        border-radius: 15px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__header {
        min-height: 58px !important;
        padding: 9px 10px !important;
        display: flex !important;
        grid-template-columns: none !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__identity {
        gap: 9px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__identity .utap-vehicle-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__identity strong {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__identity div > span {
        font-size: 9px !important;
    }

    .utap-fleet-card--compact .utap-status-toggle {
        min-height: 27px !important;
        height: 27px !important;
        padding: 0 8px !important;
        font-size: 8px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__driver {
        min-height: 45px !important;
        padding: 7px 10px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__driver strong {
        font-size: 11px !important;
    }

    .utap-fleet-card--compact .utap-small-link-button {
        min-height: 27px !important;
        height: 27px !important;
        font-size: 8px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__fuel {
        min-height: 52px !important;
        padding: 7px 10px !important;
        gap: 8px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__fuel strong,
    .utap-fleet-card--compact .utap-fleet-card__fuel > div:first-child strong {
        font-size: 12px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__profit {
        min-height: 51px !important;
        padding: 8px 10px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__profit > strong {
        font-size: 16px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__profit small {
        max-width: 185px !important;
        font-size: 8px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__metrics {
        min-height: 46px !important;
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__metrics > div {
        min-height: 46px !important;
        padding: 6px 4px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__metrics span {
        font-size: 7px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__metrics strong {
        margin-top: 3px !important;
        font-size: 9px !important;
    }

    .utap-fleet-card__openbar {
        min-height: 35px !important;
        padding: 0 9px !important;
        font-size: 8px !important;
    }

    #utap-vehicle-details-modal .utap-modal--vehicle-details {
        width: calc(100vw - 18px) !important;
        max-width: none !important;
        max-height: calc(100dvh - 18px) !important;
        border-radius: 16px !important;
    }

    #utap-vehicle-details-modal .utap-modal-head {
        padding: 13px 13px 11px !important;
    }

    .utap-vehicle-details-body {
        padding: 10px 10px 13px !important;
    }

    .utap-vehicle-details-grid,
    .utap-vehicle-month-grid {
        gap: 6px !important;
    }

    .utap-vehicle-details-grid > div,
    .utap-vehicle-month-grid > div {
        padding: 8px !important;
        border-radius: 9px !important;
    }

    .utap-vehicle-details-grid span,
    .utap-vehicle-month-grid span {
        font-size: 8px !important;
    }

    .utap-vehicle-details-grid strong,
    .utap-vehicle-month-grid strong {
        font-size: 10px !important;
    }

    .utap-vehicle-details-section {
        margin-top: 9px !important;
        padding: 9px !important;
        border-radius: 11px !important;
    }

    .utap-vehicle-details-section__head {
        margin-bottom: 8px !important;
    }

    .utap-vehicle-details-section__head strong {
        font-size: 11px !important;
    }

    .utap-vehicle-details-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
    }

    .utap-vehicle-details-actions > button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .utap-vehicle-details-actions > button:first-child:nth-last-child(3) {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 380px) {
    .utap-fleet-card--compact .utap-fleet-card__identity strong {
        font-size: 12px !important;
    }

    .utap-fleet-card--compact .utap-fleet-card__metrics strong {
        font-size: 8px !important;
    }

    .utap-vehicle-details-grid,
    .utap-vehicle-month-grid {
        grid-template-columns: 1fr !important;
    }

    .utap-vehicle-detail-wide {
        grid-column: auto !important;
    }
}


/* ============================================================
 * v0.54.1 — PALIWO I PRZEBIEG: spójny UI iOS / iPadOS / macOS
 * Tylko wygląd. Bez zmian w logice tankowań i przebiegu.
 * ============================================================ */

/* Podsumowanie modułu ma być zwarte jak pozostałe karty aplikacji. */
.utap-operations-kpis {
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    gap: 9px !important;
    margin-bottom: 10px !important;
}

.utap-operations-kpis > article {
    min-height: 78px !important;
    padding: 11px 12px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 7px rgba(31,47,70,.035) !important;
}

.utap-operations-kpis span {
    font-size: 8.5px !important;
}

.utap-operations-kpis strong {
    margin-top: 7px !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
}

.utap-operations-kpis small {
    margin-top: 4px !important;
    font-size: 7px !important;
    line-height: 1.25 !important;
}

.utap-operations-more {
    margin-bottom: 10px !important;
}

/* Główna operacja: mniej "powietrza", wyraźna hierarchia. */
.utap-finance-panel:has(.utap-operations-fuel-table) .utap-panel-header {
    margin-bottom: 10px !important;
}

.utap-finance-panel:has(.utap-operations-fuel-table) .utap-small-add {
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 9px !important;
    font-size: 9px !important;
}

.utap-finance-panel:has(.utap-operations-fuel-table) .utap-operations-tip {
    margin-bottom: 10px !important;
    padding: 9px 10px !important;
    border-radius: 10px !important;
}

/* Ikona paliwa jest częścią rekordu, nie przycisku akcji. */
.utap-fuel-row-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 9px;
    background: #eaf2ff;
    color: #1760d5;
}

.utap-fuel-row-icon svg {
    width: 15px !important;
    height: 15px !important;
    display: block !important;
}

/* Edycja jest dostępna po kliknięciu rekordu -> Szczegóły.
   Przycisk pozostaje w DOM, bo korzysta z niego istniejąca logika JS. */
.utap-operations-fuel-table .utap-actions-cell .utap-edit-button {
    display: none !important;
}

/* Na liście zostaje tylko dyskretny czerwony X, tak jak w Finansach. */
.utap-operations-fuel-table .utap-actions-cell .utap-delete-button {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border: 1px solid #fecaca !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #dc2626 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

.utap-operations-fuel-table .utap-actions-cell .utap-delete-button::before {
    content: "×";
    display: block;
    font: 600 22px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.utap-operations-fuel-table .utap-actions-cell .utap-delete-button:hover {
    border-color: #dc2626 !important;
    background: #dc2626 !important;
    color: #fff !important;
}

/* macOS / szeroki ekran: prawdziwa kompaktowa tabela mieszcząca się w panelu. */
@media (min-width: 1401px) {
    .utap-operations-fuel-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .utap-operations-fuel-table th,
    .utap-operations-fuel-table td {
        box-sizing: border-box !important;
    }

    .utap-operations-fuel-table th:nth-child(1),
    .utap-operations-fuel-table td:nth-child(1) { width: 9% !important; }
    .utap-operations-fuel-table th:nth-child(2),
    .utap-operations-fuel-table td:nth-child(2) { width: 19% !important; }
    .utap-operations-fuel-table th:nth-child(3),
    .utap-operations-fuel-table td:nth-child(3) { width: 15% !important; }
    .utap-operations-fuel-table th:nth-child(4),
    .utap-operations-fuel-table td:nth-child(4) { width: 17% !important; }
    .utap-operations-fuel-table th:nth-child(5),
    .utap-operations-fuel-table td:nth-child(5) { width: 17% !important; }
    .utap-operations-fuel-table th:nth-child(6),
    .utap-operations-fuel-table td:nth-child(6) { width: 19% !important; }
    .utap-operations-fuel-table th:nth-child(7),
    .utap-operations-fuel-table td:nth-child(7) { width: 4% !important; }

    .utap-operations-fuel-table th {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
        font-size: 8px !important;
    }

    .utap-operations-fuel-table th:last-child {
        font-size: 0 !important;
    }

    .utap-operations-fuel-table td {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        vertical-align: middle !important;
        white-space: normal !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle {
        display: grid !important;
        grid-template-columns: 28px minmax(0,1fr) !important;
        column-gap: 8px !important;
        align-items: center !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle > strong,
    .utap-operations-fuel-table .utap-fuel-vehicle > .utap-row-sub {
        grid-column: 2 !important;
        min-width: 0 !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle > strong {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle > .utap-row-sub {
        margin-top: 2px !important;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        padding-left: 4px !important;
        padding-right: 4px !important;
        text-align: center !important;
    }

    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-table-wrap {
        overflow-x: hidden !important;
    }
}

/* iPad / mniejszy Mac: jedna szeroka karta rekordu, nie 7 pionowych pól. */
@media (min-width: 701px) and (max-width: 1400px) {
    .utap-operations-kpis {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    }

    .utap-operations-fuel-table tr {
        grid-template-columns: minmax(0,1fr) minmax(160px,.42fr) !important;
        grid-template-areas:
            "date amount"
            "vehicle liters"
            "details details"
            "payment actions" !important;
    }

    .utap-fuel-vehicle {
        display: grid !important;
        grid-template-columns: 30px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 9px !important;
        align-items: center !important;
    }

    .utap-fuel-vehicle .utap-fuel-row-icon {
        grid-row: 1 / span 2 !important;
    }

    .utap-fuel-vehicle > strong,
    .utap-fuel-vehicle > .utap-row-sub {
        grid-column: 2 !important;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        justify-content: flex-end !important;
        min-width: 46px !important;
    }
}

/* iPhone: układ jak pozostałe karty UTAP — data/kwota, pojazd/litry, pasek dolny. */
@media (max-width: 700px) {
    .utap-operations-kpis {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 7px !important;
    }

    .utap-operations-kpis > article {
        min-height: 67px !important;
        padding: 9px 10px !important;
    }

    .utap-operations-kpis > article:last-child {
        grid-column: 1 / -1 !important;
        min-height: 58px !important;
    }

    .utap-operations-kpis strong {
        margin-top: 5px !important;
        font-size: 15px !important;
    }

    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-panel-header {
        align-items: center !important;
    }

    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-small-add {
        min-height: 31px !important;
        padding: 0 9px !important;
        font-size: 8px !important;
    }

    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-operations-tip {
        padding: 8px 9px !important;
    }

    .utap-operations-fuel-table tr {
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-template-areas:
            "date amount"
            "vehicle liters"
            "details details"
            "payment actions" !important;
    }

    .utap-fuel-vehicle {
        display: grid !important;
        grid-template-columns: 28px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 8px !important;
        align-items: center !important;
    }

    .utap-fuel-vehicle::before {
        display: none !important;
        content: none !important;
    }

    .utap-fuel-vehicle .utap-fuel-row-icon {
        grid-row: 1 / span 2 !important;
    }

    .utap-fuel-vehicle > strong,
    .utap-fuel-vehicle > .utap-row-sub {
        grid-column: 2 !important;
        min-width: 0 !important;
    }

    .utap-fuel-vehicle > strong {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .utap-fuel-payment {
        min-width: 0 !important;
    }

    .utap-operations-fuel-table .utap-actions-cell {
        min-width: 45px !important;
        padding-left: 3px !important;
        padding-right: 8px !important;
    }
}

/* ------------------------------------------------------------
 * Główna operacja TANKOWANIE — ten sam formularz, lepszy układ.
 * ------------------------------------------------------------ */
#utap-fueling-modal .utap-modal {
    width: min(780px, calc(100vw - 36px)) !important;
    max-width: 780px !important;
    padding: 20px !important;
    border-radius: 18px !important;
}

#utap-fueling-modal .utap-modal-header {
    margin: -2px -2px 15px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #edf0f4 !important;
}

#utap-fueling-modal .utap-modal-header h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
}

#utap-fueling-modal .utap-form-grid {
    row-gap: 12px !important;
    column-gap: 12px !important;
}

#utap-fueling-modal .utap-form-grid > label:not(.utap-fixed-cost-check) {
    grid-template-rows: auto auto auto !important;
    gap: 5px !important;
}

#utap-fueling-modal label > span:first-child {
    color: #4f5c6f !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

#utap-fueling-modal input:not([type="hidden"]):not([type="checkbox"]),
#utap-fueling-modal select,
#utap-fueling-modal textarea {
    min-height: 43px !important;
    border-radius: 10px !important;
    background: #fff !important;
}

#utap-fueling-modal label > small,
#utap-fueling-modal .utap-field-explain,
#utap-fueling-modal .utap-rate-status {
    font-size: 7.5px !important;
    line-height: 1.35 !important;
}

#utap-fueling-modal .utap-inline-hint {
    display: inline !important;
    margin-left: 4px !important;
    font-size: 7px !important;
}

#utap-fueling-modal .utap-dkv-info {
    margin: 0 !important;
    padding: 10px 11px !important;
    border-radius: 10px !important;
    border: 1px solid #dce8f8 !important;
    background: #f7faff !important;
}

#utap-fueling-modal .utap-dkv-info strong {
    font-size: 9px !important;
}

#utap-fueling-modal .utap-dkv-info span {
    margin-top: 3px !important;
    font-size: 7.5px !important;
    line-height: 1.4 !important;
}

#utap-fueling-modal .utap-live-total {
    margin-top: 12px !important;
    min-height: 38px !important;
    padding: 9px 11px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 10px !important;
    font-size: 8.5px !important;
}

#utap-fueling-modal .utap-simple-toggle {
    margin-top: 10px !important;
    padding-top: 9px !important;
    border-top: 1px solid #edf0f4 !important;
}

#utap-fueling-modal .utap-simple-toggle button span {
    font-size: 9px !important;
}

#utap-fueling-modal .utap-simple-toggle button small {
    font-size: 7px !important;
}

#utap-fueling-modal .utap-form-actions {
    margin-top: 13px !important;
    padding-top: 12px !important;
    border-top: 1px solid #edf0f4 !important;
    gap: 8px !important;
}

#utap-fueling-modal .utap-form-actions button {
    min-height: 40px !important;
}

/* Szeroki iPad / macOS: formularz tankowania może bezpiecznie użyć dwóch kolumn. */
@media (min-width: 980px) {
    #utap-fueling-modal .utap-form-grid {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    #utap-fueling-modal .utap-form-grid > label,
    #utap-fueling-modal .utap-form-grid > .utap-form-full {
        grid-column: auto !important;
    }

    #utap-fueling-modal .utap-form-grid > .utap-form-full,
    #utap-fueling-modal .utap-form-grid > [data-dkv-info] {
        grid-column: 1 / -1 !important;
    }
}

/* iPhone / wąski iPad: jedna kolumna i modal prawie pełnoekranowy. */
@media (max-width: 979px) {
    #utap-fueling-modal .utap-modal {
        width: min(680px, calc(100vw - 20px)) !important;
        max-width: calc(100vw - 20px) !important;
        padding: 16px !important;
    }

    #utap-fueling-modal .utap-form-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }
}

@media (max-width: 700px) {
    #utap-fueling-modal .utap-modal {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        padding: 13px !important;
        border-radius: 17px !important;
    }

    #utap-fueling-modal .utap-modal-header {
        margin-bottom: 12px !important;
        padding-bottom: 10px !important;
    }

    #utap-fueling-modal .utap-modal-header h2 {
        font-size: 18px !important;
    }

    #utap-fueling-modal .utap-form-grid {
        row-gap: 10px !important;
    }

    #utap-fueling-modal input:not([type="hidden"]):not([type="checkbox"]),
    #utap-fueling-modal select {
        min-height: 42px !important;
    }

    #utap-fueling-modal .utap-form-actions {
        position: sticky !important;
        bottom: -13px !important;
        z-index: 3 !important;
        margin-left: -13px !important;
        margin-right: -13px !important;
        margin-bottom: -13px !important;
        padding: 10px 13px 13px !important;
        background: #fff !important;
    }

    #utap-fueling-modal .utap-form-actions button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* ============================================================
 * v0.54.2 — PALIWO I PRZEBIEG: właściwa karta tankowania
 * 6 kolumn na desktopie, zwarta karta iOS/iPad, bez pustych pól.
 * ============================================================ */

/* Rekord tankowania ma być czytelny jak rekord w Finansach. */
.utap-operations-fuel-table .utap-fuel-vehicle-copy {
    min-width: 0;
    display: block;
}

.utap-operations-fuel-table .utap-fuel-vehicle-copy > strong,
.utap-operations-fuel-table .utap-fuel-vehicle-copy > small {
    display: block;
    min-width: 0;
}

.utap-operations-fuel-table .utap-fuel-vehicle-copy > strong {
    color: #263348;
    font-weight: 800;
}

.utap-operations-fuel-table .utap-fuel-delete-cell .utap-edit-button {
    display: none !important;
}

.utap-operations-fuel-table .utap-fuel-delete-cell .utap-row-delete-x {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 30px !important;
    border-radius: 9px !important;
    font-size: 22px !important;
}

/* macOS / desktop: 6 prostych kolumn; szczegóły są po kliknięciu wiersza. */
@media (min-width: 1101px) {
    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-table-wrap {
        overflow-x: hidden !important;
    }

    .utap-operations-fuel-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .utap-operations-fuel-table th:nth-child(1),
    .utap-operations-fuel-table td:nth-child(1) { width: 10% !important; }
    .utap-operations-fuel-table th:nth-child(2),
    .utap-operations-fuel-table td:nth-child(2) { width: 28% !important; }
    .utap-operations-fuel-table th:nth-child(3),
    .utap-operations-fuel-table td:nth-child(3) { width: 17% !important; }
    .utap-operations-fuel-table th:nth-child(4),
    .utap-operations-fuel-table td:nth-child(4) { width: 18% !important; }
    .utap-operations-fuel-table th:nth-child(5),
    .utap-operations-fuel-table td:nth-child(5) { width: 22% !important; }
    .utap-operations-fuel-table th:nth-child(6),
    .utap-operations-fuel-table td:nth-child(6) { width: 5% !important; }

    .utap-operations-fuel-table th,
    .utap-operations-fuel-table td {
        box-sizing: border-box !important;
    }

    .utap-operations-fuel-table th {
        padding: 10px 11px !important;
        font-size: 8px !important;
        white-space: nowrap !important;
    }

    .utap-operations-fuel-table td {
        padding: 11px !important;
        vertical-align: middle !important;
        white-space: normal !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle {
        display: grid !important;
        grid-template-columns: 30px minmax(0,1fr) !important;
        gap: 9px !important;
        align-items: center !important;
    }

    .utap-operations-fuel-table .utap-fuel-row-icon {
        width: 30px !important;
        height: 30px !important;
        flex-basis: 30px !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > strong {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 9px !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > small,
    .utap-operations-fuel-table .utap-fuel-liters .utap-row-sub,
    .utap-operations-fuel-table .utap-fuel-amount .utap-row-sub {
        margin-top: 3px !important;
        font-size: 6.7px !important;
        line-height: 1.25 !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters > strong,
    .utap-operations-fuel-table .utap-fuel-amount > strong {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .utap-operations-fuel-table .utap-fuel-payment .utap-provider-badge {
        white-space: nowrap !important;
    }

    .utap-operations-fuel-table .utap-fuel-delete-cell {
        padding-left: 4px !important;
        padding-right: 7px !important;
        text-align: right !important;
    }
}

/* iPhone + iPad: karta ma tę samą hierarchię co Wydatki firmy. */
@media (max-width: 1100px) {
    .utap-finance-panel:has(.utap-operations-fuel-table),
    .utap-finance-panel:has(.utap-operations-fuel-table) .utap-table-wrap,
    .utap-operations-fuel-table,
    .utap-operations-fuel-table tbody {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .utap-operations-fuel-table,
    .utap-operations-fuel-table tbody {
        display: block !important;
    }

    .utap-operations-fuel-table thead {
        display: none !important;
    }

    .utap-operations-fuel-table tbody {
        display: grid !important;
        gap: 9px !important;
    }

    .utap-operations-fuel-table tr {
        display: grid !important;
        position: relative !important;
        grid-template-columns: minmax(0,1fr) auto 42px !important;
        grid-template-areas:
            "date amount amount"
            "vehicle vehicle vehicle"
            "liters payment actions" !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        border: 1px solid #dfe5ed !important;
        border-radius: 13px !important;
        background: #fff !important;
        box-shadow: 0 2px 7px rgba(30,47,70,.04) !important;
    }

    .utap-operations-fuel-table tr:has(.utap-fuel-incomplete-badge) {
        border-color: #e7c18b !important;
        background: #fffdf9 !important;
    }

    .utap-operations-fuel-table td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .utap-operations-fuel-table td::before {
        display: none !important;
        content: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-date {
        grid-area: date !important;
        min-height: 42px !important;
        padding: 10px 8px 9px 12px !important;
        display: flex !important;
        align-items: center !important;
        border-bottom: 1px solid #edf0f4 !important;
        color: #697589 !important;
        font-size: 8.5px !important;
    }

    .utap-operations-fuel-table .utap-fuel-date::before {
        display: inline-block !important;
        content: "◷" !important;
        margin-right: 6px !important;
        color: #7b8798 !important;
        font-size: 10px !important;
    }

    .utap-operations-fuel-table .utap-fuel-amount {
        grid-area: amount !important;
        min-height: 42px !important;
        padding: 7px 12px 7px 7px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
        border-bottom: 1px solid #edf0f4 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .utap-operations-fuel-table .utap-fuel-amount > strong {
        font-size: 12px !important;
        line-height: 1.1 !important;
    }

    .utap-operations-fuel-table .utap-fuel-amount .utap-fuel-incomplete-badge {
        min-height: 20px !important;
        margin: 0 0 3px !important;
        padding: 0 7px !important;
        font-size: 6.5px !important;
    }

    .utap-operations-fuel-table .utap-fuel-amount .utap-row-sub {
        margin-top: 2px !important;
        font-size: 6.4px !important;
        line-height: 1.2 !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle {
        grid-area: vehicle !important;
        min-height: 58px !important;
        padding: 9px 12px !important;
        display: grid !important;
        grid-template-columns: 34px minmax(0,1fr) !important;
        gap: 10px !important;
        align-items: center !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle::before {
        display: none !important;
        content: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-row-icon {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
        border-radius: 10px !important;
    }

    .utap-operations-fuel-table .utap-fuel-row-icon svg {
        width: 17px !important;
        height: 17px !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > strong {
        font-size: 10.5px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > small {
        margin-top: 3px !important;
        color: #7f8999 !important;
        font-size: 6.7px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters {
        grid-area: liters !important;
        min-height: 46px !important;
        padding: 8px 8px 8px 11px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: #fbfcfd !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters > strong {
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters .utap-row-sub {
        margin-top: 2px !important;
        color: #7f8999 !important;
        font-size: 6.3px !important;
        line-height: 1.2 !important;
    }

    .utap-operations-fuel-table .utap-fuel-payment {
        grid-area: payment !important;
        min-height: 46px !important;
        padding: 7px 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        background: #fbfcfd !important;
    }

    .utap-operations-fuel-table .utap-fuel-payment .utap-provider-badge {
        width: auto !important;
        min-width: 0 !important;
        min-height: 28px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap !important;
        font-size: 6.8px !important;
    }

    .utap-operations-fuel-table .utap-fuel-payment .utap-row-sub {
        display: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-delete-cell {
        grid-area: actions !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        min-height: 46px !important;
        padding: 7px 8px 7px 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        background: #fbfcfd !important;
    }

    .utap-operations-fuel-table .utap-fuel-delete-cell .utap-row-delete-x {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        max-width: 30px !important;
        flex: 0 0 30px !important;
        font-size: 22px !important;
    }

    /* Historia licznika: odczyt z tankowania nie potrzebuje pustego trzeciego wiersza akcji. */
    .utap-mileage-table .utap-actions-cell:has(.utap-muted-action) {
        display: none !important;
    }

    .utap-mileage-table tr:has(.utap-muted-action) {
        grid-template-areas:
            "date value"
            "vehicle source" !important;
    }
}

@media (max-width: 430px) {
    .utap-operations-fuel-table tr {
        grid-template-columns: minmax(0,1fr) auto 40px !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle {
        min-height: 55px !important;
        padding: 8px 10px !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters,
    .utap-operations-fuel-table .utap-fuel-payment,
    .utap-operations-fuel-table .utap-fuel-delete-cell {
        min-height: 44px !important;
    }

    .utap-operations-fuel-table .utap-fuel-payment .utap-provider-badge {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 6.5px !important;
    }
}

/* ============================================================
 * v0.54.3 — PALIWO I PRZEBIEG: pełne nazwy + niższa karta mobile
 * ============================================================ */

/* Badge przy dacie służy wyłącznie widokowi kartowemu. */
.utap-operations-fuel-table .utap-fuel-incomplete-badge--date {
    display: none !important;
}

/* macOS: pojazd ma dostać realną szerokość i pełną nazwę, bez Fi… / R… */
@media (min-width: 1101px) {
    .utap-operations-fuel-table th:nth-child(1),
    .utap-operations-fuel-table td:nth-child(1) { width: 10% !important; }
    .utap-operations-fuel-table th:nth-child(2),
    .utap-operations-fuel-table td:nth-child(2) { width: 32% !important; }
    .utap-operations-fuel-table th:nth-child(3),
    .utap-operations-fuel-table td:nth-child(3) { width: 16% !important; }
    .utap-operations-fuel-table th:nth-child(4),
    .utap-operations-fuel-table td:nth-child(4) { width: 17% !important; }
    .utap-operations-fuel-table th:nth-child(5),
    .utap-operations-fuel-table td:nth-child(5) { width: 20% !important; }
    .utap-operations-fuel-table th:nth-child(6),
    .utap-operations-fuel-table td:nth-child(6) { width: 5% !important; }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy,
    .utap-operations-fuel-table .utap-fuel-vehicle-copy > strong,
    .utap-operations-fuel-table .utap-fuel-vehicle-copy > small {
        width: 100% !important;
        max-width: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > strong {
        display: block !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        font-size: 9.5px !important;
        line-height: 1.2 !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle-copy > small {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

/* iPhone / iPad: 'Do uzupełnienia' pod datą, kwota po prawej bez marnowania wysokości. */
@media (max-width: 1100px) {
    .utap-operations-fuel-table .utap-fuel-date {
        min-height: 47px !important;
        padding: 7px 8px 6px 11px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 3px !important;
    }

    .utap-operations-fuel-table .utap-fuel-date::before {
        display: none !important;
        content: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-date-value {
        display: block !important;
        color: #697589 !important;
        font-size: 8.5px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    .utap-operations-fuel-table .utap-fuel-incomplete-badge--date {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 19px !important;
        margin: 0 !important;
        padding: 0 7px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 7px !important;
        font-size: 6.2px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* Ten sam badge w komórce kwoty jest zbędny w widoku karty. */
    .utap-operations-fuel-table .utap-fuel-amount > .utap-fuel-incomplete-badge:not(.utap-fuel-incomplete-badge--date) {
        display: none !important;
    }

    .utap-operations-fuel-table .utap-fuel-amount {
        min-height: 47px !important;
        padding: 7px 11px 6px 6px !important;
        justify-content: center !important;
    }

    .utap-operations-fuel-table .utap-fuel-vehicle {
        min-height: 50px !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    .utap-operations-fuel-table .utap-fuel-liters,
    .utap-operations-fuel-table .utap-fuel-payment,
    .utap-operations-fuel-table .utap-fuel-delete-cell {
        min-height: 40px !important;
    }

    .utap-operations-fuel-table .utap-fuel-delete-cell .utap-row-delete-x {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        max-width: 28px !important;
        flex-basis: 28px !important;
        font-size: 20px !important;
    }
}

/* =========================================================
 * v0.55.0 — Kierowcy: zwarte karty + panel szczegółów
 * ======================================================= */
.utap-driver-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:start !important;
}

.utap-driver-card--compact {
    min-width:0 !important;
    overflow:hidden !important;
    border:1px solid #dfe5ec !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(15,23,42,.03) !important;
    cursor:pointer !important;
    transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.utap-driver-card--compact:hover {
    border-color:#cfd9e6 !important;
    box-shadow:0 7px 22px rgba(15,23,42,.06) !important;
}

.utap-driver-card--compact:focus-visible {
    outline:2px solid #2563eb !important;
    outline-offset:2px !important;
}

.utap-driver-card--compact .utap-driver-card__header {
    min-height:64px !important;
    margin:0 !important;
    padding:11px 13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    border:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fff !important;
}

.utap-driver-card--compact .utap-driver-card__identity {
    min-width:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.utap-driver-card--compact .utap-driver-card__identity .utap-vehicle-icon {
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:10px !important;
}

.utap-driver-card--compact .utap-driver-card__identity > div {
    min-width:0 !important;
    flex:1 1 auto !important;
}

.utap-driver-card--compact .utap-driver-card__identity strong {
    display:block !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    color:#172033 !important;
    font-size:14px !important;
    line-height:1.18 !important;
}

.utap-driver-card--compact .utap-driver-card__identity div > span {
    display:block !important;
    margin-top:2px !important;
    color:#7a8798 !important;
    font-size:9px !important;
    line-height:1.15 !important;
}

.utap-driver-card--compact .utap-driver-vehicle {
    min-width:0 !important;
    margin-top:4px !important;
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    color:#5f6b7d !important;
    font-size:9px !important;
    line-height:1.2 !important;
}

.utap-driver-card--compact .utap-driver-vehicle svg {
    width:12px !important;
    height:12px !important;
    flex:0 0 auto !important;
}

.utap-driver-card--compact .utap-status-toggle {
    min-width:auto !important;
    min-height:28px !important;
    height:28px !important;
    padding:0 9px !important;
    flex:0 0 auto !important;
    border-radius:999px !important;
    font-size:8px !important;
    line-height:1 !important;
}

.utap-driver-card--compact .utap-driver-card__cost--total {
    min-height:53px !important;
    margin:0 !important;
    padding:8px 13px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"label amount" "help amount" !important;
    column-gap:12px !important;
    align-items:center !important;
    border:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    border-radius:0 !important;
    background:#fff !important;
}

.utap-driver-card--compact .utap-driver-card__cost--total > span {
    grid-area:label !important;
    min-width:0 !important;
    color:#738094 !important;
    font-size:8px !important;
    line-height:1.1 !important;
}

.utap-driver-card--compact .utap-driver-card__cost--total > strong {
    grid-area:amount !important;
    margin:0 !important;
    white-space:nowrap !important;
    color:#1f8b62 !important;
    font-size:17px !important;
    line-height:1 !important;
}

.utap-driver-card--compact .utap-driver-card__cost--total > small {
    grid-area:help !important;
    min-width:0 !important;
    margin-top:3px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#9aa5b5 !important;
    font-size:7px !important;
    line-height:1.1 !important;
}

.utap-driver-card__summary {
    min-height:50px !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fbfcfd !important;
}

.utap-driver-card__summary > div {
    min-width:0 !important;
    padding:7px 8px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    border-right:1px solid #edf0f4 !important;
}

.utap-driver-card__summary > div:last-child {
    border-right:0 !important;
}

.utap-driver-card__summary span {
    color:#8692a3 !important;
    font-size:7px !important;
    line-height:1.1 !important;
}

.utap-driver-card__summary strong {
    margin-top:4px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#1f2937 !important;
    font-size:10px !important;
    line-height:1.1 !important;
}

.utap-driver-card__summary-payout strong {
    color:#1f8b62 !important;
}

.utap-driver-details-source[hidden] {
    display:none !important;
}

.utap-driver-card__openbar {
    min-height:36px !important;
    padding:0 11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    background:#fff !important;
    color:#657185 !important;
    font-size:8px !important;
    line-height:1 !important;
}

.utap-driver-card__openbar b {
    width:21px !important;
    height:21px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:7px !important;
    background:#eef4ff !important;
    color:#2563eb !important;
    font-size:17px !important;
    font-weight:500 !important;
    line-height:1 !important;
}

#utap-driver-details-modal .utap-modal--driver-details {
    width:min(820px,calc(100vw - 36px)) !important;
    max-width:820px !important;
    max-height:calc(100dvh - 36px) !important;
    overflow-y:auto !important;
    padding:0 !important;
}

#utap-driver-details-modal .utap-modal-head {
    position:sticky !important;
    top:0 !important;
    z-index:5 !important;
    margin:0 !important;
    padding:16px 18px 13px !important;
    border-bottom:1px solid #e8edf3 !important;
    background:rgba(255,255,255,.98) !important;
}

.utap-driver-details-subtitle {
    display:block !important;
    margin-top:3px !important;
    color:#7b8797 !important;
    font-size:10px !important;
}

.utap-driver-details-body {
    padding:13px 15px 16px !important;
}

.utap-driver-details-body > .utap-driver-details-source {
    display:block !important;
}

.utap-driver-details-body .utap-mobile-secondary {
    display:block !important;
}

.utap-driver-details-body .utap-driver-pay-breakdown {
    margin:0 0 10px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
}

.utap-driver-details-body .utap-driver-pay-breakdown > div {
    min-height:54px !important;
    padding:9px 10px !important;
    border:1px solid #e7ecf2 !important;
    border-radius:10px !important;
    background:#fbfcfd !important;
}

.utap-driver-details-body .utap-driver-pay-breakdown span {
    font-size:8px !important;
}

.utap-driver-details-body .utap-driver-pay-breakdown strong {
    margin-top:4px !important;
    font-size:11px !important;
}

.utap-driver-details-body .utap-driver-payment-state,
.utap-driver-details-body .utap-driver-adjustments,
.utap-driver-details-body .utap-driver-bonuses,
.utap-driver-details-body .utap-driver-card__contact,
.utap-driver-details-body .utap-driver-history {
    margin:10px 0 0 !important;
}

.utap-driver-details-body .utap-driver-adjustments,
.utap-driver-details-body .utap-driver-bonuses,
.utap-driver-details-body .utap-driver-card__contact,
.utap-driver-details-body .utap-driver-history {
    padding:11px !important;
    border:1px solid #e7ecf2 !important;
    border-radius:12px !important;
    background:#fff !important;
}

.utap-driver-details-body .utap-driver-card__contact {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
}

.utap-driver-details-body .utap-driver-card__contact > div {
    min-width:0 !important;
    padding:8px !important;
    border-radius:9px !important;
    background:#f8fafc !important;
}

.utap-driver-details-body .utap-driver-card__footer {
    min-height:0 !important;
    margin:12px 0 0 !important;
    padding:11px 0 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    border-top:1px solid #e7ecf2 !important;
    background:transparent !important;
}

.utap-driver-details-body .utap-driver-card__footer > button {
    min-height:34px !important;
    margin:0 !important;
    padding:0 11px !important;
    font-size:9px !important;
}

.utap-driver-details-body .utap-mobile-card-more {
    display:none !important;
}

@media (min-width:701px) and (max-width:1100px) {
    .utap-driver-grid {
        grid-template-columns:1fr !important;
    }
}

@media (max-width:700px) {
    .utap-driver-grid {
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .utap-driver-card--compact {
        border-radius:15px !important;
    }

    .utap-driver-card--compact .utap-driver-card__header {
        min-height:59px !important;
        padding:9px 10px !important;
    }

    .utap-driver-card--compact .utap-driver-card__identity {
        gap:9px !important;
    }

    .utap-driver-card--compact .utap-driver-card__identity .utap-vehicle-icon {
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
    }

    .utap-driver-card--compact .utap-driver-card__identity strong {
        font-size:13px !important;
    }

    .utap-driver-card--compact .utap-driver-card__identity div > span,
    .utap-driver-card--compact .utap-driver-vehicle {
        font-size:8px !important;
    }

    .utap-driver-card--compact .utap-status-toggle {
        min-height:26px !important;
        height:26px !important;
        padding:0 8px !important;
        font-size:7px !important;
    }

    .utap-driver-card--compact .utap-driver-card__cost--total {
        min-height:49px !important;
        padding:7px 10px !important;
        column-gap:8px !important;
    }

    .utap-driver-card--compact .utap-driver-card__cost--total > strong {
        font-size:16px !important;
    }

    .utap-driver-card__summary {
        min-height:47px !important;
    }

    .utap-driver-card__summary > div {
        padding:6px 4px !important;
    }

    .utap-driver-card__summary span {
        font-size:6px !important;
    }

    .utap-driver-card__summary strong {
        margin-top:3px !important;
        font-size:8px !important;
    }

    .utap-driver-card__openbar {
        min-height:34px !important;
        padding:0 9px !important;
        font-size:8px !important;
    }

    #utap-driver-details-modal .utap-modal--driver-details {
        width:calc(100vw - 18px) !important;
        max-width:none !important;
        max-height:calc(100dvh - 18px) !important;
        border-radius:16px !important;
    }

    #utap-driver-details-modal .utap-modal-head {
        padding:13px 13px 11px !important;
    }

    .utap-driver-details-body {
        padding:10px !important;
    }

    .utap-driver-details-body .utap-driver-pay-breakdown {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    .utap-driver-details-body .utap-driver-pay-breakdown > div {
        min-height:49px !important;
        padding:8px !important;
    }

    .utap-driver-details-body .utap-driver-card__contact {
        grid-template-columns:1fr !important;
        gap:6px !important;
    }

    .utap-driver-details-body .utap-driver-card__footer {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    .utap-driver-details-body .utap-driver-card__footer > button {
        width:100% !important;
        min-width:0 !important;
        padding:0 7px !important;
        font-size:8px !important;
    }
}

/* ============================================================
 * v0.56.0 — KLIENCI: kompaktowe karty + szczegóły
 * Spójny standard iPhone / iPad / macOS
 * ============================================================ */

.utap-client-kpis {
    gap:10px !important;
    margin-bottom:10px !important;
}

.utap-client-kpis > article {
    min-height:88px !important;
    padding:12px 13px !important;
    border-radius:13px !important;
    box-shadow:0 2px 8px rgba(30,47,70,.04) !important;
}

.utap-client-kpis span { font-size:8px !important; }
.utap-client-kpis strong { margin-top:7px !important; font-size:18px !important; line-height:1.05 !important; }
.utap-client-kpis small { margin-top:3px !important; font-size:7px !important; line-height:1.25 !important; }

.utap-client-info {
    margin-bottom:9px !important;
    padding:8px 10px !important;
}

.utap-client-search {
    margin-bottom:10px !important;
}

.utap-client-grid--compact {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}

.utap-client-card--compact {
    min-width:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid #dde3ec !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 2px 8px rgba(30,47,70,.045) !important;
    cursor:pointer !important;
}

.utap-client-card--compact:focus-visible {
    outline:2px solid rgba(37,99,235,.25) !important;
    outline-offset:2px !important;
}

.utap-client-card--compact .utap-client-card__header {
    min-height:62px !important;
    margin:0 !important;
    padding:10px 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    border:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fff !important;
}

.utap-client-card--compact .utap-client-card__identity {
    min-width:0 !important;
    flex:1 1 auto !important;
    gap:9px !important;
}

.utap-client-card--compact .utap-client-card__identity .utap-vehicle-icon {
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:10px !important;
}

.utap-client-card--compact .utap-client-card__identity > div {
    min-width:0 !important;
    flex:1 1 auto !important;
}

.utap-client-card--compact .utap-client-card__identity strong {
    display:block !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    color:#172033 !important;
    font-size:14px !important;
    line-height:1.18 !important;
}

.utap-client-card--compact .utap-client-card__identity div > span {
    display:block !important;
    margin-top:3px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#7a8798 !important;
    font-size:8px !important;
    line-height:1.2 !important;
}

.utap-client-card--compact .utap-status-toggle {
    min-width:auto !important;
    min-height:28px !important;
    height:28px !important;
    padding:0 9px !important;
    flex:0 0 auto !important;
    border-radius:999px !important;
    font-size:8px !important;
    line-height:1 !important;
}

.utap-client-card__profit--compact {
    min-height:52px !important;
    margin:0 !important;
    padding:8px 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    border:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fff !important;
}

.utap-client-card__profit--compact > div {
    min-width:0 !important;
}

.utap-client-card__profit--compact span,
.utap-client-card__profit--compact small {
    display:block !important;
}

.utap-client-card__profit--compact span {
    color:#738094 !important;
    font-size:8px !important;
    line-height:1.1 !important;
}

.utap-client-card__profit--compact small {
    margin-top:3px !important;
    color:#9aa5b5 !important;
    font-size:7px !important;
    line-height:1.1 !important;
}

.utap-client-card__profit--compact > strong {
    margin:0 !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:17px !important;
    line-height:1 !important;
}

.utap-client-card__metrics--compact {
    min-height:50px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fbfcfd !important;
}

.utap-client-card__metrics--compact > div {
    min-width:0 !important;
    min-height:50px !important;
    padding:7px 8px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    border:0 !important;
    border-right:1px solid #edf0f4 !important;
    border-radius:0 !important;
    background:transparent !important;
}

.utap-client-card__metrics--compact > div:last-child { border-right:0 !important; }

.utap-client-card__metrics--compact span {
    color:#8692a3 !important;
    font-size:7px !important;
    line-height:1.1 !important;
}

.utap-client-card__metrics--compact strong {
    margin-top:4px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#1f2937 !important;
    font-size:10px !important;
    line-height:1.1 !important;
}

.utap-client-details-source[hidden] { display:none !important; }

.utap-client-card__openbar {
    min-height:36px !important;
    padding:0 11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    background:#fff !important;
    color:#657185 !important;
    font-size:8px !important;
    line-height:1 !important;
}

.utap-client-card__openbar b {
    width:21px !important;
    height:21px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:7px !important;
    background:#eef4ff !important;
    color:#2563eb !important;
    font-size:17px !important;
    font-weight:500 !important;
    line-height:1 !important;
}

#utap-client-details-modal .utap-modal--client-details {
    width:min(760px,calc(100vw - 36px)) !important;
    max-width:760px !important;
    max-height:calc(100dvh - 36px) !important;
    overflow-y:auto !important;
    padding:0 !important;
}

#utap-client-details-modal .utap-modal-head {
    position:sticky !important;
    top:0 !important;
    z-index:5 !important;
    margin:0 !important;
    padding:16px 18px 13px !important;
    border-bottom:1px solid #e8edf3 !important;
    background:rgba(255,255,255,.98) !important;
}

.utap-client-details-subtitle {
    display:block !important;
    margin-top:3px !important;
    color:#7b8797 !important;
    font-size:10px !important;
}

.utap-client-details-body {
    padding:13px 15px 16px !important;
}

.utap-client-details-body > .utap-client-details-source {
    display:block !important;
}

.utap-client-details-section {
    margin:0 0 10px !important;
    padding:11px !important;
    border:1px solid #e7ecf2 !important;
    border-radius:12px !important;
    background:#fff !important;
}

.utap-client-details-section h3 {
    margin:0 0 8px !important;
    color:#273245 !important;
    font-size:10px !important;
}

.utap-client-details-section__head {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:9px !important;
}

.utap-client-details-section__head > div > span,
.utap-client-details-section__head > div > strong {
    display:block !important;
}

.utap-client-details-section__head > div > span {
    color:#7c8899 !important;
    font-size:8px !important;
}

.utap-client-details-section__head > div > strong {
    margin-top:3px !important;
    font-size:18px !important;
}

.utap-client-details-section__head > span {
    padding:5px 8px !important;
    border-radius:999px !important;
    background:#f4f7fb !important;
    color:#6f7c8e !important;
    font-size:8px !important;
    white-space:nowrap !important;
}

.utap-client-details-metrics,
.utap-client-details-data {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
}

.utap-client-details-data { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }

.utap-client-details-metrics > div,
.utap-client-details-data > div {
    min-width:0 !important;
    min-height:52px !important;
    padding:8px 9px !important;
    border-radius:9px !important;
    background:#f8fafc !important;
}

.utap-client-details-metrics span,
.utap-client-details-metrics strong,
.utap-client-details-data span,
.utap-client-details-data strong {
    display:block !important;
}

.utap-client-details-metrics span,
.utap-client-details-data span {
    color:#8290a2 !important;
    font-size:7px !important;
}

.utap-client-details-metrics strong,
.utap-client-details-data strong {
    margin-top:4px !important;
    overflow-wrap:anywhere !important;
    color:#253044 !important;
    font-size:10px !important;
    line-height:1.25 !important;
}

.utap-client-details-note {
    margin:0 !important;
    color:#5f6c7e !important;
    font-size:9px !important;
    line-height:1.5 !important;
}

.utap-client-details-actions {
    min-height:0 !important;
    margin:12px 0 0 !important;
    padding:11px 0 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    border-top:1px solid #e7ecf2 !important;
    background:transparent !important;
}

.utap-client-details-actions > button {
    min-height:34px !important;
    margin:0 !important;
    padding:0 11px !important;
    font-size:9px !important;
}

@media (min-width:1600px) {
    .utap-client-grid--compact { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}

@media (min-width:701px) and (max-width:1100px) {
    .utap-client-grid--compact { grid-template-columns:1fr !important; }
    .utap-client-kpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width:700px) {
    .utap-client-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:7px !important;
    }

    .utap-client-kpis > article {
        min-height:72px !important;
        padding:9px 10px !important;
    }

    .utap-client-kpis strong { margin-top:5px !important; font-size:15px !important; }
    .utap-client-kpis span { font-size:7px !important; }
    .utap-client-kpis small { font-size:6.5px !important; }

    .utap-client-info {
        padding:8px 9px !important;
    }

    .utap-client-info strong { font-size:8px !important; }
    .utap-client-info span { font-size:7px !important; line-height:1.35 !important; }

    .utap-client-grid--compact {
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .utap-client-card--compact .utap-client-card__header {
        min-height:58px !important;
        padding:9px 10px !important;
    }

    .utap-client-card--compact .utap-client-card__identity .utap-vehicle-icon {
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
    }

    .utap-client-card--compact .utap-client-card__identity strong {
        font-size:13px !important;
    }

    .utap-client-card--compact .utap-client-card__identity div > span {
        font-size:7.5px !important;
    }

    .utap-client-card--compact .utap-status-toggle {
        min-height:26px !important;
        height:26px !important;
        padding:0 8px !important;
        font-size:7px !important;
    }

    .utap-client-card__profit--compact {
        min-height:48px !important;
        padding:7px 10px !important;
    }

    .utap-client-card__profit--compact > strong { font-size:16px !important; }
    .utap-client-card__profit--compact span { font-size:7px !important; }
    .utap-client-card__profit--compact small { font-size:6.5px !important; }

    .utap-client-card__metrics--compact,
    .utap-client-card__metrics--compact > div {
        min-height:46px !important;
    }

    .utap-client-card__metrics--compact > div { padding:6px 4px !important; }
    .utap-client-card__metrics--compact span { font-size:6px !important; }
    .utap-client-card__metrics--compact strong { margin-top:3px !important; font-size:8px !important; }

    .utap-client-card__openbar {
        min-height:33px !important;
        padding:0 9px !important;
        font-size:8px !important;
    }

    #utap-client-details-modal .utap-modal--client-details {
        width:calc(100vw - 18px) !important;
        max-width:none !important;
        max-height:calc(100dvh - 18px) !important;
        border-radius:16px !important;
    }

    #utap-client-details-modal .utap-modal-head {
        padding:13px 13px 11px !important;
    }

    .utap-client-details-body { padding:10px !important; }

    .utap-client-details-metrics,
    .utap-client-details-data,
    .utap-client-details-data--history {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    .utap-client-details-metrics > div,
    .utap-client-details-data > div {
        min-height:49px !important;
        padding:8px !important;
    }

    .utap-client-details-actions {
        display:grid !important;
        grid-template-columns:1fr auto !important;
        gap:6px !important;
    }

    .utap-client-details-actions > button {
        min-width:0 !important;
        min-height:36px !important;
        font-size:8px !important;
    }
}

@media (max-width:390px) {
    .utap-client-card__metrics--compact span { font-size:5.8px !important; }
    .utap-client-card__metrics--compact strong { font-size:7.7px !important; }
}

/* ============================================================
 * v0.56.1 — PULPIT: MNIEJ KPI + WYKRES WYNIKU MIESIĄCA
 * ============================================================ */
.utap-dashboard-chart {
    margin: 0 0 14px;
    padding: 20px 22px 16px;
    border: 1px solid var(--utap-border);
    border-radius: var(--utap-radius);
    background: var(--utap-surface);
    box-shadow: var(--utap-shadow);
}

.utap-dashboard-chart__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.utap-dashboard-chart__head h2 {
    margin-top: 2px;
    font-size: 18px;
    line-height: 1.2;
}

.utap-dashboard-chart__head small {
    display: block;
    margin-top: 4px;
    color: var(--utap-muted-2);
    font-size: 9px;
}

.utap-dashboard-chart__result {
    flex: 0 0 auto;
    text-align: right;
}

.utap-dashboard-chart__result span {
    display: block;
    color: var(--utap-muted-2);
    font-size: 9px;
    font-weight: 700;
}

.utap-dashboard-chart__result strong {
    display: block;
    margin-top: 4px;
    font-size: 20px;
    letter-spacing: -.025em;
    white-space: nowrap;
}

.utap-dashboard-chart__canvas {
    width: 100%;
    min-width: 0;
    color: var(--utap-blue);
}

.utap-dashboard-chart__canvas svg {
    display: block;
    width: 100%;
    height: auto;
    min-height: 210px;
    max-height: 310px;
    overflow: visible;
}

.utap-dashboard-chart__grid {
    stroke: #edf1f5;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.utap-dashboard-chart__zero {
    stroke: #c8d1dc;
    stroke-width: 1.2;
    stroke-dasharray: 5 5;
    vector-effect: non-scaling-stroke;
}

.utap-dashboard-chart__area {
    fill: url(#utap-dashboard-result-fill);
}

.utap-dashboard-chart__line {
    fill: none;
    stroke: currentColor;
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.utap-dashboard-chart__point {
    fill: #fff;
    stroke: currentColor;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}

.utap-dashboard-chart__x-label,
.utap-dashboard-chart__y-label {
    fill: #8b97a7;
    font-size: 12px;
    font-weight: 650;
}

.utap-dashboard-chart__legend {
    min-height: 28px;
    margin-top: -2px;
    padding-top: 10px;
    border-top: 1px solid #f0f2f5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--utap-muted);
    font-size: 9px;
}

.utap-dashboard-chart__legend > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 750;
}

.utap-dashboard-chart__legend i {
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: var(--utap-blue);
}

.utap-dashboard-chart__legend small {
    color: var(--utap-muted-2);
    font-size: 8px;
}

.utap-dashboard-chart__empty {
    min-height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-top: 1px solid #f2f4f7;
    color: var(--utap-muted);
}

.utap-dashboard-chart__empty > span {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--utap-surface-soft);
    color: var(--utap-muted-2);
    font-weight: 850;
}

.utap-dashboard-chart__empty strong,
.utap-dashboard-chart__empty small {
    display: block;
}

.utap-dashboard-chart__empty small {
    margin-top: 3px;
    color: var(--utap-muted-2);
    font-size: 9px;
}

@media (max-width: 760px) {
    .utap-dashboard-chart {
        padding: 16px 14px 12px;
    }

    .utap-dashboard-chart__head {
        gap: 12px;
    }

    .utap-dashboard-chart__head h2 {
        font-size: 16px;
    }

    .utap-dashboard-chart__result strong {
        font-size: 17px;
    }

    .utap-dashboard-chart__canvas svg {
        min-height: 180px;
    }

    .utap-dashboard-chart__y-label {
        font-size: 13px;
    }

    .utap-dashboard-chart__legend {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 460px) {
    .utap-dashboard-chart__head {
        align-items: flex-start;
    }

    .utap-dashboard-chart__head small {
        font-size: 8px;
    }

    .utap-dashboard-chart__result span {
        font-size: 8px;
    }

    .utap-dashboard-chart__canvas svg {
        min-height: 160px;
    }
}

/* ============================================================
 * v0.57.0 — Pojazdy: dane ładunkowe
 * ============================================================ */

.utap-fleet-card__cargo {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 12px;
    border-top: 1px solid #e8edf3;
    border-bottom: 1px solid #e8edf3;
    background: #f8fafc;
}

.utap-fleet-card__cargo > span {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.utap-fleet-card__cargo > strong {
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    white-space: normal;
    overflow-wrap: anywhere;
}

.utap-vehicle-cargo-form {
    margin: 4px 0 14px;
    padding: 14px;
    border: 1px solid #dfe7f0;
    border-radius: 14px;
    background: #f8fafc;
}

.utap-vehicle-cargo-form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.utap-vehicle-cargo-form__head strong {
    display: block;
    font-size: 14px;
    line-height: 1.25;
    color: #0f172a;
}

.utap-vehicle-cargo-form__head small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.utap-vehicle-cargo-grid {
    margin: 0;
}

.utap-vehicle-cargo-details .utap-vehicle-details-grid {
    margin-top: 10px;
}

@media (min-width: 900px) {
    #utap-vehicle-modal .utap-modal--vehicle {
        width: min(860px, calc(100vw - 48px));
    }

    #utap-vehicle-modal .utap-vehicle-cargo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #utap-vehicle-modal .utap-vehicle-cargo-grid > .utap-form-full {
        grid-column: 1 / -1;
    }
}

@media (min-width: 641px) and (max-width: 899px) {
    #utap-vehicle-modal .utap-vehicle-cargo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #utap-vehicle-modal .utap-vehicle-cargo-grid > .utap-form-full {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .utap-fleet-card__cargo {
        align-items: flex-start;
        padding: 7px 10px;
        gap: 8px;
    }

    .utap-fleet-card__cargo > span {
        font-size: 10px;
        margin-top: 1px;
    }

    .utap-fleet-card__cargo > strong {
        font-size: 12px;
        line-height: 1.3;
    }

    .utap-vehicle-cargo-form {
        margin: 2px 0 12px;
        padding: 12px 10px;
        border-radius: 12px;
    }

    #utap-vehicle-modal .utap-vehicle-cargo-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    #utap-vehicle-modal .utap-vehicle-cargo-grid > label {
        grid-column: 1 / -1;
        min-width: 0;
    }
}



/* ============================================================
 * v0.57.1 — Pojazdy: jednostki w linii etykiety
 * ============================================================ */
#utap-vehicle-modal .utap-vehicle-cargo-grid .utap-field-label-line {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-bottom: 6px;
}

#utap-vehicle-modal .utap-vehicle-cargo-grid .utap-field-label-line > span {
    min-width: 0;
}

#utap-vehicle-modal .utap-vehicle-cargo-grid .utap-field-label-line > .utap-field-unit {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0 !important;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
}

/* ============================================================
 * v0.57.2 — Pulpit: rozszerzona rentowność pojazdów
 * ============================================================ */
.utap-profitability-card {
    min-height: 0 !important;
    padding: 15px !important;
    justify-content: flex-start !important;
}

.utap-profitability-card__label {
    color: var(--utap-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .01em;
}

.utap-profitability-card__vehicle {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 8px;
    margin-top: 7px;
    min-width: 0;
}

.utap-profitability-card__vehicle strong {
    margin: 0 !important;
    color: var(--utap-text);
    font-size: 14px !important;
    line-height: 1.25;
    min-width: 0;
}

.utap-profitability-card__vehicle small {
    color: var(--utap-muted-2);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.utap-profitability-card__driver {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 5px;
    min-width: 0;
}

.utap-profitability-card__driver small {
    flex: 0 0 auto;
    color: var(--utap-muted-2);
    font-size: 9px;
    font-weight: 700;
}

.utap-profitability-card__driver strong {
    margin: 0 !important;
    min-width: 0;
    overflow: hidden;
    color: var(--utap-muted);
    font-size: 10px !important;
    font-weight: 750;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utap-profitability-card__result {
    margin-top: 10px !important;
    font-size: 20px !important;
    line-height: 1.1;
}

.utap-profitability-card__metrics {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid var(--utap-border);
}

.utap-profitability-card__metrics > div {
    min-width: 0;
}

.utap-profitability-card__metrics span,
.utap-profitability-card__metrics strong {
    display: block;
}

.utap-profitability-card__metrics span {
    color: var(--utap-muted-2);
    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.2;
}

.utap-profitability-card__metrics strong {
    margin-top: 3px !important;
    color: var(--utap-text);
    font-size: 10px !important;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.utap-profitability-card__metrics strong.utap-negative {
    color: var(--utap-red);
}

@media (max-width: 620px) {
    .utap-profitability-card {
        padding: 13px !important;
    }

    .utap-profitability-card__vehicle strong {
        font-size: 13px !important;
    }

    .utap-profitability-card__driver strong {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .utap-profitability-card__result {
        margin-top: 8px !important;
        font-size: 18px !important;
    }

    .utap-profitability-card__metrics {
        gap: 5px;
        margin-top: 9px;
        padding-top: 8px;
    }

    .utap-profitability-card__metrics strong {
        font-size: 9.5px !important;
    }
}


/* v0.57.3 — DKV: tankowania + pozostałe koszty */
.utap-dkv-list-heading {
    margin: 18px 0 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--utap-text, #172033);
}
.utap-dkv-expense-list { margin-top: 0; }


/* ============================================================
 * v0.57.4 — Finanse: stabilny desktop Windows/macOS
 * ============================================================ */
@media (min-width:981px) {
    .utap-finance-layout,
    .utap-finance-layout > *,
    .utap-finance-panel,
    .utap-finance-panel .utap-table-wrap {
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }
    .utap-finance-panel .utap-table-wrap {
        overflow-x:hidden !important;
    }
    .utap-finance-table {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        table-layout:fixed !important;
    }
    .utap-finance-table th,
    .utap-finance-table td {
        min-width:0 !important;
        max-width:none !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }
    .utap-finance-table .utap-provider-badge,
    .utap-finance-table .utap-payment-button,
    .utap-finance-table .utap-cost-kind {
        max-width:100% !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        word-break:keep-all !important;
    }
    .utap-finance-table .utap-row-sub {
        overflow-wrap:anywhere !important;
    }
}
@media (min-width:981px) and (max-width:1280px) {
    .utap-expense-cards th:nth-child(1), .utap-expense-cards td:nth-child(1),
    .utap-income-cards th:nth-child(1), .utap-income-cards td:nth-child(1) { width:11% !important; }
    .utap-expense-cards th:nth-child(2), .utap-expense-cards td:nth-child(2),
    .utap-income-cards th:nth-child(2), .utap-income-cards td:nth-child(2) { width:24% !important; }
    .utap-expense-cards th:nth-child(3), .utap-expense-cards td:nth-child(3),
    .utap-income-cards th:nth-child(3), .utap-income-cards td:nth-child(3) { width:19% !important; }
    .utap-expense-cards th:nth-child(4), .utap-expense-cards td:nth-child(4),
    .utap-income-cards th:nth-child(4), .utap-income-cards td:nth-child(4) { width:16% !important; }
    .utap-expense-cards th:nth-child(5), .utap-expense-cards td:nth-child(5),
    .utap-income-cards th:nth-child(5), .utap-income-cards td:nth-child(5) { width:25% !important; }
    .utap-expense-cards th:nth-child(6), .utap-expense-cards td:nth-child(6),
    .utap-income-cards th:nth-child(6), .utap-income-cards td:nth-child(6) { width:5% !important; }
}

/* ============================================================
 * v0.57.7 — Finanse: prawdziwy desktop także na Windows
 *
 * Windows przy skalowaniu ekranu / zoomie przeglądarki może mieć
 * viewport CSS poniżej 1400 px mimo pracy na komputerze. Starsza
 * reguła <=1400 px przełączała wtedy tabelę w układ tabletowy.
 * Na urządzeniach z precyzyjnym wskaźnikiem (mysz/trackpad)
 * przywracamy normalną tabelę. iPad/touch nadal korzysta z kart.
 * ============================================================ */
@media (min-width: 900px) {
    .utap-finance-panel:has(.utap-expense-cards),
    .utap-finance-panel:has(.utap-income-cards) {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .utap-finance-panel:has(.utap-expense-cards) .utap-table-wrap,
    .utap-finance-panel:has(.utap-income-cards) .utap-table-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        border: 1px solid var(--utap-border) !important;
        border-radius: 13px !important;
        background: #fff !important;
    }

    .utap-expense-cards.utap-finance-table,
    .utap-income-cards.utap-finance-table {
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        background: #fff !important;
    }

    .utap-expense-cards thead,
    .utap-income-cards thead {
        display: table-header-group !important;
    }

    .utap-expense-cards tbody,
    .utap-income-cards tbody {
        display: table-row-group !important;
        width: auto !important;
    }

    .utap-expense-cards tr,
    .utap-income-cards tr {
        display: table-row !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        position: static !important;
        box-shadow: none !important;
    }

    .utap-expense-cards th,
    .utap-expense-cards td,
    .utap-income-cards th,
    .utap-income-cards td {
        display: table-cell !important;
        width: auto;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 11px 10px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        vertical-align: middle !important;
        text-align: left !important;
        white-space: normal !important;
        overflow: hidden !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .utap-expense-cards th,
    .utap-income-cards th {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        background: #f8fafc !important;
    }

    .utap-expense-cards td::before,
    .utap-income-cards td::before {
        display: none !important;
        content: none !important;
    }

    .utap-expense-cards th:nth-child(1), .utap-expense-cards td:nth-child(1) { width: 10% !important; }
    .utap-expense-cards th:nth-child(2), .utap-expense-cards td:nth-child(2) { width: 23% !important; }
    .utap-expense-cards th:nth-child(3), .utap-expense-cards td:nth-child(3) { width: 20% !important; }
    .utap-expense-cards th:nth-child(4), .utap-expense-cards td:nth-child(4) { width: 14% !important; }
    .utap-expense-cards th:nth-child(5), .utap-expense-cards td:nth-child(5) { width: 29% !important; }
    .utap-expense-cards th:nth-child(6), .utap-expense-cards td:nth-child(6) { width: 4% !important; }

    .utap-income-cards th:nth-child(1), .utap-income-cards td:nth-child(1) { width: 10% !important; }
    .utap-income-cards th:nth-child(2), .utap-income-cards td:nth-child(2) { width: 24% !important; }
    .utap-income-cards th:nth-child(3), .utap-income-cards td:nth-child(3) { width: 18% !important; }
    .utap-income-cards th:nth-child(4), .utap-income-cards td:nth-child(4) { width: 15% !important; }
    .utap-income-cards th:nth-child(5), .utap-income-cards td:nth-child(5) { width: 29% !important; }
    .utap-income-cards th:nth-child(6), .utap-income-cards td:nth-child(6) { width: 4% !important; }

    .utap-expense-cards .utap-expense-main .utap-cost-kind,
    .utap-expense-cards .utap-finance-payment-cell .utap-provider-badge,
    .utap-expense-cards .utap-finance-payment-cell .utap-payment-button,
    .utap-income-cards .utap-finance-payment-cell .utap-payment-button {
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        word-break: keep-all !important;
    }

    .utap-expense-cards .utap-finance-payment-cell,
    .utap-income-cards .utap-finance-payment-cell {
        display: table-cell !important;
        padding-right: 10px !important;
    }

    .utap-expense-cards .utap-finance-payment-cell > small,
    .utap-income-cards .utap-finance-payment-cell > small {
        display: block !important;
        margin-top: 5px !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    .utap-expense-cards td.utap-row-delete-cell,
    .utap-income-cards td.utap-row-delete-cell {
        display: table-cell !important;
        position: static !important;
        width: 4% !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 8px 6px !important;
        text-align: center !important;
        background: transparent !important;
    }

    .utap-expense-cards td.utap-row-delete-cell::before,
    .utap-income-cards td.utap-row-delete-cell::before {
        display: none !important;
        content: none !important;
    }

    .utap-expense-cards .utap-mobile-cost-kind,
    .utap-income-cards .utap-income-mobile-document {
        display: none !important;
    }
}

/* v0.58.2 — prostsze wprowadzanie VAT w kosztach */
.utap-vat-entry {
    border: 1px solid #e4eaf3;
    border-radius: 14px;
    background: #f8fafc;
    padding: 12px 14px;
    display: grid;
    gap: 10px;
}

.utap-vat-entry-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utap-vat-entry-head > span {
    font-size: 12px;
    font-weight: 800;
    color: #24364b;
}

.utap-vat-mode {
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    padding: 3px;
    border-radius: 10px;
    background: #e9eef6;
}

.utap-vat-mode button {
    appearance: none;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #617086;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    padding: 7px 11px;
    cursor: pointer;
    white-space: nowrap;
}

.utap-vat-mode button.is-active {
    background: #fff;
    color: #1967d2;
    box-shadow: 0 1px 3px rgba(22, 39, 66, .12);
}

.utap-vat-value {
    display: grid;
    grid-template-columns: minmax(110px, .55fr) minmax(140px, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.utap-vat-value > span {
    font-size: 12px;
    font-weight: 700;
    color: #53647a;
}

.utap-vat-value > input {
    width: 100%;
    min-width: 0;
}

.utap-vat-entry > small {
    margin: 0;
    color: #8491a4;
    font-size: 10px;
    line-height: 1.35;
}

.utap-vat-entry [hidden] {
    display: none !important;
}

@media (max-width: 640px) {
    .utap-vat-entry-head {
        align-items: stretch;
        flex-direction: column;
    }

    .utap-vat-mode {
        width: 100%;
    }

    .utap-vat-value {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}


/* ============================================================
 * v0.58.3 — DKV: czytelniejsza lista faktur i spokojniejsze menu
 * ============================================================ */
.utap-dkv-history {
    margin-top: 12px;
    border-top: 0;
}

.utap-dkv-history > summary.utap-dkv-history-button {
    min-height: 50px;
    padding: 9px 11px;
    border: 1px solid #dbe6f5;
    border-radius: 11px;
    background: #f8fbff;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr) 28px;
    align-items: center;
    gap: 9px;
    color: var(--utap-text);
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.utap-dkv-history > summary.utap-dkv-history-button:hover {
    border-color: #c7d9f2;
    background: #f4f8ff;
}

.utap-dkv-history > summary.utap-dkv-history-button:focus-visible {
    outline: 2px solid rgba(37,99,235,.18);
    outline-offset: 2px;
}

.utap-dkv-history[open] > summary.utap-dkv-history-button {
    border-color: #c7d9f2;
    background: #f4f8ff;
    box-shadow: 0 5px 14px rgba(37,99,235,.06);
}

.utap-dkv-history-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--utap-blue-soft);
    color: var(--utap-blue);
    display: grid;
    place-items: center;
}

.utap-dkv-history-icon .utap-svg-icon {
    width: 15px;
    height: 15px;
}

.utap-dkv-history-copy {
    min-width: 0;
}

.utap-dkv-history-copy strong,
.utap-dkv-history-copy small {
    display: block;
}

.utap-dkv-history-copy strong {
    font-size: 9.5px;
    font-weight: 850;
}

.utap-dkv-history-copy small {
    margin-top: 2px;
    color: var(--utap-muted);
    font-size: 7.7px;
    font-weight: 650;
}

.utap-dkv-history-copy small b {
    color: var(--utap-blue);
    font-weight: 850;
}

.utap-dkv-history-chevron {
    width: 28px;
    height: 28px;
    border: 1px solid #dbe6f5;
    border-radius: 8px;
    background: #fff;
    color: var(--utap-blue);
    display: grid;
    place-items: center;
    font-size: 14px;
    line-height: 1;
    transition: transform .16s ease;
}

.utap-dkv-history[open] .utap-dkv-history-chevron {
    transform: rotate(180deg);
}

.utap-dkv-history .utap-dkv-cards {
    margin-top: 8px;
    padding: 8px;
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    background: #f7f9fc;
    gap: 7px;
}

.utap-dkv-history .utap-dkv-card {
    padding: 10px 11px;
    border-color: #e1e7ef;
    border-radius: 10px;
    box-shadow: none;
}

.utap-dkv-history .utap-dkv-card:hover {
    border-color: #cfd9e7;
    background: #fff;
}

.utap-dkv-history .utap-dkv-card__top {
    align-items: center;
}

.utap-dkv-history .utap-dkv-card__eyebrow {
    margin-bottom: 2px;
    font-size: 6.5px;
}

.utap-dkv-history .utap-dkv-card__top strong {
    font-size: 10.5px;
}

.utap-dkv-history .utap-dkv-status {
    padding: 4px 7px;
    border-radius: 7px;
    font-size: 6.8px;
}

.utap-dkv-history .utap-dkv-card__amount {
    margin-top: 7px;
    font-size: 15px;
    letter-spacing: -.02em;
}

.utap-dkv-history .utap-dkv-card__meta {
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid #edf0f4;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 16px;
}

.utap-dkv-history .utap-dkv-card__meta span {
    padding: 0;
    background: transparent;
    color: #58667a;
    font-size: 7.5px;
}

.utap-dkv-history .utap-dkv-card__meta b {
    margin-bottom: 1px;
    font-size: 6.2px;
}

.utap-dkv-history .utap-dkv-reconcile {
    margin-top: 8px;
    padding: 7px 9px;
    min-height: 34px;
    border-radius: 8px;
    align-items: center;
    font-size: 7.5px;
}

.utap-dkv-history .utap-dkv-pay-button {
    width: auto;
    min-height: 32px;
    margin-top: 8px;
    padding: 0 11px;
    border-radius: 8px;
    box-shadow: none;
    font-size: 7.8px;
}

.utap-dkv-history .utap-dkv-paid-note {
    width: fit-content;
    margin-top: 8px;
    padding: 6px 8px;
    border-radius: 8px;
    font-size: 7.3px;
}

.utap-dkv-history .utap-dkv-card__more {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #edf0f4;
}

.utap-dkv-history .utap-dkv-card__more > summary {
    width: fit-content;
    color: #64748b;
    font-size: 7px;
}

.utap-dkv-history .utap-dkv-card__more > div {
    margin-top: 6px;
}

@media (max-width: 640px) {
    .utap-dkv-history > summary.utap-dkv-history-button {
        min-height: 54px;
        grid-template-columns: 32px minmax(0,1fr) 30px;
        padding: 10px;
    }

    .utap-dkv-history-icon {
        width: 32px;
        height: 32px;
    }

    .utap-dkv-history-copy strong {
        font-size: 10px;
    }

    .utap-dkv-history-copy small {
        font-size: 8px;
    }

    .utap-dkv-history .utap-dkv-cards {
        padding: 6px;
    }

    .utap-dkv-history .utap-dkv-card {
        padding: 10px;
    }

    .utap-dkv-history .utap-dkv-card__meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7px 10px;
    }

    .utap-dkv-history .utap-dkv-card__meta span:nth-child(3) {
        grid-column: auto;
    }

    .utap-dkv-history .utap-dkv-pay-button {
        min-height: 36px;
        font-size: 8.2px;
    }
}


/* ============================================================
 * v0.58.4 — Kontrola DKV: grupowanie pozycji po pojazdach
 * ============================================================ */
#utap-dkv-details-modal .utap-dkv-vehicle-groups {
    display:grid;
    gap:12px;
    max-height:min(52dvh,520px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:2px 3px 2px 0;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group {
    padding:10px;
    border:1px solid var(--utap-border);
    border-radius:13px;
    background:var(--utap-surface-soft);
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 8px;
    padding:0 2px 8px;
    border-bottom:1px solid var(--utap-border);
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head > div {
    min-width:0;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head small,
#utap-dkv-details-modal .utap-dkv-vehicle-group__head strong {
    display:block;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head small {
    margin-bottom:2px;
    color:var(--utap-muted);
    font-size:7.5px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head strong {
    overflow:hidden;
    color:var(--utap-text);
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__head > span {
    flex:0 0 auto;
    padding:4px 7px;
    border:1px solid #dce6f4;
    border-radius:8px;
    background:#fff;
    color:var(--utap-muted);
    font-size:7.5px;
    font-weight:800;
    white-space:nowrap;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group__subheading {
    margin:9px 2px 6px;
    color:var(--utap-muted);
    font-size:8px;
    font-weight:900;
}

/* Przewija się cała lista grup, nie osobno każdy pojazd. */
#utap-dkv-details-modal .utap-dkv-vehicle-group .utap-dkv-fueling-list {
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
}

#utap-dkv-details-modal .utap-dkv-vehicle-group .utap-dkv-fueling-list article {
    background:#fff;
}

@media (max-width:700px) {
    #utap-dkv-details-modal .utap-dkv-vehicle-groups {
        max-height:min(58dvh,560px);
        gap:10px;
    }

    #utap-dkv-details-modal .utap-dkv-vehicle-group {
        padding:9px;
    }

    #utap-dkv-details-modal .utap-dkv-vehicle-group__head {
        align-items:flex-start;
        gap:8px;
    }

    #utap-dkv-details-modal .utap-dkv-vehicle-group__head strong {
        white-space:normal;
    }

    #utap-dkv-details-modal .utap-dkv-vehicle-group__head > span {
        white-space:normal;
        text-align:right;
    }
}


/* v0.58.7 — Dodaj koszt: wybór kwoty netto / brutto */
.utap-amount-entry { display:grid; gap:8px; min-width:0; }
.utap-amount-entry-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.utap-amount-entry-head > span,
.utap-amount-value > span { font-size:12px; font-weight:700; color:var(--utap-muted,#667085); }
.utap-amount-value { display:grid; gap:6px; margin:0; }
.utap-amount-entry > small { color:var(--utap-muted,#667085); font-size:11px; line-height:1.35; }
.utap-amount-entry [hidden] { display:none !important; }
.utap-amount-mode { flex:0 0 auto; }
@media (max-width:560px) { .utap-amount-entry-head { align-items:flex-start; } }

/* ============================================================
 * v0.58.8 — Pulpit: szczegóły „Do opłacenia” + wyrównanie wykresu
 * ============================================================ */
/* .utap-dashboard-chart wcześniej nadpisywał auto-marginesy wspólnego kontenera
 * przez shorthand margin:0 0 14px, dlatego na szerokim macOS karta była lekko
 * przesunięta w lewo. Zachowujemy wspólne centrowanie 1180 px. */
.utap-main > .utap-dashboard-chart {
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:14px !important;
}

.utap-dashboard-payable-item {
    cursor:pointer;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    user-select:none;
    transition:border-color .15s ease, background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

@media (max-width:760px) {
    .utap-dashboard-payable-item {
        grid-template-columns:auto minmax(0,1fr) auto;
    }
    .utap-dashboard-payable-item > b {
        grid-column:3;
        grid-row:1;
    }
    .utap-dashboard-payable-item > .utap-dashboard-pay-button {
        grid-column:2 / 4;
        width:max-content;
        justify-self:end;
        margin-top:2px;
    }
}

@media (hover:hover) and (pointer:fine) {
    .utap-dashboard-payable-item:hover {
        border-color:#ccd8e8;
        background:#fff;
        box-shadow:0 8px 20px rgba(26,39,61,.045);
        transform:translateY(-1px);
    }
}

.utap-dashboard-payable-item:focus-visible {
    outline:2px solid rgba(37,99,235,.28);
    outline-offset:2px;
}

.utap-finance-details-pay {
    min-height:40px !important;
    padding:0 14px !important;
    border:1px solid #cfe7d9 !important;
    border-radius:10px !important;
    background:#f0faf4 !important;
    color:#197047 !important;
    font-weight:850 !important;
}

.utap-finance-details-pay:hover {
    background:#e7f7ee !important;
    border-color:#b8dcc8 !important;
}

@media (max-width:700px) {
    .utap-finance-details-actions {
        flex-wrap:wrap;
    }

    .utap-finance-details-actions .utap-finance-details-pay {
        flex-basis:100%;
        order:-1;
    }
}

/* ============================================================
 * v0.58.9 — wybór miesiąca w nagłówku + waluta pod Pulpitem
 * ============================================================ */
/* Na desktopie miesiąc jest częścią nagłówka: tytuł → miesiąc → istniejące akcje. */
.utap-topbar-period {
    flex:0 1 310px;
    width:min(310px,100%);
    margin-left:auto;
    min-width:235px;
}

.utap-topbar-period .utap-global-period {
    margin:0;
    padding:4px;
    grid-template-columns:36px minmax(150px,1fr) 36px;
    gap:4px;
    border-radius:12px;
    box-shadow:0 5px 16px rgba(26,39,61,.035);
}

.utap-topbar-period .utap-global-period .utap-period-arrow {
    min-height:38px;
    border-radius:9px;
}

.utap-topbar-period .utap-period-picker {
    min-height:38px;
    padding:4px 30px 4px 10px;
    border-radius:9px;
}

.utap-topbar-period .utap-period-picker small {
    font-size:7px;
    line-height:1.1;
}

.utap-topbar-period .utap-period-picker strong {
    font-size:10px;
    line-height:1.25;
}

/* Pulpit: EUR/PLN jest bezpośrednio pod nazwą „Finanse firmy”. */
.utap-topbar--dashboard {
    align-items:center;
}

.utap-page-heading--dashboard {
    flex:0 1 auto;
}

.utap-heading-currency {
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:8px;
}

.utap-heading-currency > span {
    color:var(--utap-muted);
    font-size:8px;
    font-weight:750;
}

.utap-heading-currency .utap-currency-toggle {
    padding:2px;
    border-radius:9px;
    box-shadow:none;
}

.utap-heading-currency .utap-currency-toggle a {
    min-width:42px;
    height:29px;
    padding:0 9px;
    border-radius:7px;
    font-size:9px;
}

.utap-dashboard-toolbar {
    margin-left:0;
    min-width:0;
    display:flex;
    align-items:center;
}

.utap-dashboard-toolbar .utap-primary-button--dashboard {
    width:auto;
    white-space:nowrap;
}

/* Lista faktur DKV: bez dekoracyjnej ikony po lewej. */
.utap-dkv-history > summary.utap-dkv-history-button {
    grid-template-columns:minmax(0,1fr) 28px;
}

@media (max-width:1180px) {
    .utap-topbar-period {
        flex-basis:270px;
        max-width:270px;
        min-width:220px;
    }

    .utap-topbar-period .utap-global-period {
        grid-template-columns:34px minmax(130px,1fr) 34px;
    }
}

@media (max-width:760px) {
    .utap-topbar,
    .utap-topbar--dashboard {
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .utap-topbar-period {
        order:3;
        flex:1 0 100%;
        width:100%;
        max-width:none;
        min-width:0;
        margin-left:0;
    }

    .utap-topbar-period .utap-global-period {
        width:100%;
        grid-template-columns:38px minmax(0,1fr) 38px;
    }

    .utap-topbar-actions,
    .utap-dashboard-toolbar {
        order:4;
        width:100%;
    }

    .utap-dashboard-toolbar .utap-primary-button--dashboard {
        width:100%;
    }

    .utap-heading-currency {
        margin-top:7px;
    }

    .utap-dkv-history > summary.utap-dkv-history-button {
        grid-template-columns:minmax(0,1fr) 30px;
    }
}

@media (min-width:761px) and (max-width:1024px) {
    .utap-topbar--dashboard {
        display:grid;
        grid-template-columns:auto minmax(0,1fr) minmax(220px,270px) auto;
        align-items:center;
        gap:14px;
    }

    .utap-topbar--dashboard .utap-page-heading {
        grid-column:auto;
    }

    .utap-topbar--dashboard .utap-topbar-period {
        width:100%;
        max-width:none;
        min-width:0;
        margin-left:0;
    }

    .utap-topbar--dashboard .utap-dashboard-toolbar {
        grid-column:auto;
        width:auto;
        margin-left:0;
    }
}

@media (max-width:760px) {
    .utap-topbar--dashboard {
        display:flex;
    }
}

/* v0.59.1 — częściowa wpłata przychodu */
.utap-partial-payment-box{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    padding:13px 14px;
    border:1px solid #d7e3f5;
    border-radius:12px;
    background:#f7faff;
    box-sizing:border-box;
}
.utap-partial-payment-box > small{
    display:block;
    margin:0;
    color:var(--utap-muted,#667085);
    line-height:1.45;
}
.utap-partial-payment-box[hidden]{display:none !important;}


/* v0.59.3 — Pulpit: rentowność firmy vs rentowność pojazdów */
.utap-company-result-strip {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin: -2px 0 18px;
}

.utap-company-result-strip > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid var(--utap-border);
    border-radius: 12px;
    background: var(--utap-surface-soft);
}

.utap-company-result-strip__main {
    background: #f4f8ff !important;
    border-color: #d9e7ff !important;
}

.utap-company-result-strip span,
.utap-company-result-strip strong,
.utap-company-result-strip small {
    display: block;
}

.utap-company-result-strip span {
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 750;
}

.utap-company-result-strip strong {
    margin-top: 5px;
    font-size: 17px;
    line-height: 1.1;
}

.utap-company-result-strip small {
    margin-top: 5px;
    color: var(--utap-muted);
    font-size: 8px;
    line-height: 1.35;
}

.utap-month-compare-subtitle {
    margin: 2px 0 8px;
    color: var(--utap-muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

@media (max-width: 1180px) {
    .utap-company-result-strip {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .utap-company-result-strip {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .utap-company-result-strip > div {
        padding: 11px 12px;
    }
}


/* ============================================================
 * v0.59.4 — „Do otrzymania” na Pulpicie
 * ============================================================ */
.utap-dashboard-receivables__summary {
    background: #f4fbf7;
}

.utap-dashboard-receivables__summary strong {
    color: #248452;
}

.utap-dashboard-receivable-item.is-normal .utap-dashboard-reminder__dot,
.utap-dashboard-receivable-item.is-warning .utap-dashboard-reminder__dot {
    background: #3e9a68;
}

.utap-dashboard-receivable-item.is-normal b,
.utap-dashboard-receivable-item.is-warning b {
    color: #47745b;
}

/* ============================================================
 * v0.59.7 — szybkie rozliczenie przychodu + spójny formularz netto/brutto
 * ============================================================ */
.utap-dashboard-receivable-item{
    grid-template-columns:auto minmax(0,1fr) auto auto;
}
.utap-dashboard-receive-button{
    border:1px solid #cfe1f6;
    border-radius:8px;
    background:#f3f8fe;
    color:var(--utap-blue);
    padding:6px 8px;
    font-size:8px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
}
.utap-dashboard-receive-button:hover{
    background:#eaf3fd;
    border-color:#b9d4f2;
}
.utap-income-receive-summary{
    margin-bottom:12px;
    padding:11px 12px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:var(--utap-surface-soft);
}
.utap-income-receive-summary strong,
.utap-income-receive-summary span,
.utap-income-receive-summary b{display:block;}
.utap-income-receive-summary strong{font-size:12px;}
.utap-income-receive-summary span{margin-top:2px;color:var(--utap-muted);font-size:9px;}
.utap-income-receive-summary b{margin-top:7px;color:var(--utap-text);font-size:11px;}
.utap-income-receive-mode{margin-bottom:12px;}

@media (max-width: 760px){
    .utap-dashboard-receivable-item{
        grid-template-columns:auto minmax(0,1fr) auto;
    }
    .utap-dashboard-receivable-item > b{
        grid-column:3;
        grid-row:1;
    }
    .utap-dashboard-receive-button{
        grid-column:2 / 4;
        width:max-content;
        justify-self:end;
        margin-top:2px;
    }
}


/* ============================================================
 * v0.61.3 — rozwijane grupy kategorii w kosztach Pulpitu
 * ============================================================ */
.utap-dashboard-cost-groups {
    max-height:min(48dvh,460px);
    overflow-y:auto;
    display:grid;
    gap:8px;
    padding:1px;
}
.utap-dashboard-cost-category {
    overflow:hidden;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:#fff;
}
.utap-dashboard-cost-category > summary {
    min-height:54px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:20px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    cursor:pointer;
    list-style:none;
    transition:background-color .15s ease;
}
.utap-dashboard-cost-category > summary::-webkit-details-marker {
    display:none;
}
.utap-dashboard-cost-category > summary:hover {
    background:#f8fbff;
}
.utap-dashboard-cost-category > summary:focus-visible {
    outline:2px solid rgba(37,99,235,.28);
    outline-offset:-2px;
}
.utap-dashboard-cost-category__chevron {
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:6px;
    background:#eef4ff;
    color:var(--utap-blue);
    font-size:17px;
    line-height:1;
    transition:transform .15s ease;
}
.utap-dashboard-cost-category[open] .utap-dashboard-cost-category__chevron {
    transform:rotate(90deg);
}
.utap-dashboard-cost-category__name strong,
.utap-dashboard-cost-category__name small {
    display:block;
}
.utap-dashboard-cost-category__name strong {
    color:var(--utap-text);
    font-size:11px;
}
.utap-dashboard-cost-category__name small {
    margin-top:2px;
    color:var(--utap-muted);
    font-size:8px;
}
.utap-dashboard-cost-category__total {
    color:var(--utap-text);
    font-size:12px;
    white-space:nowrap;
}
.utap-dashboard-cost-category__rows {
    max-height:none !important;
    overflow:visible !important;
    padding:0 8px 8px;
    border-top:1px solid #edf1f5;
}
.utap-dashboard-cost-category__rows .utap-dashboard-breakdown-row:first-child {
    margin-top:8px;
}
@media (max-width:700px) {
    .utap-dashboard-cost-groups {
        max-height:55dvh;
    }
    .utap-dashboard-cost-category > summary {
        grid-template-columns:20px minmax(0,1fr);
    }
    .utap-dashboard-cost-category__total {
        grid-column:2;
    }
}

/* ============================================================
 * v0.61.2 — klikalne rozbicie wszystkich KPI Pulpitu
 * ============================================================ */
.utap-dashboard-breakdown-modal {
    max-height:min(90dvh,900px);
    overflow-y:auto;
}
.utap-dashboard-breakdown-modal .utap-modal-head > div > small {
    display:block;
    margin-top:3px;
    color:var(--utap-muted);
    font-size:9px;
}
.utap-dashboard-breakdown-facts {
    margin:0 0 10px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.utap-dashboard-breakdown-facts > div {
    padding:10px 11px;
    border:1px solid var(--utap-border);
    border-radius:10px;
    background:#fff;
}
.utap-dashboard-breakdown-facts span,
.utap-dashboard-breakdown-facts strong,
.utap-dashboard-breakdown-facts small {
    display:block;
}
.utap-dashboard-breakdown-facts span,
.utap-dashboard-breakdown-facts small {
    color:var(--utap-muted);
    font-size:8px;
}
.utap-dashboard-breakdown-facts strong {
    margin:3px 0;
    font-size:14px;
}
.utap-dashboard-breakdown-alert {
    margin:0 0 9px;
    padding:9px 11px;
    border:1px solid #d7e8dc;
    border-radius:9px;
    background:#f4fbf6;
    color:#28633f;
    font-size:9px;
    line-height:1.4;
}
.utap-dashboard-breakdown-alert.is-warning {
    border-color:#efd9b8;
    background:#fff8ee;
    color:#8a5716;
}
.utap-dashboard-breakdown-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto 15px;
    align-items:center !important;
    gap:12px !important;
    cursor:pointer;
    transition:border-color .15s ease,background-color .15s ease,transform .15s ease;
}
.utap-dashboard-breakdown-row > div:nth-child(2) {
    min-width:130px;
    text-align:right;
}
.utap-dashboard-breakdown-row > b {
    color:var(--utap-blue);
    font-size:14px;
}
.utap-dashboard-breakdown-row:hover {
    border-color:#c9d9ee !important;
    background:#fbfdff !important;
    transform:translateY(-1px);
}
.utap-dashboard-breakdown-row:focus-visible {
    outline:2px solid rgba(37,99,235,.28);
    outline-offset:1px;
}
.utap-dashboard-profit-equation {
    margin:0 0 10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:8px;
}
.utap-dashboard-profit-equation > div {
    padding:11px 12px;
    border:1px solid var(--utap-border);
    border-radius:11px;
    background:#fff;
}
.utap-dashboard-profit-equation > div.is-result {
    border-color:#cfe5d7;
    background:#f3faf5;
}
.utap-dashboard-profit-equation span,
.utap-dashboard-profit-equation strong {
    display:block;
}
.utap-dashboard-profit-equation span {
    color:var(--utap-muted);
    font-size:8px;
}
.utap-dashboard-profit-equation strong {
    margin-top:3px;
    font-size:15px;
}
.utap-dashboard-profit-equation > b {
    color:var(--utap-muted);
    font-size:16px;
}
.utap-dashboard-breakdown-heading {
    margin:15px 0 7px;
    color:var(--utap-text);
    font-size:11px;
}
[data-dashboard-breakdown-panel="profit"] .utap-cost-details-list {
    max-height:min(30dvh,280px) !important;
}
@media (max-width:700px) {
    .utap-dashboard-breakdown-facts {
        grid-template-columns:1fr;
    }
    .utap-dashboard-profit-equation {
        grid-template-columns:1fr;
    }
    .utap-dashboard-profit-equation > b {
        text-align:center;
    }
    .utap-dashboard-breakdown-row {
        grid-template-columns:minmax(0,1fr) 12px;
    }
    .utap-dashboard-breakdown-row > div:nth-child(2) {
        grid-column:1;
        min-width:0;
        text-align:left;
    }
    .utap-dashboard-breakdown-row > b {
        grid-column:2;
        grid-row:1 / 3;
    }
}

/* v0.59.8 — okresowe przypisania kierowców i czytelny skład kosztów pojazdu */
.utap-fleet-card--compact .utap-fleet-card__driver small {
    display:block !important;
    margin-top:2px !important;
    color:#8a94a3 !important;
    font-size:8px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.utap-fleet-card--compact .utap-fleet-cost-metric small {
    display:block !important;
    margin-top:3px !important;
    color:#8a94a3 !important;
    font-size:7.5px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.utap-driver-period-modal { max-width:560px !important; }
.utap-assignment-period-grid { margin-top:10px; }
.utap-assignment-history { margin-top:14px; padding-top:14px; border-top:1px solid #e8edf4; }
.utap-assignment-history-head { display:flex; flex-direction:column; gap:2px; margin-bottom:8px; }
.utap-assignment-history-head strong { font-size:12px; }
.utap-assignment-history-head span { color:#7b8797; font-size:10px; }
.utap-assignment-history-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid #eef2f6; }
.utap-assignment-history-row > div:first-child { min-width:0; }
.utap-assignment-history-row strong,.utap-assignment-history-row span { display:block; }
.utap-assignment-history-row strong { font-size:11px; }
.utap-assignment-history-row span { margin-top:2px; color:#7b8797; font-size:9px; }
.utap-assignment-history-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.utap-assignment-summary-list { display:grid; gap:7px; }
.utap-assignment-summary-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border:1px solid #edf1f5; border-radius:9px; background:#fbfcfe; }
.utap-assignment-summary-list strong { font-size:11px; }
.utap-assignment-summary-list span { color:#6f7b8b; font-size:10px; white-space:nowrap; }
@media (max-width:700px) {
    .utap-fleet-card--compact .utap-fleet-cost-metric small { display:none !important; }
    .utap-assignment-summary-list > div { align-items:flex-start; flex-direction:column; gap:3px; }
}

/* v0.59.9 — finanse konkretnego pojazdu: przychody + koszty z wejściem w szczegóły */
.utap-fleet-card__finance-action {
    padding: 8px 12px !important;
    border-top: 1px solid #edf0f4 !important;
    background: #fff !important;
}
.utap-vehicle-finances-button {
    width: 100% !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #dbe7f7 !important;
    border-radius: 9px !important;
    background: #f7faff !important;
    color: #2563eb !important;
    font: inherit !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background .15s ease, border-color .15s ease, transform .15s ease !important;
}
.utap-vehicle-finances-button:hover {
    border-color: #bfd3f2 !important;
    background: #eef5ff !important;
}
.utap-vehicle-finances-button:active { transform: translateY(1px) !important; }
.utap-vehicle-finances-source[hidden] { display: none !important; }

#utap-vehicle-finances-modal .utap-modal--vehicle-finances {
    width: min(1080px, calc(100vw - 36px)) !important;
    max-width: 1080px !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;
    padding: 0 !important;
}
#utap-vehicle-finances-modal .utap-modal-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    margin: 0 !important;
    padding: 16px 18px 13px !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(10px) !important;
}
.utap-vehicle-finances-registration {
    display: block !important;
    margin-top: 3px !important;
    color: #7b8797 !important;
    font-size: 11px !important;
}
.utap-vehicle-finances-body { padding: 14px 16px 16px !important; }
.utap-vehicle-finances-body > .utap-vehicle-finances-source { display: block !important; }
.utap-vehicle-finances-summary {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.utap-vehicle-finances-summary > div {
    min-width: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #e7edf4 !important;
    border-radius: 11px !important;
    background: #fbfcfe !important;
}
.utap-vehicle-finances-summary span,
.utap-vehicle-finances-summary strong { display: block !important; }
.utap-vehicle-finances-summary span {
    color: #7b8797 !important;
    font-size: 9px !important;
}
.utap-vehicle-finances-summary strong {
    margin-top: 4px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}
.utap-vehicle-finances-columns {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
    align-items: start !important;
}
.utap-vehicle-finance-column {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e7edf4 !important;
    border-radius: 13px !important;
    background: #fff !important;
}
.utap-vehicle-finance-column__head {
    min-height: 58px !important;
    padding: 11px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border-bottom: 1px solid #edf1f5 !important;
    background: #fbfcfe !important;
}
.utap-vehicle-finance-column__head > div { min-width: 0 !important; }
.utap-vehicle-finance-column__head span,
.utap-vehicle-finance-column__head small { display: block !important; }
.utap-vehicle-finance-column__head span { font-size: 12px !important; font-weight: 800 !important; }
.utap-vehicle-finance-column__head small { margin-top: 2px !important; color: #8792a2 !important; font-size: 9px !important; }
.utap-vehicle-finance-column__head > strong { flex: 0 0 auto !important; white-space: nowrap !important; font-size: 13px !important; }
.utap-vehicle-finance-list {
    max-height: min(56dvh, 520px) !important;
    overflow-y: auto !important;
}
.utap-vehicle-finance-row {
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 9px 10px !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0,1fr) auto 18px !important;
    align-items: center !important;
    gap: 8px !important;
    border-bottom: 1px solid #eef2f6 !important;
    background: #fff !important;
    cursor: pointer !important;
    outline: none !important;
    transition: background .15s ease !important;
}
.utap-vehicle-finance-row:last-child { border-bottom: 0 !important; }
.utap-vehicle-finance-row:hover,
.utap-vehicle-finance-row:focus-visible { background: #f8fbff !important; }
.utap-vehicle-finance-row__date {
    color: #8490a0 !important;
    font-size: 9px !important;
    white-space: nowrap !important;
}
.utap-vehicle-finance-row__main { min-width: 0 !important; }
.utap-vehicle-finance-row__main strong,
.utap-vehicle-finance-row__main small { display: block !important; }
.utap-vehicle-finance-row__main strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
}
.utap-vehicle-finance-row__main small {
    margin-top: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #8994a3 !important;
    font-size: 8.5px !important;
}
.utap-vehicle-finance-row__amount {
    min-width: 82px !important;
    text-align: right !important;
}
.utap-vehicle-finance-row__amount strong,
.utap-vehicle-finance-row__amount small { display: block !important; }
.utap-vehicle-finance-row__amount strong { white-space: nowrap !important; font-size: 10.5px !important; }
.utap-vehicle-finance-row__amount small { margin-top: 2px !important; color: #c27600 !important; font-size: 8px !important; }
.utap-vehicle-finance-row__chevron { color: #8aa6cc !important; font-size: 18px !important; line-height: 1 !important; }
.utap-vehicle-finance-empty {
    padding: 18px 14px !important;
    color: #8b96a5 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
.utap-vehicle-finances-note {
    margin: 10px 2px 0 !important;
    color: #8a95a5 !important;
    font-size: 9px !important;
    text-align: right !important;
}

@media (max-width: 760px) {
    #utap-vehicle-finances-modal .utap-modal--vehicle-finances {
        width: min(100% - 18px, 720px) !important;
        max-height: calc(100dvh - 18px) !important;
    }
    .utap-vehicle-finances-body { padding: 10px !important; }
    .utap-vehicle-finances-summary { grid-template-columns: 1fr 1fr !important; }
    .utap-vehicle-finances-summary > div:last-child { grid-column: 1 / -1 !important; }
    .utap-vehicle-finances-columns { grid-template-columns: 1fr !important; }
    .utap-vehicle-finance-list { max-height: none !important; }
    .utap-vehicle-finance-row { grid-template-columns: 54px minmax(0,1fr) auto 14px !important; gap: 6px !important; }
    .utap-vehicle-finance-row__amount { min-width: 70px !important; }
}


/* v0.60.0 — wspólny formularz historii przypisań kierowca ↔ pojazd */
.utap-assignment-parties-grid{margin-top:8px}
#utap-assign-driver-modal select.is-locked{pointer-events:none;background:var(--utap-surface-soft);color:var(--utap-text);font-weight:750}
.utap-assignment-profit-note{display:block;margin:8px 0 2px;color:var(--utap-muted);line-height:1.45}
.utap-employee-assignment-panel{border:1px solid var(--utap-border);border-radius:14px;padding:14px;background:var(--utap-surface-soft)}
.utap-employee-assignment-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.utap-employee-assignment-panel__head>div{display:flex;flex-direction:column;gap:4px}
.utap-employee-assignment-panel__head span{font-weight:800}
.utap-employee-assignment-panel__head small{color:var(--utap-muted);line-height:1.35}
.utap-employee-assignment-summary{margin-top:10px;display:grid;gap:7px;color:var(--utap-muted);font-size:13px}
.utap-employee-assignment-summary__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:var(--utap-surface)}
.utap-employee-assignment-summary__row strong{color:var(--utap-text);font-size:13px}
.utap-employee-assignment-summary__row span{white-space:nowrap}
.utap-driver-vehicle--periods span{white-space:normal;line-height:1.35}
@media (max-width:700px){
  .utap-employee-assignment-panel__head,.utap-employee-assignment-summary__row{align-items:stretch;flex-direction:column}
  .utap-employee-assignment-summary__row span{white-space:normal}
}

/* ============================================================
 * v0.60.1 — Dodaj przychód: stabilny układ desktop/macOS
 * ============================================================ */
#utap-income-modal .utap-modal--vehicle {
    width: min(820px, calc(100vw - 48px));
}

#utap-income-modal .utap-form-grid {
    row-gap: 14px !important;
}

/* Złożone pole kwoty nie może dzielić wiersza z krótkim inputem,
 * bo różna wysokość obu kolumn tworzyła duże puste przestrzenie na macOS. */
#utap-income-modal .utap-income-amount-entry {
    display: grid !important;
    grid-column: 1 / -1 !important;
    gap: 10px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #e4eaf3;
    border-radius: 14px;
    background: #f8fafc;
    box-sizing: border-box;
}

#utap-income-modal .utap-income-amount-entry .utap-amount-value {
    min-width: 0;
    margin: 0;
}

@media (min-width: 701px) {
    #utap-income-modal .utap-income-amount-entry {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 16px;
        align-items: end;
    }

    #utap-income-modal .utap-income-amount-entry .utap-amount-entry-head {
        grid-column: 1 / -1;
    }

    #utap-income-modal .utap-income-amount-entry .utap-amount-value {
        grid-column: 1;
    }

    #utap-income-modal .utap-income-amount-entry > small {
        grid-column: 2;
        align-self: end;
        padding-bottom: 11px;
    }
}

@media (max-width: 700px) {
    #utap-income-modal .utap-modal--vehicle {
        width: calc(100vw - 20px);
    }

    #utap-income-modal .utap-income-amount-entry {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ==========================================================
   v0.61.0 — czytelność, urządzenia hybrydowe i integralność UX
   ========================================================== */
.utap-payment-history{margin-top:7px;max-width:320px;text-align:left}
.utap-payment-history summary{cursor:pointer;color:var(--utap-blue);font-weight:800;font-size:12px}
.utap-payment-history>div{margin-top:6px;padding:7px;border:1px solid var(--utap-border);border-radius:9px;background:var(--utap-surface-soft)}
.utap-payment-history p{margin:0;padding:5px 0;display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--utap-border)}
.utap-payment-history p:last-child{border-bottom:0}
.utap-payment-history span{font-size:12px;line-height:1.35}
.utap-payment-history button{min-height:28px;padding:0 8px;border:1px solid #efb8b8;border-radius:7px;background:#fff;color:#a32626;font-size:12px;font-weight:800;cursor:pointer}
.utap-inline-warning{margin:10px 0;padding:10px 12px;border:1px solid #efc46f;border-radius:10px;background:#fff9e8;color:#6f4c00;font-size:13px;line-height:1.4}
.utap-service-finance-separation .utap-form-grid{margin-top:10px}
.utap-service-finance-separation .utap-checkbox-row{margin-top:8px}
.utap-main,.utap-panel,.utap-table-wrap,.utap-modal{min-width:0}
.utap-table-wrap{overflow-x:auto!important;overscroll-behavior-inline:contain}
.utap-modal{max-width:min(94vw,900px);max-height:calc(100dvh - 24px);overflow:auto}
@media (min-width:900px){
  .utap-main small,.utap-main td,.utap-main th,.utap-main summary,.utap-main button,
  .utap-main label,.utap-main input,.utap-main select,.utap-main textarea{
    font-size:max(12px,.75rem)!important;line-height:1.35
  }
}
@supports not selector(:has(*)){
  .utap-form-grid>*{min-width:0}
  .utap-finance-layout,.utap-dashboard-grid,.utap-cashflow-layout{grid-template-columns:minmax(0,1fr)}
}
