:root {
    --cdp-accent: #D94A4A;          /* Charley's red (from the logo) */
    --cdp-accent-hover: #B93B3B;
    --cdp-on-accent: #FFFFFF;       /* text on red buttons */
    --cdp-accent-on-dark: #F6A6A2;  /* red text on dark backgrounds */
    --cdp-accent-text: #A8322F;     /* red links/labels on white */
    --cdp-accent-soft: #FDF1F0;     /* light red tint */
    --cdp-accent-border: #F3C2BF;
    --cdp-ink: #1C1B1F;             /* near-black */
    --cdp-ink-2: #2C2A30;
}

body.icabbi-portal-page footer.wp-block-template-part {
        display: none;
    }

    body.icabbi-portal-page header.wp-block-template-part {
        display: none;
    }

    body.icabbi-portal-page main.wp-block-group {
        margin-top: 0 !important;
        margin-block-start: 0 !important;
    }

    body.icabbi-portal-page h1.wp-block-post-title {
        display: none;
    }

    body.icabbi-portal-page .entry-content.wp-block-post-content {
        max-width: 900px;
        margin: 0 auto;
        padding: 30px 20px 80px;
    }

    .icabbi-portal-wrap,
    .icabbi-document-upload-wrap,
    .icabbi-credit-request-wrap,
    .icabbi-feedback-wrap {
        max-width: none;
        width: 100%;
    }

    body.icabbi-portal-page .icabbi-portal-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.5rem;
        flex-wrap: wrap;
    }

    body.icabbi-portal-page .icabbi-portal-logos {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 1rem;
        min-height: 64px;
        flex: 1 1 400px;
        min-width: 0;
    }

    body.icabbi-portal-page .icabbi-portal-logos img {
        height: 64px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
        display: block;
        flex-shrink: 0;
    }

    @media (max-width: 700px) {
        body.icabbi-portal-page .icabbi-portal-logos img {
            height: 44px;
            width: auto;
        }
        body.icabbi-portal-page .icabbi-portal-logos {
            gap: 0.5rem;
            min-height: 40px;
        }
    }

    body.icabbi-portal-page .icabbi-portal-logout {
        flex-shrink: 0;
    }

    body.icabbi-portal-page .icabbi-portal-logout a {
        display: inline-block;
        padding: 0.5rem 1.25rem;
        background: #f4f4f5;
        color: #3f3f46;
        border-radius: 999px;
        text-decoration: none;
        font-size: 0.85rem;
        font-weight: 600;
        transition: background 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-portal-logout a:hover {
        background: #e4e4e7;
    }

    body.icabbi-portal-page .icabbi-portal-divider {
        border: none;
        height: 1px;
        background: #e4e4e7;
        margin: 0 0 2rem;
    }

    body.icabbi-portal-page .icabbi-portal-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin: 0 0 2rem;
    }

    body.icabbi-portal-page .icabbi-portal-btn {
        display: inline-block;
        padding: 0.7rem 1.4rem;
        background: var(--cdp-accent);
        color: var(--cdp-on-accent);
        border-radius: 999px;
        text-decoration: none;
        font-weight: 700;
        font-size: 0.9rem;
        box-shadow: 0 6px 16px rgba(217,74,74,0.25);
        transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-portal-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(217,74,74,0.35);
    }

    body.icabbi-portal-page .icabbi-portal-btn.is-active {
        background: var(--cdp-ink);
        color: var(--cdp-accent-on-dark);
        box-shadow: 0 6px 16px rgba(28,27,31,0.25);
    }

    body.icabbi-portal-page .icabbi-portal-btn.is-active:hover {
        transform: none;
        box-shadow: 0 6px 16px rgba(28,27,31,0.25);
    }
    body.icabbi-portal-page .icabbi-info-label {
        font-size: 0.8rem;
        font-weight: 600;
        color: #71717a;
        margin: 0 0 0.75rem;
    }

    body.icabbi-portal-page .icabbi-info-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.6rem;
        margin: 0 0 2rem;
    }

    body.icabbi-portal-page .icabbi-info-btn {
        display: inline-block;
        padding: 0.5rem 1.1rem;
        background: transparent;
        color: var(--cdp-ink);
        border: 1px solid #d4d4d8;
        border-radius: 999px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.8rem;
        transition: border-color 0.2s ease, background 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-info-btn:hover {
        border-color: var(--cdp-accent);
        background: rgba(217,74,74,0.08);
    }
    body.icabbi-portal-page .icabbi-info-content {
        margin: 0 0 2rem;
    }

    body.icabbi-portal-page .icabbi-info-section-title {
        font-size: 1.35rem;
        font-weight: 700;
        color: var(--cdp-ink);
        margin: 0 0 1.5rem;
    }

    body.icabbi-portal-page .icabbi-info-card {
        background: #ffffff;
        border-radius: 16px;
        padding: 1.75rem 2rem 2rem;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
        margin: 0 0 1.5rem;
    }
    body.icabbi-portal-page .icabbi-info-card img.icabbi-info-img {
        max-width: 100%;
        border-radius: 12px;
        margin: 0.5rem 0 1.25rem;
        display: block;
    }

    body.icabbi-portal-page .icabbi-info-list {
        margin: 0 0 1rem;
        padding-left: 1.25rem;
        font-size: 0.95rem;
        line-height: 1.7;
        color: #3a3a3a;
    }
    body.icabbi-portal-page .icabbi-info-list-nested {
        margin: 0.4rem 0 0;
        padding-left: 1.25rem;
    }


    body.icabbi-portal-page .icabbi-info-card-divider {
        border: none;
        border-top: 1px solid #eee;
        margin: 1.25rem 0;
    }


    body.icabbi-portal-page .icabbi-info-card h3 {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--cdp-ink);
        margin: 0 0 0.25rem;
    }

    body.icabbi-portal-page .icabbi-info-card .icabbi-info-subtitle {
        font-size: 0.85rem;
        color: #71717a;
        margin: 0 0 1rem;
    }
    body.icabbi-portal-page .icabbi-info-card .icabbi-info-shop-name {
        font-weight: 700;
        font-size: 1.05rem;
        color: var(--cdp-ink);
    }


    body.icabbi-portal-page .icabbi-info-card p {
        font-size: 0.95rem;
        line-height: 1.6;
        color: #3a3a3a;
        margin: 0 0 0.6rem;
    }

    body.icabbi-portal-page .icabbi-info-card p strong {
        color: var(--cdp-ink);
    }

    body.icabbi-portal-page .icabbi-info-card a {
        color: var(--cdp-accent-text);
        text-decoration: underline;
    }

    body.icabbi-portal-page .icabbi-info-faq {
        margin-top: 1.25rem;
        padding-top: 1.25rem;
        border-top: 1px solid #e4e4e7;
    }

    body.icabbi-portal-page .icabbi-info-faq-q {
        font-weight: 700;
        color: var(--cdp-ink);
        margin: 0 0 0.2rem;
        font-size: 0.9rem;
    }

    body.icabbi-portal-page .icabbi-info-faq-a {
        color: #3a3a3a;
        margin: 0 0 1rem;
        font-size: 0.9rem;
    }

    body.icabbi-portal-page #icabbi-bookings-section {
        scroll-margin-top: 40px;
    }

    body.icabbi-portal-page #icabbi-bookings-section > p {
        background: #fafafa;
        border: 1px dashed #d4d4d8;
        border-radius: 12px;
        padding: 2rem;
        text-align: center;
        color: #71717a;
        font-size: 1rem;
    }

    body.icabbi-portal-page .icabbi-bookings-table {
        width: 100%;
        border-collapse: collapse;
        background: #ffffff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
        font-size: 0.9rem;
    }

    body.icabbi-portal-page .icabbi-bookings-table thead th {
        background: var(--cdp-ink);
        color: #ffffff;
        text-align: left;
        padding: 0.9rem 1.1rem;
        font-weight: 600;
        font-size: 0.78rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    body.icabbi-portal-page .icabbi-bookings-table tbody td {
        padding: 0.9rem 1.1rem;
        border-bottom: 1px solid #f0f0f1;
        color: #27272a;
    }

    body.icabbi-portal-page .icabbi-bookings-table tbody tr:last-child td {
        border-bottom: none;
    }

    body.icabbi-portal-page .icabbi-bookings-table tbody tr:nth-child(even) {
        background: #fafafa;
    }

    body.icabbi-portal-page .icabbi-bookings-table tbody tr:hover {
        background: var(--cdp-accent-soft);
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap h2,
    body.icabbi-portal-page .icabbi-credit-request-wrap h2,
    body.icabbi-portal-page .icabbi-feedback-wrap h2 {
        margin-top: 0;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap h2,
    body.icabbi-portal-page .icabbi-credit-request-wrap h2,
    body.icabbi-portal-page .icabbi-feedback-wrap h2 {
        font-size: 1.35rem;
        font-weight: 700;
        color: var(--cdp-ink);
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form,
    body.icabbi-portal-page .icabbi-credit-request-wrap form,
    body.icabbi-portal-page .icabbi-feedback-wrap form {
        background: #ffffff;
        border-radius: 16px;
        padding: 1.75rem 2rem 2rem;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
        margin: 0 0 2.5rem;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form p,
    body.icabbi-portal-page .icabbi-credit-request-wrap form p,
    body.icabbi-portal-page .icabbi-feedback-wrap form p {
        margin: 0 0 1.4rem;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form p:last-child,
    body.icabbi-portal-page .icabbi-credit-request-wrap form p:last-child,
    body.icabbi-portal-page .icabbi-feedback-wrap form p:last-child {
        margin-bottom: 0;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form label,
    body.icabbi-portal-page .icabbi-credit-request-wrap form label,
    body.icabbi-portal-page .icabbi-feedback-wrap form label {
        display: block;
        font-weight: 600;
        font-size: 0.88rem;
        color: #3f3f46;
        margin-bottom: 0.5rem;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=text],
    body.icabbi-portal-page .icabbi-document-upload-wrap form select,
    body.icabbi-portal-page .icabbi-document-upload-wrap form textarea,
    body.icabbi-portal-page .icabbi-credit-request-wrap form input[type=text],
    body.icabbi-portal-page .icabbi-credit-request-wrap form select,
    body.icabbi-portal-page .icabbi-credit-request-wrap form textarea,
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=text],
    body.icabbi-portal-page .icabbi-feedback-wrap form select,
    body.icabbi-portal-page .icabbi-feedback-wrap form textarea {
        width: 100%;
        max-width: 460px;
        padding: 0.65rem 0.9rem;
        border: 1px solid #d4d4d8;
        border-radius: 10px;
        font-size: 0.95rem;
        font-family: inherit;
        color: var(--cdp-ink);
        background: #ffffff;
        box-sizing: border-box;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form textarea,
    body.icabbi-portal-page .icabbi-credit-request-wrap form textarea,
    body.icabbi-portal-page .icabbi-feedback-wrap form textarea {
        max-width: 100%;
        min-height: 110px;
        resize: vertical;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=text]:focus,
    body.icabbi-portal-page .icabbi-document-upload-wrap form select:focus,
    body.icabbi-portal-page .icabbi-document-upload-wrap form textarea:focus,
    body.icabbi-portal-page .icabbi-credit-request-wrap form input[type=text]:focus,
    body.icabbi-portal-page .icabbi-credit-request-wrap form select:focus,
    body.icabbi-portal-page .icabbi-credit-request-wrap form textarea:focus,
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=text]:focus,
    body.icabbi-portal-page .icabbi-feedback-wrap form select:focus,
    body.icabbi-portal-page .icabbi-feedback-wrap form textarea:focus {
        outline: none;
        border-color: var(--cdp-accent);
        box-shadow: 0 0 0 3px rgba(217,74,74,0.25);
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=file],
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=file] {
        display: block;
        width: 100%;
        max-width: 460px;
        padding: 0.6rem;
        border: 1px dashed #d4d4d8;
        border-radius: 10px;
        font-size: 0.85rem;
        color: #71717a;
        background: #fafafa;
        box-sizing: border-box;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=file]::file-selector-button,
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=file]::file-selector-button {
        padding: 0.5rem 1rem;
        margin-right: 0.75rem;
        border: none;
        border-radius: 999px;
        background: var(--cdp-ink);
        color: var(--cdp-accent-on-dark);
        font-weight: 600;
        font-size: 0.85rem;
        cursor: pointer;
        transition: background 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=file]:hover::file-selector-button,
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=file]:hover::file-selector-button {
        background: var(--cdp-ink-2);
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form button[type=submit],
    body.icabbi-portal-page .icabbi-credit-request-wrap form button[type=submit],
    body.icabbi-portal-page .icabbi-feedback-wrap form button[type=submit],
    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=submit],
    body.icabbi-portal-page .icabbi-credit-request-wrap form input[type=submit],
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=submit] {
        display: inline-block;
        padding: 0.75rem 1.75rem;
        background: var(--cdp-accent);
        color: var(--cdp-on-accent);
        border: none;
        border-radius: 999px;
        font-weight: 700;
        font-size: 0.95rem;
        font-family: inherit;
        cursor: pointer;
        box-shadow: 0 6px 16px rgba(217,74,74,0.25);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap form button[type=submit]:hover,
    body.icabbi-portal-page .icabbi-credit-request-wrap form button[type=submit]:hover,
    body.icabbi-portal-page .icabbi-feedback-wrap form button[type=submit]:hover,
    body.icabbi-portal-page .icabbi-document-upload-wrap form input[type=submit]:hover,
    body.icabbi-portal-page .icabbi-credit-request-wrap form input[type=submit]:hover,
    body.icabbi-portal-page .icabbi-feedback-wrap form input[type=submit]:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(217,74,74,0.35);
    }

    body.icabbi-portal-page .icabbi-document-upload-wrap h2 + p,
    body.icabbi-portal-page .icabbi-credit-request-wrap h2 + p,
    body.icabbi-portal-page .icabbi-feedback-wrap h2 + p {
        background: #fafafa;
        border: 1px dashed #d4d4d8;
        border-radius: 12px;
        padding: 2rem;
        text-align: center;
        color: #71717a;
        font-size: 1rem;
        margin: 0;
    }

    body.icabbi-portal-page .icabbi-documents-table,
    body.icabbi-portal-page .icabbi-credit-requests-table,
    body.icabbi-portal-page .icabbi-feedback-table {
        width: 100%;
        border-collapse: collapse;
        background: #ffffff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
        font-size: 0.9rem;
    }

    body.icabbi-portal-page .icabbi-documents-table thead th,
    body.icabbi-portal-page .icabbi-credit-requests-table thead th,
    body.icabbi-portal-page .icabbi-feedback-table thead th {
        background: var(--cdp-ink);
        color: #ffffff;
        text-align: left;
        padding: 0.9rem 1.1rem;
        font-weight: 600;
        font-size: 0.78rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    body.icabbi-portal-page .icabbi-documents-table tbody td,
    body.icabbi-portal-page .icabbi-credit-requests-table tbody td,
    body.icabbi-portal-page .icabbi-feedback-table tbody td {
        padding: 0.9rem 1.1rem;
        border-bottom: 1px solid #f0f0f1;
        color: #27272a;
    }

    body.icabbi-portal-page .icabbi-documents-table tbody tr:last-child td,
    body.icabbi-portal-page .icabbi-credit-requests-table tbody tr:last-child td,
    body.icabbi-portal-page .icabbi-feedback-table tbody tr:last-child td {
        border-bottom: none;
    }

    body.icabbi-portal-page .icabbi-documents-table tbody tr:nth-child(even),
    body.icabbi-portal-page .icabbi-credit-requests-table tbody tr:nth-child(even),
    body.icabbi-portal-page .icabbi-feedback-table tbody tr:nth-child(even) {
        background: #fafafa;
    }

    body.icabbi-portal-page .icabbi-documents-table tbody tr:hover,
    body.icabbi-portal-page .icabbi-credit-requests-table tbody tr:hover,
    body.icabbi-portal-page .icabbi-feedback-table tbody tr:hover {
        background: var(--cdp-accent-soft);
    }

    .icabbi-required {
        color: #dc2626;
        margin-left: 2px;
    }

    body.icabbi-portal-page .icabbi-upload-instructions {
        background: var(--cdp-accent-soft);
        border: 1px solid var(--cdp-accent-border);
        border-radius: 12px;
        padding: 1rem 1.25rem;
        margin: 0 0 1.75rem;
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
    }

    body.icabbi-portal-page .icabbi-upload-step {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        font-size: 0.9rem;
        color: #4a4a4a;
        line-height: 1.4;
    }

    body.icabbi-portal-page .icabbi-upload-step-num {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--cdp-ink);
        color: var(--cdp-accent-on-dark);
        font-size: 0.78rem;
        font-weight: 700;
    }

    body.icabbi-portal-page .icabbi-upload-hint {
        margin: 0.6rem 0 0;
        font-size: 0.8rem;
        color: #71717a;
    }

    body.icabbi-portal-page .icabbi-file-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 0.6rem;
    }

    body.icabbi-portal-page .icabbi-file-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        background: #f4f4f5;
        border: 1px solid #e4e4e7;
        border-radius: 999px;
        padding: 0.3rem 0.4rem 0.3rem 0.75rem;
        font-size: 0.82rem;
        color: #27272a;
        max-width: 100%;
    }

    body.icabbi-portal-page .icabbi-file-chip-name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 220px;
    }

    body.icabbi-portal-page .icabbi-file-chip-remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: none;
        background: #d4d4d8;
        color: #ffffff;
        font-size: 0.75rem;
        line-height: 1;
        cursor: pointer;
        flex-shrink: 0;
        transition: background 0.15s ease;
        padding: 0;
    }

    body.icabbi-portal-page .icabbi-file-chip-remove:hover {
        background: #ef4444;
    }

    body.icabbi-portal-page .icabbi-field-error {
        color: #dc2626;
        font-size: 0.82rem;
        margin-top: 0.4rem;
    }

    body.icabbi-portal-page .icabbi-input-error {
        border-color: #dc2626 !important;
        box-shadow: 0 0 0 3px rgba(220,38,38,0.15) !important;
    }

    body.icabbi-portal-page .icabbi-hidden {
        display: none !important;
    }

    body.icabbi-portal-page .icabbi-booking-search {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 1rem;
        margin: 0 0 1.5rem;
        padding: 1rem 1.25rem;
        background: #fafafa;
        border: 1px solid #e4e4e7;
        border-radius: 12px;
    }

    body.icabbi-portal-page .icabbi-booking-search-field {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
    }

    body.icabbi-portal-page .icabbi-booking-search-field label {
        font-weight: 600;
        font-size: 0.8rem;
        color: #3f3f46;
    }

    body.icabbi-portal-page .icabbi-booking-search-field input[type=date] {
        padding: 0.55rem 0.75rem;
        border: 1px solid #d4d4d8;
        border-radius: 10px;
        font-size: 0.9rem;
        font-family: inherit;
        color: var(--cdp-ink);
        background: #ffffff;
    }

    body.icabbi-portal-page .icabbi-booking-search-field input[type=date]:focus {
        outline: none;
        border-color: var(--cdp-accent);
        box-shadow: 0 0 0 3px rgba(217,74,74,0.25);
    }

    body.icabbi-portal-page .icabbi-booking-search-btn {
        padding: 0.6rem 1.4rem;
        font-size: 0.85rem;
    }

    body.icabbi-portal-page .icabbi-booking-search-clear {
        font-size: 0.85rem;
        color: #71717a;
        text-decoration: underline;
        padding-bottom: 0.65rem;
    }

    body.icabbi-portal-page .icabbi-booking-search-clear:hover {
        color: var(--cdp-ink);
    }

    
    body.icabbi-portal-page.single-booking h1.wp-block-post-title,
    body.icabbi-portal-page.single-booking .wp-block-post-content ~ .wp-block-group,
    body.icabbi-portal-page.single-booking main .wp-block-group.has-small-font-size,
    body.icabbi-portal-page.single-booking nav.wp-block-group {
        display: none;
    }

    body.icabbi-portal-page.single-booking main.wp-block-group > .alignwide {
        display: none;
    }

    .icabbi-booking-detail-heading {
        font-size: 1.3rem;
        font-weight: 700;
        color: var(--cdp-ink);
        margin: 0 0 1rem;
    }

    .icabbi-booking-detail {
        width: 100%;
        border-collapse: collapse;
        background: #ffffff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
        margin-bottom: 1.5rem;
    }
    .icabbi-booking-detail th {
        background: var(--cdp-ink);
        color: #ffffff;
        text-align: left;
        padding: 0.9rem 1.1rem;
        width: 180px;
        font-weight: 600;
        font-size: 0.78rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        vertical-align: top;
    }
    .icabbi-booking-detail td {
        padding: 0.9rem 1.1rem;
        border-bottom: 1px solid #f0f0f0;
        color: var(--cdp-ink);
        font-size: 0.95rem;
    }
    .icabbi-booking-detail tr:last-child td {
        border-bottom: none;
    }
    .icabbi-booking-detail-actions {
        display: flex;
        gap: 0.75rem;
        flex-wrap: wrap;
        margin-top: 1rem;
    }
