@import url('https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap');

:root {
    --sbp-pwa-navy: #0d3658;
    --sbp-pwa-sky: #99c2cb;
    --sbp-pwa-sand: #f5f4ef;
    --sbp-pwa-ice: #edf4f6;
    --sbp-pwa-panel: #ffffff;
    --sbp-pwa-ink: #1c2b36;
    --sbp-pwa-gray: #7d8b95;
    --sbp-pwa-border: #dbe3e6;
    --sbp-pwa-green: #3aa65a;
    --sbp-pwa-red: #d34b4b;
    --sbp-pwa-shadow: 0 18px 40px rgba(13, 54, 88, 0.12);
    --sbp-pwa-nav-height: 50px;
    --sbp-pwa-bookings-controls-top: calc(env(safe-area-inset-top) + var(--sbp-pwa-nav-height));
    --sbp-pwa-bookings-controls-height: 45px;
    --sbp-pwa-section-filters-height: 0px;
    --sbp-pwa-modal-top-gap: calc(env(safe-area-inset-top) + var(--sbp-pwa-nav-height) + clamp(72px, 14vh, 180px));
    --sbp-pwa-modal-side-gap: 5vw;
    --sbp-pwa-modal-bottom-gap: calc(env(safe-area-inset-bottom) + 10vh);
    --sbp-pwa-content-bottom-gap: calc(env(safe-area-inset-bottom) + 84px);
}

/* Final override: daily tiers must stay in one row with 6 columns (5 fields + remove). */
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header,
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 28px !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.sbp-pwa {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    padding: calc(var(--sbp-pwa-nav-height) + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom) 0;
    font-family: 'Tenor Sans', serif;
    color: var(--sbp-pwa-ink);
    background: var(--sbp-pwa-panel);
    overflow-x: hidden;
    overflow-y: visible;
}

.sbp-pwa-bg {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(153, 194, 203, 0.35), transparent 45%),
        radial-gradient(circle at 80% 10%, rgba(13, 54, 88, 0.25), transparent 40%),
        linear-gradient(135deg, #f9f6f0 0%, #eef3f5 40%, #f5f4ef 100%);
    pointer-events: none;
    z-index: 0;
    display: none;
}

body.sbp-pwa-page header,
body.sbp-pwa-page #masthead,
body.sbp-pwa-page #header,
body.sbp-pwa-page .site-header,
body.sbp-pwa-page .site-navigation,
body.sbp-pwa-page .main-navigation,
body.sbp-pwa-page .primary-navigation,
body.sbp-pwa-page .nav-primary,
body.sbp-pwa-page .navbar,
body.sbp-pwa-page .header-main,
body.sbp-pwa-page .top-bar,
body.sbp-pwa-page footer,
body.sbp-pwa-page #footer,
body.sbp-pwa-page #colophon,
body.sbp-pwa-page .site-footer,
body.sbp-pwa-page .footer-widgets {
    display: none !important;
}

/* Some themes apply transforms on wrappers, which breaks fixed nav behavior. */
body.sbp-pwa-page #page,
body.sbp-pwa-page .site,
body.sbp-pwa-page #content,
body.sbp-pwa-page .site-content,
body.sbp-pwa-page .entry-content,
body.sbp-pwa-page main {
    transform: none !important;
    perspective: none !important;
    filter: none !important;
}

body.sbp-pwa-page.sbp-pwa-bookings-lock,
body.sbp-pwa-page.sbp-pwa-modal-lock {
    overflow: hidden;
    height: 100svh;
    height: 100dvh;
    padding-right: var(--sbp-pwa-scrollbar-comp, 0px);
}

body.sbp-pwa-page.sbp-pwa-bookings-lock #page,
body.sbp-pwa-page.sbp-pwa-bookings-lock .site,
body.sbp-pwa-page.sbp-pwa-bookings-lock #content,
body.sbp-pwa-page.sbp-pwa-bookings-lock .site-content,
body.sbp-pwa-page.sbp-pwa-bookings-lock .entry-content,
body.sbp-pwa-page.sbp-pwa-bookings-lock main,
body.sbp-pwa-page.sbp-pwa-modal-lock #page,
body.sbp-pwa-page.sbp-pwa-modal-lock .site,
body.sbp-pwa-page.sbp-pwa-modal-lock #content,
body.sbp-pwa-page.sbp-pwa-modal-lock .site-content,
body.sbp-pwa-page.sbp-pwa-modal-lock .entry-content,
body.sbp-pwa-page.sbp-pwa-modal-lock main {
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.sbp-pwa-page {
    margin: 0;
    min-height: 100%;
    background: #ffffff;
    scrollbar-gutter: stable both-edges;
}

body.sbp-pwa-page #page,
body.sbp-pwa-page .site,
body.sbp-pwa-page #content,
body.sbp-pwa-page .site-content,
body.sbp-pwa-page .entry-content,
body.sbp-pwa-page main {
    background: #ffffff !important;
}

.sbp-pwa [hidden] {
    display: none !important;
}

.sbp-pwa-header,
.sbp-pwa-main,
.sbp-pwa-login {
    position: relative;
    z-index: 1;
}

.sbp-pwa.is-hydrating *,
.sbp-pwa.is-hydrating *::before,
.sbp-pwa.is-hydrating *::after {
    animation: none !important;
    transition: none !important;
}

.sbp-pwa-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 14px;
    animation: sbp-pwa-fade-in 0.6s ease-out;
}

.sbp-pwa-header:empty {
    display: none;
}

.sbp-pwa nav.sbp-pwa-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 0;
    padding: 6px calc(6px + env(safe-area-inset-right)) 6px calc(6px + env(safe-area-inset-left));
    margin-bottom: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    width: 100%;
    max-width: none;
    height: var(--sbp-pwa-nav-height);
    min-height: var(--sbp-pwa-nav-height);
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    position: fixed !important;
    top: max(0px, env(safe-area-inset-top)) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 150 !important;
    visibility: visible;
    opacity: 1;
    overflow-y: visible;
}

.sbp-pwa.is-notify-open nav.sbp-pwa-nav {
    overflow: visible;
}

.sbp-pwa-nav-modes {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-right: 6px;
}

.sbp-pwa-notify {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    pointer-events: auto;
}

.sbp-pwa-nav-filter {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    pointer-events: auto;
}

.sbp-pwa-nav-filter-btn {
    color: var(--sbp-pwa-ink);
}

