.utp-reservations {
                max-width: 1500px;
                margin: 0 auto;
                padding: 28px 20px 34px;
                color: #0b1622;
            }

            .utp-reservations-page .utp-workspace-window {
                min-height: 520px;
            }

            .utp-reservations h1,
            .utp-reservations h2,
            .utp-reservations p {
                margin-top: 0;
            }

            .utp-reservations__header,
            .utp-reservations__detail-title {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 20px;
            }

            .utp-reservations__filters {
                display: grid;
                grid-template-columns:
                    minmax(0, 1.35fr)
                    minmax(170px, .90fr)
                    minmax(130px, .68fr)
                    minmax(130px, .68fr)
                    minmax(145px, .74fr)
                    minmax(145px, .74fr)
                    132px;
                gap: 12px;
                align-items: end;
                margin: 22px 0 16px;
                padding: 20px;
                border-radius: 24px;
                background:
                    radial-gradient(circle at 18% 0%, rgba(255,122,69,.16), transparent 34%),
                    linear-gradient(180deg, rgba(18,24,38,.86), rgba(8,13,24,.72));
                border: 1px solid rgba(255,255,255,.13);
                box-shadow:
                    0 22px 54px rgba(0,0,0,.20),
                    inset 0 1px 0 rgba(255,255,255,.10);
            }

            .utp-reservations__filter-field,
            .utp-reservations__date-field {
                display: flex;
                flex-direction: column;
                gap: 7px;
                min-width: 0;
            }

            .utp-reservations__filter-field > span,
            .utp-reservations__date-field > span {
                display: block;
                margin: 0;
                padding: 0;
                color: rgba(226,232,240,.78);
                font-size: 11px;
                font-weight: 900;
                letter-spacing: .075em;
                line-height: 1.15;
                text-transform: uppercase;
            }

            .utp-reservations__filter-field input,
            .utp-reservations__filter-field select,
            .utp-reservations__date-field input {
                width: 100%;
                height: 58px;
                min-height: 58px;
                padding: 0 16px;
                border: 1px solid rgba(255,255,255,.18);
                border-radius: 16px;
                background: rgba(255,255,255,.94);
                color: #0f172a;
                font-size: 14px;
                font-weight: 750;
                box-sizing: border-box;
            }

            .utp-reservations__filter-field input:focus,
            .utp-reservations__filter-field select:focus,
            .utp-reservations__date-field input:focus {
                border-color: rgba(255,122,69,.72);
                background: #fff;
                box-shadow: 0 0 0 3px rgba(255,122,69,.18);
                outline: none;
            }

            .utp-reservations__filter-actions {
                display: flex;
                flex-direction: column;
                justify-content: flex-end;
                gap: 6px;
                min-width: 0;
            }

            .utp-reservations__filter-actions button {
                width: 100%;
                height: 58px;
                min-height: 58px;
                padding: 0 16px;
                border: 0;
                border-radius: 17px;
                background: linear-gradient(135deg, #ff5e44, #ff9438);
                color: #fff;
                font-size: 15px;
                font-weight: 950;
                line-height: 58px;
                cursor: pointer;
                box-shadow:
                    0 18px 38px rgba(255,94,68,.28),
                    inset 0 1px 0 rgba(255,255,255,.22);
            }

            .utp-reservations__filter-actions a {
                align-self: center;
                color: rgba(255,255,255,.72);
                font-size: 11px;
                font-weight: 800;
                text-decoration: none;
            }

            .utp-reservations__results-meta {
                display: flex;
                justify-content: space-between;
                gap: 12px;
                margin: 0 2px 10px;
                font-size: 12px;
                opacity: .62;
            }

            .utp-reservations__table-wrap,
            .utp-reservations__card {
                background: rgba(255,255,255,.92);
                border: 1px solid rgba(11,22,34,.10);
                border-radius: 16px;
                box-shadow: 0 10px 30px rgba(11,22,34,.05);
            }

            .utp-reservations__table-wrap {
                overflow: auto;
            }

            .utp-reservations__table {
                width: 100%;
                border-collapse: collapse;
            }

            .utp-reservations__table th,
            .utp-reservations__table td {
                padding: 15px 16px;
                border-bottom: 1px solid rgba(11,22,34,.08);
                text-align: left;
                vertical-align: top;
                white-space: nowrap;
            }

            .utp-reservations__table th {
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: .06em;
                opacity: .65;
            }

            .utp-reservations__table tbody tr:last-child td {
                border-bottom: 0;
            }

            .utp-reservations__table a {
                color: inherit;
                text-decoration: none;
            }

            .utp-reservations__muted {
                margin-top: 4px;
                font-size: 12px;
                opacity: .62;
            }

            .utp-reservations__status {
                display: inline-flex;
                align-items: center;
                min-height: 28px;
                border-radius: 999px;
                padding: 3px 10px;
                border: 1px solid rgba(11,22,34,.12);
                background: rgba(11,22,34,.04);
                font-weight: 600;
                font-size: 12px;
            }

            .utp-reservations__status--large {
                min-height: 34px;
                padding: 5px 14px;
                font-size: 13px;
            }

            .utp-reservations__back {
                display: inline-flex;
                align-items: center;
                margin-bottom: 12px;
                color: #5f6b78;
                font-size: 12px;
                font-weight: 800;
                text-decoration: none;
            }

            .utp-reservations__back:hover,
            .utp-reservations__detail-nav a:hover {
                color: #F5793B;
            }

            .utp-reservations__detail-top {
                margin-bottom: 20px;
            }

            .utp-reservations__detail-nav {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 14px;
                margin-bottom: 16px;
            }

            .utp-reservations__detail-nav-left {
                display: flex;
                align-items: center;
                gap: 14px;
            }

            .utp-reservations__modify {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-height: 38px;
                padding: 0 14px;
                border-radius: 12px;
                background: #0b1622;
                color: #fff;
                font-size: 12px;
                font-weight: 900;
                text-decoration: none;
            }

            .utp-reservations__modify:hover {
                background: #F5793B;
            }


            .utp-reservations__detail-actions {
                display: flex;
                align-items: center;
                gap: 10px;
            }

            .utp-reservations__cancel-form {
                margin: 0;
            }

            .utp-reservations__cancel {
                min-height: 38px;
                padding: 0 14px;
                border: 1px solid rgba(190,24,93,.24);
                border-radius: 12px;
                background: rgba(190,24,93,.06);
                color: #9f1239;
                font-size: 12px;
                font-weight: 900;
                cursor: pointer;
            }

            .utp-reservations__cancel:hover {
                background: rgba(190,24,93,.12);
            }


            .utp-reservations__document-form {
                margin: 0;
            }

            .utp-reservations__document,
            .utp-reservations__document-secondary {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-height: 38px;
                padding: 0 14px;
                border-radius: 12px;
                font-size: 12px;
                font-weight: 900;
                text-decoration: none;
                cursor: pointer;
            }

            .utp-reservations__document {
                border: 0;
                background: linear-gradient(135deg, #ff5e44, #ff9438);
                color: #fff !important;
            }

            .utp-reservations__document-secondary {
                border: 1px solid rgba(245,121,59,.28);
                background: #fff;
                color: #F5793B;
            }

            .utp-reservations__notice {
                margin-bottom: 14px;
                padding: 12px 14px;
                border: 1px solid rgba(11,22,34,.10);
                border-radius: 12px;
                background: rgba(255,255,255,.92);
                color: #334155;
                font-size: 13px;
                font-weight: 700;
            }

            .utp-reservation-dossier__notes-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 18px;
            }

            .utp-reservation-dossier__notes-grid > div {
                min-width: 0;
            }

            .utp-reservation-dossier__notes-grid strong {
                display: block;
                margin-bottom: 7px;
                color: #0b1622;
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: .04em;
            }

            .utp-reservation-dossier__notes-grid p {
                margin: 0;
                color: #475569;
                line-height: 1.55;
                white-space: normal;
                overflow-wrap: anywhere;
            }

            .utp-reservation-dossier__notes-grid span {
                color: #94a3b8;
            }

            .utp-reservations__detail-nav a {
                color: #5f6b78;
                font-size: 12px;
                font-weight: 800;
                text-decoration: none;
            }

            .utp-reservations__card {
                padding: 22px;
                margin-top: 16px;
            }

            .utp-reservations__grid {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 16px;
            }

            .utp-reservations__grid > div,
            .utp-reservations__stack > div {
                display: flex;
                flex-direction: column;
                gap: 5px;
            }

            .utp-reservations__grid strong,
            .utp-reservations__stack strong {
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: .04em;
                opacity: .65;
            }


            .utp-reservations__grid--financial {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .utp-reservations__stack {
                display: grid;
                gap: 14px;
            }

            .utp-reservations__timeline {
                display: grid;
                gap: 0;
            }

            .utp-reservations__timeline-item {
                display: flex;
                justify-content: space-between;
                gap: 20px;
                padding: 12px 0;
                border-bottom: 1px solid rgba(11,22,34,.08);
            }

            .utp-reservations__timeline-item:last-child {
                border-bottom: 0;
            }

            .utp-reservations__timeline-item span {
                opacity: .62;
            }

            .utp-reservation-dossier__hero {
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                gap: 24px;
                margin: 0 0 18px;
                padding: 22px 24px;
                border-radius: 20px;
                background:
                    radial-gradient(circle at 16% 0%, rgba(255,122,69,.12), transparent 34%),
                    linear-gradient(180deg, rgba(18,24,38,.93), rgba(8,13,24,.88));
                color: #fff;
                box-shadow: 0 18px 40px rgba(15,23,42,.16);
            }

            .utp-reservation-dossier__eyebrow,
            .utp-reservation-dossier__service-type {
                margin-bottom: 6px;
                color: #ff8a3d;
                font-size: 10px;
                font-weight: 900;
                letter-spacing: .10em;
                text-transform: uppercase;
            }

            .utp-reservation-dossier__hero h1 {
                margin: 0;
                color: #fff;
                font-size: 30px;
                line-height: 1.05;
                letter-spacing: -.035em;
            }

            .utp-reservation-dossier__meta {
                display: flex;
                flex-wrap: wrap;
                gap: 8px 14px;
                margin-top: 10px;
                color: rgba(255,255,255,.62);
                font-size: 12px;
            }

            .utp-reservation-dossier__summary-grid,
            .utp-reservation-dossier__two-col {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px;
            }

            .utp-reservation-dossier__section {
                margin-top: 18px;
            }

            .utp-reservation-dossier__section-title {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                margin-bottom: 14px;
                color: #0b1622;
                font-size: 12px;
                font-weight: 900;
                letter-spacing: .075em;
                text-transform: uppercase;
            }

            .utp-reservation-dossier__section-title small {
                color: #64748b;
                font-size: 11px;
                font-weight: 700;
                letter-spacing: 0;
                text-transform: none;
            }

            .utp-reservation-dossier__service-head {
                display: flex;
                justify-content: space-between;
                gap: 18px;
                align-items: flex-start;
                margin-bottom: 18px;
            }

            .utp-reservation-dossier__service-head h2 {
                margin: 0;
                font-size: 20px;
                line-height: 1.15;
            }

            .utp-reservation-dossier__subgrid {
                display: grid;
                grid-template-columns: repeat(4, minmax(0,1fr));
                gap: 14px;
                margin-top: 18px;
                padding-top: 16px;
                border-top: 1px solid rgba(11,22,34,.08);
            }

            .utp-reservation-dossier__subgrid > div,
            .utp-reservation-dossier__traveller,
            .utp-reservation-dossier__provider-row > div {
                display: flex;
                flex-direction: column;
                gap: 5px;
            }

            .utp-reservation-dossier__subgrid strong,
            .utp-reservation-dossier__traveller strong,
            .utp-reservation-dossier__provider-row strong {
                font-size: 12px;
                font-weight: 800;
                color: #0b1622;
            }

            .utp-reservation-dossier__subgrid span,
            .utp-reservation-dossier__traveller span,
            .utp-reservation-dossier__provider-row span {
                color: #64748b;
                font-size: 12px;
            }

            .utp-reservation-dossier__travellers,
            .utp-reservation-dossier__provider-list {
                display: grid;
                gap: 12px;
            }

            .utp-reservation-dossier__traveller,
            .utp-reservation-dossier__provider-row {
                padding: 12px 0;
                border-bottom: 1px solid rgba(11,22,34,.08);
            }

            .utp-reservation-dossier__traveller:last-child,
            .utp-reservation-dossier__provider-row:last-child {
                border-bottom: 0;
            }

            .utp-reservation-dossier__provider-row {
                display: grid;
                grid-template-columns: minmax(0,1fr) auto;
                gap: 16px;
            }


            .utp-reservation-dossier__segments {
                margin-top: 16px;
                padding-top: 16px;
                border-top: 1px solid rgba(11,22,34,.08);
            }

            .utp-reservation-dossier__segments-title {
                margin-bottom: 10px;
                color: #0b1622;
                font-size: 11px;
                font-weight: 900;
                letter-spacing: .075em;
                text-transform: uppercase;
            }

            .utp-reservation-dossier__segment {
                display: grid;
                grid-template-columns: 82px minmax(180px,1.35fr) minmax(100px,.7fr) minmax(150px,1fr) minmax(150px,1fr) minmax(100px,.7fr) minmax(100px,.7fr);
                gap: 12px;
                align-items: start;
                padding: 12px 0;
                border-bottom: 1px solid rgba(11,22,34,.07);
            }

            .utp-reservation-dossier__segment:last-child {
                border-bottom: 0;
                padding-bottom: 0;
            }

            .utp-reservation-dossier__segment > div:not(.utp-reservation-dossier__segment-number) {
                display: flex;
                flex-direction: column;
                gap: 4px;
            }

            .utp-reservation-dossier__segment strong,
            .utp-reservation-dossier__traveller-details b {
                color: #64748b;
                font-size: 10px;
                font-weight: 850;
                letter-spacing: .04em;
                text-transform: uppercase;
            }

            .utp-reservation-dossier__segment span {
                color: #0b1622;
                font-size: 12px;
            }

            .utp-reservation-dossier__segment small {
                display: block;
                margin-top: 3px;
                color: #64748b;
                font-size: 10px;
            }

            .utp-reservation-dossier__segment-number {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-height: 26px;
                padding: 3px 8px;
                border-radius: 999px;
                background: rgba(245,121,59,.10);
                color: #F5793B;
                font-size: 10px;
                font-weight: 900;
            }

            .utp-reservation-dossier__traveller-details {
                display: grid;
                grid-template-columns: repeat(2, minmax(0,1fr));
                gap: 8px 14px;
                margin-top: 8px;
            }

            .utp-reservation-dossier__traveller-details span {
                display: flex;
                flex-direction: column;
                gap: 2px;
                min-width: 0;
                overflow-wrap: anywhere;
            }

            .utp-reservation-dossier__lifecycle {
                margin-bottom: 6px;
            }

            .utp-reservation-dossier__entity-link {
                color: inherit;
                font-weight: inherit;
                text-decoration: none;
                border-bottom: 1px solid rgba(245,121,59,.36);
                transition: color .16s ease, border-color .16s ease;
            }

            .utp-reservation-dossier__entity-link:hover {
                color: #F5793B;
                border-bottom-color: #F5793B;
            }

            @media (max-width: 1100px) {
                .utp-reservations__filters {
                    grid-template-columns: 1fr 1fr;
                    padding: 16px;
                }

                .utp-reservations__filter-actions {
                    grid-column: 2;
                }

                .utp-reservations__grid,
                .utp-reservation-dossier__subgrid {
                    grid-template-columns: 1fr 1fr;
                }

                .utp-reservation-dossier__summary-grid,
                .utp-reservation-dossier__two-col {
                    grid-template-columns: 1fr;
                }

                .utp-reservation-dossier__segment {
                    grid-template-columns: 82px repeat(2, minmax(0,1fr));
                }
            }

            @media (max-width: 680px) {
                .utp-reservations {
                    padding: 16px;
                }

                .utp-reservations__filters,
                .utp-reservations__grid {
                    grid-template-columns: 1fr;
                }

                .utp-reservations__detail-title,
                .utp-reservation-dossier__hero,
                .utp-reservation-dossier__service-head {
                    align-items: flex-start;
                    flex-direction: column;
                }

                .utp-reservation-dossier__subgrid {
                    grid-template-columns: 1fr;
                }

                .utp-reservation-dossier__provider-row {
                    grid-template-columns: 1fr;
                }

                .utp-reservation-dossier__notes-grid {
                    grid-template-columns: 1fr;
                }

                .utp-reservations__detail-nav,
                .utp-reservations__detail-actions {
                    align-items: flex-start;
                    flex-direction: column;
                }
            }


/* Reservation document action visibility lock */
.ids-utp .utp-reservations__document {
    background: linear-gradient(135deg, #ff5e44, #ff9438) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

.ids-utp .utp-reservations__document-secondary {
    background: #ffffff !important;
    color: #F5793B !important;
    border: 1px solid rgba(245,121,59,.28) !important;
}

.ids-utp a.utp-reservations__document:visited,
.ids-utp a.utp-reservations__document:hover,
.ids-utp a.utp-reservations__document:focus {
    color: #ffffff !important;
}


/* Market Service Request Foundation */
.ids-utp .utp-reservations__supplier-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid #d9e2ea;background:#f7f9fb;color:#526477;font-size:11px;font-weight:700;white-space:nowrap}
.ids-utp .utp-reservations__supplier-status[data-status="confirmed"]{background:#ecfaf3;border-color:#ccebdc;color:#167a4b}
.ids-utp .utp-reservations__supplier-status[data-status="reply_received"]{background:#fff7e8;border-color:#f4dfb6;color:#8b6217}
.ids-utp .utp-reservations__supplier-status[data-status="sent"],.ids-utp .utp-reservations__supplier-status[data-status="delivered"],.ids-utp .utp-reservations__supplier-status[data-status="awaiting_reply"]{background:#eef5ff;border-color:#d4e3f7;color:#3f628b}
.ids-utp .utp-reservations__supplier-status[data-status="rejected"],.ids-utp .utp-reservations__supplier-status[data-status="delivery_failed"]{background:#fff0ed;border-color:#f3d0c9;color:#b43a2c}
.ids-utp .utp-service-request-panel{margin-top:18px;padding:16px;border:1px solid #e0e6ec;border-radius:12px;background:#fbfcfd}
.ids-utp .utp-service-request-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.ids-utp .utp-service-request-panel__head strong{display:block;font-size:14px;color:#17243a}
.ids-utp .utp-service-request-panel__head small{display:block;margin-top:3px;color:#8290a3}
.ids-utp .utp-service-request-panel__actions{margin-top:12px}
.ids-utp .utp-service-request-panel__meta{display:flex;gap:14px;flex-wrap:wrap;padding-bottom:10px;color:#63738a;font-size:12px}
.ids-utp .utp-service-request-panel__snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ids-utp .utp-service-request-panel__snapshot span{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid #e2e7ec;border-radius:9px;background:#fff;color:#28374c;font-size:12px}
.ids-utp .utp-service-request-panel__snapshot strong{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7d8da2}
.ids-utp .utp-service-request-panel__note{margin:10px 0 0!important;color:#8290a3!important;font-size:11px!important}
.ids-utp .utp-service-request-panel__pending{margin-top:10px;padding:9px 11px;border-radius:8px;background:#fff7e8;color:#795817;font-size:12px}
@media(max-width:1100px){.ids-utp .utp-service-request-panel__snapshot{grid-template-columns:1fr 1fr}}

/* Service Request dossier strip + Room Request review surface */
.ids-utp .utp-service-request-panel{margin-top:18px;padding:14px 0 0;border:0;border-top:1px solid #e3e8ed;border-radius:0;background:transparent}
.ids-utp .utp-service-request-panel__head{margin-bottom:10px}
.ids-utp .utp-service-request-panel__head strong{text-transform:uppercase;letter-spacing:.055em;font-size:11px;color:#65758b}
.ids-utp .utp-service-request-panel__head small{font-size:11px;color:#95a0af}
.ids-utp .utp-service-request-panel__row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.ids-utp .utp-service-request-panel__row p{margin:0;color:#66758a;font-size:12px}
.ids-utp .utp-service-request-panel__actions{margin:0}
.ids-utp .utp-service-request-panel__identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.ids-utp .utp-service-request-panel__identity strong{font-size:13px;color:#1d2b3e}
.ids-utp .utp-service-request-panel__identity span{color:#7e8b9d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ids-utp .utp-service-request-surface{max-width:1180px;margin:0 auto}
.ids-utp .utp-service-request-document{margin-top:18px;padding:28px;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgba(31,43,61,.06)}
.ids-utp .utp-service-request-document__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #e7ebef}
.ids-utp .utp-service-request-document__eyebrow{margin-bottom:6px;color:#f06f3c;font-size:11px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.ids-utp .utp-service-request-document__header h1{margin:0;color:#111d2f;font-size:27px;line-height:1.08}
.ids-utp .utp-service-request-document__header p{margin:6px 0 0;color:#758399;font-size:12px}
.ids-utp .utp-service-request-document__number{display:flex;min-width:210px;flex-direction:column;align-items:flex-end;padding:12px 14px;border-radius:12px;background:#fff3ed}
.ids-utp .utp-service-request-document__number small,.ids-utp .utp-service-request-document small{color:#718097;font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.ids-utp .utp-service-request-document__number strong{margin-top:3px;color:#f06b37;font-size:15px}
.ids-utp .utp-service-request-document__number span{margin-top:2px;color:#8a96a7;font-size:10px}
.ids-utp .utp-service-request-document__reference{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}
.ids-utp .utp-service-request-document__reference>div{display:flex;flex-direction:column;gap:4px}
.ids-utp .utp-service-request-document__reference strong{color:#17243a;font-size:13px}
.ids-utp .utp-service-request-document__section{margin-top:14px}
.ids-utp .utp-service-request-document__section h2{margin:0 0 9px;color:#17243a;font-size:15px}
.ids-utp .utp-service-request-document__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ids-utp .utp-service-request-document__grid>div,.ids-utp .utp-service-request-document__guests>div{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}
.ids-utp .utp-service-request-document__grid .wide{grid-column:span 2}
.ids-utp .utp-service-request-document__grid strong,.ids-utp .utp-service-request-document__guests strong{color:#101b2c;font-size:12px}
.ids-utp .utp-service-request-document__guests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ids-utp .utp-service-request-document__guests span{color:#7f8b9c;font-size:10px}
.ids-utp .utp-service-request-document__message{min-height:54px;padding:12px;border:1px solid #dfe5eb;border-radius:10px;background:#f8fafc;color:#2e3b4f;font-size:12px;line-height:1.5}
.ids-utp .utp-service-request-document__empty{padding:12px;color:#8a96a7;font-size:12px}
.ids-utp .utp-service-request-document__recipient{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e7ebef}
.ids-utp .utp-service-request-document__recipient>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #e1e6eb;border-radius:10px;background:#fbfcfd}
.ids-utp .utp-service-request-document__recipient strong{color:#26354a;font-size:12px}
.ids-utp .utp-service-request-document__recipient span{color:#8b97a7;font-size:10px}
.ids-utp .utp-service-request-document__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border-radius:10px;background:#f5f7f9;color:#66758a;font-size:11px}
.ids-utp .utp-service-request-document__footer strong{color:#33445a}
.ids-utp .utp-service-request-surface__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid #e3e8ed;border-radius:12px;background:#fff}
.ids-utp .utp-service-request-surface__actions span{color:#78869a;font-size:12px}
.ids-utp .utp-service-request-surface__actions button[disabled]{opacity:.48;cursor:not-allowed}
@media(max-width:1100px){.ids-utp .utp-service-request-document__grid{grid-template-columns:1fr 1fr}.ids-utp .utp-service-request-document__recipient{grid-template-columns:1fr}}


/* Service Request surfaces can render outside the .ids-utp workspace wrapper. */
/* Market Service Request Foundation */
.utp-reservations__supplier-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid #d9e2ea;background:#f7f9fb;color:#526477;font-size:11px;font-weight:700;white-space:nowrap}
.utp-reservations__supplier-status[data-status="confirmed"]{background:#ecfaf3;border-color:#ccebdc;color:#167a4b}
.utp-reservations__supplier-status[data-status="reply_received"]{background:#fff7e8;border-color:#f4dfb6;color:#8b6217}
.utp-reservations__supplier-status[data-status="sent"],.utp-reservations__supplier-status[data-status="delivered"],.utp-reservations__supplier-status[data-status="awaiting_reply"]{background:#eef5ff;border-color:#d4e3f7;color:#3f628b}
.utp-reservations__supplier-status[data-status="rejected"],.utp-reservations__supplier-status[data-status="delivery_failed"]{background:#fff0ed;border-color:#f3d0c9;color:#b43a2c}
.utp-service-request-panel{margin-top:18px;padding:16px;border:1px solid #e0e6ec;border-radius:12px;background:#fbfcfd}
.utp-service-request-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.utp-service-request-panel__head strong{display:block;font-size:14px;color:#17243a}
.utp-service-request-panel__head small{display:block;margin-top:3px;color:#8290a3}
.utp-service-request-panel__actions{margin-top:12px}
.utp-service-request-panel__meta{display:flex;gap:14px;flex-wrap:wrap;padding-bottom:10px;color:#63738a;font-size:12px}
.utp-service-request-panel__snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.utp-service-request-panel__snapshot span{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid #e2e7ec;border-radius:9px;background:#fff;color:#28374c;font-size:12px}
.utp-service-request-panel__snapshot strong{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7d8da2}
.utp-service-request-panel__note{margin:10px 0 0!important;color:#8290a3!important;font-size:11px!important}
.utp-service-request-panel__pending{margin-top:10px;padding:9px 11px;border-radius:8px;background:#fff7e8;color:#795817;font-size:12px}
@media(max-width:1100px){.utp-service-request-panel__snapshot{grid-template-columns:1fr 1fr}}

/* Service Request dossier strip + Room Request review surface */
.utp-service-request-panel{margin-top:18px;padding:14px 0 0;border:0;border-top:1px solid #e3e8ed;border-radius:0;background:transparent}
.utp-service-request-panel__head{margin-bottom:10px}
.utp-service-request-panel__head strong{text-transform:uppercase;letter-spacing:.055em;font-size:11px;color:#65758b}
.utp-service-request-panel__head small{font-size:11px;color:#95a0af}
.utp-service-request-panel__row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.utp-service-request-panel__row p{margin:0;color:#66758a;font-size:12px}
.utp-service-request-panel__actions{margin:0}
.utp-service-request-panel__identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.utp-service-request-panel__identity strong{font-size:13px;color:#1d2b3e}
.utp-service-request-panel__identity span{color:#7e8b9d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.utp-service-request-surface{max-width:1180px;margin:0 auto}
.utp-service-request-document{margin-top:18px;padding:28px;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgba(31,43,61,.06)}
.utp-service-request-document__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #e7ebef}
.utp-service-request-document__eyebrow{margin-bottom:6px;color:#f06f3c;font-size:11px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.utp-service-request-document__header h1{margin:0;color:#111d2f;font-size:27px;line-height:1.08}
.utp-service-request-document__header p{margin:6px 0 0;color:#758399;font-size:12px}
.utp-service-request-document__number{display:flex;min-width:210px;flex-direction:column;align-items:flex-end;padding:12px 14px;border-radius:12px;background:#fff3ed}
.utp-service-request-document__number small,.utp-service-request-document small{color:#718097;font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.utp-service-request-document__number strong{margin-top:3px;color:#f06b37;font-size:15px}
.utp-service-request-document__number span{margin-top:2px;color:#8a96a7;font-size:10px}
.utp-service-request-document__reference{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}
.utp-service-request-document__reference>div{display:flex;flex-direction:column;gap:4px}
.utp-service-request-document__reference strong{color:#17243a;font-size:13px}
.utp-service-request-document__section{margin-top:14px}
.utp-service-request-document__section h2{margin:0 0 9px;color:#17243a;font-size:15px}
.utp-service-request-document__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.utp-service-request-document__grid>div,.utp-service-request-document__guests>div{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}
.utp-service-request-document__grid .wide{grid-column:span 2}
.utp-service-request-document__grid strong,.utp-service-request-document__guests strong{color:#101b2c;font-size:12px}
.utp-service-request-document__guests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.utp-service-request-document__guests span{color:#7f8b9c;font-size:10px}
.utp-service-request-document__message{min-height:54px;padding:12px;border:1px solid #dfe5eb;border-radius:10px;background:#f8fafc;color:#2e3b4f;font-size:12px;line-height:1.5}
.utp-service-request-document__empty{padding:12px;color:#8a96a7;font-size:12px}
.utp-service-request-document__recipient{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e7ebef}
.utp-service-request-document__recipient>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #e1e6eb;border-radius:10px;background:#fbfcfd}
.utp-service-request-document__recipient strong{color:#26354a;font-size:12px}
.utp-service-request-document__recipient span{color:#8b97a7;font-size:10px}
.utp-service-request-document__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border-radius:10px;background:#f5f7f9;color:#66758a;font-size:11px}
.utp-service-request-document__footer strong{color:#33445a}
.utp-service-request-surface__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid #e3e8ed;border-radius:12px;background:#fff}
.utp-service-request-surface__actions span{color:#78869a;font-size:12px}
.utp-service-request-surface__actions button[disabled]{opacity:.48;cursor:not-allowed}
@media(max-width:1100px){.utp-service-request-document__grid{grid-template-columns:1fr 1fr}.utp-service-request-document__recipient{grid-template-columns:1fr}}

.utp-service-request-surface__recipient-input{display:flex;flex-direction:column;gap:5px;min-width:280px}.utp-service-request-surface__recipient-input span{font-size:10px;font-weight:700;text-transform:uppercase;color:#70809a;letter-spacing:.04em}.utp-service-request-surface__recipient-input input{height:38px;border:1px solid #d8e0ea;border-radius:10px;padding:0 12px;background:#fff;color:#172033}.utp-service-request-surface__notice{margin-top:12px;padding:10px 14px;border:1px solid #d8e0ea;border-radius:10px;background:#f8fafc;color:#43506a;font-size:12px}


.utp-service-request-evidence{margin-top:14px;padding:16px;border:1px solid #ead8cf;border-radius:14px;background:#fffaf7}
.utp-service-request-evidence__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #f0e2da}
.utp-service-request-evidence__head>div{display:flex;flex-direction:column;gap:3px}.utp-service-request-evidence__head small,.utp-service-request-evidence__meta small{color:#8b796f;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.utp-service-request-evidence__head strong{color:#bc5c32;font-size:15px}.utp-service-request-evidence__head>span{color:#8f8178;font-size:11px}
.utp-service-request-evidence__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.utp-service-request-evidence__meta>div{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid #eee1da;border-radius:9px;background:#fff}.utp-service-request-evidence__meta strong{color:#28374a;font-size:12px}
.utp-service-request-evidence__body{margin-top:10px;padding:14px;border:1px solid #eadfd9;border-radius:10px;background:#fff;color:#17243a;font-size:13px;line-height:1.55;white-space:normal}.utp-service-request-evidence__body>span{color:#7d8794;font-size:12px}
.utp-service-request-evidence__confirm{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #f0e2da}.utp-service-request-evidence__confirm label{display:flex;flex:1;max-width:460px;flex-direction:column;gap:5px}.utp-service-request-evidence__confirm label span{color:#6f7c8f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.utp-service-request-evidence__confirm label em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}.utp-service-request-evidence__confirm input{height:38px;padding:0 11px;border:1px solid #d8e0e8;border-radius:9px;background:#fff;color:#17243a}
.utp-service-request-evidence__confirmed{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #f0e2da}.utp-service-request-evidence__confirmed strong{color:#244c35;font-size:13px}.utp-service-request-evidence__confirmed span{color:#778598;font-size:11px}
@media(max-width:900px){.utp-service-request-evidence__confirm{align-items:stretch;flex-direction:column}.utp-service-request-evidence__confirm label{max-width:none}.utp-service-request-evidence__meta{grid-template-columns:1fr}}

/* Supplier Request final UI polish */
.ids-utp .utp-service-request-surface__pdf,
.utp-service-request-surface__pdf{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:14px;padding:14px 16px;border-top:1px solid #e7ebef;font-family:var(--utp-ui-font-family,var(--utp-font-family,inherit));}
.ids-utp .utp-service-request-surface__pdf-copy,
.utp-service-request-surface__pdf-copy{display:flex;align-items:baseline;gap:22px;min-width:0;}
.ids-utp .utp-service-request-surface__pdf-copy strong,
.utp-service-request-surface__pdf-copy strong{flex:0 0 auto;color:#33445a;font-family:inherit;font-size:12px;font-weight:700;}
.ids-utp .utp-service-request-surface__pdf-copy small,
.utp-service-request-surface__pdf-copy small{color:#78869a;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.4;text-transform:none;}
.ids-utp .utp-service-request-surface__pdf .utp-reservations__document,
.utp-service-request-surface__pdf .utp-reservations__document{flex:0 0 auto;font-family:var(--utp-ui-font-family,var(--utp-font-family,inherit));}
.ids-utp .utp-service-request-surface__actions,
.utp-service-request-surface__actions{font-family:var(--utp-ui-font-family,var(--utp-font-family,inherit));}
@media(max-width:900px){.ids-utp .utp-service-request-surface__pdf,.utp-service-request-surface__pdf{align-items:flex-start}.ids-utp .utp-service-request-surface__pdf-copy,.utp-service-request-surface__pdf-copy{align-items:flex-start;flex-direction:column;gap:4px}}

/* Reservation register dossier links */
.utp-reservations__entity-link,.utp-reservations__context-link{color:inherit;text-decoration:none}
.utp-reservations__entity-link:hover,.utp-reservations__context-link:hover{text-decoration:underline}
.utp-reservations__supplier-link{display:block;margin-bottom:6px;font-weight:700}

/* Reservation Billing V1: domain layout only; visual controls use Platform UI primitives. */
.utp-reservation-billing__table-shell {
    margin-top: var(--utp-space-4);
}

.utp-reservation-billing__add {
    margin-top: var(--utp-space-4);
}

.utp-reservation-billing__form {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
    gap: var(--utp-space-4);
    align-items: end;
    margin-top: var(--utp-space-4);
}

.utp-reservation-billing__form-action {
    display: flex;
    align-items: end;
}

@media (max-width: 900px) {
    .utp-reservation-billing__form {
        grid-template-columns: 1fr;
    }
}

/* Supplier Request composer: layout only; shared controls inherit Platform styles. */
.utp-service-request-surface__actions:has(.utp-service-request-compose){flex-wrap:wrap}
.utp-service-request-compose{flex-basis:100%;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--utp-space-3)}
.utp-service-request-compose[hidden]{display:none}
.utp-service-request-compose label{display:flex;flex-direction:column;gap:var(--utp-space-1)}
.utp-service-request-compose label:has(textarea),.utp-service-request-compose label:has([name=request_subject]),.utp-service-request-compose__actions{grid-column:1/-1}
.utp-service-request-compose input,.utp-service-request-compose textarea{font:inherit;width:100%;box-sizing:border-box}
.utp-service-request-compose__actions{display:flex;align-items:center;justify-content:space-between}