.icabbi-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(28,27,31,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.icabbi-modal-overlay.icabbi-hidden {
  display: none;
}
.icabbi-modal {
  background: #ffffff;
  border-radius: 16px;
  max-width: 520px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  padding: 1.75rem 2rem;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  position: relative;
}
.icabbi-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  color: #71717a;
  line-height: 1;
}
.icabbi-modal h3 {
  margin-top: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--cdp-ink);
}
.icabbi-modal-field {
  margin-bottom: 1.1rem;
}
.icabbi-modal-field label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  color: #3f3f46;
  margin-bottom: 0.4rem;
}
.icabbi-modal-field input[type=text],
.icabbi-modal-field textarea,
.icabbi-modal-field input[type=file] {
  width: 100%;
  padding: 0.65rem 0.9rem;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  font-size: 0.95rem;
  font-family: inherit;
  color: var(--cdp-ink);
  background: #ffffff;
  box-sizing: border-box;
}
.icabbi-modal-field input[readonly] {
  background: #f4f4f5;
  cursor: pointer;
}
.icabbi-modal-field textarea {
  min-height: 100px;
  resize: vertical;
}
.icabbi-modal-msg {
  font-size: 0.88rem;
  margin-top: 0.85rem;
}
.icabbi-modal-msg-success {
  color: #15803d;
}
.icabbi-modal-msg-error {
  color: #b32d2e;
}
.icabbi-booking-picker-search {
  width: 100%;
  margin-bottom: 0.75rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  font-size: 0.9rem;
  font-family: inherit;
  box-sizing: border-box;
}
.icabbi-booking-picker-list {
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid #e4e4e7;
  border-radius: 10px;
}
.icabbi-booking-picker-item {
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  font-size: 0.88rem;
  color: #27272a;
}
.icabbi-booking-picker-item:hover {
  background: var(--cdp-accent-soft);
}
.icabbi-booking-picker-item:last-child {
  border-bottom: none;
}
.icabbi-booking-picker-empty {
  padding: 1rem;
  color: #71717a;
  text-align: center;
  font-size: 0.9rem;
}

/* Background trip refresh */
body.icabbi-portal-page .cdp-refresh-status:empty { display: none; }
body.icabbi-portal-page .cdp-refresh-status,
body.icabbi-portal-page .cdp-trips-note {
    font-size: 0.85rem;
    color: #71717a;
    margin: 0.5rem 0 0.75rem;
}