.sbp-pwa.is-filters-open .sbp-pwa-nav-filter-btn {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa:not(.is-filters-available) .sbp-pwa-nav-filter {
    display: none;
}

.sbp-pwa-notify-btn {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #f3f6fa;
    color: var(--sbp-pwa-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    position: relative;
    touch-action: manipulation;
}

.sbp-pwa-notify-btn.is-active {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-notify-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--sbp-pwa-red);
    color: #ffffff;
    font-size: 10px;
    line-height: 16px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    display: none;
}

.sbp-pwa-notify.has-unread .sbp-pwa-notify-dot {
    display: block;
}

.sbp-pwa-notify-panel {
    position: fixed;
    top: calc(var(--sbp-pwa-nav-height) + 10px);
    left: 8px;
    width: 420px;
    max-width: 90vw;
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    box-shadow: var(--sbp-pwa-shadow);
    padding: 10px;
    display: none;
    z-index: 220;
    pointer-events: auto;
}

.sbp-pwa-notify-panel {
    max-height: min(72vh, 560px);
    overflow-y: auto;
}

.sbp-pwa-notify.is-open .sbp-pwa-notify-panel {
    display: block;
}

.sbp-pwa-notify-title {
    font-weight: 600;
    color: var(--sbp-pwa-ink);
    margin-bottom: 8px;
}

.sbp-pwa-notify-list {
    display: grid;
    gap: 8px;
    max-height: 480px;
    overflow-y: auto;
}

.sbp-pwa-notify-item {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    padding: 8px 36px 8px 10px;
    background: var(--sbp-pwa-ice);
    display: grid;
    gap: 4px;
    font-size: 13px;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease;
}

.sbp-pwa-notify-item.is-unread {
    background: #ffffff;
    border-color: var(--sbp-pwa-sky);
    box-shadow: 0 6px 16px rgba(13, 54, 88, 0.08);
}

.sbp-pwa-notify-item.is-read {
    opacity: 0.76;
}

.sbp-pwa-notify-item.has-status-color {
    box-shadow: 0 6px 16px rgba(13, 54, 88, 0.08);
}

.sbp-pwa-notify-item.has-status-color.is-unread {
    box-shadow: 0 8px 18px rgba(13, 54, 88, 0.14);
}

.sbp-pwa-notify-item.has-status-color.is-read {
    filter: saturate(0.35) brightness(1.08);
    box-shadow: 0 4px 10px rgba(13, 54, 88, 0.06);
}

.sbp-pwa-notify-item.is-swiping {
    background: rgba(58, 166, 90, 0.12);
}

.sbp-pwa-notify-item::after {
    content: 'Archiwizuj';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--sbp-pwa-green);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.sbp-pwa-notify-item.is-swiping::after {
    opacity: 1;
}

.sbp-pwa-notify-archive {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    color: var(--sbp-pwa-gray);
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 8px;
    display: none;
    cursor: pointer;
    line-height: 1.2;
    z-index: 2;
}

.sbp-pwa-notify-item.has-status-color .sbp-pwa-notify-archive {
    border-color: currentColor;
    color: inherit;
    background: rgba(255, 255, 255, 0.22);
}

.sbp-pwa-notify-archive:focus {
    outline: 2px solid var(--sbp-pwa-navy);
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .sbp-pwa-notify-archive {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .sbp-pwa-notify-item:hover .sbp-pwa-notify-archive {
        border-color: var(--sbp-pwa-navy);
        color: var(--sbp-pwa-navy);
    }

    .sbp-pwa-notify-item.has-status-color:hover .sbp-pwa-notify-archive {
        border-color: currentColor;
        color: inherit;
    }
}

.sbp-pwa-notify-undo {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: #ffffff;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-notify-undo.is-visible {
    display: flex;
}

.sbp-pwa-notify-undo-btn {
    border: 1px solid var(--sbp-pwa-navy);
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    cursor: pointer;
}

.sbp-pwa-notify-undo-btn:focus {
    outline: 2px solid var(--sbp-pwa-navy);
    outline-offset: 2px;
}

.sbp-pwa-notify-item-title {
    font-weight: 600;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-notify-item-meta {
    color: var(--sbp-pwa-gray);
    font-size: 12px;
}

.sbp-pwa-notify-item-body {
    color: var(--sbp-pwa-ink);
    white-space: pre-line;
}

.sbp-pwa-notify-owner-actions {
    display: grid;
    gap: 6px;
    margin-top: 4px;
    padding-right: 56px;
}

.sbp-pwa-notify-owner-state {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.9;
}

.sbp-pwa-notify-owner-buttons {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    max-width: 320px;
}

.sbp-pwa-notify-owner-buttons .sbp-pwa-btn {
    flex: 1 1 0;
}

.sbp-pwa-notify-owner-actions .sbp-pwa-btn {
    min-height: 28px;
    padding: 4px 10px;
    font-size: 12px;
    justify-content: center;
}

.sbp-pwa-notify-owner-actions-modal {
    padding-right: 0;
}

.sbp-pwa-choice-actions-owner {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
}

.sbp-pwa-choice-actions-owner .sbp-pwa-btn {
    flex: 0 0 calc(50% - 4px);
    width: calc(50% - 4px);
    justify-content: center;
}

.sbp-pwa-booking-item.is-focus {
    outline: 2px solid var(--sbp-pwa-navy);
    outline-offset: -1px;
}

.sbp-pwa-detail-calendar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #f3f6fa;
    color: var(--sbp-pwa-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.sbp-pwa-detail-calendar:active {
    transform: scale(0.98);
}

.sbp-pwa-form .sbp-pwa-toolbar {
    position: relative;
    padding-right: 50px;
}

.sbp-pwa-form .sbp-pwa-toolbar-actions.sbp-pwa-form-toolbar-actions {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    margin: 0;
}

.sbp-pwa-calendar-focus {
    animation: sbp-pwa-event-pulse 1.2s ease-in-out 3;
}

@keyframes sbp-pwa-event-pulse {
    0% { filter: brightness(1) saturate(1); transform: scale(1); }
    50% { filter: brightness(1.2) saturate(1.25); transform: scale(1.02); }
    100% { filter: brightness(1) saturate(1); transform: scale(1); }
}

.sbp-pwa-calendar.fc .sbp-pwa-partial-day.sbp-pwa-calendar-focus::before {
    animation: sbp-pwa-fill-pulse 1.2s ease-in-out 3;
}

@keyframes sbp-pwa-fill-pulse {
    0% { filter: brightness(1) saturate(1); }
    50% { filter: brightness(1.25) saturate(1.25); }
    100% { filter: brightness(1) saturate(1); }
}

.sbp-pwa-push-diagnostics {
    margin-top: 12px;
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-diagnostic-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.sbp-pwa-diagnostic-row strong {
    color: var(--sbp-pwa-ink);
    font-weight: 600;
    word-break: break-word;
    text-align: right;
    flex: 0 1 58%;
}

.sbp-pwa-mode-btn {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #f3f6fa;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    flex: 0 0 auto;
}

.sbp-pwa-mode-btn.is-active {
    background: var(--sbp-pwa-navy);
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-mode-btn.is-active .sbp-pwa-mode-icon {
    filter: brightness(0) invert(1);
}

.sbp-pwa-mode-icon {
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.sbp-pwa-mode-icon-water {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230d3658%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2019h20%27%2F%3E%3Cpath%20d%3D%27M4%2016h12l4%203H6z%27%2F%3E%3Cpath%20d%3D%27M7%209h10l4%205H7z%27%2F%3E%3Cpath%20d%3D%27M8%205h6l3%204H8z%27%2F%3E%3C%2Fsvg%3E");
}

.sbp-pwa-mode-icon-car {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230d3658%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2013h18v3H3z%27%2F%3E%3Cpath%20d%3D%27M5%2013l3-5h8l3%205%27%2F%3E%3Cpath%20d%3D%27M7%2016h2%27%2F%3E%3Cpath%20d%3D%27M15%2016h2%27%2F%3E%3Cpath%20d%3D%27M6%2018a1.5%201.5%200%201%200%200%20.1%27%2F%3E%3Cpath%20d%3D%27M18%2018a1.5%201.5%200%201%200%200%20.1%27%2F%3E%3C%2Fsvg%3E");
}

.sbp-pwa-nav-btn {
    white-space: nowrap;
}

.sbp-pwa:not(.is-auth) nav.sbp-pwa-nav {
    display: none;
}

html.sbp-pwa-preauth .sbp-pwa .sbp-pwa-login {
    display: none !important;
}

.sbp-pwa.is-auth-checking:not(.is-auth) .sbp-pwa-main[data-pwa-main],
.sbp-pwa.is-auth-checking:not(.is-auth) nav.sbp-pwa-nav,
.sbp-pwa.is-auth-checking:not(.is-auth) .sbp-pwa-global-message,
.sbp-pwa.is-auth-checking:not(.is-auth) .sbp-pwa-fab {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.sbp-pwa.is-auth-checking:not(.is-auth) .sbp-pwa-login .sbp-pwa-card {
    opacity: 0.86;
    transition: opacity 0.18s ease;
}

.sbp-pwa.is-auth-checking.is-restoring-auth:not(.is-auth) .sbp-pwa-login {
    display: none !important;
}

body.sbp-pwa-page .sbp-pwa nav.sbp-pwa-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.sbp-pwa-page .sbp-pwa:not(.is-auth) nav.sbp-pwa-nav {
    display: none !important;
}

.sbp-pwa-nav-btn {
    border: none;
    background: transparent;
    color: var(--sbp-pwa-ink);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    cursor: pointer;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
}

.sbp-pwa-nav-btn.is-active {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
}

.sbp-pwa-fab {
    position: fixed;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    font-size: 28px;
    box-shadow: var(--sbp-pwa-shadow);
    cursor: pointer;
    z-index: 55;
    touch-action: none;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0;
    line-height: 1;
}

.sbp-pwa-fab.is-back {
    font-size: 32px;
    line-height: 1;
    z-index: 130;
}

.sbp-pwa-fab:active {
    transform: scale(0.96);
}

.sbp-pwa:not(.is-auth) .sbp-pwa-fab {
    display: none;
}

.sbp-pwa-booking-create-overlay {
    position: fixed;
    inset: 0;
    z-index: 420;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(13, 54, 88, 0.35);
    padding: 0;
}

.sbp-pwa-booking-create-overlay.is-open {
    display: flex;
}

.sbp-pwa-booking-create-panel {
    width: 66vw;
    height: 77vh;
    max-width: 66vw;
    max-height: 77vh;
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 18px;
    box-shadow: var(--sbp-pwa-shadow);
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 12px 12px 0;
    gap: 8px;
}

.sbp-pwa-booking-create-step {
    flex: 1;
    min-height: 0;
    display: block;
}

.sbp-pwa-booking-create-categories {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

@media (min-width: 981px) {
    .sbp-pwa-booking-create-step-categories {
        display: flex;
        min-height: 0;
        overflow: hidden;
    }

    .sbp-pwa-booking-create-categories {
        width: 100%;
        height: 100%;
        min-height: 0;
        align-items: stretch;
        grid-auto-rows: minmax(0, 1fr);
    }

    .sbp-pwa-booking-create-category {
        min-height: 0;
        height: 100%;
    }

    .sbp-pwa-booking-create-category-list {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-form-layout {
        display: grid;
        grid-template-columns: minmax(0, 67fr) minmax(0, 33fr);
        grid-template-rows: minmax(0, 1fr);
        grid-template-areas: "fields schedule";
        column-gap: 10px;
        row-gap: 12px;
        min-height: 0;
        align-items: stretch;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-schedule {
        display: flex;
        grid-area: schedule;
        min-height: 0;
        align-self: stretch;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-field-date,
    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-field-time {
        display: none;
    }
}

.sbp-pwa-booking-create-step-form {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.sbp-pwa-booking-create-form-shell {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 0;
    height: 100%;
    gap: 0;
}

.sbp-pwa-booking-create-form-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding-right: 2px;
}

.sbp-pwa-booking-create-form-layout {
    display: block;
    min-height: 0;
}

.sbp-pwa-booking-create-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 10px;
    grid-area: fields;
    grid-auto-rows: max-content;
    align-content: start;
    align-items: start;
}

.sbp-pwa-booking-create-schedule {
    display: none;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
}

.sbp-pwa-booking-create-schedule-calendar {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    padding: 6px;
    min-height: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.sbp-pwa-booking-create-schedule-calendar .fc {
    width: 100%;
    height: 100%;
    font-size: 12px;
}

/* Mini-kalendarz w panelu rezerwacji: pelny kolor dla zajetego okresu i polowki 45deg na dniach krancowych. */
.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-disabled {
    background: var(--sbp-day-busy-bg) !important;
    background-image: none !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-busy-start {
    background: var(--sbp-white) !important;
    background-image: linear-gradient(135deg, var(--sbp-white) 0%, var(--sbp-white) 50%, var(--sbp-day-busy-bg) 50%, var(--sbp-day-busy-bg) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-busy-end {
    background: var(--sbp-day-busy-bg) !important;
    background-image: linear-gradient(135deg, var(--sbp-day-busy-bg) 0%, var(--sbp-day-busy-bg) 50%, var(--sbp-white) 50%, var(--sbp-white) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-busy-start.sbp-day-busy-end {
    background: var(--sbp-day-busy-bg) !important;
    background-image: linear-gradient(135deg, var(--sbp-day-busy-bg) 0%, var(--sbp-day-busy-bg) 50%, var(--sbp-white) 50%, var(--sbp-white) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-start.sbp-day-busy-end {
    background-image: linear-gradient(135deg, var(--sbp-day-busy-bg) 0%, var(--sbp-day-busy-bg) 50%, var(--sbp-green-strong) 50%, var(--sbp-green-strong) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .sbp-day-end.sbp-day-busy-start {
    background-image: linear-gradient(135deg, var(--sbp-green-strong) 0%, var(--sbp-green-strong) 50%, var(--sbp-day-busy-bg) 50%, var(--sbp-day-busy-bg) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .fc-daygrid-day.fc-day-today.sbp-day-busy-start {
    background-image: linear-gradient(135deg, var(--sbp-white) 0%, var(--sbp-white) 50%, var(--sbp-day-busy-bg) 50%, var(--sbp-day-busy-bg) 100%) !important;
}

.sbp-pwa-booking-create-schedule-calendar.sbp-calendar .fc-daygrid-day.fc-day-today.sbp-day-busy-end {
    background-image: linear-gradient(135deg, var(--sbp-day-busy-bg) 0%, var(--sbp-day-busy-bg) 50%, var(--sbp-white) 50%, var(--sbp-white) 100%) !important;
}

.sbp-pwa-booking-create-schedule-range {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--sbp-pwa-gray);
    margin: 0;
    order: -1;
    min-height: 12px;
    display: flex;
    align-items: center;
}

.sbp-pwa-booking-create-schedule-times {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: auto;
}

.sbp-pwa-booking-create-schedule-times .sbp-pwa-booking-create-field {
    width: 100%;
}

.sbp-pwa-booking-create-field,
.sbp-pwa-booking-create-form-grid > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
    gap: 0;
    padding-top: 0;
    min-width: 0;
    width: 100%;
    justify-self: stretch;
    align-self: start;
}

.sbp-pwa-booking-create-customer-suggest-wrap {
    grid-column: 1 / -1;
    position: relative;
    height: 0;
    min-height: 0;
    z-index: 70;
}

.sbp-pwa-booking-create-customer-suggest-wrap .sbp-pwa-customer-suggest {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.sbp-pwa-booking-create-field-notes {
    grid-column: 1 / -1;
    align-self: start;
}

.sbp-pwa-booking-create-field-resource {
    grid-column: 1 / -1;
}

.sbp-pwa-booking-create-step-form label {
    display: block;
    margin: 0;
    margin-bottom: 2px;
    padding: 0;
    line-height: 1;
    font-size: 12px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field:not(.sbp-pwa-booking-create-field-resource) {
    position: static;
    gap: 0;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field:not(.sbp-pwa-booking-create-field-resource) > label {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    transform: none;
    margin: 0;
    pointer-events: auto;
    text-align: left;
    line-height: 1;
    z-index: auto;
    transition: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field:not(.sbp-pwa-booking-create-field-resource).is-focused > label {
    opacity: 1;
    transform: none;
}

.sbp-pwa-booking-create-field > .sbp-pwa-input,
.sbp-pwa-booking-create-form-grid > div > .sbp-pwa-input {
    margin-top: 0;
    display: block;
    width: 100%;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    align-self: start;
}

.sbp-pwa-booking-create-field > .sbp-pwa-booking-create-resource-field,
.sbp-pwa-booking-create-form-grid > div > .sbp-pwa-booking-create-resource-field {
    margin-top: 0;
    display: flex;
    width: 100%;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    align-self: start;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-input,
.sbp-pwa-booking-create-resource-field {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    height: 44px;
    max-height: 44px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f8fafc;
    color: var(--sbp-pwa-ink);
    padding: 10px 12px;
    font-size: 15px;
    line-height: 1.2;
    field-sizing: fixed;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-input {
    appearance: none;
}

.sbp-pwa-booking-create-step-form input[type="number"].sbp-pwa-input {
    -moz-appearance: textfield;
}

.sbp-pwa-booking-create-step-form input[type="number"].sbp-pwa-input::-webkit-outer-spin-button,
.sbp-pwa-booking-create-step-form input[type="number"].sbp-pwa-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sbp-pwa-booking-create-step-form textarea.sbp-pwa-input {
    resize: none;
    overflow: auto;
    min-height: 44px;
    height: 44px;
    max-height: 44px;
}

.sbp-pwa-booking-create-resource-field {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    font-size: 15px;
    font-weight: 400;
    color: var(--sbp-pwa-ink);
    text-align: center;
    line-height: 1.2;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

.sbp-pwa-booking-create-resource-field [data-pwa-booking-create-resource-label] {
    display: flex;
    width: 100%;
    min-height: 0;
    height: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--sbp-pwa-ink, #213247);
    font-size: 15px;
    font-weight: 400;
    transform: translateY(-1px);
    pointer-events: none;
}

.sbp-pwa-booking-create-resource-field:hover {
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-booking-create-resource-field.is-error {
    border-color: #dc2626;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.2);
}

.sbp-pwa-booking-create-footer {
    flex: 0 0 auto;
    border-top: 1px solid var(--sbp-pwa-border);
    min-height: 0;
    height: auto;
    padding-top: 1px;
    padding-bottom: 0;
    background: var(--sbp-pwa-panel);
    margin-top: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "message"
        "summary"
        "actions";
    row-gap: 1px;
    align-items: stretch;
    justify-content: stretch;
    position: static;
}

.sbp-pwa-booking-create-summary {
    grid-area: summary;
    position: static;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sbp-pwa-gray);
    margin: 0;
    flex-wrap: wrap;
    line-height: 1.15;
}

.sbp-pwa-booking-create-summary strong {
    color: var(--sbp-pwa-navy);
    font-weight: 700;
}

.sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
    grid-area: actions;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 48px;
}

.sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
    width: auto;
    flex: 1 1 0;
    max-width: none;
    min-width: 0;
    min-height: 44px;
    height: 44px;
    max-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    line-height: 1;
    text-transform: uppercase;
}

#sbp-pwa-booking-create-price {
    width: 100%;
    min-height: 44px;
    height: 44px;
    max-height: 44px;
}

.sbp-pwa-booking-create-field-price {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
}

#sbp-pwa-booking-create-limit-km,
#sbp-pwa-booking-create-duration,
#sbp-pwa-booking-create-start-time-picker,
#sbp-pwa-booking-create-end-time-picker,
#sbp-pwa-booking-create-duration-picker {
    display: block;
    width: 100%;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
}

.sbp-pwa-booking-create-step-form input[type="number"].sbp-pwa-input,
.sbp-pwa-booking-create-step-form input[type="time"].sbp-pwa-input,
.sbp-pwa-booking-create-step-form select.sbp-pwa-input {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field-price,
.sbp-pwa-booking-create-step-form [data-pwa-booking-create-limit-wrap] {
    width: 100%;
    min-width: 0;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field-notes {
    align-self: start;
}

@media (min-width: 981px) {
    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-schedule-calendar {
        margin-top: 21px;
        aspect-ratio: 1 / 1.03;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-field-notes {
        align-self: start;
        margin: 0;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-field-notes > .sbp-pwa-input {
        width: 100%;
        min-width: 0;
        height: 44px;
        min-height: 44px;
        max-height: 44px;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-schedule-times {
        margin-top: auto;
        align-self: stretch;
        padding-top: 0;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-schedule-times .sbp-pwa-booking-create-field > .sbp-pwa-input {
        margin-top: 8px;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-desktop-schedule .sbp-pwa-booking-create-schedule-times .sbp-pwa-booking-create-field > label {
        margin-top: -1px;
    }
}

.sbp-pwa-booking-create-message {
    grid-area: message;
    min-height: 0;
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    color: var(--sbp-pwa-gray);
    text-align: right;
}

.sbp-pwa-booking-create-message:empty {
    display: none;
}

.sbp-pwa-booking-create-message.is-error {
    color: #dc2626;
}

.sbp-pwa-booking-create-message.is-success {
    color: #0f766e;
}

.sbp-pwa-booking-create-category {
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.sbp-pwa-booking-create-category-title {
    padding: 10px 12px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--sbp-pwa-navy);
    border-bottom: 1px solid var(--sbp-pwa-border);
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.sbp-pwa-booking-create-category-title.is-disabled {
    opacity: 0.55;
    cursor: default;
}

.sbp-pwa-booking-create-category-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
    transition: max-height 0.2s ease, padding 0.2s ease, opacity 0.2s ease;
}

.sbp-pwa-booking-create-resource-btn {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f8fafc;
    color: var(--sbp-pwa-ink);
    text-align: left;
    padding: 9px 10px;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
}

.sbp-pwa-booking-create-resource-btn:hover {
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-booking-create-resource-btn.is-selected {
    background: rgba(13, 54, 88, 0.08);
    border-color: var(--sbp-pwa-navy);
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-booking-create-resource-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sbp-pwa-booking-create-empty {
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f8fafc;
    color: var(--sbp-pwa-gray);
    padding: 10px;
    font-size: 13px;
    text-align: center;
}

.sbp-pwa:not(.is-auth) .sbp-pwa-booking-create-overlay {
    display: none !important;
}

@media (max-width: 980px) {
    .sbp-pwa-booking-create-overlay.sbp-booking-create-water-duration [data-pwa-booking-create-end-date-wrap],
    .sbp-pwa-booking-create-overlay.sbp-booking-create-water-duration [data-pwa-booking-create-end-time-wrap] {
        display: none !important;
    }

    .sbp-pwa-booking-create-overlay.sbp-booking-create-water-duration [data-pwa-booking-create-duration-wrap] {
        display: flex !important;
    }

    .sbp-pwa-booking-create-field-resource {
        grid-column: auto;
    }

    .sbp-pwa-booking-create-panel {
        width: 95vw;
        height: 80vh;
        height: 80dvh;
        max-width: 95vw;
        max-height: 80vh;
        max-height: 80dvh;
        padding: 8px 8px 0;
        gap: 6px;
    }

    .sbp-pwa-booking-create-step-categories {
        display: flex;
        align-items: center;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .sbp-pwa-booking-create-categories {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        min-height: 100%;
        justify-content: center;
    }

    .sbp-pwa-booking-create-categories.is-expanded-mode {
        justify-content: flex-start;
    }

    .sbp-pwa-booking-create-category {
        flex: 0 0 auto;
        width: 100%;
    }

    .sbp-pwa-booking-create-category-list {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        padding: 0 8px;
    }

    .sbp-pwa-booking-create-category.is-expanded .sbp-pwa-booking-create-category-list {
        max-height: 46vh;
        opacity: 1;
        overflow-y: auto;
        padding: 8px;
    }

    .sbp-pwa-booking-create-resource-btn {
        font-size: 13px;
        padding: 8px 9px;
    }

    .sbp-pwa-booking-create-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row dense;
        gap: 8px;
    }

    .sbp-pwa-booking-create-schedule {
        display: none;
    }

    .sbp-pwa-booking-create-step-form label {
        margin: 0;
        margin-bottom: 1px;
        font-size: 11px;
    }

    .sbp-pwa-booking-create-summary {
        gap: 3px;
        font-size: 10px;
        line-height: 1;
        margin: 0;
        flex-wrap: nowrap;
        overflow: hidden;
    }

    .sbp-pwa-booking-create-summary > span {
        white-space: nowrap;
    }

    .sbp-pwa-booking-create-footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "summary"
            "actions" !important;
        row-gap: 4px !important;
        border-top: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin-top: auto !important;
        min-height: 0 !important;
    }

    .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        min-height: 0;
        gap: 4px;
        margin-top: 20px;
        align-items: stretch;
    }

    .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        min-height: 44px;
        height: 44px;
        font-size: 13px;
        padding: 8px 10px;
    }

    .sbp-pwa-booking-create-message {
        display: none !important;
        font-size: 10px;
        line-height: 1;
    }
}

.sbp-pwa-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sbp-pwa-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 1px;
    box-shadow: var(--sbp-pwa-shadow);
}

.sbp-pwa-title-main {
    font-size: 18px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-title-sub {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-actions {
    display: flex;
    gap: 8px;
}

.sbp-pwa-global-message {
    display: none !important;
}

.sbp-pwa-top-toast {
    position: fixed;
    top: calc(var(--sbp-pwa-nav-height) + env(safe-area-inset-top) + 8px);
    left: 50%;
    transform: translate(-50%, -10px);
    z-index: 10020;
    min-width: 220px;
    max-width: min(90vw, 520px);
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(13, 54, 88, 0.96);
    color: #ffffff;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 12px 28px rgba(13, 54, 88, 0.26);
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.sbp-pwa-top-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.sbp-pwa-top-toast.is-success {
    background: rgba(58, 166, 90, 0.96);
}

.sbp-pwa-top-toast.is-error {
    background: rgba(211, 75, 75, 0.96);
}

.sbp-pwa-top-toast.is-info {
    background: rgba(13, 54, 88, 0.96);
}

.sbp-pwa-btn {
    border: none;
    border-radius: 999px;
    padding: 10px 16px;
    font-size: 13px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sbp-pwa-btn:active {
    transform: scale(0.98);
}

.sbp-pwa-btn-primary {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    box-shadow: var(--sbp-pwa-shadow);
}

.sbp-pwa-btn-light {
    background: #ffffff;
    color: var(--sbp-pwa-navy);
    border: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-btn-toggle.is-active {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-filter-cancelled-btn {
    height: 42px;
    min-height: 42px;
    padding: 0 12px;
    width: 100%;
    justify-content: center;
}

.sbp-pwa-filter-cancelled-btn.is-active,
.sbp-pwa-filter-cancelled-btn[aria-pressed="true"] {
    background: var(--sbp-pwa-red) !important;
    color: #ffffff !important;
    border-color: var(--sbp-pwa-red) !important;
}

.sbp-pwa-btn-ghost {
    background: transparent;
    border: 1px solid var(--sbp-pwa-border);
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-btn-danger {
    background: var(--sbp-pwa-red);
    color: #ffffff;
}

.sbp-pwa-login {
    max-width: 540px;
    margin: 24px auto 30px;
    animation: sbp-pwa-slide-up 0.6s ease-out;
}

.sbp-pwa:not(.is-auth) .sbp-pwa-login {
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 100svh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:
        max(18px, env(safe-area-inset-top))
        calc(16px + env(safe-area-inset-right))
        max(16px, env(safe-area-inset-bottom))
        calc(16px + env(safe-area-inset-left));
    box-sizing: border-box;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.sbp-pwa:not(.is-auth) .sbp-pwa-login .sbp-pwa-card {
    width: min(100%, 540px);
    margin: 0 auto;
}

.sbp-pwa-login .sbp-pwa-card {
    background: #f4fbff;
    color: #0f3855;
    border: 1px solid #b9dff0;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(13, 54, 88, 0.12);
    padding: 22px;
}

.sbp-pwa-login .sbp-pwa-card h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.2;
    color: #0f3855;
}

.sbp-pwa-login .sbp-pwa-card p {
    margin: 0 0 16px;
    opacity: 0.92;
}

.sbp-pwa-login .sbp-pwa-input {
    border-color: #b9dff0;
    color: #0f3855;
}

.sbp-pwa-login .sbp-pwa-btn-primary {
    border-radius: 999px;
    box-shadow: none;
}

.sbp-pwa-login .sbp-pwa-login-actions {
    justify-content: flex-start;
    margin-top: 16px;
}

.sbp-pwa-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 0;
}

.sbp-pwa-login-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.sbp-pwa-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
}

.sbp-pwa-check input {
    margin: 0;
}

.sbp-pwa-link {
    background: none;
    border: none;
    padding: 0;
    color: var(--sbp-pwa-navy);
    font-size: 12px;
    text-decoration: underline;
    cursor: pointer;
}

.sbp-pwa-forgot {
    margin-top: 6px;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
    display: none;
}

.sbp-pwa-forgot.is-visible {
    display: block;
}

.sbp-pwa-card {
    background: var(--sbp-pwa-panel);
    border-radius: 0;
    border: 1px solid var(--sbp-pwa-border);
    border-left: 0;
    border-right: 0;
    padding: 18px;
    box-shadow: none;
    margin-left: 0;
    margin-right: 0;
}

.sbp-pwa-card-wide {
    margin-bottom: 12px;
}

.sbp-pwa-section[data-pwa-section="bookings"].sbp-pwa-card-wide {
    margin-bottom: 0;
    padding: 0 18px 0;
}

.sbp-pwa-card h2 {
    margin: 0 0 6px;
    color: var(--sbp-pwa-navy);
    font-size: 20px;
}

.sbp-pwa-muted {
    margin: 0;
    color: var(--sbp-pwa-gray);
    font-size: 13px;
}

.sbp-pwa-input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    font-family: inherit;
    font-size: 14px;
    color: var(--sbp-pwa-ink);
    box-sizing: border-box;
}

select.sbp-pwa-input,
.sbp-pwa-input[type="date"],
.sbp-pwa-input[type="time"],
.sbp-pwa-input[type="search"],
.sbp-pwa-input[type="text"],
.sbp-pwa-input[type="email"],
.sbp-pwa-input[type="number"],
.sbp-pwa-input[type="password"] {
    min-height: 42px;
}

.sbp-pwa-input:focus {
    outline: none;
    border-color: var(--sbp-pwa-sky);
    box-shadow: 0 0 0 2px rgba(153, 194, 203, 0.25);
}

.sbp-pwa-input.is-error,
select.sbp-pwa-input.is-error,
textarea.sbp-pwa-input.is-error {
    border-color: #d34b4b !important;
    background: #fff7f7 !important;
    box-shadow: 0 0 0 2px rgba(211, 75, 75, 0.18) !important;
}

.sbp-pwa-login label,
.sbp-pwa-form label,
.sbp-pwa-filters label {
    display: block;
    margin: 10px 0 6px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-login .sbp-pwa-check {
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-message {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-ink);
    display: none;
    font-size: 13px;
}

.sbp-pwa-message.is-error {
    display: block;
    background: #fdecec;
    color: var(--sbp-pwa-red);
}

.sbp-pwa-message.is-success {
    display: block;
    background: #e6f5ea;
    color: var(--sbp-pwa-green);
}

.sbp-pwa-message.is-pending {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-message.is-pending::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 2px solid rgba(13, 54, 88, 0.25);
    border-top-color: var(--sbp-pwa-navy);
    animation: sbp-pwa-inline-spin 0.8s linear infinite;
    flex: 0 0 14px;
}

.sbp-pwa-main {
    display: none;
    animation: sbp-pwa-fade-in 0.6s ease-out;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.sbp-pwa:not(.is-auth) .sbp-pwa-main[data-pwa-main],
.sbp-pwa:not(.is-auth) nav.sbp-pwa-nav,
.sbp-pwa:not(.is-auth) .sbp-pwa-global-message {
    display: none !important;
}

.sbp-pwa.is-section-bookings {
    height: 100svh;
    height: 100dvh;
    min-height: 100svh;
    min-height: 100dvh;
    overflow: hidden;
    box-sizing: border-box;
    overscroll-behavior-y: none;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.sbp-pwa.is-section-bookings .sbp-pwa-main {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.sbp-pwa.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"]:not([data-pwa-form]):not([data-pwa-detail]) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.sbp-pwa.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"]:not([data-pwa-form]):not([data-pwa-detail]) .sbp-pwa-board {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    overflow: hidden;
}

.sbp-pwa.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"]:not([data-pwa-form]):not([data-pwa-detail]) .sbp-pwa-list[data-pwa-list],
.sbp-pwa.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"]:not([data-pwa-form]):not([data-pwa-detail]) .sbp-pwa-calendar-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    padding-bottom: 0;
}

.sbp-pwa.is-section-reports .sbp-pwa-section[data-pwa-section="reports"],
.sbp-pwa.is-section-sales .sbp-pwa-section[data-pwa-section="sales"] {
    padding-top: var(--sbp-pwa-section-filters-height);
}

.sbp-pwa.is-auth .sbp-pwa-main {
    display: block;
}

.sbp-pwa.is-auth .sbp-pwa-login {
    display: none;
}

.sbp-pwa-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 720px) {
    .sbp-pwa-detail .sbp-pwa-toolbar {
        align-items: flex-start;
    }
    .sbp-pwa-detail .sbp-pwa-toolbar-actions {
        margin-left: auto;
    }
}

.sbp-pwa-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 1;
    margin: 0;
    width: auto;
    box-sizing: border-box;
    padding: 0 calc(14px + env(safe-area-inset-right)) 0 calc(14px + env(safe-area-inset-left));
    background: #eaf4fb;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid #c8dced;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(13, 54, 88, 0.08);
    height: 45px;
    min-height: 45px;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
    margin-bottom: 0;
    padding: 0;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar-actions {
    min-height: 40px;
}

.sbp-pwa.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
    margin-bottom: 0;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-bulk-panel {
    margin: 0;
    padding: 8px 10px;
}

.sbp-pwa.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
    display: none !important;
}

.sbp-pwa.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-bulk-panel.is-visible {
    display: grid;
}

.sbp-pwa-view-btn.is-active,
.sbp-pwa-cal-view-btn.is-active {
    background: var(--sbp-pwa-navy);
    color: #ffffff;
}


.sbp-pwa-filters {
    display: none;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
    padding: 8px 10px;
    border: 1px solid rgba(13, 54, 88, 0.12);
    border-radius: 12px;
    background: linear-gradient(145deg, #f8fcff 0%, #eef6fc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.sbp-pwa.is-filters-open .sbp-pwa-filters {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.sbp-pwa.is-section-reports.is-filters-open .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters,
.sbp-pwa.is-section-sales.is-filters-open .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters {
    position: fixed;
    top: calc(var(--sbp-pwa-nav-height) + env(safe-area-inset-top));
    left: 0;
    right: 0;
    z-index: 146;
    margin: 0;
    padding: 2px calc(14px + env(safe-area-inset-right)) 2px calc(14px + env(safe-area-inset-left));
    align-items: center;
    min-height: 42px;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-radius: 0;
    background: #eaf4fb;
    border-bottom: 1px solid #c8dced;
    box-shadow: 0 4px 12px rgba(13, 54, 88, 0.08);
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
    display: none;
    margin-top: 8px;
}

.sbp-pwa-filters > div {
    flex: 0 0 clamp(132px, 12vw, 154px);
    min-width: clamp(132px, 12vw, 154px);
    display: grid;
    gap: 5px;
    align-content: start;
}

.sbp-pwa-filters .sbp-pwa-input {
    height: 42px;
    min-height: 42px;
    padding: 8px 12px;
    border-radius: 12px;
    border-color: rgba(13, 54, 88, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 4px 12px rgba(13, 54, 88, 0.08);
    font-size: 13px;
}

.sbp-pwa-input[type="date"] {
    height: 42px;
    min-height: 42px;
    padding: 8px 12px;
    line-height: 1.2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.sbp-pwa-filters label {
    margin: 0;
}

.sbp-pwa-filters > div > label:not(.sbp-pwa-switch) {
    display: none;
}

.sbp-pwa-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-switch input {
    width: 18px;
    height: 18px;
}

.sbp-pwa-filter-wide {
    grid-column: 1 / -1;
}

.sbp-pwa-filter-search {
    grid-column: auto;
    flex: 0 0 250px;
    min-width: 250px;
}

.sbp-pwa-filter-actions {
    flex: 0 0 auto;
    min-width: max-content;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
}

.sbp-pwa-filter-actions .sbp-pwa-btn {
    width: auto;
    min-height: 34px;
    padding: 6px 10px;
    font-size: 12px;
    justify-content: center;
}

.sbp-pwa.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
    display: flex;
    flex-wrap: nowrap;
    width: auto;
    align-items: flex-end;
    gap: 10px;
    margin: 0 calc(-14px - env(safe-area-inset-right)) 0 calc(-14px - env(safe-area-inset-left));
    padding: 0 calc(14px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left));
    border: 0;
    border-top: 0;
    border-bottom: 1px solid #c8dced;
    border-radius: 0;
    background: #eaf4fb;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters > div {
    flex: 0 0 154px;
    min-width: 154px;
    gap: 5px;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-search {
    flex: 0 0 230px;
    min-width: 230px;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions {
    flex: 0 0 auto;
    min-width: max-content;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions .sbp-pwa-btn {
    width: auto;
    min-width: max-content;
    min-height: 38px;
    padding: 8px 11px;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input,
.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input[type="date"] {
    height: 42px;
    min-height: 42px;
    padding: 8px 12px;
    font-size: 13px;
    border-radius: 12px;
    width: 100%;
    box-sizing: border-box;
}

.sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input[type="date"] {
    -webkit-appearance: none;
    appearance: none;
    line-height: 1.2;
    padding-right: 12px;
}

.sbp-pwa-bulk-panel {
    display: none;
    gap: 10px;
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-bulk-panel.is-visible {
    display: grid;
}

.sbp-pwa-bulk-summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.sbp-pwa-bulk-actions .sbp-pwa-input {
    width: auto;
    min-width: 150px;
    max-width: 240px;
    height: 32px;
    min-height: 32px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
}

.sbp-pwa-bulk-message {
    margin-top: 0;
}

.sbp-pwa-btn-compact {
    padding: 6px 10px;
    font-size: 11px;
    min-height: 32px;
}

@media (max-width: 720px) {
    .sbp-pwa-filter-search {
        grid-column: 1 / -1;
    }

    .sbp-pwa-filter-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbp-pwa-bulk-summary {
        justify-content: center;
    }

    .sbp-pwa-bulk-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .sbp-pwa-bulk-actions .sbp-pwa-input {
        width: 100%;
        min-width: 0;
        max-width: none;
        grid-column: 1 / -1;
    }
}

.sbp-pwa-list {
    display: grid;
    gap: 12px;
    align-content: start;
}

.sbp-pwa-day-separator {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: var(--sbp-pwa-gray);
    margin: 2px 2px 0;
}

.sbp-pwa-day-separator::before,
.sbp-pwa-day-separator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--sbp-pwa-border);
}

.sbp-pwa-list[data-pwa-list] {
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 2px;
}

.sbp-pwa-resource-group {
    display: grid;
    gap: 10px;
}

.sbp-pwa-resource-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sbp-pwa-resource-group-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--sbp-pwa-gray);
    margin-top: 4px;
}

.sbp-pwa-resource-group-costs-btn {
    flex-shrink: 0;
}

.sbp-pwa-resource-group + .sbp-pwa-resource-group {
    margin-top: 12px;
}

.sbp-pwa-report-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.sbp-pwa-section[data-pwa-section="reports"] > .sbp-pwa-report-cards,
.sbp-pwa-section[data-pwa-section="sales"] > .sbp-pwa-report-cards {
    margin-top: 10px;
}

.sbp-pwa-report-card {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    padding: 12px 14px;
    display: grid;
    gap: 6px;
}

.sbp-pwa-report-card span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-report-card strong {
    font-size: 18px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-report-card.is-net-positive strong,
.sbp-pwa-report-daily-net.is-positive {
    color: #1b5e20;
}

.sbp-pwa-report-card.is-net-negative strong,
.sbp-pwa-report-daily-net.is-negative {
    color: #b42318;
}

.sbp-pwa-report-table {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    overflow-x: auto;
    overflow-y: hidden;
    margin-top: 12px;
}

.sbp-pwa-report-row {
    display: grid;
    grid-template-columns: 1fr 120px 140px;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--sbp-pwa-border);
    font-size: 13px;
    align-items: center;
}

.sbp-pwa-report-row.is-header {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--sbp-pwa-gray);
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-report-row:last-child {
    border-bottom: none;
}

.sbp-pwa-report-row.is-summary {
    background: var(--sbp-pwa-ice);
    font-weight: 600;
}

.sbp-pwa-report-section {
    margin-top: 16px;
}

.sbp-pwa-report-section-accordion {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    overflow: hidden;
}

.sbp-pwa-report-section-accordion > summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-report-section-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-report-section-accordion > summary::after {
    content: '▾';
    float: right;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-report-section-accordion[open] > summary::after {
    content: '▴';
}

.sbp-pwa-report-section-accordion .sbp-pwa-report-section-accordion-actions {
    margin: 8px 12px 8px;
}

.sbp-pwa-report-section-accordion > .sbp-pwa-report-table {
    margin-top: 0;
}

.sbp-pwa-report-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.sbp-pwa-report-section-header h3 {
    margin: 0;
    font-size: 16px;
    color: var(--sbp-pwa-navy);
    flex: 1 1 auto;
    min-width: 0;
}

.sbp-pwa-report-section-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex: 0 0 auto;
    flex-wrap: nowrap;
}

.sbp-pwa-report-owner-inline-wrap {
    display: grid;
    gap: 8px;
    width: 100%;
}

.sbp-pwa-report-owner-inline-details {
    border: 1px dashed rgba(13, 54, 88, 0.28);
    border-radius: 12px;
    background: #f8fbff;
    padding: 10px;
    display: grid;
    gap: 10px;
    font-size: 12px;
    color: #1c3246;
}

.sbp-pwa-report-owner-inline-details.is-error {
    border-color: rgba(176, 48, 69, 0.45);
    background: #fff5f7;
    color: #9f243d;
}

.sbp-pwa-report-owner-inline-content {
    display: grid;
    gap: 10px;
}

.sbp-pwa-report-owner-inline-group {
    display: grid;
    gap: 6px;
}

.sbp-pwa-report-owner-inline-group h5 {
    margin: 0;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-report-owner-inline-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid rgba(159, 183, 204, 0.35);
    padding-bottom: 5px;
}

.sbp-pwa-report-owner-inline-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sbp-pwa-report-owner-inline-item-label {
    min-width: 0;
    flex: 1 1 auto;
    color: #20384f;
}

.sbp-pwa-report-owner-inline-item strong {
    flex: 0 0 auto;
    white-space: nowrap;
    color: var(--sbp-pwa-navy);
    font-size: 12px;
}

.sbp-pwa-report-table.is-types .sbp-pwa-report-row {
    grid-template-columns: minmax(140px, 1.2fr) repeat(5, minmax(90px, 0.8fr));
    min-width: 720px;
}

.sbp-pwa-report-table.is-daily .sbp-pwa-report-row {
    grid-template-columns: minmax(120px, 0.9fr) minmax(90px, 0.65fr) repeat(4, minmax(120px, 0.9fr));
    min-width: 780px;
}

.sbp-pwa-report-daily-summary {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sbp-pwa-report-daily-summary > span {
    flex: 0 0 auto;
}

.sbp-pwa-report-daily-summary > strong {
    margin-left: auto;
    color: #1b5e20;
    font-size: 13px;
    text-align: right;
}

.sbp-pwa-report-daily-summary > strong.is-negative {
    color: #b42318;
}

.sbp-pwa-report-daily-summary::after {
    float: none !important;
    flex: 0 0 auto;
}

.sbp-pwa-report-daily-body {
    padding: 12px;
}

.sbp-pwa-report-daily-header {
    align-items: center;
}

.sbp-pwa-report-daily-header > p {
    margin: 0;
    max-width: 88ch;
}

.sbp-pwa-report-daily-cards {
    margin-top: 4px;
}

.sbp-pwa-report-daily-days {
    display: grid;
    gap: 10px;
}

.sbp-pwa-report-daily-day {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
}

.sbp-pwa-report-daily-day > summary {
    display: grid;
    grid-template-columns: minmax(110px, 0.55fr) minmax(0, 3.5fr) minmax(165px, auto) auto;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    color: var(--sbp-pwa-navy);
    background: #f8fcff;
}

.sbp-pwa-report-daily-day > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-report-daily-day > summary::after {
    content: '▾';
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-report-daily-day[open] > summary::after {
    content: '▴';
}

.sbp-pwa-report-daily-day-date {
    white-space: nowrap;
}

.sbp-pwa-report-daily-day-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    justify-content: center;
    justify-self: center;
    gap: 12px 16px;
    width: min(100%, 860px);
    min-width: 0;
    color: #173f5f;
    font-size: 13px;
    font-weight: 700;
}

.sbp-pwa-report-daily-day-metrics > span {
    min-width: 0;
    line-height: 1.35;
    text-align: center;
}

.sbp-pwa-report-daily-day-body {
    padding: 12px;
    border-top: 1px solid var(--sbp-pwa-border);
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-report-daily-day-body h4 {
    margin: 12px 0 6px;
    color: var(--sbp-pwa-navy);
    font-size: 13px;
}

.sbp-pwa-report-daily-day-body h4:first-child {
    margin-top: 0;
}

.sbp-pwa-report-table.is-daily-bookings .sbp-pwa-report-row {
    grid-template-columns: minmax(125px, 0.9fr) minmax(150px, 1.1fr) minmax(140px, 1fr) repeat(3, minmax(125px, 0.85fr));
    min-width: 850px;
}

.sbp-pwa-report-table.is-daily-costs .sbp-pwa-report-row {
    grid-template-columns: minmax(200px, 1.4fr) minmax(180px, 1.1fr) minmax(120px, 0.7fr);
    min-width: 560px;
}

@media (max-width: 720px) {
    .sbp-pwa-report-daily-summary {
        flex-wrap: wrap;
        gap: 6px 10px;
    }

    .sbp-pwa-report-daily-summary > strong {
        width: 100%;
        margin-left: 0;
        text-align: left;
    }

    .sbp-pwa-report-daily-day > summary {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 7px 10px;
    }

    .sbp-pwa-report-daily-day-metrics {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 16px;
        width: 100%;
        font-size: 12.5px;
    }

    .sbp-pwa-report-daily-day > summary > .sbp-pwa-report-daily-net {
        grid-column: 2;
        grid-row: 1;
        white-space: nowrap;
    }

    .sbp-pwa-report-daily-day > summary::after {
        grid-column: 3;
        grid-row: 1;
    }
}

.sbp-pwa-report-daily-net {
    font-size: inherit;
}

.sbp-pwa-report-table.is-resources .sbp-pwa-report-row {
    grid-template-columns: minmax(160px, 1.2fr) minmax(120px, 1fr) minmax(100px, 0.8fr) repeat(4, minmax(90px, 0.8fr)) minmax(110px, 0.8fr) minmax(100px, 0.8fr);
    min-width: 980px;
}

.sbp-pwa-report-table.is-costs .sbp-pwa-report-row {
    grid-template-columns: minmax(120px, 0.8fr) minmax(110px, 0.8fr) minmax(160px, 1fr) minmax(160px, 1.2fr) minmax(220px, 1fr);
    min-width: 920px;
}

.sbp-pwa-report-table.is-bookings .sbp-pwa-report-row {
    grid-template-columns: minmax(90px, 0.6fr) minmax(160px, 1fr) minmax(220px, 1.2fr) minmax(120px, 0.8fr);
    min-width: 680px;
}

.sbp-pwa-report-table.is-sales-agents .sbp-pwa-report-row {
    grid-template-columns: minmax(170px, 1.2fr) repeat(5, minmax(100px, 0.78fr));
    min-width: 790px;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row {
    grid-template-columns: minmax(120px, 0.95fr) minmax(120px, 0.9fr) minmax(180px, 1.15fr) minmax(280px, 1.7fr) minmax(140px, 0.95fr) minmax(820px, 4.7fr);
    min-width: 1860px;
    width: 100%;
    gap: 12px;
    padding: 10px 12px;
    font-size: 13px;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-report-row {
    grid-template-columns: minmax(110px, 0.9fr) minmax(110px, 0.85fr) minmax(150px, 1fr) minmax(220px, 1.35fr) minmax(130px, 0.8fr) minmax(430px, 2.4fr);
    min-width: 1280px;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-editor,
.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-header-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 6px;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-field {
    justify-items: center;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-report-row > div[data-col-key="amount"] .sbp-pwa-input {
    width: 100%;
    max-width: 170px;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-field .sbp-pwa-input,
.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-editor .sbp-pwa-btn {
    width: 100%;
    max-width: 170px;
    min-width: 0;
}

.sbp-pwa-report-table.is-sales-bookings.is-source-only .sbp-pwa-sales-assignment-total {
    max-width: 170px;
    text-align: center;
    font-size: 10px;
    line-height: 1.15;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row:not(.is-header) {
    align-items: start;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div {
    min-width: 0;
    word-break: break-word;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div[data-col-key="booking"],
.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div[data-col-key="dates"] {
    white-space: nowrap;
}

.sbp-pwa-sales-booking-link {
    font-size: inherit;
    line-height: inherit;
    font-weight: 600;
    text-align: left;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-sales-booking-link {
    font-size: 11px;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-sales-live-commission {
    white-space: nowrap;
    font-size: 11px;
}

.sbp-pwa-report-table.is-sales-agent-report .sbp-pwa-report-row {
    grid-template-columns: minmax(95px, 0.7fr) minmax(150px, 1fr) minmax(170px, 1.1fr) minmax(170px, 1.1fr) minmax(110px, 0.8fr) minmax(100px, 0.8fr) minmax(140px, 1fr);
    min-width: 1120px;
}

.sbp-pwa-report-table.is-mileage .sbp-pwa-report-row {
    grid-template-columns: minmax(90px, 0.7fr) minmax(140px, 1fr) minmax(160px, 1fr) minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(110px, 0.8fr) minmax(90px, 0.7fr) minmax(100px, 0.7fr) minmax(120px, 0.8fr) minmax(100px, 0.7fr);
    min-width: 1170px;
}

.sbp-pwa-report-table.is-mileage-detail .sbp-pwa-report-row {
    grid-template-columns: minmax(90px, 0.7fr) minmax(140px, 1fr) minmax(160px, 1fr) minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(110px, 0.8fr) minmax(90px, 0.7fr) minmax(100px, 0.7fr) minmax(120px, 0.8fr);
    min-width: 1220px;
}

.sbp-pwa-report-table.is-resource-mileage .sbp-pwa-report-row {
    grid-template-columns: minmax(130px, 1fr) minmax(120px, 0.8fr) minmax(170px, 1.2fr) minmax(110px, 0.8fr) minmax(110px, 0.8fr) minmax(90px, 0.7fr) minmax(220px, 1.4fr) minmax(150px, 1fr);
    min-width: 1220px;
}

.sbp-pwa-mileage-input {
    min-width: 100px;
}

.sbp-pwa-report-table.is-sales-manage .sbp-pwa-report-row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
}

.sbp-pwa-report-table.is-sales-manage .sbp-pwa-report-row > div {
    min-width: 0;
    word-break: break-word;
}

.sbp-pwa-owner-documents-shell {
    display: grid;
    gap: 12px;
}

.sbp-pwa-owner-documents-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid rgba(13, 54, 88, 0.14);
    background: linear-gradient(145deg, #f8fcff 0%, #eef6fc 100%);
}

.sbp-pwa-owner-documents-title {
    margin: 0;
    color: var(--sbp-pwa-navy);
    font-size: 18px;
    line-height: 1.15;
}

.sbp-pwa-owner-documents-subtitle {
    margin: 6px 0 0;
    color: var(--sbp-pwa-gray);
    font-size: 13px;
    line-height: 1.4;
    max-width: 66ch;
}

.sbp-pwa-owner-documents-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(78px, 1fr));
    gap: 8px;
    min-width: 0;
}

.sbp-pwa-owner-doc-stat {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(13, 54, 88, 0.12);
    background: #ffffff;
    text-align: center;
}

.sbp-pwa-owner-doc-stat strong {
    color: var(--sbp-pwa-navy);
    font-size: 17px;
    line-height: 1;
}

.sbp-pwa-owner-doc-stat span {
    color: var(--sbp-pwa-gray);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.55px;
}

.sbp-pwa-owner-documents-upload {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid var(--sbp-pwa-border);
    background: #fbfdff;
}

.sbp-pwa-section[data-pwa-section="documents"] .sbp-pwa-owner-documents-filters {
    display: grid !important;
    grid-template-columns: minmax(170px, 1fr) minmax(220px, 1.2fr) minmax(220px, 1.2fr) auto;
    align-items: end;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.sbp-pwa-section[data-pwa-section="documents"] .sbp-pwa-owner-documents-filters > div {
    flex: none;
    min-width: 0;
}

.sbp-pwa-owner-doc-upload-wrap input[type="file"].sbp-pwa-input {
    padding: 7px 8px;
}

.sbp-pwa-owner-doc-upload-wrap input[type="file"].sbp-pwa-input::file-selector-button {
    border: 1px solid rgba(13, 54, 88, 0.18);
    border-radius: 10px;
    background: #f2f7fb;
    color: var(--sbp-pwa-ink);
    padding: 8px 12px;
    margin-right: 10px;
    cursor: pointer;
}

.sbp-pwa-owner-doc-field-action .sbp-pwa-btn {
    width: 100%;
    min-height: 42px;
}

.sbp-pwa-report-table.is-owner-documents {
    border: 0;
    border-radius: 0;
    background: transparent;
    margin-top: 0;
    display: grid;
    gap: 12px;
    overflow: visible;
}

.sbp-pwa-owner-doc-group {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.sbp-pwa-owner-doc-group-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--sbp-pwa-border);
    background: linear-gradient(180deg, #f8fafd 0%, #f1f6fa 100%);
}

.sbp-pwa-owner-doc-group-title {
    margin: 0;
    color: var(--sbp-pwa-navy);
    font-size: 15px;
}

.sbp-pwa-owner-doc-group-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(13, 54, 88, 0.18);
    background: #ffffff;
    color: var(--sbp-pwa-gray);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.45px;
}

.sbp-pwa-owner-doc-list {
    display: grid;
}

.sbp-pwa-owner-doc-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-owner-doc-row:last-child {
    border-bottom: 0;
}

.sbp-pwa-owner-doc-main {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

a.sbp-pwa-owner-doc-main:hover .sbp-pwa-owner-doc-title {
    text-decoration: underline;
}

.sbp-pwa-owner-doc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 28px;
    padding: 0 8px;
    border-radius: 9px;
    background: #edf4ff;
    color: #28578a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.sbp-pwa-owner-doc-content {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.sbp-pwa-owner-doc-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.sbp-pwa-owner-doc-title {
    font-size: 14px;
    line-height: 1.25;
    color: var(--sbp-pwa-ink);
    font-weight: 600;
}

.sbp-pwa-owner-doc-kind {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid #b9d1e7;
    color: #2f5f8f;
    background: #eff7ff;
}

.sbp-pwa-owner-doc-kind.is-signed {
    border-color: #9bc4ab;
    background: #e9f8ef;
    color: #1f6b40;
}

.sbp-pwa-owner-doc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sbp-pwa-owner-doc-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 23px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f3f7fb;
    color: #4c5f6f;
    font-size: 11px;
    line-height: 1.25;
    word-break: break-word;
}

.sbp-pwa-owner-doc-remove-btn {
    flex: 0 0 auto;
}

.sbp-pwa-section[data-pwa-section="documents"] .sbp-pwa-empty {
    margin-top: 2px;
}

@media (max-width: 980px) {
    .sbp-pwa-owner-documents-hero {
        flex-direction: column;
        align-items: stretch;
    }

    .sbp-pwa-owner-documents-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sbp-pwa-section[data-pwa-section="documents"] .sbp-pwa-owner-documents-filters {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-owner-doc-field-action .sbp-pwa-btn {
        width: 100%;
    }

    .sbp-pwa-owner-doc-row {
        align-items: flex-start;
        gap: 8px;
    }

    .sbp-pwa-owner-doc-main {
        gap: 8px;
    }

    .sbp-pwa-owner-doc-icon {
        min-width: 48px;
        min-height: 24px;
        padding: 0 7px;
        font-size: 9px;
    }
}

.sbp-pwa-sales-manage-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.sbp-pwa-sales-manage-accordion {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    padding: 0;
    margin-top: 16px;
    overflow: hidden;
}

.sbp-pwa-sales-manage-accordion > summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    font-size: 15px;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-sales-manage-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-sales-manage-accordion > summary::after {
    content: '▾';
    float: right;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-sales-manage-accordion[open] > summary::after {
    content: '▴';
}

.sbp-pwa-sales-manage-accordion .sbp-pwa-sales-manage-grid {
    padding: 12px;
}

.sbp-pwa-sales-agent-list-wrap {
    padding: 12px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-sales-agent-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.sbp-pwa-sales-agent-list-wrap h4 {
    margin: 0;
    font-size: 15px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-sales-agent-account-heading {
    padding-top: 8px;
    margin-top: 2px;
    border-top: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-sales-agent-account-heading strong {
    color: var(--sbp-pwa-navy);
    font-size: 13px;
}

.sbp-pwa-sales-agent-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.sbp-pwa-sales-agent-tabs .sbp-pwa-btn.is-active {
    background: var(--sbp-pwa-navy);
    border-color: var(--sbp-pwa-navy);
    color: #ffffff;
}

.sbp-pwa-sales-agent-tab-panel {
    display: none;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    padding: 12px;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-sales-agent-tab-panel.is-active {
    display: block;
}

.sbp-pwa-sales-agent-tab-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sbp-pwa-sales-agent-tab-grid .sbp-pwa-form-wide {
    grid-column: 1 / -1;
}

.sbp-pwa-sales-agent-commission-grid {
    display: grid;
    gap: 10px;
}

.sbp-pwa-sales-agent-commission-group {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    padding: 10px;
    background: #ffffff;
}

.sbp-pwa-sales-agent-commission-group-title {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-sales-agent-commission-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sbp-pwa-sales-agent-account-resources {
    min-height: 148px;
    height: auto;
    border-radius: 12px;
    padding: 8px;
}

.sbp-pwa-sales-agent-account-resources:disabled {
    opacity: 0.72;
    background: #f3f6fa;
}

.sbp-pwa-sales-agent-account-hint {
    margin-top: 4px;
    font-size: 12px;
}

@media (max-width: 720px) {
    .sbp-pwa-sales-agent-tab-grid,
    .sbp-pwa-sales-agent-commission-fields {
        grid-template-columns: 1fr;
    }
}

.sbp-pwa-sales-add-wrap {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.sbp-pwa-sales-add-btn {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: var(--sbp-pwa-navy);
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--sbp-pwa-shadow);
}

.sbp-pwa-sales-add-btn:hover {
    background: #0a2d49;
}

.sbp-pwa-sales-add-btn:focus-visible {
    outline: 2px solid var(--sbp-pwa-sky);
    outline-offset: 2px;
}

.sbp-pwa-sales-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sbp-pwa-sales-assignment-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
    width: 100%;
}

.sbp-pwa-sales-assignment-header-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.sbp-pwa-sales-assignment-editor.is-bad-cars,
.sbp-pwa-sales-assignment-header-grid.is-bad-cars {
    grid-template-columns: repeat(5, minmax(132px, 1fr));
}

.sbp-pwa-sales-assignment-header-grid > span {
    display: block;
    min-width: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.15;
    white-space: normal;
    overflow-wrap: anywhere;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row:not(.is-header) .sbp-pwa-sales-assignment-field-label {
    display: none;
}

.sbp-pwa-sales-assignment-field {
    display: grid;
    gap: 4px;
    min-width: 0;
    justify-items: stretch;
    align-content: start;
}

.sbp-pwa-sales-assignment-field-label {
    font-size: 9px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.28px;
    color: var(--sbp-pwa-gray);
    text-align: left;
}

.sbp-pwa-sales-assignment-field-note {
    font-size: 11px;
    line-height: 1.15;
    color: var(--sbp-pwa-navy);
    font-weight: 600;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.sbp-pwa-sales-sector-cell {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sbp-pwa-sales-sector-label {
    font-size: 11px;
    line-height: 1.2;
    color: var(--sbp-pwa-ink);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-sales-sector-note {
    font-size: 10px;
    line-height: 1.15;
    color: var(--sbp-pwa-navy);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-sales-assignment-editor .sbp-pwa-btn {
    padding: 0 10px;
    width: 100%;
    min-width: 102px;
    min-height: 40px;
    height: 40px;
    font-size: 13px;
    justify-self: stretch;
}

.sbp-pwa-sales-assignment-total {
    font-size: 11px;
    line-height: 1.2;
    text-align: left;
    color: var(--sbp-pwa-navy);
    font-weight: 700;
    white-space: normal;
    overflow-wrap: anywhere;
}

.sbp-pwa-sales-assignment-field .sbp-pwa-input {
    min-height: 40px;
    height: 40px;
    padding: 7px 10px;
    font-size: 13px;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div[data-col-key="amount"] .sbp-pwa-input {
    width: 100%;
    max-width: 100%;
}

.sbp-pwa-report-table.is-sales-bookings .sbp-pwa-sales-assignment-field .sbp-pwa-input {
    width: 100%;
    max-width: 100%;
    text-align: left;
    text-align-last: left;
}

.sbp-pwa-sales-assignment-breakdown {
    grid-column: 1 / -1;
    display: grid;
    gap: 4px;
    padding: 6px 8px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.55);
}

.sbp-pwa-sales-assignment-breakdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    line-height: 1.25;
}

.sbp-pwa-sales-assignment-breakdown-item strong {
    font-weight: 600;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-sales-assignment-breakdown-item span {
    color: var(--sbp-pwa-navy);
    font-weight: 600;
    white-space: nowrap;
}

.sbp-pwa-sales-assignment-price {
    grid-column: 1 / -1;
    width: min(100%, 108px);
    max-width: 108px;
    justify-self: start;
}

.sbp-pwa-report-filters .sbp-pwa-filter-actions.sbp-pwa-report-filter-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
}

.sbp-pwa-report-filters .sbp-pwa-filter-actions.sbp-pwa-report-filter-actions .sbp-pwa-btn {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    justify-content: center;
}

.sbp-pwa-sales-filters .sbp-pwa-filter-actions.sbp-pwa-sales-filter-actions {
    display: flex;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
}

.sbp-pwa-sales-filters .sbp-pwa-filter-actions.sbp-pwa-sales-filter-actions .sbp-pwa-btn {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    justify-content: center;
}

.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters > div {
    flex: 0 0 clamp(118px, 10vw, 146px);
    min-width: clamp(118px, 10vw, 146px);
}

.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-filter-search {
    flex: 0 0 clamp(168px, 16vw, 220px);
    min-width: clamp(168px, 16vw, 220px);
}

.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-input,
.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-input[type="date"],
.sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters .sbp-pwa-input,
.sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters .sbp-pwa-input[type="date"],
.sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters .sbp-pwa-btn,
.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-btn {
    height: 38px;
    min-height: 38px;
    box-sizing: border-box;
}

.sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-sales-filter-actions [data-pwa-sales-cancelled] {
    width: 0;
    min-width: 0;
    max-width: none;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12px;
}

@media (min-width: 721px) {
    .sbp-pwa.is-section-reports .sbp-pwa-section[data-pwa-section="reports"],
    .sbp-pwa.is-section-sales .sbp-pwa-section[data-pwa-section="sales"] {
        padding-top: 0 !important;
    }

    .sbp-pwa.is-section-reports.is-filters-open .sbp-pwa-section[data-pwa-section="reports"],
    .sbp-pwa.is-section-sales.is-filters-open .sbp-pwa-section[data-pwa-section="sales"] {
        padding-top: 46px !important;
    }

    .sbp-pwa.is-section-reports.is-filters-open .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters,
    .sbp-pwa.is-section-sales.is-filters-open .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 6px;
        height: 46px;
        min-height: 46px;
        max-height: 46px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters > div {
        flex: 0 0 clamp(120px, 9.2vw, 140px);
        min-width: clamp(120px, 9.2vw, 140px);
    }

    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters > div {
        flex: 0 0 clamp(110px, 8.3vw, 132px);
        min-width: clamp(110px, 8.3vw, 132px);
    }

    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-filter-search {
        flex: 0 0 clamp(164px, 13.4vw, 196px);
        min-width: clamp(164px, 13.4vw, 196px);
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters .sbp-pwa-filter-actions,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-filter-actions {
        flex: 0 0 auto;
        min-width: max-content;
    }

    .sbp-pwa-report-filters .sbp-pwa-filter-actions.sbp-pwa-report-filter-actions .sbp-pwa-btn,
    .sbp-pwa-sales-filters .sbp-pwa-filter-actions.sbp-pwa-sales-filter-actions .sbp-pwa-btn {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        height: 38px;
        min-height: 38px;
        padding-left: 9px;
        padding-right: 9px;
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
    }

    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters .sbp-pwa-sales-filter-actions [data-pwa-sales-cancelled] {
        width: auto;
        min-width: max-content;
    }

    .sbp-pwa.is-section-reports.is-filters-open .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters > div,
    .sbp-pwa.is-section-sales.is-filters-open .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters > div {
        align-content: center;
    }
}

.sbp-pwa-sales-agent-report-cards {
    margin-top: 10px;
}

.sbp-pwa-report-detail {
    display: none;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    padding: 14px;
}

.sbp-pwa-report-detail.is-visible {
    display: block;
}

.sbp-pwa-report-detail.is-inline {
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}

.sbp-pwa-report-table > .sbp-pwa-report-detail.is-inline {
    min-width: 980px;
}

.sbp-pwa-report-resource-tile + .sbp-pwa-report-detail.is-inline {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    margin: 10px 0 12px;
}

.sbp-pwa-report-detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sbp-pwa-report-detail-header h3 {
    margin: 0;
}

.sbp-pwa-report-detail-section {
    margin-top: 14px;
}

.sbp-pwa-report-detail-cards {
    margin-top: 10px;
}

.sbp-pwa-report-cost-accordion {
    margin-top: 8px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    overflow: hidden;
}

.sbp-pwa-report-cost-accordion > summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-report-cost-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-report-cost-accordion > summary::after {
    content: '▾';
    float: right;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-report-cost-accordion[open] > summary::after {
    content: '▴';
}

.sbp-pwa-report-cost-form {
    margin-top: 0;
    padding: 12px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-report-cost-form .sbp-pwa-form-grid {
    align-items: end;
    gap: 12px;
}

.sbp-pwa-report-cost-amount {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.sbp-pwa-report-cost-amount .sbp-pwa-input {
    min-width: 0;
}

.sbp-pwa-report-cost-inline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.sbp-pwa-report-action {
    justify-self: end;
}

.sbp-pwa-report-cost-note-wrap {
    min-width: 0;
}

.sbp-pwa-report-cost-field {
    min-width: 0;
}

.sbp-pwa-report-cost-inline-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
}

.sbp-pwa-report-cost-save-btn,
.sbp-pwa-report-cost-inline-actions [data-pwa-report-cost-cancel] {
    min-height: 42px;
    padding: 10px 14px;
    font-size: 13px;
}

.sbp-pwa-report-cost-form [data-pwa-report-cost-message] {
    margin-top: 8px;
}

.sbp-pwa-report-cost-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.sbp-pwa-resource-costs-cards {
    margin-top: 10px;
}

.sbp-pwa-resource-mileage-cards {
    margin-top: 10px;
}

.sbp-pwa-resource-mileage-print-options {
    margin-top: 10px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: var(--sbp-pwa-panel);
    padding: 10px;
}

.sbp-pwa-resource-mileage-print-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 10px;
    align-items: end;
}

.sbp-pwa-resource-mileage-print-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.sbp-pwa-resource-costs-form {
    margin-top: 10px;
    padding: 12px;
}

.sbp-pwa-resource-costs-panel {
    position: relative;
}

.sbp-pwa-resource-costs-toolbar {
    position: relative;
    align-items: flex-start;
    padding-right: 130px;
    margin-bottom: 10px;
}

.sbp-pwa-resource-costs-heading {
    min-width: 0;
}

.sbp-pwa-resource-costs-toolbar-actions {
    position: absolute;
    right: 0;
    top: 0;
}

.sbp-pwa-cost-panel-close-btn {
    min-height: 38px;
    padding: 8px 16px;
}

.sbp-pwa-resource-costs-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    margin: 0 0 10px;
    padding: 10px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: #f8fcff;
}

.sbp-pwa-resource-costs-range > div {
    min-width: 0;
}

.sbp-pwa-resource-costs-range label {
    margin-top: 0;
}

.sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 12px;
}

.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-date-wrap,
.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-amount-wrap,
.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-wrap {
    min-width: 0;
}

.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-date-wrap,
.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-amount-wrap {
    grid-column: span 1;
}

.sbp-pwa-resource-costs-form [data-pwa-resource-cost-date],
.sbp-pwa-resource-costs-form [data-pwa-resource-cost-amount],
.sbp-pwa-report-cost-form-main [data-pwa-report-cost-date],
.sbp-pwa-report-cost-form-main [data-pwa-report-cost-amount] {
    width: 100%;
    min-height: 42px;
    height: 42px;
}

.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
    min-width: 170px;
    display: flex;
    justify-content: flex-end;
}

.sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions .sbp-pwa-btn {
    min-height: 42px;
    padding: 10px 14px;
    font-size: 13px;
}

.sbp-pwa-report-cost-form-main .sbp-pwa-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sbp-pwa-report-cost-form-main .sbp-pwa-form-wide {
    grid-column: 1 / -1;
}

.sbp-pwa-resource-costs-modal [data-pwa-resource-costs-table] {
    margin-top: 10px;
}

.sbp-pwa-resource-mileage-modal [data-pwa-resource-mileage-table] {
    margin-top: 10px;
}

.sbp-pwa-resource-damages-modal [data-pwa-resource-damages-body] {
    margin-top: 10px;
}

@media (max-width: 980px) {
    .sbp-pwa-resource-mileage-print-grid {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
}

@media (max-width: 560px) {
    .sbp-pwa-resource-mileage-print-grid {
        grid-template-columns: 1fr;
    }
    .sbp-pwa-resource-mileage-print-actions {
        justify-content: flex-start;
    }
}

.sbp-pwa-resource-damages-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 10px;
    align-items: start;
}

.sbp-pwa-resource-damages-map-col {
    min-width: 0;
    display: grid;
    gap: 8px;
    align-content: start;
}

.sbp-pwa-resource-damages-map {
    cursor: default;
}

.sbp-pwa-resource-damage-marker {
    cursor: default;
    pointer-events: none;
}

.sbp-pwa-resource-damages-list-col {
    min-width: 0;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    padding: 10px;
    display: grid;
    gap: 8px;
    align-content: start;
}

.sbp-pwa-resource-damage-card {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: #f9fcff;
    padding: 8px;
    display: grid;
    gap: 6px;
}

.sbp-pwa-resource-damage-card-head {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sbp-pwa-resource-damage-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    border-radius: 8px;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    color: var(--sbp-pwa-navy);
    font-size: 12px;
    font-weight: 700;
}

.sbp-pwa-resource-damage-severity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2px;
    background: #eef2f6;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-resource-damage-severity.is-minor {
    background: #fff4dd;
    color: #a66200;
}

.sbp-pwa-resource-damage-severity.is-medium {
    background: #ffe9dd;
    color: #ad4f08;
}

.sbp-pwa-resource-damage-severity.is-major {
    background: #ffe3e3;
    color: #a62d2d;
}

.sbp-pwa-resource-damage-severity.is-crack {
    background: #e4efff;
    color: #215cb8;
}

.sbp-pwa-resource-damage-note {
    font-size: 13px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-resource-damage-meta {
    font-size: 11px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-resource-damage-photo-empty {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-resource-costs-empty {
    padding: 12px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    color: var(--sbp-pwa-gray);
    text-align: center;
    background: var(--sbp-pwa-panel);
}

@media print {
    body.sbp-pwa-page .sbp-pwa nav.sbp-pwa-nav,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-toolbar-actions,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-filters,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-report-cost-form,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-btn,
    body.sbp-pwa-page .sbp-pwa [data-pwa-fab],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-empty {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"] {
        display: block !important;
        box-shadow: none;
        border: none;
        padding: 0;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-section {
        display: block;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-detail {
        display: none;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section] .sbp-pwa-report-section {
        display: none;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section="types"] .sbp-pwa-report-section[data-report-section="types"],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section="daily"] .sbp-pwa-report-section[data-report-section="daily"],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section="resources"] .sbp-pwa-report-section[data-report-section="resources"],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section="costs"] .sbp-pwa-report-section[data-report-section="costs"],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="reports"][data-print-section="detail"] .sbp-pwa-report-section[data-report-section="detail"] {
        display: block;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-report-daily-body,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-report-daily-day-body {
        display: block !important;
    }

    body.sbp-pwa-page .sbp-pwa[data-print-target="sales"] .sbp-pwa-section[data-pwa-section="reports"] {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa[data-print-target="sales"] .sbp-pwa-section[data-pwa-section="sales"] {
        display: block !important;
        box-shadow: none;
        border: none;
        padding: 0;
    }
}

.sbp-pwa-customer-meta {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-customer-count {
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-navy);
    font-size: 11px;
    white-space: nowrap;
}

.sbp-pwa-customer-item {
    cursor: pointer;
    grid-template-columns: minmax(0, 1fr) auto;
}

.sbp-pwa-customer-stats {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sbp-pwa-customer-docs {
    grid-column: 1 / -1;
    border-top: 1px dashed var(--sbp-pwa-border);
    margin-top: 8px;
    padding-top: 8px;
    display: grid;
    gap: 6px;
}

.sbp-pwa-customer-doc {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    padding: 8px 10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    background: #fff;
}

.sbp-pwa-customer-doc-link {
    display: grid;
    gap: 3px;
    flex: 1 1 auto;
    min-width: 0;
    color: var(--sbp-pwa-ink);
    text-decoration: none;
}

.sbp-pwa-customer-doc-link:visited {
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-customer-doc-title {
    font-size: 13px;
    font-weight: 600;
}

.sbp-pwa-customer-doc-meta {
    font-size: 11px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-customer-doc-remove-btn {
    flex: 0 0 auto;
    margin-top: 2px;
}

.sbp-pwa-customer-docs-empty {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
    padding: 4px 2px;
}

.sbp-pwa-customer-forms {
    border-top: 1px dashed var(--sbp-pwa-border);
    margin-top: 4px;
    padding-top: 8px;
    display: grid;
    gap: 8px;
}

.sbp-pwa-customer-form-block {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    padding: 8px 10px;
    background: #ffffff;
    display: grid;
    gap: 6px;
}

.sbp-pwa-customer-form-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-customer-form-title[data-pwa-customer-booking-id] {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.sbp-pwa-customer-form-title[data-pwa-customer-booking-id]:hover {
    color: #0f65b8;
}

.sbp-pwa-customer-form-fields {
    display: grid;
    gap: 4px;
}

.sbp-pwa-customer-form-field {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-customer-form-field strong {
    color: var(--sbp-pwa-gray);
    font-weight: 600;
}

.sbp-pwa-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 16px 16px;
    border-radius: 14px;
    border: 1px solid var(--sbp-pwa-border);
    background: var(--sbp-pwa-panel);
    cursor: pointer;
    min-height: 74px;
    align-items: center;
    animation: sbp-pwa-stagger 0.4s ease-out;
    animation-delay: var(--sbp-delay, 0ms);
    animation-fill-mode: both;
    overflow: hidden;
}

.sbp-pwa-item.is-no-animate {
    animation: none !important;
    opacity: 1 !important;
}

.sbp-pwa-item.sbp-pwa-resource-item {
    min-height: 64px;
    padding: 10px 14px;
    gap: 10px;
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1.2fr) auto;
}

.sbp-pwa-resource-item-info {
    display: contents;
}

.sbp-pwa-resource-thumb {
    grid-column: 1;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid var(--sbp-pwa-border);
    overflow: hidden;
    background: var(--sbp-pwa-ice);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-resource-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.sbp-pwa-resource-thumb-fallback {
    font-size: 14px;
    font-weight: 700;
    color: var(--sbp-pwa-navy);
    line-height: 1;
}

.sbp-pwa-resource-item .sbp-pwa-resource-item-title,
.sbp-pwa-resource-item .sbp-pwa-resource-item-meta {
    margin: 0;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
    align-self: center;
    min-width: 0;
}

.sbp-pwa-resource-item .sbp-pwa-resource-item-title {
    grid-column: 2;
    justify-self: start;
}

.sbp-pwa-resource-item .sbp-pwa-resource-item-meta {
    grid-column: 3;
    text-align: center;
    justify-self: center;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-resource-item .sbp-pwa-resource-costs-btn {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12px;
}

.sbp-pwa-resource-item .sbp-pwa-resource-mileage-btn {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12px;
}

.sbp-pwa-resource-item .sbp-pwa-resource-damages-btn {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12px;
}

.sbp-pwa-resource-item .sbp-pwa-resource-quick-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.sbp-pwa-resource-item .sbp-pwa-resource-actions {
    grid-column: 4;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.sbp-pwa-resource-item .sbp-pwa-resource-actions .sbp-pwa-item-status {
    margin-left: 2px;
}

.sbp-pwa-resource-delete-inline {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #d9363e;
    border-radius: 999px;
    background: #e53e46;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.15s ease, filter 0.15s ease, opacity 0.15s ease;
}

.sbp-pwa-resource-delete-inline:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

.sbp-pwa-resource-delete-inline:focus-visible {
    outline: 2px solid rgba(229, 62, 70, 0.35);
    outline-offset: 2px;
}

.sbp-pwa-resource-delete-inline:disabled,
.sbp-pwa-resource-delete-inline.is-loading {
    opacity: 0.6;
    cursor: wait;
    transform: none;
}

@media (max-width: 720px) {
    .sbp-pwa-item.sbp-pwa-resource-item {
        grid-template-columns: 52px minmax(0, 1fr) auto;
    }

    .sbp-pwa-resource-item .sbp-pwa-resource-item-meta {
        display: none;
    }

    .sbp-pwa-resource-item .sbp-pwa-resource-actions {
        grid-column: 3;
        gap: 6px;
    }
}

.sbp-pwa-booking-item {
    grid-template-columns: 62px 1fr auto;
    gap: 10px;
    min-height: 112px;
    padding: 14px 14px;
}

.sbp-pwa-item-select {
    display: none;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-item-check {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.sbp-pwa-booking-item.is-select-mode {
    grid-template-columns: 28px 62px 1fr auto;
}

.sbp-pwa-booking-item.is-select-mode .sbp-pwa-item-select {
    display: flex;
}

.sbp-pwa-booking-item.is-middle-segment.is-select-mode {
    grid-template-columns: 28px 62px 1fr auto;
}

.sbp-pwa-booking-item.is-selected {
    border-color: var(--sbp-pwa-navy);
    box-shadow: inset 0 0 0 1px rgba(13, 54, 88, 0.16);
}

.sbp-pwa-booking-item.is-middle-segment {
    grid-template-columns: 62px 1fr auto;
    height: 42px;
    min-height: 42px;
    padding: 0 10px;
    gap: 10px;
    align-items: center;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-info {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    gap: 6px 12px;
    align-items: center;
    min-width: 0;
    height: 100%;
    align-self: center;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day,
.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-status,
.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-select {
    align-self: center;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-title {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-meta {
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-price {
    font-size: 12px;
    margin: 0;
    justify-self: end;
    white-space: nowrap;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day {
    min-height: 34px;
    padding: 2px 3px;
    border-radius: 8px;
    border: 0;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day-num {
    font-size: 20px;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day-meta {
    font-size: 10px;
}

.sbp-pwa-item-day {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 2px;
    min-height: 52px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-ink);
    padding: 6px 4px;
}

.sbp-pwa-item-day.is-actions-trigger {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.sbp-pwa-item-day.is-actions-trigger:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 54, 88, 0.14);
    border-color: var(--sbp-pwa-sky);
}

.sbp-pwa-item-day.is-actions-trigger:focus-visible {
    outline: 2px solid var(--sbp-pwa-sky);
    outline-offset: 1px;
}

.sbp-pwa-item-day-num {
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-item-day-meta {
    font-size: 10px;
    text-transform: lowercase;
    color: var(--sbp-pwa-gray);
    line-height: 1.1;
}

.sbp-pwa-booking-item.is-today {
    border-color: var(--sbp-pwa-sky);
    background: rgba(153, 194, 203, 0.09);
}

.sbp-pwa-item-day.is-today {
    background: var(--sbp-pwa-navy);
    border-color: var(--sbp-pwa-navy);
}

.sbp-pwa-item-day.is-today .sbp-pwa-item-day-num,
.sbp-pwa-item-day.is-today .sbp-pwa-item-day-meta {
    color: #ffffff;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day.is-today {
    border: 0;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day.is-today .sbp-pwa-item-day-num {
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day.is-today .sbp-pwa-item-day-meta {
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-item-title {
    font-size: 15px;
    color: var(--sbp-pwa-navy);
    margin-bottom: 6px;
}

.sbp-pwa-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    min-width: 0;
}

.sbp-pwa-item-meta {
    font-size: 12px;
    color: var(--sbp-pwa-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sbp-pwa-item-submeta {
    margin-top: 4px;
    font-size: 10px;
    color: var(--sbp-pwa-ink);
    letter-spacing: 0.2px;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sbp-pwa-item-title {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-item-price {
    font-size: 12px;
    color: var(--sbp-pwa-navy);
    font-weight: 600;
    display: flex;
    gap: 6px;
    align-items: center;
    overflow: hidden;
}

.sbp-pwa-item-price.has-deposit {
    min-height: 40px;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
    line-height: 1.15;
    overflow: visible;
}

.sbp-pwa-item-deposit {
    color: inherit;
    font-weight: 800;
    white-space: nowrap;
}

.sbp-pwa-item-remaining {
    color: inherit;
    font-weight: 800;
    white-space: nowrap;
}

@media (min-width: 900px) {
    .sbp-pwa-item-info {
        display: grid;
        grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(160px, 0.8fr);
        gap: 8px 16px;
        align-items: center;
    }

    .sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-info {
        grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(160px, 0.8fr);
        gap: 8px 16px;
    }

    .sbp-pwa-item-title {
        margin-bottom: 0;
    }

    .sbp-pwa-item-meta,
    .sbp-pwa-item-submeta,
    .sbp-pwa-item-price {
        margin: 0;
    }

    .sbp-pwa-item-meta,
    .sbp-pwa-item-submeta {
        grid-column: 2;
        text-align: center;
    }

    .sbp-pwa-item-price {
        grid-column: 3;
        justify-self: end;
        text-align: right;
    }

}

@media (max-width: 899px) {
    .sbp-pwa-item-title {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
    }

    .sbp-pwa-item {
        height: auto;
        min-height: 120px;
        padding: 16px 12px;
        overflow: hidden;
    }

    .sbp-pwa-booking-item {
        min-height: 112px;
        grid-template-columns: 56px 1fr max-content;
        padding: 14px 10px;
        align-items: center;
    }

    .sbp-pwa-booking-item.is-select-mode {
        grid-template-columns: 24px 56px 1fr max-content;
    }

    .sbp-pwa-booking-item.is-middle-segment {
        grid-template-columns: 56px 1fr auto;
        height: 40px;
        min-height: 40px;
        padding: 0 8px;
        gap: 10px;
    }

    .sbp-pwa-booking-item.is-middle-segment.is-select-mode {
        grid-template-columns: 24px 56px 1fr auto;
    }

    .sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-info {
        gap: 4px 8px;
    }

    .sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-title {
        display: block;
        -webkit-line-clamp: unset;
        -webkit-box-orient: initial;
        white-space: nowrap;
    }

    .sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-meta {
        -webkit-line-clamp: unset;
        display: block;
        white-space: nowrap;
    }

    .sbp-pwa-booking-item.is-middle-segment .sbp-pwa-item-day {
        min-height: 32px;
    }

    .sbp-pwa-item-info {
        padding: 0;
        justify-content: center;
    }

    .sbp-pwa-item-meta,
    .sbp-pwa-item-submeta,
    .sbp-pwa-item-price {
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sbp-pwa-item-meta {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .sbp-pwa-item-price.has-deposit {
        align-items: flex-start;
    }

    .sbp-pwa-item-status {
        white-space: nowrap;
        max-width: 96px;
        overflow: hidden;
        text-overflow: ellipsis;
        align-self: center;
        justify-self: end;
    }
}

.sbp-pwa-item-price-base {
    font-weight: 400;
    color: var(--sbp-pwa-gray);
    text-decoration: line-through;
}

.sbp-pwa-item-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 88px;
    min-width: 88px;
    max-width: 88px;
    box-sizing: border-box;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-item-status-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    justify-self: end;
    align-self: center;
}

.sbp-pwa-owner-approval-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.sbp-pwa-owner-approval-btn {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid transparent;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: transform 0.15s ease, filter 0.15s ease, opacity 0.15s ease;
}

.sbp-pwa-owner-approval-btn.is-reject {
    background: #d34b4b;
    border-color: #d34b4b;
}

.sbp-pwa-owner-approval-btn.is-accept {
    background: #2f9f58;
    border-color: #2f9f58;
}

.sbp-pwa-owner-approval-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.sbp-pwa-owner-approval-btn:disabled {
    opacity: 0.58;
    cursor: default;
    transform: none;
    filter: none;
}

.sbp-pwa-booking-item.is-middle-segment .sbp-pwa-owner-approval-btn {
    width: 26px;
    height: 26px;
    font-size: 13px;
}

.sbp-pwa-item-status.is-toggle {
    cursor: pointer;
    transition: transform 0.15s ease, filter 0.15s ease;
}

.sbp-pwa-item-status.is-toggle:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

.sbp-pwa-item-status.is-loading {
    opacity: 0.8;
    animation: sbp-pwa-status-pulse 0.9s ease-in-out infinite;
    pointer-events: none;
}

.sbp-pwa-item-actions-trigger {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    color: var(--sbp-pwa-navy);
    font-size: 15px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 auto;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.sbp-pwa-item-actions-trigger:hover {
    background: var(--sbp-pwa-ice);
    border-color: var(--sbp-pwa-sky);
    transform: translateY(-1px);
}

.sbp-pwa-item-actions-trigger:focus-visible {
    outline: 2px solid var(--sbp-pwa-sky);
    outline-offset: 1px;
}

.sbp-pwa-empty {
    padding: 16px;
    border-radius: 12px;
    border: 1px dashed var(--sbp-pwa-border);
    text-align: center;
    color: var(--sbp-pwa-gray);
    display: none;
}

.sbp-pwa-empty.is-visible {
    display: block;
}

.sbp-pwa-board {
    display: block;
}

.sbp-pwa-calendar-wrap {
    display: none;
    margin-top: 0;
}

.sbp-pwa.is-view-calendar .sbp-pwa-calendar-wrap {
    display: block;
    margin-top: 0;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0;
}

.sbp-pwa.is-view-calendar .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
    top: auto;
    margin: 0;
}

.sbp-pwa.is-view-calendar .sbp-pwa-board {
    display: block;
}

.sbp-pwa.is-view-calendar .sbp-pwa-list {
    display: none;
}

.sbp-pwa.is-calendar-only .sbp-pwa-filters,
.sbp-pwa.is-calendar-only .sbp-pwa-list,
.sbp-pwa.is-calendar-only [data-pwa-new] {
    display: none !important;
}

.sbp-pwa.is-calendar-only .sbp-pwa-fab {
    display: none !important;
}

.sbp-pwa.is-calendar-only .sbp-pwa-view-btn {
    display: none !important;
}

.sbp-pwa.is-calendar-only .sbp-pwa-calendar-wrap {
    margin-top: 0;
}

.sbp-pwa-calendar {
    background: var(--sbp-pwa-panel);
    border-radius: 12px;
    border: 1px solid var(--sbp-pwa-border);
    padding: 10px;
    min-height: 520px;
}

.sbp-pwa-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.sbp-pwa-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--sbp-pwa-gray);
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--sbp-pwa-navy);
}

.sbp-pwa-calendar.fc {
    font-family: 'Tenor Sans', serif;
    font-size: 12px;
}

.sbp-pwa-calendar.fc .fc-toolbar-title {
    font-size: 16px;
    color: var(--sbp-pwa-navy) !important;
}

.sbp-pwa-calendar.fc .fc-header-toolbar {
    display: flex !important;
    visibility: visible !important;
    margin-bottom: 10px;
}

.sbp-pwa-calendar.fc .fc-button {
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    color: var(--sbp-pwa-navy) !important;
    padding: 6px 12px;
}

.sbp-pwa-calendar.fc .fc-todayMini-button {
    padding: 6px 10px;
    min-width: 40px;
    font-size: 11px;
}

.sbp-pwa-calendar.fc .fc-button-primary {
    background: #ffffff;
    border-color: var(--sbp-pwa-border);
    color: var(--sbp-pwa-navy) !important;
}

.sbp-pwa-calendar.fc .fc-button-primary:not(:disabled).fc-button-active,
.sbp-pwa-calendar.fc .fc-button-primary:not(:disabled):active {
    background: var(--sbp-pwa-navy);
    border-color: var(--sbp-pwa-navy);
    color: #ffffff !important;
}

.sbp-pwa-calendar.fc .fc-daygrid-day-number {
    color: var(--sbp-pwa-ink) !important;
}

.sbp-pwa-calendar.fc .fc-event {
    border-radius: 8px;
    border: none;
    padding: 2px 4px;
    font-size: 11px;
    position: relative;
}

.sbp-pwa-calendar.fc .fc-event.is-resource-inactive {
    opacity: 0.55;
    filter: grayscale(0.25);
}

.sbp-pwa-calendar.fc .fc-event-title {
    font-weight: 600;
}

.sbp-pwa-calendar.fc .sbp-pwa-dot-event .fc-event-time,
.sbp-pwa-calendar.fc .sbp-pwa-dot-event .fc-event-title {
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-calendar.fc .sbp-pwa-partial-day {
    position: relative;
    overflow: hidden;
    background: transparent !important;
    color: var(--sbp-event-text, #ffffff);
    padding-left: calc(var(--sbp-fill-start, 0%) + 4px);
    padding-right: calc(100% - var(--sbp-fill-end, 100%) + 4px);
}

.sbp-pwa-calendar.fc .sbp-pwa-partial-day::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--sbp-fill-start, 0%);
    right: calc(100% - var(--sbp-fill-end, 100%));
    background: var(--sbp-event-color, #9aa0a6);
    border-radius: 8px;
    z-index: 0;
}

.sbp-pwa-calendar.fc .sbp-pwa-partial-day .fc-event-main {
    position: relative;
    z-index: 1;
}

.sbp-pwa-event-action {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.85);
    color: var(--sbp-pwa-navy);
    font-size: 12px;
    line-height: 18px;
    cursor: pointer;
}

.sbp-pwa-status-menu {
    position: fixed;
    z-index: 9999;
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    box-shadow: var(--sbp-pwa-shadow);
    padding: 8px;
    display: none;
    min-width: 160px;
}

.sbp-pwa-status-menu.is-open {
    display: block;
}

.sbp-pwa-status-menu button {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    border: none;
    background: transparent;
    padding: 6px 8px;
    cursor: pointer;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
    border-radius: 8px;
}

.sbp-pwa-status-menu button:hover {
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-booking-context-menu {
    min-width: 236px;
    max-width: min(92vw, 320px);
    padding: 9px;
    border-radius: 14px;
}

.sbp-pwa-booking-context-menu button {
    font-size: 14px;
    line-height: 1.25;
    justify-content: flex-start;
    padding: 11px 12px;
    min-height: 42px;
    border-radius: 10px;
}

.sbp-pwa-booking-context-menu button.is-danger {
    color: #b42318;
}

.sbp-pwa-booking-context-menu button.is-danger:hover {
    background: #fee4e2;
}

.sbp-pwa-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.sbp-pwa-token-panel {
    display: none;
}

.sbp-pwa.is-token-open .sbp-pwa-token-panel {
    display: block;
}

.sbp-pwa-token-result {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-ink);
    font-size: 12px;
    display: none;
    word-break: break-all;
}

.sbp-pwa-token-result.is-visible {
    display: block;
}

.sbp-pwa-calendar.fc .fc-now-indicator-line {
    border-color: var(--sbp-pwa-sky);
}

.sbp-pwa-calendar.fc .fc-now-indicator-arrow {
    border-color: var(--sbp-pwa-sky);
}

.sbp-pwa-calendar.fc .fc-list {
    border-color: var(--sbp-pwa-border);
    border-radius: 12px;
    overflow: hidden;
}

.sbp-pwa-calendar.fc .fc-col-header {
    background: var(--sbp-pwa-ice);
}

.sbp-pwa-calendar.fc .fc-col-header,
.sbp-pwa-calendar.fc .fc-daygrid-body,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-header,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-body {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove the extra gap between weekday header and day grid */
.sbp-pwa-calendar.fc .fc-daygrid-body {
    background: transparent;
    border-top: none;
}

.sbp-pwa-calendar.fc .fc-scrollgrid-section-header > * {
    border-bottom: none;
}

.sbp-pwa-calendar.fc .fc-scrollgrid {
    border-top: none;
}

.sbp-pwa-calendar.fc .fc-scrollgrid,
.sbp-pwa-calendar.fc .fc-scrollgrid-section,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-header,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-body,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-footer,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-header > td,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-header > th,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-body > td,
.sbp-pwa-calendar.fc .fc-scrollgrid-section-body > th {
    border: none !important;
    background: transparent;
}

.sbp-pwa-calendar.fc .fc-daygrid-body .fc-scrollgrid-sync-table {
    background: transparent;
    border-top: none;
}

.sbp-pwa-calendar.fc .fc-col-header-cell-cushion {
    color: var(--sbp-pwa-navy) !important;
    font-weight: 600;
}

.sbp-pwa-calendar.fc .fc-daygrid-day.fc-day-today {
    background: rgba(153, 194, 203, 0.15);
}

.sbp-pwa-calendar.fc .fc-timegrid-slot-label,
.sbp-pwa-calendar.fc .fc-timegrid-axis-cushion {
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-calendar.fc .fc-highlight {
    background: rgba(153, 194, 203, 0.25);
}

.sbp-pwa-calendar.fc .fc-list-day-cushion {
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-navy);
    font-weight: 600;
}

.sbp-pwa-calendar.fc .fc-list-event:hover td {
    background: rgba(153, 194, 203, 0.18);
}

.sbp-pwa-calendar.fc {
    font-family: 'Tenor Sans', serif;
}

.sbp-pwa .fc-toolbar-title {
    font-size: 18px;
    letter-spacing: 0.6px;
    color: var(--sbp-pwa-navy) !important;
}

.sbp-pwa-calendar.fc .fc-button-primary {
    background: #ffffff;
    border-color: var(--sbp-pwa-border);
    color: var(--sbp-pwa-navy) !important;
}

.sbp-pwa-calendar.fc .fc-button-primary:not(:disabled).fc-button-active,
.sbp-pwa-calendar.fc .fc-button-primary:not(:disabled):active {
    background: var(--sbp-pwa-navy);
    border-color: var(--sbp-pwa-navy);
    color: #ffffff !important;
}

.sbp-pwa .fc-event {
    border-radius: 8px;
    padding: 2px 4px;
}

.sbp-pwa-calendar.fc .fc-list-event-title {
    font-weight: 600;
}

/* Legacy booking edit form remains hidden; booking detail and new create panel stay active. */
body.sbp-pwa-page .sbp-pwa [data-pwa-form][data-pwa-section="bookings"],
body.sbp-pwa-page .sbp-pwa [data-pwa-detail-edit],
body.sbp-pwa-page .sbp-pwa [data-pwa-detail-duplicate] {
    display: none !important;
}

.sbp-pwa-form,
.sbp-pwa-detail,
.sbp-pwa-resource-editor,
.sbp-pwa-resource-costs-modal,
.sbp-pwa-resource-mileage-modal,
.sbp-pwa-resource-damages-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 260;
    padding: var(--sbp-pwa-modal-top-gap) var(--sbp-pwa-modal-side-gap) var(--sbp-pwa-modal-bottom-gap);
    background: rgba(13, 54, 88, 0.35);
    border: none;
    box-shadow: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.sbp-pwa-form.is-open,
.sbp-pwa-detail.is-open,
.sbp-pwa-resource-editor.is-open,
.sbp-pwa-resource-costs-modal.is-open,
.sbp-pwa-resource-mileage-modal.is-open,
.sbp-pwa-resource-damages-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: sbp-pwa-slide-up 0.4s ease-out;
}

.sbp-pwa-image-crop-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 300;
    padding: var(--sbp-pwa-modal-top-gap) var(--sbp-pwa-modal-side-gap) var(--sbp-pwa-modal-bottom-gap);
    background: rgba(13, 54, 88, 0.35);
    overflow-y: auto;
}

.sbp-pwa-image-crop-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-modal-panel {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    background: var(--sbp-pwa-panel);
    border-radius: 18px;
    border: 1px solid var(--sbp-pwa-border);
    box-shadow: var(--sbp-pwa-shadow);
    padding: 18px;
    margin: 0;
}

@media (min-width: 981px) {
    .sbp-pwa-form,
    .sbp-pwa-detail,
    .sbp-pwa-resource-editor,
    .sbp-pwa-resource-costs-modal,
    .sbp-pwa-resource-mileage-modal,
    .sbp-pwa-resource-damages-modal {
        padding: 0;
        overflow: hidden;
        align-items: center;
        justify-content: center;
    }

    .sbp-pwa-modal-panel {
        width: 66.666vw;
        max-width: 66.666vw;
        height: 90vh;
        height: 90dvh;
        max-height: 90vh;
        max-height: 90dvh;
        transform: translateY(2vh);
    }
}

@media (min-width: 981px) {
    .sbp-pwa-image-crop-modal {
        padding: 0;
        overflow: hidden;
    }
}

.sbp-pwa-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.sbp-pwa-resource-basic-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.6fr);
    gap: 18px;
    align-items: start;
}

.sbp-pwa-resource-basic-media,
.sbp-pwa-resource-basic-fields {
    min-width: 0;
}

.sbp-pwa-resource-basic-fields .sbp-pwa-form-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.sbp-pwa-resource-basic-fields .sbp-pwa-form-wide {
    grid-column: 1 / -1;
}

.sbp-pwa-resource-basic-fields .sbp-pwa-resource-current-location-wrap {
    grid-column: auto;
}

.sbp-pwa-resource-basic-fields .sbp-pwa-resource-owner-turnover-wrap,
.sbp-pwa-resource-basic-fields .sbp-pwa-resource-owner-hourly-wrap,
.sbp-pwa-resource-basic-fields .sbp-pwa-resource-renter-liability-basic-wrap {
    min-width: 0;
}

.sbp-pwa-resource-basic-fields .sbp-pwa-resource-owner-turnover-wrap .sbp-pwa-input,
.sbp-pwa-resource-basic-fields .sbp-pwa-resource-owner-hourly-wrap .sbp-pwa-input,
.sbp-pwa-resource-basic-fields .sbp-pwa-resource-renter-liability-basic-wrap .sbp-pwa-input {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.sbp-pwa-form-wide {
    grid-column: 1 / -1;
}

.sbp-pwa-hidden {
    display: none !important;
}

.sbp-pwa-blackouts {
    display: grid;
    gap: 8px;
}

.sbp-pwa-blackouts-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto;
    gap: 8px;
    align-items: end;
}

.sbp-pwa-blackouts-row .sbp-pwa-btn {
    min-height: 36px;
    padding: 6px 12px;
}

.sbp-pwa-blackouts-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sbp-pwa-blackout-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: var(--sbp-pwa-panel);
    font-size: 12px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-blackout-pill button {
    border: none;
    background: transparent;
    color: var(--sbp-pwa-gray);
    font-size: 14px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

@media (max-width: 720px) {
    .sbp-pwa-blackouts-row {
        grid-template-columns: 1fr 1fr;
    }

    .sbp-pwa-blackouts-row .sbp-pwa-btn {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}

.sbp-pwa-form-section {
    margin-bottom: 16px;
}

.sbp-pwa-form-section h3 {
    margin: 0 0 10px;
    font-size: 16px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-resource-editor .sbp-pwa-form-section {
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(13, 54, 88, 0.1);
    border-radius: 14px;
    background: linear-gradient(160deg, #fbfdff 0%, #f4f8fb 100%);
}

.sbp-pwa-resource-editor .sbp-pwa-form-section h3 {
    margin-bottom: 12px;
}

.sbp-pwa-resource-editor .sbp-pwa-form-grid {
    gap: 10px;
}

.sbp-pwa-resource-editor .sbp-pwa-repeat {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid rgba(13, 54, 88, 0.12);
    border-radius: 12px;
    background: #ffffff;
}

.sbp-pwa-resource-editor .sbp-pwa-input {
    background: #ffffff;
}

.sbp-pwa-resource-editor-accordion {
    margin-top: 8px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
}

.sbp-pwa-resource-editor-accordion + .sbp-pwa-resource-editor-accordion {
    margin-top: 10px;
}

.sbp-pwa-resource-editor-accordion > summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    font-weight: 600;
    color: var(--sbp-pwa-primary);
    list-style: none;
    user-select: none;
}

.sbp-pwa-resource-editor-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-resource-editor-accordion > summary::after {
    content: '\25BE';
    font-size: 12px;
    color: rgba(13, 54, 88, 0.75);
    transition: transform 0.18s ease;
}

.sbp-pwa-resource-editor-accordion[open] > summary::after {
    transform: rotate(180deg);
}

.sbp-pwa-resource-editor-accordion > summary:focus-visible {
    outline: 2px solid rgba(13, 54, 88, 0.3);
    outline-offset: -2px;
}

.sbp-pwa-resource-editor-accordion-body {
    padding: 0 12px 12px;
    display: grid;
    gap: 8px;
}

.sbp-pwa-resource-buffer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sbp-pwa-form-hourly {
    display: none;
}

.sbp-pwa-form-hourly.is-visible {
    display: block;
}

.sbp-pwa-form-autocomplete {
    position: relative;
}

.sbp-pwa-customer-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 32;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(13, 54, 88, 0.14);
    max-height: 240px;
    overflow-y: auto;
    padding: 4px;
}

.sbp-pwa-customer-suggest[hidden] {
    display: none;
}

.sbp-pwa-customer-suggest-item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    border-radius: 9px;
    padding: 7px 10px;
    cursor: pointer;
    display: grid;
    gap: 2px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-customer-suggest-item:hover,
.sbp-pwa-customer-suggest-item:focus {
    background: var(--sbp-pwa-ice);
    outline: none;
}

.sbp-pwa-customer-suggest-name {
    font-size: 13px;
    font-weight: 600;
}

.sbp-pwa-customer-suggest-meta {
    font-size: 11px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-price-preview {
    font-size: 13px;
    color: var(--sbp-pwa-gray);
    margin-right: auto;
}

.sbp-pwa-dobas-preview {
    margin-right: 0;
    min-width: 78px;
}

.sbp-pwa-form-mileage-note {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: var(--sbp-pwa-ice);
    padding: 8px 10px;
}

.sbp-pwa-resource-image-picker {
    display: grid;
    gap: 10px;
}

.sbp-pwa-resource-image-preview {
    width: min(340px, 100%);
    aspect-ratio: 16 / 10;
    border-radius: 14px;
    border: 1px solid var(--sbp-pwa-border);
    background: linear-gradient(145deg, #f8fbfd 0%, #eef4f8 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-resource-basic-layout .sbp-pwa-resource-image-preview {
    width: 100%;
    max-width: none;
}

.sbp-pwa-resource-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.sbp-pwa-resource-image-preview.is-empty img {
    display: none;
}

.sbp-pwa-resource-image-empty {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.sbp-pwa-resource-image-preview:not(.is-empty) .sbp-pwa-resource-image-empty {
    display: none;
}

.sbp-pwa-resource-image-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sbp-pwa-resource-image-actions .sbp-pwa-btn {
    min-width: 140px;
}

.sbp-pwa-resource-basic-layout .sbp-pwa-resource-image-actions .sbp-pwa-btn {
    flex: 1 1 0;
    min-width: 0;
}

.sbp-pwa-resource-gallery {
    display: grid;
    gap: 8px;
}

.sbp-pwa-resource-gallery-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

.sbp-pwa-resource-gallery-head span {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-resource-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    max-width: 100%;
    justify-items: stretch;
    align-items: stretch;
}

@media (max-width: 520px) {
    .sbp-pwa-resource-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
}

.sbp-pwa-resource-gallery-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    border: 1px dashed var(--sbp-pwa-border);
    background: linear-gradient(145deg, #f8fbfd 0%, #eef4f8 100%);
    overflow: hidden;
}

.sbp-pwa-resource-gallery-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.sbp-pwa-resource-gallery-tile.is-empty {
    border-style: dashed;
}

.sbp-pwa-resource-gallery-tile.is-add {
    border-style: solid;
}

.sbp-pwa-resource-gallery-add-tile {
    width: 100%;
    height: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-resource-gallery-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 999px;
    background: rgba(12, 30, 48, 0.65);
    color: #ffffff;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
}

.sbp-pwa-resource-gallery-crop {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 999px;
    background: rgba(20, 95, 64, 0.8);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
}

.sbp-pwa-resource-gallery-crop svg,
.sbp-pwa-resource-gallery-crop svg * {
    pointer-events: none;
}

.sbp-pwa-resource-gallery-drag {
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 999px;
    background: rgba(12, 30, 48, 0.72);
    color: #ffffff;
    cursor: grab;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: none;
    z-index: 4;
}

.sbp-pwa-resource-gallery-drag svg,
.sbp-pwa-resource-gallery-drag svg * {
    pointer-events: none;
}

.sbp-pwa-resource-gallery-drag:active {
    cursor: grabbing;
}

.sbp-pwa-resource-gallery-grid.is-dragging {
    user-select: none;
}

.sbp-pwa-resource-gallery-tile.is-drag-source {
    opacity: 0.62;
    transform: scale(0.96);
}

.sbp-pwa-resource-gallery-tile.is-drag-target {
    outline: 2px solid var(--sbp-pwa-navy);
    outline-offset: -2px;
}

.sbp-pwa-image-crop-modal .sbp-pwa-image-crop-panel {
    width: min(900px, 96vw);
    max-width: min(900px, 96vw);
    height: auto;
    max-height: min(90vh, 90dvh);
    transform: none;
    display: grid;
    gap: 12px;
}

.sbp-pwa-image-crop-stage {
    display: grid;
    gap: 10px;
}

.sbp-pwa-image-crop-viewport {
    position: relative;
    width: 100%;
    max-width: min(840px, 100%);
    margin: 0 auto;
    aspect-ratio: 16 / 10;
    border-radius: 14px;
    border: 1px solid var(--sbp-pwa-border);
    overflow: hidden;
    background: #dfe7ee;
    touch-action: none;
}

.sbp-pwa-image-crop-viewport img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none;
    max-height: none;
    user-select: none;
    -webkit-user-drag: none;
    cursor: grab;
}

.sbp-pwa-image-crop-viewport.is-dragging img {
    cursor: grabbing;
}

.sbp-pwa-image-crop-controls {
    display: grid;
    gap: 8px;
}

.sbp-pwa-image-crop-controls label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-image-crop-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.sbp-pwa-resources-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.sbp-pwa-resources-list-wrap {
    display: grid;
    gap: 12px;
}

.sbp-pwa-resources-filters {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.sbp-pwa-resources-list {
    display: grid;
    gap: 12px;
}

.sbp-pwa-resource-form {
    display: block;
}

.sbp-pwa-resource-form.is-open {
    display: block;
}

/* Keep resource editor actions in one horizontal row despite wpautop <br>/<p>. */
.sbp-pwa-resource-form .sbp-pwa-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.sbp-pwa-resource-form .sbp-pwa-form-actions br {
    display: none !important;
}

.sbp-pwa-resource-form .sbp-pwa-form-actions p {
    display: contents;
    margin: 0;
}

.sbp-pwa-resource-form .sbp-pwa-form-actions .sbp-pwa-btn {
    flex: 0 0 auto;
    width: auto;
}

.sbp-pwa-resource-form .sbp-pwa-form-actions [data-pwa-resource-message] {
    flex: 1 0 100%;
}

.sbp-pwa-repeat {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    border: 1px dashed var(--sbp-pwa-border);
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-repeat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 10px;
}

.sbp-pwa-repeat-list {
    display: grid;
    gap: 10px;
}

.sbp-pwa-repeat-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
    align-items: center;
}

.sbp-pwa-repeat-row-daily-tier {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 28px !important;
    gap: 10px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.sbp-pwa-repeat-row-daily-tier-header {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 28px !important;
    gap: 10px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    margin-bottom: 1px;
}

.sbp-pwa-repeat-row-daily-tier-header span {
    font-size: 10px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.45px;
    color: var(--sbp-pwa-gray);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-repeat-row-daily-tier-header span:nth-child(1) { grid-column: 1 !important; }
.sbp-pwa-repeat-row-daily-tier-header span:nth-child(2) { grid-column: 2 !important; }
.sbp-pwa-repeat-row-daily-tier-header span:nth-child(3) { grid-column: 3 !important; }
.sbp-pwa-repeat-row-daily-tier-header span:nth-child(4) { grid-column: 4 !important; }
.sbp-pwa-repeat-row-daily-tier-header span:nth-child(5) { grid-column: 5 !important; }
.sbp-pwa-repeat-row-daily-tier-header span:nth-child(n+6) { display: none !important; }

.sbp-pwa-repeat-list-daily-tier {
    display: grid;
    gap: 4px;
    overflow-x: hidden;
    overflow-y: visible;
    padding-bottom: 0;
}

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-input,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-input {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 34px;
    height: 34px;
    padding: 6px 8px;
    font-size: 11px;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-field="min"] { order: 1; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-field="max"] { order: 2; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-field="limit_km"] { order: 3; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-field="price"] { order: 4; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-field="price_gross"] { order: 5; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier [data-pwa-remove-row] { order: 6; }

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-btn,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove {
    min-height: 30px;
    padding: 4px 8px;
    font-size: 11px;
    justify-content: center;
    white-space: nowrap;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] {
    row-gap: 4px !important;
}

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove-btn {
    width: 28px;
    min-width: 28px;
    max-width: 28px;
    height: 28px;
    min-height: 28px;
    border-radius: 999px;
    border: 0;
    background: #d64545;
    color: #ffffff;
    font-size: 0;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove:hover,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove-btn:hover {
    background: #bc3535;
}

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove::before,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 56%;
    width: 10px;
    height: 9px;
    background: currentColor;
    border-radius: 1px;
    transform: translate(-50%, -50%);
}

.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove::after,
.sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove-btn::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 42%;
    width: 12px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 -2px 0 0 currentColor;
    transform: translate(-50%, -50%);
}

.sbp-pwa-pricing-promotions-accordion {
    margin-top: 12px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f7fafc;
    overflow: hidden;
}

.sbp-pwa-pricing-promotions-accordion > summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 600;
    color: var(--sbp-pwa-primary);
    list-style: none;
}

.sbp-pwa-pricing-promotions-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-pricing-daily-accordion {
    margin-top: 12px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f7fafc;
    overflow: hidden;
}

.sbp-pwa-pricing-daily-accordion > summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 600;
    color: var(--sbp-pwa-primary);
    list-style: none;
}

.sbp-pwa-pricing-daily-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-pricing-daily-accordion-body {
    display: grid;
    gap: 6px;
    padding: 0 12px 12px;
}

.sbp-pwa-pricing-daily-accordion .sbp-pwa-repeat-header {
    margin-bottom: 0;
}

.sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    align-items: end;
}

.sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-extra-km-wrap {
    grid-column: 1;
    min-width: 0;
}

.sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-renter-liability-wrap {
    grid-column: 2;
    min-width: 0;
}

.sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-extra-km-wrap .sbp-pwa-input,
.sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-renter-liability-wrap .sbp-pwa-input {
    width: 100% !important;
    min-width: 0;
}

.sbp-pwa-pricing-promotions-grid {
    display: grid;
    gap: 8px;
    padding: 0 12px 12px;
}

.sbp-pwa-pricing-promo-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sbp-pwa-text);
}

.sbp-pwa-hourly-settings-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.sbp-pwa-hourly-settings-grid > div {
    min-width: 0;
}

.sbp-pwa-resource-form .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.sbp-pwa-resource-form .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div {
    grid-column: auto !important;
    min-width: 0;
    width: 100%;
    max-width: none;
}

.sbp-pwa-resource-form .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > .sbp-pwa-input,
.sbp-pwa-resource-form .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > select.sbp-pwa-input,
.sbp-pwa-resource-form .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > textarea.sbp-pwa-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
}

.sbp-pwa-resource-owner-report {
    margin-top: 10px;
    display: grid;
    gap: 8px;
}

.sbp-pwa-resource-manager-wrap.is-hidden {
    display: none !important;
}

.sbp-pwa-resource-owner-contract-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.sbp-pwa-resource-owner-report-panel {
    display: none;
    border: 1px solid rgba(13, 54, 88, 0.14);
    border-radius: 12px;
    background: #ffffff;
    padding: 10px;
    gap: 8px;
}

.sbp-pwa-resource-owner-report-panel.is-visible {
    display: grid;
}

.sbp-pwa-resource-owner-report-controls {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 10px;
    align-items: end;
}

.sbp-pwa-resource-owner-report-month-wrap {
    width: 100%;
}

.sbp-pwa-resource-owner-report-month-input {
    width: 100% !important;
    max-width: 260px;
}

.sbp-pwa-resource-owner-report-payout-check {
    margin: 0;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.sbp-pwa-resource-owner-report-actions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.sbp-pwa-resource-owner-report-preview {
    border: 1px dashed rgba(13, 54, 88, 0.18);
    border-radius: 10px;
    padding: 10px;
    min-height: 42px;
    background: #f8fbfe;
}

.sbp-pwa-resource-owner-report-preview.is-empty {
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-resource-owner-report-preview h4,
.sbp-pwa-resource-owner-report-preview h5 {
    margin: 0 0 6px;
    color: var(--sbp-pwa-primary);
    font-size: 14px;
}

.sbp-pwa-resource-owner-report-preview p {
    margin: 0 0 6px;
}

.sbp-pwa-resource-owner-report-preview ul {
    margin: 0;
    padding-left: 18px;
}

.sbp-pwa-resource-owner-report-preview table {
    width: 100%;
    border-collapse: collapse;
}

.sbp-pwa-resource-owner-report-preview th,
.sbp-pwa-resource-owner-report-preview td {
    border: 1px solid rgba(13, 54, 88, 0.16);
    padding: 6px 8px;
    text-align: left;
    font-size: 12px;
}

.sbp-pwa-resource-owner-report-preview .sbp-owner-report-total {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(13, 54, 88, 0.22);
    border-radius: 8px;
    background: rgba(13, 54, 88, 0.06);
}

.sbp-pwa-resource-owner-report-preview .sbp-owner-report-total strong {
    display: block;
    font-size: 22px;
    line-height: 1.15;
    color: var(--sbp-pwa-primary);
    letter-spacing: 0.2px;
}

.sbp-pwa-resource-owner-report-preview .sbp-owner-report-total span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--sbp-pwa-gray-2, #4f6375);
}

@media (max-width: 980px) {
    .sbp-pwa-resource-owner-report-controls {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .sbp-pwa-resource-owner-report-month-input {
        max-width: 100%;
    }

    .sbp-pwa-resource-owner-report-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .sbp-pwa-resource-owner-report-payout-check {
        width: 100%;
        min-height: 0;
    }
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 30px !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.sbp-pwa-repeat-row-duration-header {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 30px !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 0 4px;
}

.sbp-pwa-repeat-row-duration-header span {
    font-size: 10px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.45px;
    color: var(--sbp-pwa-gray);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration [data-field="minutes"] { order: 1; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration [data-field="label"] { order: 2; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration [data-field="price"] { order: 3; }
.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration [data-pwa-remove-row] { order: 4; }

.sbp-pwa-duration-minutes,
.sbp-pwa-duration-price {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 38px;
    height: 38px;
    font-size: 13px;
    padding: 7px 10px;
}

.sbp-pwa-repeat-row .sbp-pwa-btn {
    padding: 8px 12px;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-duration-remove-btn {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
    height: 30px;
    min-height: 30px;
    border-radius: 999px;
    border: 0;
    background: #d64545;
    color: #ffffff;
    font-size: 0;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-duration-remove-btn:hover {
    background: #bc3535;
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-duration-remove-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 56%;
    width: 10px;
    height: 9px;
    background: currentColor;
    border-radius: 1px;
    transform: translate(-50%, -50%);
}

.sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-duration-remove-btn::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 42%;
    width: 12px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 -2px 0 0 currentColor;
    transform: translate(-50%, -50%);
}

.sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions,
.sbp-pwa-detail-actions {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}


.sbp-pwa-detail-actions .sbp-pwa-message {
    flex-basis: 100%;
    order: 99;
    margin-top: 2px;
}

.sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-previews {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
}

.sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: stretch;
    gap: 8px;
    flex: 0 0 auto;
    width: 100%;
}

.sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row .sbp-pwa-btn {
    flex: 1 1 0;
    min-width: 0;
}

.sbp-pwa-view-switch-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: auto;
    min-width: 0;
}

.sbp-pwa-view-switch-row .sbp-pwa-view-btn,
.sbp-pwa-view-switch-row .sbp-pwa-cal-view-btn {
    flex: 0 1 auto;
    width: auto;
    min-width: 82px;
    min-height: 40px;
    height: 40px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
}

.sbp-pwa-detail-actions-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 420px;
    min-width: 0;
}

.sbp-pwa-detail-actions-row .sbp-pwa-btn {
    flex: 1 1 0;
    min-width: 0;
}

.sbp-pwa-settings-block {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px dashed var(--sbp-pwa-border);
}

.sbp-pwa-settings-block h3 {
    margin: 0 0 10px;
    font-size: 16px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-settings-groups {
    display: grid;
    gap: 12px;
}

.sbp-pwa-settings-group {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
}

.sbp-pwa-settings-group > summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 14px;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.sbp-pwa-settings-group > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-settings-group > summary::after {
    content: '+';
    font-size: 18px;
    line-height: 1;
}

.sbp-pwa-settings-group[open] > summary::after {
    content: '-';
}

.sbp-pwa-settings-group-body {
    padding: 0 14px 14px;
}

.sbp-pwa-settings-group-body .sbp-pwa-settings-block:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.sbp-pwa-settings-subgroup {
    margin-top: 16px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
}

.sbp-pwa-settings-subgroup > summary {
    list-style: none;
    cursor: pointer;
    padding: 11px 12px;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.sbp-pwa-settings-subgroup > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-settings-subgroup > summary::after {
    content: '+';
    font-size: 17px;
    line-height: 1;
}

.sbp-pwa-settings-subgroup[open] > summary::after {
    content: '-';
}

.sbp-pwa-settings-subgroup-body {
    padding: 0 12px 12px;
}

.sbp-pwa-settings-subgroup-body > .sbp-pwa-settings-block:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.sbp-pwa-settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 6px;
}

.sbp-pwa-contract-upload-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: stretch;
}

.sbp-pwa-contract-upload-row > :first-child {
    flex: 0 0 240px;
}

.sbp-pwa-contract-upload-row > .sbp-pwa-input[type="file"] {
    flex: 1 1 auto;
    min-width: 320px;
}

.sbp-pwa-contract-upload-row > .sbp-pwa-btn {
    flex: 0 0 auto;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sbp-pwa-contract-upload-row .sbp-pwa-input[type="file"] {
    width: 100%;
    min-height: 42px;
    height: 42px;
    padding: 4px 10px;
    display: flex;
    align-items: center;
    line-height: 1.2;
}

.sbp-pwa-contract-upload-row .sbp-pwa-input[type="file"]::file-selector-button {
    height: 30px;
    margin: 0 10px 0 0;
    padding: 0 14px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--sbp-pwa-navy, #0d3658);
    font: inherit;
    cursor: pointer;
}

.sbp-pwa-contract-upload-row .sbp-pwa-input,
.sbp-pwa-contract-upload-row .sbp-pwa-btn {
    min-height: 42px;
    height: 42px;
}

.sbp-pwa-contract-upload-row .sbp-pwa-btn {
    white-space: nowrap;
    padding-left: 18px;
    padding-right: 18px;
    margin: 0;
}

.sbp-pwa-contract-assignment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.sbp-pwa-contract-assignment-item {
    border: 1px solid rgba(13, 54, 88, 0.12);
    border-radius: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.72);
}

.sbp-pwa-contract-assignment-item label {
    display: block;
    margin-bottom: 6px;
}

.sbp-pwa-contract-assignment-item .sbp-pwa-muted {
    margin-top: 6px;
    font-size: 12px;
}

.sbp-pwa-contract-files-list {
    margin-top: 12px;
    display: grid;
    gap: 10px;
}

.sbp-pwa-contract-file-card {
    border: 1px solid rgba(13, 54, 88, 0.12);
    border-radius: 14px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.8);
    display: grid;
    gap: 8px;
}

.sbp-pwa-contract-file-head,
.sbp-pwa-contract-file-meta,
.sbp-pwa-contract-file-assignments,
.sbp-pwa-contract-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sbp-pwa-contract-file-head {
    justify-content: space-between;
}

.sbp-pwa-contract-file-head > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.sbp-pwa-contract-file-name {
    font-weight: 700;
    color: var(--sbp-pwa-navy, #0d3658);
    word-break: break-word;
}

.sbp-pwa-contract-file-kind {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(13, 54, 88, 0.08);
    color: var(--sbp-pwa-navy, #0d3658);
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.sbp-pwa-contract-file-assignment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(153, 194, 203, 0.22);
    color: var(--sbp-pwa-navy, #0d3658);
    font-size: 12px;
    font-weight: 600;
}

.sbp-pwa-contract-file-empty {
    padding: 12px;
    border: 1px dashed rgba(13, 54, 88, 0.18);
    border-radius: 12px;
    color: rgba(13, 54, 88, 0.72);
}

.sbp-pwa-contract-file-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #d94b4b;
    box-shadow: 0 4px 10px rgba(217, 75, 75, 0.22);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.sbp-pwa-contract-file-delete-btn svg {
    width: 15px;
    height: 15px;
    display: block;
    fill: #ffffff;
}

.sbp-pwa-contract-file-delete-btn.is-disabled {
    background: #e9eef2;
    box-shadow: none;
    cursor: not-allowed;
}

.sbp-pwa-contract-file-delete-btn.is-disabled svg {
    fill: #93a1ad;
}

.sbp-pwa-contract-file-delete-btn:hover,
.sbp-pwa-contract-file-delete-btn:focus-visible {
    background: #c53e3e;
    box-shadow: 0 6px 14px rgba(197, 62, 62, 0.26);
    transform: translateY(-1px);
}

.sbp-pwa-contract-file-delete-btn:focus-visible {
    outline: 2px solid rgba(13, 54, 88, 0.2);
    outline-offset: 2px;
}

.sbp-pwa-contract-file-delete-btn.is-disabled:hover,
.sbp-pwa-contract-file-delete-btn.is-disabled:focus-visible {
    background: #e9eef2;
    box-shadow: none;
    transform: none;
    outline: none;
}

@media (max-width: 720px) {
    .sbp-pwa-contract-assignment-grid {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-contract-upload-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sbp-pwa-contract-upload-row > :first-child,
    .sbp-pwa-contract-upload-row > .sbp-pwa-input[type="file"],
    .sbp-pwa-contract-upload-row > .sbp-pwa-btn {
        flex: initial;
        min-width: 0;
    }
}

.sbp-pwa-settings-colors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.sbp-pwa-settings-colors input[type="color"] {
    height: 32px;
    min-height: 32px;
    padding: 0;
}

.sbp-pwa-frontend-layout {
    display: grid;
    gap: 16px;
}

.sbp-pwa-frontend-hero-layout {
    display: grid;
    gap: 12px;
    margin-top: 8px;
}

@media (min-width: 980px) {
    .sbp-pwa-frontend-hero-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.sbp-pwa-frontend-hero-controls .sbp-pwa-resource-gallery {
    margin-top: 0;
}

.sbp-pwa-frontend-hero-controls .sbp-pwa-resource-gallery-grid {
    min-height: 168px;
}

@media (max-width: 720px) {
    .sbp-pwa-frontend-hero-controls .sbp-pwa-resource-gallery-grid {
        min-height: 148px;
    }
}

@media (min-width: 1024px) {
    .sbp-pwa-frontend-layout {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr);
        align-items: start;
    }
}

.sbp-pwa-frontend-preview-block,
.sbp-pwa-frontend-controls {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.sbp-pwa-frontend-preview {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    padding: 8px;
    background: var(--sbp-bg, #f4f7f8);
    width: 100%;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .sbp-pwa-frontend-preview {
        max-width: 50vw;
    }
}

.sbp-pwa-spacing-control {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}

.sbp-pwa-spacing-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sbp-pwa-range {
    width: 100%;
    accent-color: var(--sbp-pwa-navy);
}

.sbp-pwa-frontend-preview.is-color-picker * {
    cursor: pointer;
}

.sbp-pwa-frontend-preview .sbp-pwa-color-flash {
    outline: 2px dashed var(--sbp-pwa-navy);
    outline-offset: 2px;
}

.sbp-pwa-settings-colors .is-color-selected {
    outline: 2px dashed var(--sbp-pwa-navy);
    outline-offset: 2px;
    border-radius: 8px;
}

.sbp-pwa-shortcodes {
    display: grid;
    gap: 10px;
}

.sbp-pwa-shortcode-item {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    padding: 10px;
    background: var(--sbp-pwa-panel);
    display: grid;
    gap: 8px;
}

.sbp-pwa-shortcode-title {
    font-size: 13px;
    color: var(--sbp-pwa-ink);
    font-weight: 600;
}

.sbp-pwa-shortcode-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.sbp-pwa-shortcode-label {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
    min-width: 78px;
}

.sbp-pwa-shortcode-input {
    flex: 1;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 12px;
}

.sbp-pwa-affiliate-generator {
    gap: 12px;
}

.sbp-pwa-affiliate-generator .sbp-pwa-muted {
    margin: 0;
}

.sbp-pwa-affiliate-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sbp-pwa-affiliate-field {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.sbp-pwa-affiliate-field > span {
    color: var(--sbp-pwa-gray);
    font-size: 12px;
}

.sbp-pwa-affiliate-output .sbp-pwa-shortcode-label {
    min-width: 92px;
}

@media (max-width: 760px) {
    .sbp-pwa-affiliate-fields {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-affiliate-output {
        align-items: stretch;
        flex-direction: column;
    }

    .sbp-pwa-affiliate-output .sbp-pwa-shortcode-label {
        min-width: 0;
    }
}

.sbp-pwa-choice-overlay {
    position: fixed;
    inset: 0;
    z-index: 13000;
    background: rgba(8, 19, 31, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.sbp-pwa-choice-panel {
    width: min(420px, 100%);
    background: var(--sbp-pwa-panel);
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    box-shadow: var(--sbp-pwa-shadow);
    padding: 14px;
}

.sbp-pwa-choice-panel p {
    margin: 0 0 10px;
    font-size: 14px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-choice-title {
    margin: 0 0 8px;
    font-size: 18px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-choice-fields {
    display: grid;
    gap: 10px;
    margin-bottom: 8px;
}

.sbp-pwa-choice-field {
    display: grid;
    gap: 6px;
}

.sbp-pwa-choice-field-label {
    font-size: 12px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-choice-methods {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.sbp-pwa-choice-method {
    appearance: none;
    border: 1px solid var(--sbp-pwa-border);
    background: #f6f9fb;
    color: var(--sbp-pwa-ink);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.sbp-pwa-choice-method:hover {
    border-color: var(--sbp-pwa-sky);
}

.sbp-pwa-choice-method.is-active {
    border-color: var(--sbp-pwa-navy);
    background: rgba(13, 54, 88, 0.1);
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-choice-error {
    min-height: 16px;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--sbp-pwa-red);
}

.sbp-pwa-choice-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.sbp-pwa-detail-body {
    display: grid;
    gap: 10px;
    font-size: 13px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-detail-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-workflow-wrap {
    margin-top: 10px;
    display: grid;
    gap: 12px;
}

.sbp-pwa-workflow-card {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 14px;
    background: var(--sbp-pwa-panel);
    padding: 12px;
    display: grid;
    gap: 10px;
}

.sbp-pwa-workflow-card h3 {
    margin: 0;
    font-size: 15px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-workflow-card-collapsible {
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.sbp-pwa-workflow-toggle {
    width: 100%;
    border: 0;
    background: rgba(14, 57, 92, 0.06);
    color: var(--sbp-pwa-navy);
    padding: 12px 14px;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
}

.sbp-pwa-workflow-toggle:hover {
    background: rgba(14, 57, 92, 0.1);
}

.sbp-pwa-workflow-toggle-icon {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    background: #fff;
}

.sbp-pwa-workflow-toggle.is-open {
    border-bottom: 1px solid var(--sbp-pwa-border);
}

.sbp-pwa-workflow-panel {
    padding: 12px;
    display: grid;
    gap: 10px;
}

.sbp-pwa-workflow-card-collapsible .sbp-pwa-workflow-panel[hidden] {
    display: none !important;
    padding: 0;
    gap: 0;
}

.sbp-pwa-workflow-grid {
    gap: 10px;
}

.sbp-pwa-workflow-field {
    display: grid;
    gap: 6px;
}

.sbp-pwa-workflow-panel input.sbp-pwa-input:not([type="range"]),
.sbp-pwa-workflow-panel select.sbp-pwa-input {
    min-height: 44px;
    height: 44px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.2;
}

.sbp-pwa-workflow-field.is-wide {
    grid-column: span 2;
}

.sbp-pwa-workflow-hint {
    font-size: 12px;
    color: #b55a1f;
    background: #fff3e8;
    border: 1px solid #f5d2bb;
    border-radius: 9px;
    padding: 8px 10px;
}

.sbp-pwa-workflow-hint-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sbp-pwa-workflow-hint-text {
    flex: 1 1 auto;
    min-width: 0;
}

.sbp-pwa-workflow-hint-row [data-pwa-workflow-protocol-generate-pdf] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.sbp-pwa-workflow-hint.is-ok {
    color: #1f6d43;
    background: #e6f5eb;
    border-color: #b8e0c5;
}

.sbp-pwa-workflow-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sbp-pwa-workflow-divider {
    height: 1px;
    background: var(--sbp-pwa-border);
    margin: 4px 0 2px;
}

.sbp-pwa-workflow-inline {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.sbp-pwa-workflow-inline .sbp-pwa-input {
    min-width: 220px;
    min-height: 44px;
}

.sbp-pwa-workflow-contract-controls {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(44px, auto);
    gap: 8px;
    align-items: stretch;
    padding-bottom: 0;
}

.sbp-pwa-workflow-contract-controls .sbp-pwa-input {
    width: 100%;
    height: 100%;
    min-height: 44px;
    max-width: 100%;
    border-radius: 12px;
    font-size: 13px;
    padding: 8px 10px;
}

.sbp-pwa-workflow-contract-controls .sbp-pwa-btn {
    width: 100%;
    height: 100%;
    min-height: 44px;
    max-width: 100%;
    white-space: nowrap;
    text-align: center;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.1;
    padding: 8px 10px;
}

.sbp-pwa-workflow-manual-sign-btn {
    background: var(--sbp-pwa-sky);
    color: var(--sbp-pwa-navy);
    border-color: rgba(13, 54, 88, 0.22);
    box-shadow: 0 8px 18px rgba(74, 188, 243, 0.28);
    font-weight: 600;
}

.sbp-pwa-workflow-sign-local .sbp-pwa-workflow-inline {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sbp-pwa-workflow-sign-local .sbp-pwa-workflow-inline .sbp-pwa-btn {
    width: 100%;
    min-height: 46px;
    border-radius: 12px;
    font-size: 13px;
}

.sbp-pwa-workflow-signature-status {
    font-size: 13px;
    color: var(--sbp-pwa-ink);
}

.sbp-pwa-workflow-signature-status a {
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-workflow-sign-local {
    display: none;
    gap: 8px;
}

.sbp-pwa-workflow-sign-local.is-open {
    display: grid;
}

.sbp-pwa-detail .sbp-pwa-workflow-card-collapsible[data-pwa-workflow-card] {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.sbp-pwa-workflow-sign-canvas {
    width: 100%;
    height: 220px;
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    background: #fff;
    touch-action: none;
}

.sbp-pwa-workflow-sign-reference-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sbp-pwa-workflow-sign-reference-links.is-modal {
    margin-top: -2px;
}

.sbp-pwa-workflow-sign-agreements-modal {
    position: relative;
    display: none;
    margin-top: 12px;
    width: 100%;
    box-sizing: border-box;
}

.sbp-pwa-workflow-sign-agreements-modal.is-open {
    display: block;
}

.sbp-pwa-workflow-sign-agreements-backdrop {
    display: none;
}

.sbp-pwa-workflow-sign-agreements-dialog {
    width: 100%;
    max-height: none;
    overflow: visible;
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(13, 54, 88, 0.12);
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(13, 54, 88, 0.12);
}

.sbp-pwa-workflow-sign-agreements-title {
    margin: 0;
    color: var(--sbp-pwa-navy);
    font-size: 20px;
    line-height: 1.2;
}

.sbp-pwa-workflow-sign-agreements-intro {
    margin: 0;
    color: var(--sbp-pwa-gray);
    font-size: 14px;
    line-height: 1.6;
}

.sbp-pwa-workflow-sign-agreements-checkall {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sbp-pwa-navy);
    font-size: 13px;
    font-weight: 600;
}

.sbp-pwa-workflow-sign-agreements-list {
    display: grid;
    gap: 10px;
}

.sbp-pwa-workflow-sign-agreement-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #f8fbfd;
    color: var(--sbp-pwa-ink);
    font-size: 14px;
    line-height: 1.55;
}

.sbp-pwa-workflow-sign-agreement-item input {
    margin-top: 3px;
}

.sbp-pwa-workflow-sign-agreements-error {
    display: none;
    color: #8b1f35;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.sbp-pwa-workflow-sign-agreements-error.is-visible {
    display: block;
}

.sbp-pwa-workflow-sign-agreements-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sbp-pwa-workflow-checklist {
    display: grid;
    gap: 8px;
}

@media (max-width: 720px) {
    .sbp-pwa-workflow-contract-controls {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(44px, auto);
    }

    .sbp-pwa-workflow-sign-local .sbp-pwa-workflow-inline {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-workflow-sign-agreements-actions {
        grid-template-columns: 1fr;
    }
}

.sbp-pwa-workflow-check {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    padding: 8px 10px;
    background: #fff;
}

.sbp-pwa-workflow-check small {
    color: var(--sbp-pwa-gray);
    font-size: 11px;
}

.sbp-pwa-workflow-docs {
    display: grid;
    gap: 8px;
}

.sbp-pwa-workflow-doc {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    padding: 8px 10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    background: #fff;
}

.sbp-pwa-workflow-doc-main {
    display: grid;
    gap: 4px;
    min-width: 0;
    flex: 1 1 auto;
}

.sbp-pwa-workflow-doc a {
    color: var(--sbp-pwa-navy);
    text-decoration: none;
    font-weight: 600;
}

.sbp-pwa-workflow-doc small {
    font-size: 11px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-workflow-doc-remove-btn {
    flex: 0 0 auto;
    margin-top: 2px;
}

.sbp-pwa-workflow-loading {
    border: 1px dashed var(--sbp-pwa-border);
    border-radius: 12px;
    padding: 10px 12px;
    color: var(--sbp-pwa-gray);
    font-size: 13px;
}

.sbp-pwa-workflow-loading.is-error {
    border-color: #f2b9c3;
    background: #fce9ed;
    color: #8b1f35;
}

.sbp-pwa-protocol-map {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    aspect-ratio: 636 / 800;
    border: 1px solid #c7cfd8;
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
    cursor: crosshair;
}

.sbp-pwa-protocol-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.sbp-pwa-protocol-sections {
    display: grid;
    gap: 10px;
    margin-bottom: 10px;
}

.sbp-pwa-protocol-part {
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    padding: 10px;
    background: #f9fcff;
}

.sbp-pwa-protocol-part-collapsible {
    padding: 0;
    overflow: hidden;
    background: #ffffff;
}

.sbp-pwa-protocol-toggle {
    width: 100%;
    border: 0;
    background: #f4f8fb;
    color: var(--sbp-pwa-navy);
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.sbp-pwa-protocol-toggle:focus-visible {
    outline: 2px solid var(--sbp-pwa-primary);
    outline-offset: -2px;
}

.sbp-pwa-protocol-toggle-icon {
    min-width: 16px;
    text-align: center;
    color: var(--sbp-pwa-gray);
    font-weight: 700;
}

.sbp-pwa-protocol-panel {
    padding: 10px;
}

.sbp-pwa-protocol-part h4 {
    margin: 0 0 8px;
    font-size: 14px;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-protocol-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) auto;
    gap: 8px 10px;
    margin-bottom: 10px;
    padding: 8px 10px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    font-size: 12px;
    color: var(--sbp-pwa-ink);
    align-items: center;
}

.sbp-pwa-protocol-summary strong {
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-protocol-summary > div {
    min-width: 0;
}

.sbp-pwa-protocol-summary-item {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sbp-pwa-protocol-summary-pair {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
}

.sbp-pwa-protocol-summary-extra {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    white-space: nowrap;
}

.sbp-pwa-protocol-extra-charge-input {
    width: 90px;
    min-height: 28px;
    padding: 3px 6px;
    font-size: 12px;
    text-align: right;
}

.sbp-pwa-protocol-summary-controls {
    grid-column: auto;
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
}

.sbp-pwa-protocol-top-grid {
    margin-bottom: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sbp-pwa-protocol-top-grid .sbp-pwa-protocol-location-field {
    grid-column: auto;
}

.sbp-pwa-protocol-top-grid .sbp-pwa-protocol-location-field .sbp-pwa-input {
    width: 100%;
    max-width: 100%;
}

.sbp-pwa-protocol-top-grid .sbp-pwa-protocol-agent-field {
    grid-column: auto;
}

@media (min-width: 1024px) {
    .sbp-pwa-protocol-top-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.sbp-pwa-protocol-fuel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.sbp-pwa-protocol-fuel-slider {
    width: 100%;
    min-height: 0;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    accent-color: var(--sbp-pwa-navy);
    display: block;
    -webkit-appearance: none;
    appearance: none;
}

.sbp-pwa-protocol-fuel-slider:focus {
    box-shadow: none;
}

.sbp-pwa-protocol-fuel-slider::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 999px;
    background: #d7e0e8;
}

.sbp-pwa-protocol-fuel-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    background: var(--sbp-pwa-navy);
    box-shadow: 0 0 0 1px rgba(13, 54, 88, 0.25);
    margin-top: -6px;
}

.sbp-pwa-protocol-fuel-slider::-moz-range-track {
    height: 6px;
    border-radius: 999px;
    background: #d7e0e8;
}

.sbp-pwa-protocol-fuel-slider::-moz-range-progress {
    height: 6px;
    border-radius: 999px;
    background: var(--sbp-pwa-sky);
}

.sbp-pwa-protocol-fuel-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    background: var(--sbp-pwa-navy);
    box-shadow: 0 0 0 1px rgba(13, 54, 88, 0.25);
}

.sbp-pwa-protocol-fuel-value {
    min-width: 44px;
    text-align: right;
    font-weight: 600;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-protocol-notes {
    margin-top: 8px;
}

.sbp-pwa-protocol-field-map {
    width: 100%;
}

.sbp-pwa-protocol-damage-layout {
    display: block;
}

.sbp-pwa-protocol-damage-main-accordion {
    margin-top: 8px;
}

.sbp-pwa-protocol-damage-panel-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 10px;
    align-items: start;
    padding: 10px;
}

.sbp-pwa-protocol-damage-map-col {
    min-width: 0;
}

.sbp-pwa-protocol-damage-list-col {
    min-width: 0;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    padding: 10px;
    display: grid;
    align-content: start;
    gap: 8px;
}

.sbp-pwa-protocol-damage-list-col .sbp-pwa-protocol-legend {
    margin-top: 0;
}

.sbp-pwa-protocol-damage-list-col .sbp-pwa-protocol-damages {
    padding: 0;
    overflow: visible;
}

.sbp-pwa-protocol-damage-actions {
    margin-top: 2px;
}

.sbp-pwa-workflow-panel[data-pwa-workflow-panel="protocol_issue"] [data-pwa-workflow-protocol-save-issue],
.sbp-pwa-workflow-panel[data-pwa-workflow-panel="protocol_return"] [data-pwa-workflow-protocol-save-return],
.sbp-pwa-protocol-damage-actions [data-pwa-workflow-protocol-save-bottom] {
    min-height: 28px;
    height: 28px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.sbp-pwa-protocol-map-wide {
    width: calc(100% + 28px);
    margin-left: -14px;
    margin-right: -14px;
}

.sbp-pwa-protocol-map-vehicle {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    pointer-events: none;
    z-index: 1;
}

.sbp-pwa-protocol-car-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.sbp-pwa-protocol-car-svg {
    display: none;
}

.sbp-pwa-protocol-car-svg .sbp-car-fill {
    fill: #ffffff;
    stroke: #111111;
    stroke-width: 2;
}

.sbp-pwa-protocol-car-svg .sbp-car-shell {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-panel {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-cabin {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-door {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-mirror {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-light-front {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-light-back {
    fill: #ffffff;
}

.sbp-pwa-protocol-car-svg .sbp-car-wheel {
    fill: #ffffff;
    stroke: #111111;
    stroke-width: 2;
}

.sbp-pwa-protocol-car-svg .sbp-car-rim {
    fill: none;
    stroke: #111111;
    stroke-width: 1.4;
}

.sbp-pwa-protocol-car-svg .sbp-car-outline rect,
.sbp-pwa-protocol-car-svg .sbp-car-outline line,
.sbp-pwa-protocol-car-svg .sbp-car-outline path,
.sbp-pwa-protocol-car-svg .sbp-car-outline circle {
    fill: none;
    stroke: #111111;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sbp-pwa-protocol-car-svg .sbp-car-rim-spoke {
    stroke: #111111;
    stroke-width: 1.6;
    stroke-linecap: round;
}

.sbp-pwa-protocol-map-markers {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.sbp-pwa-protocol-marker {
    position: absolute;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.22);
    cursor: grab;
    padding: 0;
    background: #d64545;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 720px) {
    .sbp-pwa-resource-group-head {
        flex-wrap: wrap;
    }

    .sbp-pwa-protocol-split {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-protocol-top-grid {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-protocol-summary {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .sbp-pwa-protocol-summary-controls {
        justify-content: flex-start;
    }

    .sbp-pwa-protocol-extra-charge-input {
        width: 88px;
        max-width: none;
    }

    .sbp-pwa-protocol-summary-pair {
        justify-content: space-between;
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .sbp-pwa-protocol-map-wide {
        width: calc(100% + 16px);
        margin-left: -8px;
        margin-right: -8px;
    }

    .sbp-pwa-protocol-damage-panel-content {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .sbp-pwa-protocol-damage-list-col {
        max-height: none;
    }

    .sbp-pwa-resource-damages-layout {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-resource-damages-list-col {
        padding: 8px;
    }
}

.sbp-pwa-protocol-map.is-dragging {
    cursor: grabbing;
    touch-action: none;
}

.sbp-pwa-protocol-map.is-dragging .sbp-pwa-protocol-marker {
    cursor: grabbing;
}

.sbp-pwa-protocol-marker.is-minor {
    background: #f5a623;
}

.sbp-pwa-protocol-marker.is-medium {
    background: #f26f21;
}

.sbp-pwa-protocol-marker.is-major {
    background: #d64545;
}

.sbp-pwa-protocol-marker.is-crack {
    background: #2f7ae5;
}

.sbp-pwa-protocol-legend {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-protocol-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sbp-pwa-protocol-legend-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.18);
    display: inline-block;
}

.sbp-pwa-protocol-legend-dot.is-minor {
    background: #f5a623;
}

.sbp-pwa-protocol-legend-dot.is-medium {
    background: #f26f21;
}

.sbp-pwa-protocol-legend-dot.is-major {
    background: #d64545;
}

.sbp-pwa-protocol-legend-dot.is-crack {
    background: #2f7ae5;
}

.sbp-pwa-protocol-damages-accordion {
    margin-top: 8px;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.sbp-pwa-protocol-damages-accordion > summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--sbp-pwa-navy);
    background: #f7fbff;
}

.sbp-pwa-protocol-damages-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-protocol-damages-accordion > summary::after {
    content: '+';
    float: right;
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-protocol-damages-accordion[open] > summary::after {
    content: '-';
}

.sbp-pwa-protocol-damages {
    margin-top: 0;
    padding: 6px 0 0;
    display: grid;
    gap: 6px;
}

.sbp-pwa-protocol-damage-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 120px) minmax(0, 1fr) 28px 28px;
    gap: 6px;
    align-items: center;
    min-width: 0;
}

.sbp-pwa-protocol-damage-row > * {
    min-width: 0;
}

.sbp-pwa-protocol-damage-index {
    width: 32px;
    height: 26px;
    padding: 0;
    border-radius: 8px;
    border: 1px solid var(--sbp-pwa-border);
    background: #fff;
    color: var(--sbp-pwa-navy);
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.sbp-pwa-protocol-damage-index[aria-expanded="true"] {
    background: var(--sbp-pwa-ice);
    border-color: var(--sbp-pwa-sky);
}

.sbp-pwa-protocol-damage-index:focus-visible {
    outline: 2px solid var(--sbp-pwa-sky);
    outline-offset: 1px;
}

.sbp-pwa-protocol-damage-created {
    grid-column: 1 / -1;
    display: none;
    margin-top: -2px;
    padding: 4px 8px;
    border-radius: 8px;
    border: 1px solid var(--sbp-pwa-border);
    background: var(--sbp-pwa-ice);
    color: var(--sbp-pwa-gray);
    font-size: 11px;
    line-height: 1.3;
}

.sbp-pwa-protocol-damage-created.is-visible {
    display: block;
}

.sbp-pwa-protocol-damage-created-date {
    margin-bottom: 4px;
}

.sbp-pwa-protocol-damage-created-photo-meta {
    margin-bottom: 6px;
}

.sbp-pwa-protocol-damage-created-photo-link {
    display: inline-block;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
}

.sbp-pwa-protocol-damage-created-photo {
    display: block;
    width: min(220px, 100%);
    max-height: 140px;
    object-fit: cover;
}

.sbp-pwa-protocol-damage-created-photo-empty {
    color: var(--sbp-pwa-gray);
}

.sbp-pwa-protocol-damage-row .sbp-pwa-input {
    min-height: 34px;
    padding: 6px 8px;
}

.sbp-pwa-protocol-damage-note-input {
    font-size: 12px;
}

.sbp-pwa-protocol-damage-photo-btn {
    width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border-radius: 999px;
    border: 0;
    background: #2ea44f;
    color: #ffffff;
    font-size: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.sbp-pwa-protocol-damage-photo-btn.is-has-photo {
    background: #24853f;
    color: #ffffff;
}

.sbp-pwa-protocol-damage-photo-btn:not(.is-has-photo):hover {
    background: #268d45;
}

.sbp-pwa-protocol-damage-photo-btn.is-has-photo:hover {
    background: #1e7437;
}

.sbp-pwa-protocol-damage-photo-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 52%;
    width: 12px;
    height: 8px;
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 -3px 0 -2px currentColor;
    transform: translate(-50%, -50%);
}

.sbp-pwa-protocol-damage-photo-btn::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 52%;
    width: 4px;
    height: 4px;
    border: 1.5px solid #2ea44f;
    background: transparent;
    border-radius: 999px;
    transform: translate(-50%, -50%);
}

.sbp-pwa-protocol-damage-photo-btn.is-has-photo::after {
    border-color: #24853f;
}

.sbp-pwa-protocol-damage-photo-btn:disabled {
    opacity: 0.7;
    cursor: default;
}

.sbp-pwa-protocol-damage-remove-btn {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 0;
    background: #d64545;
    color: #ffffff;
    font-size: 0;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.sbp-pwa-protocol-damage-remove-btn:hover {
    background: #bc3535;
}

.sbp-pwa-protocol-damage-remove-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 56%;
    width: 10px;
    height: 9px;
    background: currentColor;
    border-radius: 1px;
    transform: translate(-50%, -50%);
}

.sbp-pwa-protocol-damage-remove-btn::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 42%;
    width: 12px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 -2px 0 0 currentColor;
    transform: translate(-50%, -50%);
}

@media (max-width: 720px) {
    .sbp-pwa-workflow-field.is-wide {
        grid-column: span 1;
    }

    .sbp-pwa-workflow-check {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .sbp-pwa-workflow-check small {
        grid-column: 1 / -1;
        padding-left: 26px;
    }

    .sbp-pwa-protocol-damage-row {
        grid-template-columns: 30px minmax(0, 90px) minmax(0, 1fr) 28px 28px;
    }
}

@keyframes sbp-pwa-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes sbp-pwa-slide-up {
    from { transform: translateY(12px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes sbp-pwa-stagger {
    from { transform: translateY(10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes sbp-pwa-status-pulse {
    0% { opacity: 0.45; }
    50% { opacity: 0.95; }
    100% { opacity: 0.45; }
}

@keyframes sbp-pwa-inline-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 720px) {
    .sbp-pwa nav.sbp-pwa-nav {
        margin-bottom: 12px;
        box-shadow: 0 10px 24px rgba(13, 54, 88, 0.12);
    }

    .sbp-pwa-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .sbp-pwa-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .sbp-pwa-mark,
    .sbp-pwa-card,
    .sbp-pwa-btn-primary {
        box-shadow: none;
    }

    .sbp-pwa-title-sub {
        display: none;
    }

    .sbp-pwa-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .sbp-pwa-toolbar .sbp-pwa-muted {
        display: none;
    }

    .sbp-pwa-toolbar-actions {
        width: 100%;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
        top: auto;
        margin: 0;
        height: 35px;
        min-height: 35px;
        padding: 0 calc(10px + env(safe-area-inset-right)) 0 calc(10px + env(safe-area-inset-left));
    }

    .sbp-pwa.is-view-calendar .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
        top: auto;
        margin: 0;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
        margin-bottom: 0;
    }

    .sbp-pwa.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
        margin-bottom: 0;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
        display: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px;
        margin-top: 0;
        overflow: visible;
        border-radius: 12px;
        border: 1px solid rgba(13, 54, 88, 0.14);
        background: linear-gradient(145deg, #f8fcff 0%, #eef6fc 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters > div {
        min-width: 0;
        flex: none;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-search {
        flex: none;
        min-width: 0;
        grid-column: span 2;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions {
        flex: none;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        min-width: 0;
        grid-column: span 2;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions .sbp-pwa-btn {
        width: 100%;
        min-height: 34px;
        padding: 6px 9px;
        font-size: 11px;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input,
    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input[type="date"] {
        min-height: 36px;
        height: 36px;
        padding: 6px 8px;
        font-size: 12px;
    }

    .sbp-pwa.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
        display: grid;
        width: auto;
        margin-left: calc(-10px - env(safe-area-inset-left));
        margin-right: calc(-10px - env(safe-area-inset-right));
        padding-left: calc(10px + env(safe-area-inset-left));
        padding-right: calc(10px + env(safe-area-inset-right));
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-bulk-panel {
        padding: 8px;
    }

    .sbp-pwa-filters {
        display: none;
        padding: 12px;
        border-radius: 14px;
        background: linear-gradient(145deg, #ffffff 0%, #f5f9fc 100%);
        border: 1px solid var(--sbp-pwa-border);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .sbp-pwa-filter-wide {
        grid-column: span 2;
    }

    .sbp-pwa-filter-search {
        grid-column: span 2;
    }

    .sbp-pwa.is-filters-open .sbp-pwa-filters {
        display: grid;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filters,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filters {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filter-wide,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filter-wide,
    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-filter-search,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-filter-search {
        grid-column: 1;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-toolbar-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-toolbar-actions .sbp-pwa-btn {
        width: 100%;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-cards,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 10px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-card,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-card {
        padding: 8px 10px;
        gap: 3px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-card span,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-card span {
        font-size: 10px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-card strong,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-card strong {
        font-size: 15px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-section-header,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-section-header {
        align-items: center;
        gap: 6px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-section-header h3,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-section-header h3 {
        font-size: 14px;
        line-height: 1.2;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-section-actions {
        gap: 4px;
        margin-left: auto;
        flex-wrap: nowrap;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-section-actions .sbp-pwa-btn {
        min-height: 30px;
        padding: 6px 8px;
        font-size: 11px;
    }

    .sbp-pwa-sales-filters .sbp-pwa-filter-actions.sbp-pwa-sales-filter-actions {
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        min-width: 0;
    }

    .sbp-pwa-sales-filters .sbp-pwa-filter-actions.sbp-pwa-sales-filter-actions .sbp-pwa-btn {
        flex: 1 1 0;
        width: 0;
        min-width: 0;
        min-height: 34px;
        padding: 7px 8px;
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sbp-pwa.is-view-calendar .sbp-pwa-list {
        display: none;
    }

    .sbp-pwa.is-view-calendar .sbp-pwa-board {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-item {
        min-height: 120px;
        padding: 10px 10px;
        align-items: center;
    }

    .sbp-pwa-booking-item {
        min-height: 120px;
        grid-template-columns: 64px 1fr max-content;
        align-items: center;
    }

    .sbp-pwa-booking-item.is-select-mode {
        grid-template-columns: 24px 64px 1fr max-content;
    }

    .sbp-pwa.is-section-bookings .sbp-pwa-list[data-pwa-list] {
        max-height: none;
        height: auto;
    }

    .sbp-pwa-list {
        gap: 10px;
    }

    .sbp-pwa-item-info {
        gap: 2px;
        justify-content: center;
    }

    .sbp-pwa-item-title {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        margin-bottom: 0;
        line-height: 1.2;
    }

    .sbp-pwa-item-meta,
    .sbp-pwa-item-submeta {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        line-height: 1.2;
    }

    .sbp-pwa-item-status {
        width: 88px;
        min-width: 88px;
        max-width: 88px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        align-self: center;
    }

    .sbp-pwa-item-price.has-deposit {
        min-height: 0;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        text-align: left;
    }

    .sbp-pwa-item-actions-trigger {
        width: 26px;
        height: 26px;
        font-size: 14px;
    }

    .sbp-pwa-nav {
        width: 100%;
        justify-content: space-between;
    }

    .sbp-pwa-resources-grid {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-sales-manage-grid {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-sales-assignment-editor {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbp-pwa-sales-assignment-editor.is-bad-cars,
    .sbp-pwa-sales-assignment-header-grid.is-bad-cars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div[data-col-key="amount"] .sbp-pwa-input,
    .sbp-pwa-report-table.is-sales-bookings .sbp-pwa-sales-assignment-field .sbp-pwa-input {
        width: 100%;
    }

    .sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row {
        min-width: 0 !important;
    }

    .sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row .sbp-pwa-sales-assignment-field-label {
        display: block;
    }

    .sbp-pwa-report-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 8px 10px;
        font-size: 12px;
    }

    .sbp-pwa-report-row.is-header {
        display: none;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-row > div,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-row > div {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
        align-items: flex-start;
        word-break: normal;
        overflow-wrap: anywhere;
        line-height: 1.25;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-row > div::before,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-row > div::before {
        content: attr(data-col-label);
        display: block;
        font-size: 10px;
        line-height: 1.1;
        text-transform: uppercase;
        letter-spacing: 0.45px;
        color: var(--sbp-pwa-gray);
        margin-bottom: 1px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-row > div:not([data-col-label]),
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-row > div:not([data-col-label]) {
        display: block;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-row > div:not([data-col-label])::before,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-row > div:not([data-col-label])::before {
        content: none;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-row.is-summary > div::before,
    .sbp-pwa-section[data-pwa-section="sales"] .sbp-pwa-report-row.is-summary > div::before {
        color: #5f6f78;
    }

    .sbp-pwa-report-table.is-sales-bookings .sbp-pwa-report-row > div[data-col-key="type"],
    .sbp-pwa-report-table.is-sales-agent-report .sbp-pwa-report-row > div[data-col-key="source"] {
        display: none;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table {
        border: 0;
        background: transparent;
        overflow-x: visible;
        overflow-y: visible;
        margin-top: 8px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row {
        min-width: 0 !important;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 8px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row:not(.is-header) {
        border: 1px solid var(--sbp-pwa-border);
        border-radius: 12px;
        background: var(--sbp-pwa-panel);
        padding: 10px;
        margin-bottom: 8px;
        gap: 8px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row:not(.is-header):last-child {
        margin-bottom: 0;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > div {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 3px;
        padding: 6px 8px;
        border: 1px solid rgba(159, 183, 204, 0.45);
        border-radius: 10px;
        background: #f8fcff;
        overflow-wrap: anywhere;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > div::before {
        margin-bottom: 0;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > div:not([data-col-label]) {
        display: block;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > div:nth-child(n + 4) {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(108px, max-content) minmax(0, 1fr);
        align-items: baseline;
        column-gap: 8px;
        row-gap: 0;
        background: #fdfefe;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > div:nth-child(n + 4)::before {
        margin-bottom: 0;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > .sbp-pwa-report-action {
        grid-column: 1 / -1;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table .sbp-pwa-report-row > .sbp-pwa-report-action .sbp-pwa-btn {
        width: 100%;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards {
        border: 0;
        background: transparent;
        overflow: visible;
        display: grid;
        gap: 10px;
        margin-top: 8px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile {
        border: 1px solid var(--sbp-pwa-border);
        border-radius: 14px;
        background: linear-gradient(145deg, #ffffff 0%, #f4f9fd 100%);
        overflow: hidden;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile > summary {
        list-style: none;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile > summary::-webkit-details-marker {
        display: none;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-summary {
        position: relative;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        align-items: stretch;
        padding: 10px 28px 10px 10px;
        cursor: pointer;
        background: #eef5fb;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile:not(.is-summary) > .sbp-pwa-report-resource-tile-summary::after {
        content: '▾';
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--sbp-pwa-gray);
        font-size: 12px;
        line-height: 1;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile[open] > .sbp-pwa-report-resource-tile-summary::after {
        content: '▴';
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-summary-cell {
        min-width: 0;
        display: grid;
        gap: 2px;
        padding: 6px 7px;
        border: 1px solid rgba(159, 183, 204, 0.45);
        border-radius: 10px;
        background: #f9fcff;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-summary-label {
        font-size: 10px;
        line-height: 1.1;
        text-transform: uppercase;
        letter-spacing: 0.45px;
        color: var(--sbp-pwa-gray);
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-summary-value {
        font-size: 13px;
        line-height: 1.2;
        color: var(--sbp-pwa-navy);
        word-break: break-word;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-body {
        display: grid;
        gap: 8px;
        padding: 10px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-details {
        display: grid;
        gap: 6px;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-detail-row {
        display: grid;
        grid-template-columns: minmax(108px, max-content) minmax(0, 1fr);
        align-items: baseline;
        column-gap: 8px;
        padding: 6px 8px;
        border: 1px solid rgba(159, 183, 204, 0.4);
        border-radius: 10px;
        background: #fdfefe;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-detail-label {
        font-size: 10px;
        line-height: 1.1;
        text-transform: uppercase;
        letter-spacing: 0.45px;
        color: var(--sbp-pwa-gray);
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-detail-value {
        font-size: 12px;
        line-height: 1.25;
        color: #1f3550;
        word-break: break-word;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile-action .sbp-pwa-btn {
        width: 100%;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile.is-summary {
        padding: 0;
    }

    .sbp-pwa-section[data-pwa-section="reports"] .sbp-pwa-report-table.is-resources.is-mobile-resource-cards .sbp-pwa-report-resource-tile.is-summary .sbp-pwa-report-resource-tile-details {
        padding: 10px;
    }

    .sbp-pwa-repeat-row {
        grid-template-columns: 1fr;
    }

    .sbp-pwa-hourly-settings-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) 24px !important;
        gap: 10px !important;
    }

    .sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-input {
        width: 100% !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 5px 6px !important;
        font-size: 11px !important;
    }

    .sbp-pwa-repeat-row-duration-header {
        grid-template-columns: repeat(3, minmax(0, 1fr)) 24px !important;
        gap: 10px !important;
    }

    .sbp-pwa-repeat-list[data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-duration-remove-btn {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
    }

    .sbp-pwa-repeat-row-daily-tier-header,
    .sbp-pwa-repeat-row-daily-tier {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) 24px !important;
        gap: 10px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .sbp-pwa-repeat-row-daily-tier .sbp-pwa-input,
    .sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-input {
        min-height: 30px !important;
        height: 30px !important;
        padding: 5px 6px !important;
        font-size: 11px !important;
    }

    .sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove,
    .sbp-pwa-repeat-row-daily-tier .sbp-pwa-daily-tier-remove-btn {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
    }

    .sbp-pwa-form.is-open,
    .sbp-pwa-resource-editor.is-open,
    .sbp-pwa-detail.is-open,
    .sbp-pwa-resource-costs-modal.is-open,
    .sbp-pwa-resource-mileage-modal.is-open,
    .sbp-pwa-resource-damages-modal.is-open {
        align-items: center;
    }

    .sbp-pwa-form,
    .sbp-pwa-detail,
    .sbp-pwa-resource-editor,
    .sbp-pwa-resource-costs-modal,
    .sbp-pwa-resource-mileage-modal,
    .sbp-pwa-resource-damages-modal {
        --sbp-pwa-modal-side-gap: 5vw;
    }

    .sbp-pwa-modal-panel {
        border-radius: 18px;
        max-height: 100%;
    }

    .sbp-pwa-form .sbp-pwa-modal-panel,
    .sbp-pwa-detail .sbp-pwa-modal-panel {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 980px) {
    .sbp-pwa-item-actions-trigger {
        display: none;
    }
}

.sbp-pwa .sbp-pwa-modal-panel {
    margin-top: 0;
}

@media (max-width: 980px) {
    .sbp-pwa-form,
    .sbp-pwa-detail,
    .sbp-pwa-resource-editor,
    .sbp-pwa-resource-costs-modal,
    .sbp-pwa-resource-mileage-modal,
    .sbp-pwa-resource-damages-modal {
        padding: 0;
        overflow: hidden;
        align-items: center;
        justify-content: center;
    }

    .sbp-pwa-modal-panel {
        width: 90vw;
        max-width: 90vw;
        height: 90vh;
        height: 90dvh;
        max-height: 90vh;
        max-height: 90dvh;
        transform: translateY(2vh);
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-modal-panel {
        padding: 12px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-toolbar {
        margin-bottom: 8px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-grid .sbp-pwa-form-wide {
        grid-column: 1 / -1;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) label {
        margin: 4px 0 3px;
        font-size: 10px;
        letter-spacing: 0.4px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input,
    .sbp-pwa-form:not([data-pwa-section="bookings"]) select.sbp-pwa-input,
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="date"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="time"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="search"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="text"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="email"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="number"] {
        min-height: 36px;
        padding: 7px 9px;
        font-size: 13px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions {
        margin-top: 8px;
        gap: 6px;
    }

    .sbp-pwa-resource-basic-layout {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .sbp-pwa-resource-basic-media {
        order: 2;
    }

    .sbp-pwa-resource-basic-fields {
        order: 1;
    }

    .sbp-pwa-resource-basic-layout .sbp-pwa-resource-image-preview {
        width: min(460px, 100%);
    }
}

@media (max-width: 520px) {
    .sbp-pwa-input {
        font-size: 16px;
        padding: 12px 14px;
    }

    .sbp-pwa-btn {
        font-size: 14px;
        padding: 12px 18px;
    }

    .sbp-pwa-input[type="date"],
    .sbp-pwa-input[type="time"] {
        height: 42px;
        min-height: 42px;
        padding: 10px 12px;
        font-size: 14px;
        line-height: 1.2;
        -webkit-appearance: none;
        appearance: none;
    }

    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input,
    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input[type="date"],
    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-input[type="search"],
    .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters select.sbp-pwa-input {
        height: 38px;
        min-height: 38px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.2;
        box-sizing: border-box;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input,
    .sbp-pwa-form:not([data-pwa-section="bookings"]) select.sbp-pwa-input,
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="date"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="time"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="search"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="text"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="email"],
    .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="number"] {
        min-height: 35px;
        height: 35px;
        padding: 6px 8px;
        font-size: 12px;
        line-height: 1.2;
    }

    .sbp-pwa-form:not([data-pwa-section="bookings"]) textarea.sbp-pwa-input {
        min-height: 68px;
        height: auto;
    }
}


/* Full-height shell v7: single source of truth for authenticated PWA layout. */
body.sbp-pwa-page {
    margin: 0 !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
}

body.sbp-pwa-page #page,
body.sbp-pwa-page .site,
body.sbp-pwa-page #content,
body.sbp-pwa-page .site-content,
body.sbp-pwa-page .entry-content,
body.sbp-pwa-page main,
body.sbp-pwa-page .site-main,
body.sbp-pwa-page .ast-container,
body.sbp-pwa-page .content-area {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100dvh !important;
    transform: none !important;
    perspective: none !important;
    filter: none !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #f7fafc !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth nav.sbp-pwa-nav {
    position: fixed !important;
    top: max(0px, env(safe-area-inset-top)) !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    z-index: 150 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-main {
    position: fixed !important;
    top: calc(var(--sbp-pwa-nav-height) + env(safe-area-inset-top)) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* WordPress/Elementor can inject empty <p> before sections and create a fake top gap. */
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-main > p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-main > .sbp-pwa-section:not([data-pwa-form]):not([data-pwa-detail]):not([hidden]) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding-bottom: var(--sbp-pwa-content-bottom-gap) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-main > .sbp-pwa-section[data-pwa-section="bookings"]:not([data-pwa-form]):not([data-pwa-detail]):not([hidden]) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    overflow: hidden !important;
    background: #f7fafc !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
    flex: 0 0 auto !important;
    height: 45px !important;
    min-height: 45px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 calc(14px + env(safe-area-inset-right)) 0 calc(14px + env(safe-area-inset-left)) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid #c8dced !important;
    border-radius: 0 !important;
    background: #eaf4fb !important;
    box-shadow: 0 4px 12px rgba(13, 54, 88, 0.08) !important;
    box-sizing: border-box !important;
    display: block !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar,
body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar-actions {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
    width: 100% !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar-actions {
    width: 100% !important;
    max-width: 100% !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-btn,
body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-cal-view-btn {
    flex: 1 1 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

@media (min-width: 721px) {
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row {
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-btn,
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-cal-view-btn {
        flex: 0 0 auto !important;
        height: 40px !important;
        min-height: 40px !important;
        width: auto !important;
        min-width: 86px !important;
        max-width: none !important;
        padding: 0 8px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-toolbar {
        align-items: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-toolbar-actions {
        margin-left: auto !important;
        justify-content: flex-end !important;
        width: auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-calendar {
        margin: 0 !important;
    }
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-board {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f7fafc !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-list[data-pwa-list],
body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-calendar-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-left: calc(18px + env(safe-area-inset-left)) !important;
    padding-right: calc(18px + env(safe-area-inset-right)) !important;
    padding-bottom: var(--sbp-pwa-content-bottom-gap) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #f7fafc !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-list[data-pwa-list] > .sbp-pwa-day-separator:last-child {
    display: flex !important;
}

@media (min-width: 901px) {
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters,
    .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: auto !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 calc(-14px - env(safe-area-inset-right)) 0 calc(-14px - env(safe-area-inset-left)) !important;
        padding: 0 calc(14px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left)) !important;
        border: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid #c8dced !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        background: #eaf4fb !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: thin !important;
    }
}

/* Lock top navigation menu to horizontal movement only (left/right). */
.sbp-pwa.is-auth nav.sbp-pwa-nav,
.sbp-pwa.is-auth [data-pwa-nav] {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain !important;
    overscroll-behavior-y: none !important;
    scrollbar-width: thin !important;
}

.sbp-pwa.is-auth.is-notify-open nav.sbp-pwa-nav,
.sbp-pwa.is-auth.is-notify-open [data-pwa-nav] {
    overflow-y: visible !important;
}

@media (max-width: 720px) {
    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
        height: 45px !important;
        min-height: 45px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
    }

    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 6px !important;
        margin: 0 auto !important;
    }

    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-view-btn,
    .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-cal-view-btn {
        flex: 1 1 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 6px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        text-align: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        margin-bottom: 8px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-toolbar > div:first-child {
        min-width: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-toolbar-actions {
        width: auto !important;
        margin-left: 0 !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-calendar {
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-modal-panel {
        padding: 8px 8px 10px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-toolbar {
        margin-bottom: 4px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-grid {
        gap: 2px !important;
    }

    .sbp-pwa-resource-costs-toolbar {
        padding-right: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-resource-costs-toolbar-actions {
        position: static !important;
        justify-content: flex-end !important;
    }

    .sbp-pwa-resource-costs-range {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
        min-width: 0 !important;
        justify-content: stretch !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions .sbp-pwa-btn {
        width: 100% !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-layout {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col,
    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-list-col {
        width: 100% !important;
        max-width: 560px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col {
        display: grid !important;
        gap: 6px !important;
        align-content: start !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col .sbp-pwa-protocol-legend {
        margin-top: 0 !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-list-col {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        display: grid !important;
        gap: 6px !important;
        align-content: start !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damages-accordion,
    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-actions {
        margin-top: 0 !important;
        width: 100% !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-actions .sbp-pwa-btn {
        width: 100% !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) label {
        margin: 0 !important;
        font-size: 8px !important;
        letter-spacing: 0.3px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input,
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) select.sbp-pwa-input,
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="date"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="time"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="search"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="text"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="email"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="number"] {
        min-height: 31px !important;
        height: 31px !important;
        padding: 3px 6px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) textarea.sbp-pwa-input {
        min-height: 40px !important;
        height: 40px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-previews {
        gap: 6px !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-price-preview {
        font-size: 11px !important;
        margin-right: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: stretch !important;
        width: 100% !important;
        gap: 4px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row .sbp-pwa-btn {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 30px !important;
        height: 30px !important;
        padding: 3px 6px !important;
        font-size: 10px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions {
        margin-top: 4px !important;
        gap: 3px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
        align-items: start !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions .sbp-pwa-input {
        min-height: 32px !important;
        height: 32px !important;
        font-size: 11px !important;
        padding: 4px 6px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-bottom: 2px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        flex: 1 0 auto !important;
        min-width: 68px !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 4px 5px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions .sbp-pwa-message {
        margin-top: 4px !important;
    }
}

@media (max-width: 520px) {
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row .sbp-pwa-btn {
        font-size: 9px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        min-width: 64px !important;
    }
}

@media (max-width: 900px) {
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-list[data-pwa-list] {
        padding-left: calc(2.5vw + env(safe-area-inset-left)) !important;
        padding-right: calc(2.5vw + env(safe-area-inset-right)) !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-list[data-pwa-list] .sbp-pwa-day-separator {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}

/* Mobile refinements: compact forms, stable actions, resource gear menu. */
.sbp-pwa-resource-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid var(--sbp-pwa-border);
    background: #ffffff;
    color: var(--sbp-pwa-navy);
    font-size: 15px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.sbp-pwa-resource-menu-trigger:focus {
    outline: none;
    border-color: var(--sbp-pwa-sky);
    box-shadow: 0 0 0 2px rgba(153, 194, 203, 0.25);
}

@media (min-width: 901px) {
    .sbp-pwa-resource-menu-trigger {
        display: none !important;
    }
}

.sbp-pwa-status-menu.sbp-pwa-resource-actions-menu {
    min-width: 220px;
}

.sbp-pwa-status-menu.sbp-pwa-resource-actions-menu button.is-disabled {
    opacity: 0.58;
    cursor: default;
}

.sbp-pwa-status-menu.sbp-pwa-resource-actions-menu button {
    min-height: 40px;
    padding: 9px 12px;
    font-size: 15px;
}

.sbp-pwa-notify-panel {
    z-index: 10090 !important;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.sbp-pwa-notify.is-open .sbp-pwa-notify-panel,
.sbp-pwa-notify-panel.is-open {
    display: block !important;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 900px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-workflow-card-collapsible[data-pwa-workflow-card="form_contract"] .sbp-pwa-workflow-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-workflow-card-collapsible[data-pwa-workflow-card="form_contract"] .sbp-pwa-workflow-grid .sbp-pwa-workflow-field.is-wide {
        grid-column: 1 / -1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-workflow-card-collapsible[data-pwa-workflow-card="form_contract"] .sbp-pwa-workflow-contract-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: minmax(40px, auto) !important;
        gap: 6px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-workflow-card-collapsible[data-pwa-workflow-card="form_contract"] .sbp-pwa-workflow-contract-controls .sbp-pwa-input {
        min-width: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-main .sbp-pwa-btn {
        min-height: 40px !important;
        height: 40px !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .sbp-pwa input,
    .sbp-pwa select,
    .sbp-pwa textarea,
    .sbp-pwa .sbp-pwa-input {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100% !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-modal-panel {
        padding: 8px 8px 10px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-grid {
        gap: 2px !important;
    }

    .sbp-pwa-resource-mileage-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-top: 8px;
    }

    .sbp-pwa-resource-costs-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .sbp-pwa-resource-costs-cards .sbp-pwa-report-card {
        padding: 7px 8px !important;
        border-radius: 10px !important;
        gap: 3px !important;
    }

    .sbp-pwa-resource-costs-cards .sbp-pwa-report-card span {
        font-size: 9px !important;
        letter-spacing: 0.25px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .sbp-pwa-resource-costs-cards .sbp-pwa-report-card strong {
        font-size: 13px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .sbp-pwa-resource-costs-toolbar {
        padding-right: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-resource-costs-toolbar-actions {
        position: static !important;
        justify-content: flex-end !important;
    }

    .sbp-pwa-resource-costs-range {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
        min-width: 0 !important;
        justify-content: stretch !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions .sbp-pwa-btn {
        width: 100% !important;
    }

    .sbp-pwa-resource-mileage-cards .sbp-pwa-report-card {
        padding: 7px 8px !important;
        border-radius: 10px;
        gap: 3px;
    }

    .sbp-pwa-resource-mileage-cards .sbp-pwa-report-card span {
        font-size: 9px !important;
        letter-spacing: 0.25px;
    }

    .sbp-pwa-resource-mileage-cards .sbp-pwa-report-card strong {
        font-size: 13px !important;
        line-height: 1.1;
    }

    .sbp-pwa-resource-mileage-cards .sbp-pwa-report-card .sbp-pwa-muted {
        font-size: 9px !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-layout {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col,
    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-list-col {
        width: 100% !important;
        max-width: 560px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col {
        display: grid !important;
        gap: 6px !important;
        align-content: start !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-map-col .sbp-pwa-protocol-legend {
        margin-top: 0 !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-list-col {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        display: grid !important;
        gap: 6px !important;
        align-content: start !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damages-accordion,
    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-actions {
        margin-top: 0 !important;
        width: 100% !important;
    }

    .sbp-pwa-protocol-field-map .sbp-pwa-protocol-damage-actions .sbp-pwa-btn {
        width: 100% !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form .sbp-pwa-form-section {
        margin-bottom: 8px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form .sbp-pwa-form-section h3 {
        margin-bottom: 6px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) label {
        margin: 0 !important;
        font-size: 11px !important;
        letter-spacing: 0.35px !important;
        line-height: 1 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input,
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) select.sbp-pwa-input,
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="date"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="time"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="search"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="text"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="email"],
    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-input[type="number"] {
        min-height: 36px !important;
        height: 36px !important;
        padding: 4px 8px !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) textarea.sbp-pwa-input {
        min-height: 52px !important;
        height: auto !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions {
        margin-top: 3px !important;
        gap: 2px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row {
        gap: 3px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-btn {
        min-height: 40px !important;
        height: 40px !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-form:not([data-pwa-section="bookings"]) .sbp-pwa-form-actions-row .sbp-pwa-btn {
        min-height: 40px !important;
        height: 40px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .sbp-pwa-resource-group-costs-btn {
        min-height: 38px !important;
        height: 38px !important;
        padding: 7px 14px !important;
        font-size: 13px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

}

@media (max-width: 900px) {
    .sbp-pwa-notify-panel {
        position: fixed !important;
        max-width: min(92vw, 420px) !important;
        max-height: min(72vh, 540px);
        z-index: 12050 !important;
    }

    .sbp-pwa-resource-item .sbp-pwa-resource-costs-btn,
    .sbp-pwa-resource-item .sbp-pwa-resource-mileage-btn,
    .sbp-pwa-resource-item .sbp-pwa-resource-damages-btn,
    .sbp-pwa-resource-item .sbp-pwa-resource-actions .sbp-pwa-item-status {
        display: none !important;
    }

    .sbp-pwa-resource-item .sbp-pwa-resource-quick-actions {
        display: none !important;
    }

    .sbp-pwa-resource-item .sbp-pwa-resource-actions {
        gap: 0;
    }

    .sbp-pwa-resource-delete-inline {
        display: none !important;
    }

    .sbp-pwa-resource-menu-trigger {
        display: inline-flex;
    }

    .sbp-pwa-protocol-damage-list-col .sbp-pwa-protocol-damages-accordion {
        margin-top: 4px;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions .sbp-pwa-btn {
        width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        justify-content: center !important;
    }
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters [data-pwa-filters-default] {
    display: none !important;
}

@media (max-width: 900px) {
    .sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
        grid-template-columns: 1fr !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row {
        grid-template-columns: 1fr !important;
    }

    .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
        grid-column: 1 / -1 !important;
    }

    .sbp-pwa-report-cost-form-main .sbp-pwa-form-grid {
        grid-template-columns: 1fr !important;
    }

    .sbp-pwa-report-cost-form-main .sbp-pwa-report-cost-inline {
        grid-template-columns: 1fr !important;
    }

    .sbp-pwa-report-cost-form-main .sbp-pwa-report-cost-inline-actions {
        justify-content: stretch !important;
    }

    .sbp-pwa-report-cost-form-main .sbp-pwa-report-cost-inline-actions .sbp-pwa-btn {
        width: 100% !important;
    }
}

/* Final override: booking view controls geometry */
.sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
    height: 45px !important;
    min-height: 45px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar,
.sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar-actions {
    min-height: 45px !important;
    height: 45px !important;
    margin: 0 !important;
    align-items: center !important;
}

.sbp-pwa.is-auth.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
    margin-bottom: 0 !important;
}

.sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-view-btn,
.sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-cal-view-btn {
    height: 40px !important;
    min-height: 40px !important;
    position: relative !important;
    top: 2px !important;
}

@media (min-width: 721px) {
    .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row {
        justify-content: flex-start !important;
        width: auto !important;
        max-width: none !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-view-btn,
    .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-view-switch-row .sbp-pwa-cal-view-btn {
        width: auto !important;
        min-width: 86px !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-toolbar-actions {
        margin-left: auto !important;
        justify-content: flex-end !important;
    }
}

@media (max-width: 900px) {
    body.sbp-pwa-page .sbp-pwa.is-auth.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-toolbar {
        margin-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
        box-shadow: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters,
    .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
        position: fixed !important;
        top: calc(env(safe-area-inset-top) + var(--sbp-pwa-nav-height) + var(--sbp-pwa-bookings-controls-height)) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 calc(14px + env(safe-area-inset-right)) 5px calc(14px + env(safe-area-inset-left)) !important;
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        background: #eaf4fb !important;
        z-index: 149 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters > div {
        grid-column: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-search {
        grid-column: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-filters-open .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-filters .sbp-pwa-filter-actions .sbp-pwa-btn {
        width: auto !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 38px !important;
        height: 38px !important;
        white-space: nowrap !important;
        justify-content: center !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="resources"] .sbp-pwa-resources-filters,
    .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="resources"] .sbp-pwa-resources-filters {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="resources"] .sbp-pwa-resources-filters > * {
        flex: 1 1 0 !important;
        width: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="resources"] .sbp-pwa-resources-filters .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-section[data-pwa-section="resources"] .sbp-pwa-resources-filters select.sbp-pwa-input {
        min-height: 38px !important;
        height: 38px !important;
        padding: 5px 8px !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* Final lock v44: daily tiers + yacht durations (height up, vertical gaps down). */
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header,
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 28px !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    line-height: 1.2 !important;
    color: #536575 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(1) { grid-column: 1 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(2) { grid-column: 2 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(3) { grid-column: 3 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(4) { grid-column: 4 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(5) { grid-column: 5 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(n+6) { display: none !important; }

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-list-daily-tier {
    row-gap: 2px !important;
    column-gap: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier .sbp-pwa-input {
    min-height: 38px !important;
    height: 38px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor [data-pwa-repeat-list="duration"] {
    row-gap: 2px !important;
    column-gap: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor [data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration {
    column-gap: 10px !important;
    row-gap: 2px !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor [data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-input {
    min-height: 42px !important;
    height: 42px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier {
        grid-template-columns: repeat(5, minmax(0, 1fr)) 24px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier .sbp-pwa-input {
        min-height: 34px !important;
        height: 34px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor [data-pwa-repeat-list="duration"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-duration .sbp-pwa-input {
        min-height: 36px !important;
        height: 36px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }
}

/* Final lock v47: strict headers (daily + durations) + wider renter liability field. */
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 28px !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span {
    margin: 0 !important;
    min-width: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(1) { grid-column: 1 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(2) { grid-column: 2 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(3) { grid-column: 3 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(4) { grid-column: 4 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(5) { grid-column: 5 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header span:nth-child(n+6) { display: none !important; }

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier .sbp-pwa-input {
    min-height: 42px !important;
    height: 42px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 30px !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header span {
    margin: 0 !important;
    min-width: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header span:nth-child(1) { grid-column: 1 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header span:nth-child(2) { grid-column: 2 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header span:nth-child(3) { grid-column: 3 !important; }
body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header span:nth-child(n+4) { display: none !important; }

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    align-items: end !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-extra-km-wrap {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-renter-liability-wrap {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}

@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body .sbp-pwa-repeat-row-daily-tier-header {
        grid-template-columns: repeat(5, minmax(0, 1fr)) 24px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-pricing-daily-accordion-body [data-pwa-repeat-list="daily-tier"] > .sbp-pwa-repeat-row.sbp-pwa-repeat-row-daily-tier .sbp-pwa-input {
        min-height: 38px !important;
        height: 38px !important;
        font-size: 15px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-repeat-row-duration-header {
        grid-template-columns: repeat(3, minmax(0, 1fr)) 24px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-pricing-renter-liability-wrap {
        grid-column: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-form-grid.sbp-pwa-pricing-daily-charges .sbp-pwa-input {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 15px !important;
    }
}

/* Mobile: booking detail modal should be almost full-width and keep bottom actions in one row. */
@media (max-width: 980px) {
    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-modal-panel {
        width: 95vw !important;
        max-width: 95vw !important;
        height: 85dvh !important;
        max-height: 85dvh !important;
        display: block !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 10px !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-body {
        flex: none !important;
        min-height: auto !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions {
        margin-top: 8px !important;
        width: 100% !important;
        position: static !important;
        bottom: auto !important;
        background: transparent !important;
        border-top: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-status] {
        display: none !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-message] {
        display: none !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        flex-wrap: unset !important;
        overflow: visible !important;
        width: 100% !important;
        gap: 6px !important;
        margin-top: 0 !important;
        align-items: stretch !important;
        padding: 0 !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        flex: none !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 6px 8px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-cancel],
    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-copy],
    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-edit-mode],
    .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-save] {
        display: inline-flex !important;
    }
}

/* Final mobile override: keep create-panel action buttons equal to field height and lower by 20px. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        margin-top: 20px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        min-height: 44px !important;
        height: 44px !important;
        max-height: 44px !important;
    }

}

/* Mobile fix 2026-05-07: create footer pinned without overlap. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-panel {
        padding-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-shell {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) auto !important;
        row-gap: 2px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-body {
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 0 !important;
        padding-bottom: 6px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer {
        margin-top: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
        row-gap: 2px !important;
        min-height: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-message {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary {
        margin: 0 !important;
        gap: 4px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary > span {
        white-space: nowrap !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        margin-top: 4px !important;
        margin-bottom: 0 !important;
        min-height: 0 !important;
        gap: 4px !important;
        align-items: stretch !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        min-height: 44px !important;
        height: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
    }
}

/* Mobile restore: detail actions under documents, no overlapping white footer strip. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-modal-panel {
        width: 95vw !important;
        max-width: 95vw !important;
        height: 85dvh !important;
        max-height: 85dvh !important;
        padding: 10px !important;
        display: block !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-body {
        flex: none !important;
        min-height: auto !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions {
        width: 100% !important;
        margin-top: 8px !important;
        position: static !important;
        bottom: auto !important;
        background: transparent !important;
        border-top: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-status],
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-message] {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-cancel],
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-copy],
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-edit-mode],
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions [data-pwa-detail-save] {
        display: inline-flex !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        align-items: stretch !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        white-space: nowrap !important;
        text-align: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 6px 8px !important;
        font-size: 12px !important;
    }
}

/* Mobile final override: booking detail bottom actions must stay in one row (4 buttons). */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-actions-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        flex: 1 1 25% !important;
        width: 25% !important;
        max-width: 25% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        height: 38px !important;
        padding: 6px 4px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

body.sbp-pwa-page .sbp-pwa.is-owner-mode .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-actions [data-pwa-detail-status],
body.sbp-pwa-page .sbp-pwa.is-owner-mode .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-actions [data-pwa-detail-edit-mode] {
    display: none !important;
}

@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-owner-mode .sbp-pwa-detail[data-pwa-section="bookings"] .sbp-pwa-detail-actions-row .sbp-pwa-btn {
        flex: 1 1 33.333% !important;
        width: 33.333% !important;
        max-width: 33.333% !important;
    }
}

/* Cost modal final layout: desktop 25/25/50 row + full-width button, mobile 50/50 + 100 + button. */
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 2px !important;
    padding: 6px 8px !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 25% 25% minmax(0, 50%) !important; /* 25 / 25 / 50 */
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 6px 8px !important;
}

/* Compact spacing: remove auto <br> injected by content filters in this modal. */
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form br,
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range br {
    display: none !important;
}

/* Prevent auto paragraph wrappers from creating extra blank height. */
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form p,
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Compact range chooser panel. */
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range {
    margin: 0 0 6px !important;
    padding: 6px 8px !important;
    gap: 6px 8px !important;
    align-items: start !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form label,
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range label {
    display: block !important;
    margin: 0 0 1px !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 12px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: var(--sbp-pwa-gray) !important;
    text-align: left !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-date-wrap {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-amount-wrap {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row,
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-wrap {
    grid-column: 3 / 4 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row > label {
    text-align: right !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-input,
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range .sbp-pwa-input {
    border-radius: 14px !important;
    background: #f8fafc !important;
    padding: 7px 12px !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form [data-pwa-resource-cost-date],
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form [data-pwa-resource-cost-amount],
body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form [data-pwa-resource-cost-note] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: 15px !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-amount-wrap .sbp-pwa-input {
    width: 100% !important;
    max-width: none !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions .sbp-pwa-btn {
    width: 100% !important;
    max-width: none !important;
    min-height: 40px !important;
    height: 40px !important;
}

@media (max-width: 900px) {
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-toolbar-actions {
        display: none !important; /* hide "Zamknij" on phone */
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-range {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 50 / 50 */
        gap: 6px !important;
        padding: 6px !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 50 / 50 */
        gap: 8px !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-date-wrap {
        grid-column: 1 / 2 !important;
        grid-row: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-amount-wrap {
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-note-row > label {
        text-align: left !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-resource-costs-form .sbp-pwa-resource-cost-actions {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        margin-top: 0 !important;
    }
}

/* Mobile: bulk selection actions in bookings (equal size, 2 columns, attached to view bar). */
@media (max-width: 900px) {
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls {
        height: auto !important;
        min-height: 45px !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bookings-controls .sbp-pwa-bulk-panel.is-visible {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
        align-content: start !important;
        margin: 0 calc(-14px - env(safe-area-inset-right)) 0 calc(-14px - env(safe-area-inset-left)) !important;
        padding: 0 calc(14px + env(safe-area-inset-right)) 0 calc(14px + env(safe-area-inset-left)) !important;
        border: 0 !important;
        border-radius: 0 !important;
        border-bottom: 1px solid #c8dced !important;
        background: #eaf4fb !important;
        box-shadow: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-summary {
        justify-content: center !important;
        margin: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(38px, auto)) !important;
        grid-auto-flow: row !important;
        align-items: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-actions .sbp-pwa-btn,
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-actions .sbp-pwa-input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 38px !important;
        height: 38px !important;
        margin: 0 !important;
        padding: 6px 8px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-actions .sbp-pwa-input {
        grid-column: auto !important;
    }

    /* Force exact 2 columns x 3 rows layout for bulk actions. */
    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-cancel] {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-select-all] {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-clear] {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-status] {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-status-apply] {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] [data-pwa-bulk-delete] {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth.is-section-bookings.is-bulk-select-mode .sbp-pwa-section[data-pwa-section="bookings"] .sbp-pwa-bulk-message {
        margin: 0 !important;
        min-height: 0 !important;
    }
}

/* Mobile: fit create-booking form without scrolling, summary over large Cancel/Save buttons. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        --sbp-pwa-create-footer-h: 90px;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-shell {
        grid-template-rows: minmax(0, 1fr) !important;
        height: 100% !important;
        min-height: 0 !important;
        row-gap: 0 !important;
        position: relative !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-body {
        overflow: hidden !important;
        overflow-x: hidden !important;
        padding-bottom: calc(var(--sbp-pwa-create-footer-h) + 6px) !important;
        margin-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-layout {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row dense !important;
        gap: 6px !important;
        align-content: start !important;
        align-items: start !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form label {
        margin-bottom: 0 !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-resource-field {
        min-height: 40px !important;
        height: 40px !important;
        max-height: 40px !important;
        font-size: 16px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form textarea.sbp-pwa-input {
        min-height: 56px !important;
        height: 56px !important;
        max-height: 56px !important;
        resize: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-field-notes {
        grid-column: 1 / -1 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-message {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "summary"
            "actions" !important;
        align-items: center !important;
        margin-top: 0 !important;
        border-top: 1px solid var(--sbp-pwa-border) !important;
        background: #ffffff !important;
        padding: 2px 0 4px !important;
        height: var(--sbp-pwa-create-footer-h) !important;
        min-height: var(--sbp-pwa-create-footer-h) !important;
        max-height: var(--sbp-pwa-create-footer-h) !important;
        row-gap: 2px !important;
        column-gap: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 5 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary {
        grid-area: summary !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 2px !important;
        margin: 0 !important;
        width: 100% !important;
        height: 20px !important;
        padding: 0 4px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        text-align: center !important;
        align-self: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary > span {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        grid-area: actions !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin: 0 !important;
        min-height: 0 !important;
        width: 100% !important;
        height: 40px !important;
        align-items: center !important;
        justify-content: stretch !important;
        padding: 0 4px !important;
        align-self: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        width: 100% !important;
        flex: none !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        align-self: center !important;
        padding: 0 6px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        border-radius: 10px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-panel {
        padding-bottom: 0 !important;
    }
}

/* Mobile: prevent app resize/zoom while keyboard is open. */
@media (max-width: 980px) {
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock #page,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock .site,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock #content,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock .site-content,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock .entry-content,
    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock main {
        height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
        min-height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
        max-height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
        overflow: hidden !important;
    }

    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock .sbp-pwa {
        height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
        min-height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
        max-height: var(--sbp-pwa-fixed-vh, 100lvh) !important;
    }

    body.sbp-pwa-page.sbp-pwa-mobile-viewport-lock .sbp-pwa-main {
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.sbp-pwa-page .sbp-pwa input:not([type="checkbox"]):not([type="radio"]),
    body.sbp-pwa-page .sbp-pwa select,
    body.sbp-pwa-page .sbp-pwa textarea,
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-input {
        font-size: 16px !important;
    }
}

/* Final mobile hard override: create booking actions must stay side-by-side (50/50). */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: column !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        gap: 6px !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions [data-pwa-booking-create-cancel] {
        grid-column: 1 !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions [data-pwa-booking-create-submit] {
        grid-column: 2 !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        width: 100% !important;
        min-width: 0 !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
}

/* Final mobile anti-zoom hard lock for authenticated PWA forms. */
@media (max-width: 980px) {
    body.sbp-pwa-page,
    body.sbp-pwa-page .sbp-pwa {
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
    body.sbp-pwa-page .sbp-pwa.is-auth select,
    body.sbp-pwa-page .sbp-pwa.is-auth textarea,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-form .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-costs-modal .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-mileage-modal .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-damages-modal .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-sales-agent-modal .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-form select,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-form textarea,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail select,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-detail textarea {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }
}

/* Mobile final: tighter new-booking form + lower footer strip/actions. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form {
        --sbp-pwa-create-footer-h: 86px !important;
        --sbp-pwa-create-footer-offset: 10% !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-panel {
        padding: 6px 6px 0 !important;
        gap: 4px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-body {
        padding-bottom: calc(var(--sbp-pwa-create-footer-h) + 2px) !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-grid {
        gap: 3px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form label {
        margin-bottom: 0 !important;
        font-size: 9px !important;
        line-height: 1 !important;
        letter-spacing: 0.55px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-field,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-grid > div {
        gap: 0 !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > label,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > label {
        margin-top: 0 !important;
        margin-bottom: -1px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 0.95 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-resource-field {
        min-height: 36px !important;
        height: 36px !important;
        max-height: 36px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        border-radius: 10px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form textarea.sbp-pwa-input {
        min-height: 44px !important;
        height: 44px !important;
        max-height: 44px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer {
        height: var(--sbp-pwa-create-footer-h) !important;
        min-height: var(--sbp-pwa-create-footer-h) !important;
        max-height: var(--sbp-pwa-create-footer-h) !important;
        padding: 1px 0 2px !important;
        row-gap: 1px !important;
        transform: translateY(var(--sbp-pwa-create-footer-offset)) !important;
        transform-origin: bottom center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary {
        height: 18px !important;
        font-size: 9px !important;
        gap: 1px !important;
        padding: 0 2px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        gap: 4px !important;
        height: 36px !important;
        padding: 0 2px !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions .sbp-pwa-btn {
        min-height: 36px !important;
        height: 36px !important;
        max-height: 36px !important;
        font-size: 12px !important;
        border-radius: 9px !important;
    }
}

/* Mobile: booking-create labels below inputs without changing field sizes/layout. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > label,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > label,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > label,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > label {
        order: 2 !important;
        margin-top: 1px !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1 !important;
        width: 100% !important;
        text-align: center !important;
        align-self: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > .sbp-pwa-booking-create-resource-field,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > .sbp-pwa-booking-create-resource-field,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > .sbp-pwa-input,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > .sbp-pwa-input,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field > .sbp-pwa-booking-create-resource-field,
    .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div > .sbp-pwa-booking-create-resource-field {
        order: 1 !important;
        margin-top: 0 !important;
    }
}

/* Booking create: center values by default; when value is too long switch to left. */
.sbp-pwa-booking-create-step-form .sbp-pwa-input {
    text-align: center !important;
    text-align-last: center !important;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-input.is-overflow-left {
    text-align: left !important;
    text-align-last: left !important;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-resource-field {
    justify-content: center !important;
    text-align: center !important;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-resource-field [data-pwa-booking-create-resource-label] {
    justify-content: center !important;
    text-align: center !important;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-resource-field.is-overflow-left {
    justify-content: flex-start !important;
    text-align: left !important;
}

.sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-resource-field.is-overflow-left [data-pwa-booking-create-resource-label] {
    justify-content: flex-start !important;
    text-align: left !important;
}

/* Desktop: shift the whole bottom booking-create strip slightly lower. */
@media (min-width: 981px) {
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-footer {
        transform: translateY(5%);
        transform-origin: bottom center;
    }
}

/* Mobile booking create: keep hidden fields hidden for water reservations. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-field[hidden],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-step-form .sbp-pwa-booking-create-form-grid > div[hidden] {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-overlay.sbp-booking-create-water-duration [data-pwa-booking-create-end-date-wrap],
    body.sbp-pwa-page .sbp-pwa .sbp-pwa-booking-create-overlay.sbp-booking-create-water-duration [data-pwa-booking-create-end-time-wrap] {
        display: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-step-form {
        --sbp-pwa-create-strip-extra-h: 0dvh !important;
        --sbp-pwa-create-strip-content-shift: 0dvh !important;
        --sbp-pwa-create-actions-offset: 0dvh !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-form-body {
        padding-bottom: calc(
            var(--sbp-pwa-create-footer-h)
            + env(safe-area-inset-bottom)
            + 2px
        ) !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer {
        height: calc(
            var(--sbp-pwa-create-footer-h)
            + env(safe-area-inset-bottom)
        ) !important;
        min-height: calc(
            var(--sbp-pwa-create-footer-h)
            + env(safe-area-inset-bottom)
        ) !important;
        max-height: calc(
            var(--sbp-pwa-create-footer-h)
            + env(safe-area-inset-bottom)
        ) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "summary"
            "actions" !important;
        grid-template-rows: min-content min-content !important;
        align-content: end !important;
        row-gap: 1px !important;
        padding: 1px 0 calc(2px + env(safe-area-inset-bottom)) !important;
        border-top: 0 !important;
        background: transparent !important;
        transform: none !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-summary {
        grid-area: summary !important;
        align-self: end !important;
        border-top: 1px solid var(--sbp-pwa-border) !important;
        padding-top: 3px !important;
        margin-top: 0 !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-booking-create-footer .sbp-pwa-booking-create-actions {
        grid-area: actions !important;
        transform: none !important;
        align-self: end !important;
    }
}

/* Mobile: owner fields in Resources -> Wlasciciel as equal 2-column layout. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        align-items: start !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > label {
        margin: 0 !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        letter-spacing: 0.45px !important;
        text-transform: uppercase !important;
        color: var(--sbp-pwa-gray) !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > .sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > select.sbp-pwa-input,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-editor .sbp-pwa-resource-owner-accordion .sbp-pwa-form-grid.sbp-pwa-resource-owner-grid > div > textarea.sbp-pwa-input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        height: 38px !important;
        max-height: 38px !important;
        padding: 7px 10px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }
}

/* Mobile: center owner contract signing panel and owner contract preview block. */
@media (max-width: 980px) {
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report {
        justify-items: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-contract-actions {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-contract-actions .sbp-pwa-btn {
        min-width: 160px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth [data-pwa-resource-owner-contract-message] {
        width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report-panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report-controls,
    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report-actions {
        justify-content: center !important;
        justify-items: center !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report-month-wrap {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.sbp-pwa-page .sbp-pwa.is-auth .sbp-pwa-resource-owner-report-preview {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.sbp-pwa.is-section-detailing .sbp-pwa-section[data-pwa-section="detailing"] {
    padding-top: var(--sbp-pwa-section-filters-height);
}

.sbp-pwa-section[data-pwa-section="detailing"] {
    --sbp-pwa-detailing-soft: #f7fbff;
    --sbp-pwa-detailing-line: rgba(13, 54, 88, 0.12);
}

.sbp-pwa-detailing-filters {
    grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
    align-items: end;
    background: var(--sbp-pwa-detailing-soft);
    border: 1px solid var(--sbp-pwa-detailing-line);
    border-radius: 14px;
    padding: 12px;
}

.sbp-pwa.is-section-detailing.is-filters-open .sbp-pwa-section[data-pwa-section="detailing"] .sbp-pwa-detailing-filters {
    display: grid;
    width: 100%;
    overflow: visible;
}

.sbp-pwa-section[data-pwa-section="detailing"] .sbp-pwa-detailing-filters > div {
    min-width: 0;
    flex: initial;
}

.sbp-pwa-detailing-filters .sbp-pwa-filter-actions {
    justify-content: flex-end;
    min-width: 0;
}

.sbp-pwa-section[data-pwa-section="detailing"] > .sbp-pwa-report-cards {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    margin: 12px 0 16px;
}

.sbp-pwa-section[data-pwa-section="detailing"] .sbp-pwa-report-card {
    min-height: 74px;
    border-radius: 12px;
}

.sbp-pwa-detailing-layout {
    display: grid;
    grid-template-columns: minmax(430px, 1.05fr) minmax(390px, 0.95fr);
    gap: 16px;
    align-items: start;
}

.sbp-pwa-detailing-manage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.sbp-pwa-detailing-layout > .sbp-pwa-report-section,
.sbp-pwa-detailing-manage-grid > .sbp-pwa-report-section {
    min-width: 0;
    margin-top: 0;
    padding: 14px;
    border: 1px solid var(--sbp-pwa-detailing-line);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, var(--sbp-pwa-detailing-soft) 100%);
}

.sbp-pwa-detailing-accordion {
    overflow: hidden;
}

.sbp-pwa-detailing-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: -14px -14px 14px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
    border-bottom: 1px solid var(--sbp-pwa-detailing-line);
    background: #eef6fc;
    color: var(--sbp-pwa-navy);
    font-size: 15px;
    font-weight: 700;
}

.sbp-pwa-detailing-accordion > summary::-webkit-details-marker {
    display: none;
}

.sbp-pwa-detailing-accordion > summary::after {
    content: '▾';
    color: var(--sbp-pwa-gray);
    font-size: 13px;
}

.sbp-pwa-detailing-accordion:not([open]) > summary {
    margin-bottom: -14px;
    border-bottom: 0;
}

.sbp-pwa-detailing-accordion:not([open]) > summary::after {
    content: '▸';
}

.sbp-pwa-detailing-layout .sbp-pwa-report-section-header,
.sbp-pwa-detailing-manage-grid .sbp-pwa-report-section-header {
    min-height: 34px;
    margin-bottom: 10px;
}

.sbp-pwa-detailing-calendar {
    min-height: 0;
    border: 1px solid var(--sbp-pwa-border);
    border-radius: 12px;
    background: #ffffff;
    overflow-x: auto;
    padding: 10px;
}

.sbp-pwa-detailing-week {
    display: grid;
    gap: 10px;
}

.sbp-pwa-detailing-week-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 2px 8px;
    border-bottom: 1px solid var(--sbp-pwa-detailing-line);
}

.sbp-pwa-detailing-week-title {
    color: var(--sbp-pwa-navy);
    font-size: 15px;
    font-weight: 800;
}

.sbp-pwa-detailing-week-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.sbp-pwa-detailing-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(138px, 1fr));
    gap: 8px;
    min-width: 980px;
}

.sbp-pwa-detailing-week-day {
    display: grid;
    align-content: start;
    gap: 7px;
    min-height: 280px;
    padding: 8px;
    border: 1px solid var(--sbp-pwa-detailing-line);
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.sbp-pwa-detailing-week-day-head {
    display: grid;
    gap: 2px;
    width: 100%;
    padding: 8px;
    border: 0;
    border-radius: 10px;
    background: #eef6fc;
    color: var(--sbp-pwa-navy);
    text-align: left;
    cursor: pointer;
}

.sbp-pwa-detailing-week-day-head span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.sbp-pwa-detailing-week-day-head strong {
    font-size: 13px;
}

.sbp-pwa-detailing-week-empty,
.sbp-pwa-detailing-week-more {
    padding: 8px;
    border-radius: 10px;
    background: rgba(13, 54, 88, 0.04);
    color: var(--sbp-pwa-gray);
    font-size: 12px;
}

.sbp-pwa-detailing-week-event {
    --sbp-detailing-event-color: var(--sbp-pwa-navy);
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 8px 8px 8px 10px;
    border: 1px solid rgba(13, 54, 88, 0.12);
    border-left: 4px solid var(--sbp-detailing-event-color);
    border-radius: 10px;
    background: #ffffff;
    color: var(--sbp-pwa-ink);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(13, 54, 88, 0.06);
}

.sbp-pwa-detailing-week-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(13, 54, 88, 0.1);
}

.sbp-pwa-detailing-week-event-time {
    color: var(--sbp-detailing-event-color);
    font-size: 11px;
    font-weight: 800;
}

.sbp-pwa-detailing-week-event strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
}

.sbp-pwa-detailing-week-event-meta {
    color: var(--sbp-pwa-gray);
    font-size: 11px;
    line-height: 1.3;
}

.sbp-pwa-detailing-calendar-times {
    display: grid;
    grid-template-columns: minmax(150px, 1.1fr) repeat(2, minmax(130px, 1fr));
    gap: 8px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--sbp-pwa-detailing-line);
    border-radius: 12px;
    background: var(--sbp-pwa-detailing-soft);
}

.sbp-pwa-detailing-calendar-times label {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 700;
    color: var(--sbp-pwa-gray);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.sbp-pwa-detailing-calendar-times .sbp-pwa-input {
    width: 100%;
    min-height: 36px;
}

.sbp-pwa-detailing-form,
.sbp-pwa-detailing-client-form,
.sbp-pwa-detailing-worker-form,
.sbp-pwa-detailing-package-form {
    display: grid;
    gap: 8px;
}

.sbp-pwa-detailing-schedule-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
}

.sbp-pwa-detailing-schedule-grid > div,
.sbp-pwa-detailing-client-grid > div,
.sbp-pwa-detailing-worker-grid > div,
.sbp-pwa-detailing-package-grid > div {
    min-width: 0;
}

.sbp-pwa-detailing-schedule-grid > div:nth-child(1),
.sbp-pwa-detailing-schedule-grid > div:nth-child(2) {
    grid-column: span 3;
}

.sbp-pwa-detailing-schedule-grid > div:nth-child(n+3):nth-child(-n+4) {
    grid-column: span 3;
}

.sbp-pwa-detailing-notes-field,
.sbp-pwa-detailing-assignment-fieldset {
    grid-column: 1 / -1;
}

.sbp-pwa-detailing-schedule-grid label,
.sbp-pwa-detailing-client-grid label,
.sbp-pwa-detailing-worker-grid label,
.sbp-pwa-detailing-package-grid label,
.sbp-pwa-detailing-assignment-field label {
    display: block;
    margin-bottom: 4px;
    min-height: 13px;
    font-size: 10px;
    font-weight: 700;
    color: var(--sbp-pwa-gray);
    text-transform: uppercase;
    letter-spacing: 0.45px;
}

.sbp-pwa-detailing-schedule-grid .sbp-pwa-input,
.sbp-pwa-detailing-client-grid .sbp-pwa-input,
.sbp-pwa-detailing-worker-grid .sbp-pwa-input,
.sbp-pwa-detailing-package-grid .sbp-pwa-input,
.sbp-pwa-detailing-assignment-row .sbp-pwa-input {
    width: 100%;
    min-width: 0;
    min-height: 36px;
}

.sbp-pwa-detailing-schedule-grid [data-pwa-detailing-price],
.sbp-pwa-detailing-worker-grid [data-pwa-detailing-worker-rate],
.sbp-pwa-detailing-package-grid [data-pwa-detailing-package-price] {
    width: 100% !important;
    min-width: 140px !important;
    max-width: none !important;
}

.sbp-pwa-detailing-schedule-grid textarea.sbp-pwa-input {
    min-height: 58px;
    resize: vertical;
}

.sbp-pwa-detailing-assignment-fieldset {
    border: 1px dashed rgba(13, 54, 88, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.7);
    padding: 8px;
}

.sbp-pwa-detailing-assignment-fieldset .sbp-pwa-report-section-header {
    min-height: 0;
    margin-bottom: 8px;
}

.sbp-pwa-detailing-assignment-fieldset h4 {
    margin: 0;
    color: var(--sbp-pwa-navy);
}

.sbp-pwa-detailing-assignments {
    display: grid;
    gap: 6px;
}

.sbp-pwa-detailing-assignment-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(76px, 94px) auto;
    gap: 6px;
    align-items: end;
}

.sbp-pwa-detailing-assignment-row .sbp-pwa-btn {
    min-height: 36px;
    padding-inline: 10px;
    white-space: nowrap;
}

.sbp-pwa-detailing-form-actions {
    justify-content: flex-end;
    margin-top: 0;
}

.sbp-pwa-detailing-client-grid {
    grid-template-columns: minmax(150px, 1.2fr) minmax(110px, 0.75fr) minmax(150px, 1.2fr) auto;
    align-items: end;
    gap: 8px;
}

.sbp-pwa-detailing-worker-grid {
    grid-template-columns: minmax(160px, 1fr) minmax(130px, 1fr) minmax(140px, 1fr) auto;
    align-items: end;
    gap: 8px;
}

.sbp-pwa-detailing-package-grid {
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(120px, 0.8fr) minmax(160px, 1fr) auto;
    align-items: end;
    gap: 8px;
}

.sbp-pwa-detailing-package-grid > div:first-child {
    grid-column: auto;
}

.sbp-pwa-detailing-package-grid > .sbp-pwa-form-wide {
    grid-column: auto;
}

.sbp-pwa-detailing-inline-actions {
    grid-column: auto;
    justify-content: flex-end;
    margin-top: 0;
}

.sbp-pwa-detailing-inline-actions .sbp-pwa-btn,
.sbp-pwa-detailing-form-actions .sbp-pwa-btn {
    min-height: 36px;
    padding-inline: 14px;
}

.sbp-pwa-report-table.is-detailing-clients .sbp-pwa-report-row {
    grid-template-columns: minmax(190px, 1.25fr) minmax(190px, 1.2fr) minmax(120px, 0.75fr) minmax(96px, 0.65fr) minmax(132px, 0.75fr);
    min-width: 840px;
}

.sbp-pwa-report-table.is-detailing-schedules .sbp-pwa-report-row {
    grid-template-columns: minmax(92px, 0.7fr) minmax(104px, 0.7fr) minmax(170px, 1.05fr) minmax(150px, 0.95fr) minmax(230px, 1.45fr) minmax(84px, 0.6fr) minmax(130px, 0.9fr) minmax(100px, 0.7fr) minmax(132px, 0.75fr);
    min-width: 1250px;
}

.sbp-pwa-report-table.is-detailing-workers .sbp-pwa-report-row {
    grid-template-columns: minmax(220px, 1.25fr) minmax(150px, 0.9fr) minmax(150px, 0.9fr) minmax(132px, 0.75fr);
    min-width: 720px;
}

.sbp-pwa-report-table.is-detailing-packages .sbp-pwa-report-row {
    grid-template-columns: minmax(180px, 1.15fr) minmax(130px, 0.85fr) minmax(90px, 0.6fr) minmax(220px, 1.35fr) minmax(96px, 0.65fr) minmax(132px, 0.8fr);
    min-width: 900px;
}

.sbp-pwa-report-table.is-detailing-clients .sbp-pwa-report-row > div,
.sbp-pwa-report-table.is-detailing-schedules .sbp-pwa-report-row > div,
.sbp-pwa-report-table.is-detailing-workers .sbp-pwa-report-row > div,
.sbp-pwa-report-table.is-detailing-packages .sbp-pwa-report-row > div {
    min-width: 0;
    word-break: break-word;
}

.sbp-pwa-report-table.is-detailing-clients .sbp-pwa-btn,
.sbp-pwa-report-table.is-detailing-workers .sbp-pwa-btn,
.sbp-pwa-report-table.is-detailing-packages .sbp-pwa-btn,
.sbp-pwa-report-table.is-detailing-schedules .sbp-pwa-btn {
    min-width: 0;
}

.sbp-pwa-detailing-table-limit {
    padding: 10px 12px;
    border-top: 1px solid var(--sbp-pwa-detailing-line);
    font-size: 12px;
}

.sbp-pwa-detailing-calendar .sbp-pwa-detailing-cleaning-event {
    box-shadow: inset 3px 0 0 rgba(255, 255, 255, 0.65);
}

.sbp-pwa-detailing-event {
    display: grid;
    gap: 2px;
    min-width: 0;
    line-height: 1.18;
}

.sbp-pwa-detailing-event-time {
    font-size: 10px;
    font-weight: 800;
    opacity: 0.9;
}

.sbp-pwa-detailing-event-title {
    overflow: hidden;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
}

.sbp-pwa-detailing-event-meta {
    overflow: hidden;
    font-size: 10px;
    opacity: 0.92;
    text-overflow: ellipsis;
}

@media (max-width: 1180px) {
    .sbp-pwa-detailing-layout,
    .sbp-pwa-detailing-manage-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sbp-pwa-section[data-pwa-section="detailing"] > .sbp-pwa-report-cards {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
}

@media (max-width: 760px) {
    .sbp-pwa-detailing-filters,
    .sbp-pwa-detailing-calendar-times,
    .sbp-pwa-detailing-schedule-grid,
    .sbp-pwa-detailing-client-grid,
    .sbp-pwa-detailing-worker-grid,
    .sbp-pwa-detailing-package-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sbp-pwa-section[data-pwa-section="detailing"] > .sbp-pwa-report-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .sbp-pwa-detailing-schedule-grid > div:nth-child(1),
    .sbp-pwa-detailing-schedule-grid > div:nth-child(2),
    .sbp-pwa-detailing-schedule-grid > div:nth-child(n+3):nth-child(-n+4),
    .sbp-pwa-detailing-package-grid > div:first-child,
    .sbp-pwa-detailing-package-grid > .sbp-pwa-form-wide,
    .sbp-pwa-detailing-inline-actions {
        grid-column: auto;
    }

    .sbp-pwa-detailing-calendar {
        min-height: 0;
    }

    .sbp-pwa-detailing-week-header {
        align-items: stretch;
        flex-direction: column;
    }

    .sbp-pwa-detailing-week-actions {
        justify-content: flex-start;
    }

    .sbp-pwa-detailing-assignment-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .sbp-pwa-detailing-form-actions,
    .sbp-pwa-detailing-inline-actions {
        justify-content: stretch;
    }

    .sbp-pwa-detailing-form-actions .sbp-pwa-btn,
    .sbp-pwa-detailing-inline-actions .sbp-pwa-btn {
        width: 100%;
    }
}
