/* ==========================================================================
   UTP COMMERCE — HOTEL CONTRACTING
   --------------------------------------------------------------------------
   Hotel product/room/occupancy and contract dossier presentation:
   Product, Periods, Rates, Inventory, Offers, Restrictions, Policies,
   Documents and Stop Sales.

   Extracted from the historical operations.css without changing selectors.
   ========================================================================== */

.utp-commerce-room-heading{margin:22px 0 16px}.utp-commerce-room-card{padding:18px;border:1px solid rgba(11,22,34,.10);border-radius:16px;background:#fff;margin-bottom:12px}.utp-commerce-room-card__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.utp-commerce-room-card__head strong{display:block;font-size:16px}.utp-commerce-room-card__head span{display:block;margin-top:5px;color:#6b7280;font-size:12px}.utp-commerce-room-card__head b{font-size:18px;letter-spacing:.06em}.utp-commerce-room-card__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.utp-commerce-room-card__actions form{margin:0}.utp-commerce-room-edit{position:relative}.utp-commerce-room-edit>summary{padding:7px 10px;border:1px solid rgba(148,163,184,.28);border-radius:9px;background:#fff;font-size:12px}.utp-commerce-room-edit[open]{width:min(440px,80vw)}.utp-commerce-room-card__occupancies{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.utp-commerce-occupancy-item{display:flex;align-items:center;gap:6px}.utp-commerce-occupancy-item details>summary{font-size:11px;color:#64748b}.utp-commerce-muted{font-size:12px;color:#8b94a1}.utp-commerce-inline-details{margin-top:14px;border-top:1px solid rgba(11,22,34,.08);padding-top:12px}.utp-commerce-inline-details summary,.utp-commerce-classification-manager summary,.utp-commerce-room-edit summary,.utp-commerce-occupancy-item details summary{cursor:pointer;font-weight:800;color:#0b1622;list-style-position:inside}.utp-commerce-inline-details>summary{display:inline-flex;align-items:center;min-height:36px;padding:0 11px;border-radius:10px;background:#eef2f7;color:#0b1622}.utp-commerce-inline-occupancy{margin-top:14px}.utp-commerce-classification-manager--prominent{margin:14px 0 18px;padding:18px;border:1px solid rgba(11,22,34,.10);border-radius:16px;background:rgba(255,255,255,.82)}.utp-commerce-classification-manager--prominent summary{font-size:14px;color:#0b1622}.utp-commerce-classification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.utp-commerce-classification-grid>section{padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#fff}.utp-commerce-classification-list{display:flex;flex-direction:column;gap:4px;margin:0 0 8px;font-size:12px}.utp-commerce-classification-list strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.utp-commerce-rooms-layout{align-items:start}

        .utp-contract-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.utp-contract-product-span{grid-column:1/-1}.utp-contract-room-picker{display:grid;gap:9px;margin-top:18px}.utp-contract-room-choice{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:#f8fafc;cursor:pointer}.utp-contract-room-choice input{margin-top:3px}.utp-contract-room-choice span{display:grid;gap:3px}.utp-contract-room-choice strong{color:#0b1622;font-size:13px}.utp-contract-room-choice small{color:#64748b;font-size:11px}.utp-contract-rule-list{display:grid;gap:8px;margin-top:18px}.utp-contract-rule-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:#f8fafc}.utp-contract-rule-row>div:first-child{display:grid;gap:3px}.utp-contract-rule-row strong{font-size:13px;color:#0b1622}.utp-contract-rule-row span{font-size:11px;color:#64748b}@media (min-width:768px) and (max-width:850px){.utp-contract-product-grid{grid-template-columns:1fr}.utp-contract-product-span{grid-column:auto}}


        .utp-contract-period-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:18px;align-items:start}.utp-contract-period-count{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eef2f7;color:#334155;font-size:12px;font-weight:900}.utp-contract-period-note{margin-top:18px}.utp-contract-period-table{display:grid;gap:7px;margin-top:18px}.utp-contract-period-table__head,.utp-contract-period-row{display:grid;grid-template-columns:72px 110px 110px 60px minmax(180px,1fr) auto;gap:10px;align-items:center}.utp-contract-period-table__head{padding:0 12px 5px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.utp-contract-period-row{padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:#f8fafc}.utp-contract-period-row>strong{color:#0b1622}.utp-contract-period-row>span{color:#475569;font-size:12px}.utp-contract-period-row>div:nth-child(5){display:grid;gap:3px}.utp-contract-period-row>div:nth-child(5)>strong{font-size:12px;color:#0b1622}.utp-contract-period-row small{font-size:11px;color:#64748b}@media (min-width:768px) and (max-width:950px){.utp-contract-period-layout{grid-template-columns:1fr}.utp-contract-period-table{overflow-x:auto}.utp-contract-period-table__head,.utp-contract-period-row{min-width:780px}}


/* ==========================================================================
   CONTRACT RATES — CANONICAL COMPACT MATRIX
   --------------------------------------------------------------------------
   Consolidated final state of the former historical Rates override cascade.
   ========================================================================== */

.utp-contract-rate-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(310px, .6fr);
    gap: 18px;
    align-items: start;
}

.utp-contract-rate-layout--matrix {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.utp-contract-rate-layout--matrix > .utp-commerce-form-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.utp-contract-rate-table {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.utp-contract-rate-layout--matrix .utp-contract-rate-table,
.utp-contract-rate-layout--matrix .utp-contract-rate-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.utp-contract-rate-row {
    display: grid;
    grid-template-columns: 1fr 1.25fr .8fr .8fr .9fr auto;
    gap: 12px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 13px;
    background: #f8fafc;
}

.utp-contract-rate-row > div {
    display: grid;
    gap: 2px;
}

.utp-contract-rate-row strong {
    color: #0b1622;
    font-size: 11px;
}

.utp-contract-rate-row small {
    color: #64748b;
    font-size: 9px;
}

/* Period cards used inside Rates */

.utp-period-v2-card {
    margin-top: 8px;
    padding: 11px 12px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 12px;
    background: #f8fafc;
}

.utp-period-v2-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.utp-period-v2-head > div:first-child {
    display: grid;
    gap: 3px;
}

.utp-period-v2-title strong {
    display: block;
    color: #0b1622;
    font-size: 13px;
    line-height: 1.25;
}

.utp-period-v2-title small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 10px;
    line-height: 1.25;
}

.utp-period-v2-ranges {
    display: grid;
    gap: 5px;
    margin: 8px 0;
}

.utp-period-v2-range {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 7px 9px;
    border: 1px solid #e7edf3;
    border-radius: 9px;
    background: #fff;
}

.utp-period-v2-range > span {
    color: #0b1622;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 800;
}

.utp-period-v2-range > small {
    color: #64748b;
    font-size: 10px;
}

.utp-period-v2-range-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.utp-period-v2-range-edit {
    position: relative;
}

.utp-period-v2-head details > summary,
.utp-period-v2-add > summary,
.utp-period-v2-range-edit > summary {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 8px;
    border: 1px solid rgba(148, 163, 184, .30);
    border-radius: 7px;
    background: #eef2f7;
    color: #0b1622;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.utp-period-v2-head details > summary::marker,
.utp-period-v2-add > summary::marker {
    color: #0b1622;
}

.utp-period-v2-add {
    margin-top: 4px;
}

.utp-period-v2-add > summary {
    font-size: 11px;
}

.utp-period-v2-range-edit[open] {
    grid-column: 1 / -1;
    width: min(500px, 78vw);
}

.utp-period-v2-range-edit form {
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 10px;
    background: #fff;
}

.utp-period-v2-range-actions .utp-commerce-row-action,
.utp-period-v2-head .utp-commerce-row-action {
    padding: 5px 8px;
    font-size: 10px;
}

.utp-contract-period-count {
    padding: 5px 8px;
    background: #eef2f7;
    color: #334155;
    font-size: 10px;
}

.utp-contract-period-layout > .utp-commerce-form-card {
    padding: 22px;
}

.utp-contract-period-layout > .utp-commerce-form-card--compact {
    padding: 20px;
}

/* Primary Rates Matrix */

.utp-rate-wizard,
.utp-rate-wizard * {
    color: #0b1622;
}

.utp-rate-wizard {
    grid-column: 1 / -1;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: #fff;
}

.utp-rate-wizard h3 {
    margin: 0 0 3px;
    color: #0b1622;
    font-size: 17px;
    line-height: 1.2;
}

.utp-rate-wizard > p {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.utp-rate-wizard-grid {
    display: grid;
    grid-template-columns:
        minmax(120px, .75fr)
        minmax(190px, 1.4fr)
        72px
        120px
        105px
        105px;
    gap: 1px;
    margin: 12px 0 14px;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    overflow: hidden;
    background: #dbe3ec;
}

.utp-rate-wizard-grid > div {
    min-height: 38px;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    color: #0b1622;
}

.utp-rate-wizard-grid .head {
    min-height: 28px;
    padding: 5px 8px;
    background: #f1f5f9;
    color: #475569;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.utp-rate-wizard-grid strong {
    color: #0b1622;
    font-size: 11px;
    line-height: 1.2;
}

.utp-rate-wizard-grid small {
    margin-top: 2px;
    color: #64748b;
    font-size: 8.5px;
    line-height: 1.2;
}

.utp-rate-wizard-grid input[type="number"] {
    width: 100%;
    min-height: 30px;
    padding: 4px 6px;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #f8fafc;
    color: #0b1622;
    font-size: 11px;
}

/* Rate Matrix — keep Price basis aligned with the canonical compact UTP controls. */
.utp-rate-wizard-grid select {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    padding: 4px 28px 4px 8px;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background-color: #f8fafc;
    color: #0b1622;
    font: inherit;
    font-size: 11px;
    line-height: 1.25;
    cursor: pointer;
}

.utp-rate-wizard-grid select:focus {
    outline: none;
    border-color: rgba(255, 102, 71, .62);
    box-shadow: 0 0 0 2px rgba(255, 102, 71, .10);
}

.utp-rate-wizard .utp-commerce-primary {
    width: auto;
    min-width: 160px;
    min-height: 36px;
    margin-top: 10px;
    padding: 7px 14px;
    font-size: 12px;
}

/* Existing individual rates */

.utp-rates-secondary {
    margin-top: 12px;
}

.utp-rates-secondary > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
    padding: 8px 11px;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 10px;
    background: #f8fafc;
    color: #0b1622;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.utp-rates-secondary[open] > summary {
    margin-bottom: 8px;
}

.utp-rates-secondary .utp-contract-rate-row {
    margin-top: 5px;
    padding: 7px 9px;
    border-radius: 9px;
}

.utp-rates-secondary .utp-contract-rate-row > div strong {
    color: #0b1622;
    font-size: 11.5px;
    line-height: 1.3;
    font-weight: 700;
}

.utp-rates-secondary .utp-contract-rate-row > div small {
    color: #64748b;
    font-size: 10px;
    line-height: 1.35;
}

.utp-rates-secondary .utp-contract-rate-row > div:first-child small {
    margin-top: 3px;
    color: #475569;
    font-size: 10.5px;
    font-weight: 600;
}

.utp-rates-secondary .utp-contract-rate-row > div:nth-child(2) small {
    color: #475569;
}

.utp-rates-secondary .utp-contract-rate-row > div:nth-child(4) small,
.utp-rates-secondary .utp-contract-rate-row > div:nth-child(5) small {
    font-weight: 600;
}

.utp-single-rate-details {
    margin-top: 10px;
}

.utp-single-rate-details > summary {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 9px;
    background: #eef2f7;
    color: #0b1622;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.utp-single-rate-details .utp-commerce-form-card {
    margin-top: 8px;
    padding: 12px;
    box-shadow: none;
}

/* Collapsible Rates Wizard */

.utp-rate-wizard-details {
    padding: 0;
    overflow: hidden;
}

.utp-rate-wizard-details > summary {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 12px;
    background: #f8fafc;
    color: #0b1622;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.utp-rate-wizard-details > summary::-webkit-details-marker {
    display: none;
}

.utp-rate-wizard-details > summary::before {
    content: "▸";
    margin-right: 7px;
    color: #475569;
}

.utp-rate-wizard-details[open] > summary::before {
    content: "▾";
}

.utp-rate-wizard-details[open] > summary {
    border-bottom: 1px solid #dbe3ec;
}

.utp-rate-wizard-body {
    padding: 12px 14px 14px;
}

@media (min-width: 768px) and (max-width: 1050px) {
    .utp-contract-rate-layout {
        grid-template-columns: 1fr;
    }

    .utp-contract-rate-table {
        overflow-x: auto;
    }

    .utp-contract-rate-row {
        min-width: 850px;
    }
}

@media (min-width: 768px) and (max-width: 900px) {
    .utp-rate-wizard-grid {
        grid-template-columns: 90px minmax(150px, 1fr) 55px 100px 88px 88px;
    }
}


        /* Contract Inventory / Allotment */
        .utp-contract-inventory-layout{display:block}
        .utp-inventory-matrix{display:grid;grid-template-columns:minmax(155px,1.1fr) minmax(185px,1.35fr) 92px 84px 92px 110px 92px;gap:1px;margin:16px 0;background:#dbe3ec;border:1px solid #dbe3ec;border-radius:11px;overflow:hidden}
        .utp-inventory-matrix>div{display:flex;flex-direction:column;justify-content:center;min-height:42px;padding:6px 8px;background:#fff;color:#0b1622}
        .utp-inventory-matrix>.head{min-height:30px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
        .utp-inventory-matrix strong{font-size:12px;line-height:1.25;color:#0b1622}.utp-inventory-matrix small{margin-top:2px;font-size:10.5px;line-height:1.25;color:#64748b}
        .utp-inventory-matrix input[type=number]{width:100%;min-height:31px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#0b1622;font-size:12px;box-sizing:border-box}
        .utp-inventory-help{display:flex;gap:8px 14px;flex-wrap:wrap;margin:0 0 14px;color:#64748b;font-size:10px}.utp-inventory-help strong{color:#334155}
        .utp-inventory-existing{margin-top:14px}.utp-inventory-existing>summary{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 11px;border:1px solid rgba(148,163,184,.25);border-radius:10px;background:#f8fafc;color:#0b1622;font-size:12px;font-weight:800;cursor:pointer}
        .utp-inventory-existing[open]>summary{margin-bottom:8px}.utp-inventory-existing-list{display:grid;gap:5px}
        .utp-inventory-existing-list article{display:grid;grid-template-columns:1.05fr 1.3fr .55fr .55fr .6fr .9fr auto;gap:10px;align-items:center;padding:8px 9px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#f8fafc}
        .utp-inventory-existing-list article>div{display:grid;gap:2px}.utp-inventory-existing-list strong{font-size:11.5px;color:#0b1622}.utp-inventory-existing-list small{font-size:10px;color:#64748b}.utp-inventory-existing-list form{margin:0}
        @media (min-width:768px) and (max-width:1050px){.utp-contract-inventory-layout{overflow-x:auto}.utp-inventory-matrix{min-width:900px}.utp-inventory-existing-list article{min-width:900px}}


        /* Contract Offers — aligned with Rates / Inventory readability */
        .utp-contract-offers-layout{display:block}
        .utp-contract-offer-list{display:grid;gap:6px;margin-top:16px}
        .utp-contract-offer-row{display:grid;grid-template-columns:minmax(185px,1.35fr) minmax(145px,1fr) minmax(170px,1.15fr) .65fr .55fr .7fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#f8fafc}
        .utp-contract-offer-row>div{display:grid;gap:2px}
        .utp-contract-offer-row strong{font-size:11.5px;line-height:1.3;color:#0b1622;font-weight:700}
        .utp-contract-offer-row small{font-size:10.5px;line-height:1.35;color:#64748b}
        .utp-contract-offer-main strong{font-size:12px}
        .utp-contract-offer-edit>summary,.utp-contract-offer-add>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(148,163,184,.28);border-radius:9px;background:#eef2f7;color:#0b1622;font-size:11.5px;font-weight:900;cursor:pointer}
        .utp-contract-offer-row:has(.utp-contract-offer-edit[open]) .utp-commerce-row-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;width:100%;min-width:0}
        .utp-contract-offer-edit[open]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0}
        .utp-contract-offer-edit[open]>summary{justify-self:end;margin:0}
        .utp-contract-offer-edit[open] .utp-contract-offer-form{width:100%;max-width:none;min-width:0;box-sizing:border-box}
        .utp-contract-offer-edit[open] .utp-contract-offer-form-grid,
        .utp-contract-offer-edit[open] .utp-contract-offer-date-grid,
        .utp-contract-offer-edit[open] .utp-contract-offer-benefit-grid,
        .utp-contract-offer-edit[open] .utp-contract-offer-scope-grid,
        .utp-contract-offer-edit[open] .utp-contract-offer-policy-grid{min-width:0}
        .utp-contract-offer-add{margin-top:12px}
        .utp-contract-offer-add[open]>summary{margin-bottom:10px}
        .utp-contract-offer-form{display:grid;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#fff;color:#0b1622}
        .utp-contract-offer-form-grid{display:grid;grid-template-columns:100px minmax(190px,1.4fr) minmax(170px,1fr) 90px;gap:10px}
        .utp-contract-offer-validity{gap:10px}.utp-contract-offer-validity-headings{display:grid;grid-template-columns:1fr 1fr;gap:12px}.utp-contract-offer-validity-headings>div{display:grid;gap:4px}.utp-contract-offer-date-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.utp-contract-offer-validity-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.utp-contract-offer-validity-mode-row .utp-commerce-field{grid-column:2}
        .utp-contract-offer-section{display:grid;gap:9px;padding-top:11px;border-top:1px solid rgba(148,163,184,.14)}
        .utp-contract-offer-section>strong,.utp-contract-offer-tier-heading strong{font-size:12px;color:#0b1622}
        .utp-contract-offer-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px}
        .utp-contract-offer-hint{font-size:10.5px;line-height:1.35;color:#64748b}
        .utp-contract-offer-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
        .utp-contract-offer-scope-grid fieldset{display:grid;align-content:start;gap:6px;margin:0;padding:10px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc}
        .utp-contract-offer-scope-grid legend{padding:0 5px;color:#0b1622;font-size:11.5px;font-weight:900}
        .utp-contract-offer-scope-grid label{display:flex;align-items:flex-start;gap:6px;color:#334155;font-size:11.5px;line-height:1.3}
        .utp-contract-offer-scope-grid label input{margin-top:2px}
        .utp-contract-offer-scope-grid small{font-size:10.5px;color:#64748b}
        .utp-contract-offer-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}
        .utp-contract-offer-tier-heading{align-items:end;margin:0}
        .utp-contract-offer-tier-list{display:grid;gap:6px}
        .utp-contract-offer-tier-row{display:grid;grid-template-columns:minmax(120px,160px) 24px minmax(120px,160px) auto;gap:8px;align-items:end;padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#f8fafc}
        .utp-contract-offer-tier-row label{display:grid;gap:4px}
        .utp-contract-offer-tier-row label span{font-size:10.5px;color:#64748b;font-weight:700}
        .utp-contract-offer-tier-row input{min-height:34px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0b1622;font-size:12px}
        .utp-contract-offer-tier-equals{align-self:center;padding-top:16px;text-align:center;color:#0b1622;font-size:14px;font-weight:900}
        .utp-contract-offer-free-method{max-width:260px}
        .utp-contract-offer-form .utp-commerce-field span{font-size:10.5px}
        .utp-contract-offer-form .utp-commerce-field input,.utp-contract-offer-form .utp-commerce-field select,.utp-contract-offer-form .utp-commerce-field textarea{font-size:12px;color:#0b1622}
        @media (min-width:768px) and (max-width:1150px){.utp-contract-offer-list{overflow-x:auto}.utp-contract-offer-row{min-width:1040px}.utp-contract-offer-benefit-grid{grid-template-columns:repeat(2,1fr)}}
        


        /* Contract Restrictions — same compact/readable standard as Offers */
        .utp-contract-restrictions-layout{display:block}
        .utp-contract-restriction-list{display:grid;gap:6px;margin-top:16px}
        .utp-contract-restriction-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) .75fr .65fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#f8fafc}
        .utp-contract-restriction-row>div{display:grid;gap:2px}
        .utp-contract-restriction-row strong{font-size:11.5px;line-height:1.3;color:#0b1622;font-weight:700}
        .utp-contract-restriction-row small{font-size:10.5px;line-height:1.35;color:#64748b}
        .utp-contract-restriction-main strong{font-size:12px}
        .utp-contract-restriction-edit>summary,.utp-contract-restriction-add>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(148,163,184,.28);border-radius:9px;background:#eef2f7;color:#0b1622;font-size:11.5px;font-weight:900;cursor:pointer}
        .utp-contract-restriction-row:has(.utp-contract-restriction-edit[open]) .utp-commerce-row-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;width:100%;min-width:0}
        .utp-contract-restriction-edit[open]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0}
        .utp-contract-restriction-edit[open]>summary{justify-self:end;margin:0}
        .utp-contract-restriction-edit[open] .utp-contract-restriction-form{width:100%;max-width:none;min-width:0;box-sizing:border-box}
        .utp-contract-restriction-edit[open] .utp-contract-restriction-head-grid,
        .utp-contract-restriction-edit[open] .utp-contract-restriction-scope-grid{min-width:0}
        .utp-contract-restriction-add{margin-top:12px}
        .utp-contract-restriction-add[open]>summary{margin-bottom:10px}
        .utp-contract-restriction-form{display:grid;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#fff;color:#0b1622}
        .utp-contract-restriction-head-grid{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(2,minmax(130px,.8fr)) minmax(120px,.7fr) minmax(160px,1fr);gap:10px;align-items:end}
        .utp-contract-restriction-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
        .utp-contract-restriction-scope-grid fieldset{display:grid;align-content:start;gap:6px;margin:0;padding:10px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc}
        .utp-contract-restriction-scope-grid legend{padding:0 5px;color:#0b1622;font-size:11.5px;font-weight:900}
        .utp-contract-restriction-scope-grid label{display:flex;align-items:flex-start;gap:6px;color:#334155;font-size:11.5px;line-height:1.3}
        .utp-contract-restriction-scope-grid label input{margin-top:2px}
        .utp-contract-restriction-scope-grid small{font-size:10.5px;color:#64748b}
        .utp-contract-restriction-form .utp-commerce-field span{font-size:10.5px}
        .utp-contract-restriction-form .utp-commerce-field input,.utp-contract-restriction-form .utp-commerce-field select,.utp-contract-restriction-form .utp-commerce-field textarea{font-size:12px;color:#0b1622}
        .utp-restriction-value-help{font-size:10px;color:#64748b}
        @media (min-width:768px) and (max-width:1100px){.utp-contract-restriction-list{overflow-x:auto}.utp-contract-restriction-row{min-width:900px}.utp-contract-restriction-head-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
        


        /* Contract Policies — same compact/readable standard as Offers / Restrictions */
        .utp-contract-policies-layout{display:block}
        .utp-contract-policy-list{display:grid;gap:6px;margin-top:16px}
        .utp-contract-policy-row{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(165px,.9fr) .65fr .55fr minmax(300px,1.9fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#f8fafc}
        .utp-contract-policy-row>div{display:grid;gap:2px}
        .utp-contract-policy-row strong{font-size:11.5px;line-height:1.35;color:#0b1622;font-weight:700}
        .utp-contract-policy-row small{font-size:10.5px;line-height:1.35;color:#64748b}
        .utp-contract-policy-main strong{font-size:12px}
        .utp-contract-policy-rules-summary strong{font-weight:600}
        .utp-contract-policy-edit>summary,.utp-contract-policy-add>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(148,163,184,.28);border-radius:9px;background:#eef2f7;color:#0b1622;font-size:11.5px;font-weight:900;cursor:pointer}
        .utp-contract-policy-row:has(.utp-contract-policy-edit[open]) .utp-commerce-row-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;width:100%}
        .utp-contract-policy-edit[open]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0}
        .utp-contract-policy-edit[open]>summary{justify-self:end;margin:0}
        .utp-contract-policy-edit[open] .utp-contract-policy-form{width:100%;max-width:none;min-width:0;box-sizing:border-box}
        .utp-contract-policy-edit[open] .utp-contract-policy-rule-list{min-width:0}
        .utp-contract-policy-edit[open] .utp-contract-policy-rule-row{width:100%;min-width:0;box-sizing:border-box}
        .utp-contract-policy-add{margin-top:12px}
        .utp-contract-policy-add[open]>summary{margin-bottom:10px}
        .utp-contract-policy-form{display:grid;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#fff;color:#0b1622}
        .utp-contract-policy-head-grid{display:grid;grid-template-columns:100px minmax(220px,1.5fr) minmax(150px,.8fr);gap:10px}
        .utp-contract-policy-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
        .utp-contract-policy-section{display:grid;gap:9px;padding-top:11px;border-top:1px solid rgba(148,163,184,.14)}
        .utp-contract-policy-rules-heading{align-items:end;margin:0}
        .utp-contract-policy-rules-heading strong{font-size:12px;color:#0b1622}
        .utp-contract-policy-rules-heading small{display:block;margin-top:4px;font-size:10.5px;color:#64748b}
        .utp-contract-policy-rule-list{display:grid;gap:6px}
        .utp-contract-policy-rule-row{display:grid;grid-template-columns:72px minmax(105px,.8fr) 78px 95px 95px minmax(150px,1fr) 95px minmax(130px,1fr) auto;gap:7px;align-items:end;padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#f8fafc}
        .utp-contract-policy-rule-row .utp-commerce-field{gap:4px}
        .utp-contract-policy-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
        .utp-contract-policy-scope-grid fieldset{display:grid;align-content:start;gap:6px;margin:0;padding:10px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc}
        .utp-contract-policy-scope-grid legend{padding:0 5px;color:#0b1622;font-size:11.5px;font-weight:900}
        .utp-contract-policy-scope-grid label{display:flex;align-items:flex-start;gap:6px;color:#334155;font-size:11.5px;line-height:1.3}
        .utp-contract-policy-scope-grid label input{margin-top:2px}
        .utp-contract-policy-scope-grid small{font-size:10.5px;color:#64748b}
        .utp-contract-policy-form .utp-commerce-field span{font-size:10.5px}
        .utp-contract-policy-form .utp-commerce-field input,.utp-contract-policy-form .utp-commerce-field select,.utp-contract-policy-form .utp-commerce-field textarea{font-size:12px;color:#0b1622}
        @media (min-width:768px) and (max-width:1250px){.utp-contract-policy-list{overflow-x:auto}.utp-contract-policy-row{min-width:1120px}.utp-contract-policy-rule-list{overflow-x:auto}.utp-contract-policy-rule-row{min-width:1060px}}
        


        .utp-contract-documents-v1{display:grid;gap:18px;color:#243244;font-size:var(--utp-type-secondary);line-height:1.4}
        .utp-contract-document-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
        .utp-contract-document-type{display:grid;gap:4px;padding:14px 16px;border:1px solid #e1e7ee;border-radius:14px;background:#fff;color:#243244}
        .utp-contract-document-type>span{font-size:9px;font-weight:var(--utp-weight-strong);letter-spacing:.1em;color:#ff5e44}
        .utp-contract-document-type>strong{font-size:var(--utp-type-secondary)}
        .utp-contract-document-type>small{color:var(--utp-color-muted)}
        .utp-contract-document-type.is-active{border-color:rgba(255,102,71,.42);box-shadow:inset 3px 0 0 #ff6647}
        .utp-contract-document-type.is-disabled{opacity:.62;background:#f8fafc}

        .utp-contract-documents-v1 strong{color:var(--utp-color-text);font-size:var(--utp-type-secondary);font-weight:var(--utp-weight-bold)}
        .utp-contract-documents-v1 small{font-size:var(--utp-type-micro);line-height:1.35}
        .utp-contract-document-cover{border-top:3px solid #ff6b4a}
        .utp-contract-document-badge{min-width:74px;height:54px;padding:0 10px;border-radius:18px;background:#0b1622;color:#fff;display:grid;place-items:center;font-size:var(--utp-type-label);font-weight:var(--utp-weight-strong);white-space:nowrap}.utp-contract-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.utp-contract-document-actions form{margin:0}
        .utp-contract-document-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
        .utp-contract-document-meta>div{padding:12px 14px;border:1px solid #e8edf2;border-radius:12px;background:#fbfcfd;color:#243244}
        .utp-contract-document-meta small,.utp-contract-document-meta strong{display:block}
        .utp-contract-document-meta small{color:#718096;margin-bottom:4px}
        .utp-contract-document-section{color:#243244}
        .utp-contract-document-section h3{margin:0 0 14px;color:var(--utp-color-text);font-size:var(--utp-type-component-title);line-height:1.25;font-weight:var(--utp-weight-bold)}
        .utp-doc-detail-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
        .utp-doc-detail-cell{display:inline-flex;align-items:baseline;gap:5px;padding:6px 9px;border:1px solid #e4e9ef;border-radius:8px;background:#f8fafc;color:var(--utp-color-muted);font-size:var(--utp-type-micro);line-height:1.25}
        .utp-doc-detail-cell strong{color:#243244;font-size:var(--utp-type-micro);font-weight:var(--utp-weight-strong)}
        .utp-doc-detail-cell.is-wide{white-space:normal}
        .utp-contract-document-table .utp-doc-detail-grid{margin-top:0}

        .utp-contract-document-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;color:#243244}
        .utp-contract-document-columns h4{margin:0 0 8px;color:var(--utp-color-text);font-size:var(--utp-type-secondary);font-weight:var(--utp-weight-bold)}
        .utp-contract-document-columns ul,.utp-contract-document-list ul{margin:0;padding-left:18px}
        .utp-contract-document-columns li{margin:5px 0;color:#243244;font-size:var(--utp-type-label)}
        .utp-contract-document-columns small{color:#718096}
        .utp-contract-document-table{display:grid;gap:0;border:1px solid #e8edf2;border-radius:12px;overflow:hidden;color:#243244;font-size:var(--utp-type-label)}
        .utp-contract-document-table>div{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;padding:9px 11px;border-top:1px solid #edf1f5;background:#fff;color:#243244}
        .utp-contract-document-table>div:first-child{border-top:0}
        .utp-contract-document-table>div.is-head{background:#f6f8fa;font-size:10px;font-weight:var(--utp-weight-strong);text-transform:uppercase;color:#667085}
        .utp-contract-document-table>div span{color:#243244;font-size:var(--utp-type-label);line-height:1.35}
        .utp-contract-document-table>div.is-head span{color:#667085;font-size:10px}
        .utp-contract-document-table.rates>div{grid-template-columns:1.35fr 1.4fr .7fr .9fr}.utp-contract-document-table.occupancy>div{grid-template-columns:1.4fr 1.1fr 1fr 1fr .7fr}.utp-contract-document-table.occupancy span small,.utp-contract-document-table.net-rates span small{display:block;margin-top:3px;color:#718096;font-size:10px}.utp-contract-document-table.periods-flat>div{grid-template-columns:1.35fr .55fr 1fr}
        .utp-contract-document-table.net-rates>div.is-period-start:not(.is-first-period){border-top:8px solid #f2f5f8}
        .utp-contract-document-table.net-rates>div.is-period-start:not(.is-first-period) span{padding-top:1px}
        .utp-contract-document-policy-list article{display:grid;gap:4px}
        .utp-contract-document-policy-room{font-size:var(--utp-type-secondary);color:var(--utp-color-text)}
        .utp-contract-document-policy-name{font-size:var(--utp-type-micro);color:#475569;font-weight:var(--utp-weight-bold)}
        .utp-contract-document-policy-meta{font-size:var(--utp-type-micro);color:#718096;margin-top:0}
        .utp-contract-document-policy-rules{display:grid;gap:4px;margin-top:5px}
        .utp-contract-document-policy-rules strong{font-size:var(--utp-type-label);color:var(--utp-color-text)}
        .utp-contract-document-list{display:grid;gap:10px}
        .utp-contract-document-list article{padding:12px 14px;border:1px solid #e8edf2;border-radius:12px;color:#243244}
        .utp-contract-document-list article>strong,.utp-contract-document-list article>span{display:block}
        .utp-contract-document-list article>span{margin-top:4px;color:#667085;font-size:var(--utp-type-label)}
        .utp-contract-document-list article li{color:#243244;font-size:var(--utp-type-label)}
        .utp-contract-document-list article ul{margin-top:8px}
        .utp-contract-document-empty{color:#718096;margin:0;font-size:var(--utp-type-label)}
        .utp-hotel-stop-sales{display:grid;gap:18px}.utp-stop-sale-filter,.utp-stop-sale-contract-picker{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0}.utp-stop-sale-filter .utp-commerce-field,.utp-stop-sale-contract-picker .utp-commerce-field{min-width:260px}.utp-stop-sale-list{display:grid;gap:10px}.utp-stop-sale-row{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr .6fr auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e4e9ef;border-radius:12px;background:#fff;color:#243244}.utp-stop-sale-row small,.utp-stop-sale-main small{display:block;color:#718096;font-size:10px}.utp-stop-sale-main strong{display:block;color:var(--utp-color-text);font-size:var(--utp-type-secondary)}.utp-stop-sale-main span{display:block;margin-top:2px;font-size:var(--utp-type-label)}.utp-stop-sale-status.is-active{color:#177245}.utp-stop-sale-status.is-released{color:#718096}.utp-stop-sale-status.is-expired{color:#9a6700}.utp-stop-sale-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.utp-stop-sale-scope-grid fieldset{border:1px solid #e4e9ef;border-radius:12px;padding:12px;color:var(--utp-color-text)}.utp-stop-sale-scope-grid legend{font-weight:var(--utp-weight-strong);color:var(--utp-color-text);padding:0 5px;font-size:var(--utp-type-component-title);line-height:1.2}.utp-stop-sale-scope-grid label{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:var(--utp-type-secondary);line-height:1.35;color:#243244;font-weight:var(--utp-weight-medium)}.utp-stop-sale-scope-grid label span{font-size:var(--utp-type-secondary);line-height:1.35;color:#243244}.utp-stop-sale-scope-grid fieldset>small{display:block;margin-top:9px;color:#718096;font-size:var(--utp-type-micro);line-height:1.35}

        @media (min-width:768px) and (max-width:900px){.utp-stop-sale-row,.utp-stop-sale-scope-grid{grid-template-columns:1fr}.utp-contract-document-types,.utp-contract-document-meta,.utp-contract-document-columns{grid-template-columns:1fr}.utp-contract-document-table>div,.utp-contract-document-table.rates>div,.utp-contract-document-table.occupancy>div,.utp-contract-document-table.periods-flat>div{grid-template-columns:1fr}.utp-contract-document-table>div.is-head{display:none}}

        .utp-occupancy-matrix-wrap{margin-top:16px;padding-top:14px;border-top:1px solid #e5eaf0}
        .utp-occupancy-matrix-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
        .utp-occupancy-matrix-title>div{display:flex;flex-direction:column;gap:2px}
        .utp-occupancy-matrix-title strong{font-size:14px}
        .utp-occupancy-matrix-title span:not(.utp-commerce-status){font-size:var(--utp-type-micro);color:#728197}
        .utp-occupancy-matrix{display:grid;grid-template-columns:minmax(150px,1.6fr) repeat(3,minmax(62px,.55fr)) minmax(105px,.8fr) minmax(76px,.65fr) minmax(155px,1fr);border:1px solid #dfe6ee;border-radius:12px;overflow:visible;background:#fff}
        .utp-occupancy-matrix>.head{padding:8px 9px;background:#f5f8fb;color:var(--utp-color-muted);font-size:9px;font-weight:var(--utp-weight-strong);text-transform:uppercase;border-bottom:1px solid #dfe6ee}
        .utp-occupancy-matrix>div:not(.head){padding:9px;border-bottom:1px solid #e7edf3;display:flex;align-items:center;min-width:0;font-size:var(--utp-type-label)}
        .utp-occupancy-matrix>div.code{flex-direction:column;align-items:flex-start;gap:2px}
        .utp-occupancy-matrix>div.code strong{font-size:var(--utp-type-secondary)}
        .utp-occupancy-matrix>div.code small{color:#718096;font-size:10px}
        .utp-occupancy-matrix>div.actions{gap:7px;align-items:center;flex-wrap:wrap}
        .utp-occupancy-matrix>div.actions form{margin:0}
        .utp-occupancy-default{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f8;font-size:10px;font-weight:var(--utp-weight-strong)}
        .utp-occupancy-edit{position:relative}
        .utp-occupancy-edit>summary{cursor:pointer;font-weight:var(--utp-weight-strong);font-size:var(--utp-type-micro)}
        .utp-occupancy-edit-form{position:absolute;z-index:15;right:0;top:30px;width:540px;max-width:80vw;padding:12px;border:1px solid #dfe6ee;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(11,22,34,.18);display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:9px;align-items:end}
        .utp-occupancy-edit-form label,.utp-occupancy-add-row label{display:flex;flex-direction:column;gap:4px}
        .utp-occupancy-edit-form label>span,.utp-occupancy-add-row label>span{font-size:9px;font-weight:var(--utp-weight-strong);color:#687991;text-transform:uppercase}
        .utp-occupancy-edit-form input[type=number],.utp-occupancy-add-row input[type=number]{width:100%;min-width:0;border:1px solid #d5dfe9;border-radius:9px;padding:8px 9px;background:#f8fafc}
        .utp-occupancy-edit-form .utp-occupancy-check{flex-direction:row;align-items:center}
        .utp-occupancy-edit-form .utp-occupancy-check span,.utp-occupancy-add-row .utp-occupancy-check span{text-transform:none}
        .utp-occupancy-add-row{margin-top:10px;padding:10px;border:1px dashed #ced8e3;border-radius:12px;background:#fafcfe;display:grid;grid-template-columns:minmax(135px,1.3fr) repeat(4,minmax(82px,.75fr)) minmax(80px,.6fr) auto;gap:9px;align-items:end}
        .utp-occupancy-add-copy{display:flex;flex-direction:column;gap:2px;align-self:center}
        .utp-occupancy-add-copy strong{font-size:var(--utp-type-secondary)}
        .utp-occupancy-add-copy small{font-size:10px;color:#728197}
        .utp-occupancy-add-row .utp-occupancy-check{flex-direction:row;align-items:center;align-self:center}
        @media (min-width:768px) and (max-width:1100px){.utp-occupancy-matrix{grid-template-columns:minmax(140px,1.4fr) repeat(3,58px) 95px 70px 135px}.utp-occupancy-add-row{grid-template-columns:1fr 1fr 1fr 1fr}.utp-occupancy-add-copy{grid-column:1/-1}}

        /* Contracting v1: content surfaces use explicit dark foreground.
           Prevents inherited white text from the shell/theme on white cards. */
        .utp-commerce-shell,
        .utp-commerce-shell .utp-commerce-card,
        .utp-commerce-shell .utp-commerce-panel,
        .utp-commerce-shell .utp-commerce-room-card,
        .utp-commerce-shell .utp-occupancy-matrix-wrap {
            color:var(--utp-color-text);
        }
        .utp-commerce-shell h1,
        .utp-commerce-shell h2,
        .utp-commerce-shell h3,
        .utp-commerce-shell h4,
        .utp-commerce-shell strong,
        .utp-commerce-shell summary,
        .utp-commerce-shell label {
            color:var(--utp-color-text);
        }
        .utp-commerce-shell p,
        .utp-commerce-shell small,
        .utp-commerce-shell .utp-commerce-muted,
        .utp-commerce-shell .utp-commerce-room-card__meta,
        .utp-commerce-shell .utp-occupancy-matrix-title span:not(.utp-commerce-status),
        .utp-commerce-shell .utp-occupancy-add-copy small,
        .utp-commerce-shell .utp-occupancy-matrix>div.code small {
            color:#718096;
        }
        .utp-commerce-shell input,
        .utp-commerce-shell select,
        .utp-commerce-shell textarea {
            color:var(--utp-color-text);
        }
        .utp-commerce-shell input::placeholder,
        .utp-commerce-shell textarea::placeholder {
            color:#7b8798;
            opacity:1;
        }



.utp-contract-revisions-card {
    margin-top: 18px;
}

/* Contract dossier — dedicated operational Stop Sales quick action.
   This is intentionally not a dossier tab: it opens the Hotel Stop Sales control
   with the current Contract preselected. */
.utp-commerce-dossier-tabs .utp-contract-stop-sales-action{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.07);
    color:#fff;
}
.utp-commerce-dossier-tabs .utp-contract-stop-sales-action:hover,
.utp-commerce-dossier-tabs .utp-contract-stop-sales-action:focus-visible{
    background:rgba(255,255,255,.13);
    border-color:rgba(255,255,255,.38);
}
.utp-contract-stop-sales-action__dot{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:var(--utp-radius-pill);
    background:rgba(255,255,255,.42);
}
.utp-commerce-dossier-tabs .utp-contract-stop-sales-action.has-active-stops{
    border-color:rgba(255,102,71,.72);
}
.utp-contract-stop-sales-action.has-active-stops .utp-contract-stop-sales-action__dot{
    background:var(--utp-color-primary);
}

@media (min-width:768px) and (max-width:1024px){
    .utp-commerce-dossier-tabs .utp-contract-stop-sales-action{
        margin-left:12px;
    }
}


/* Period matrix: one logical pricing period may own several non-contiguous ranges. */
.utp-period-matrix-card{min-width:0}
.utp-period-matrix-form{display:grid;gap:8px;margin-top:16px}
.utp-period-matrix-head,.utp-period-matrix-row{display:grid;grid-template-columns:72px minmax(100px,.8fr) minmax(130px,1fr) minmax(130px,1fr);gap:8px;align-items:center}
.utp-period-matrix-head{padding:0 2px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.utp-period-matrix-row input{width:100%;min-width:0;height:42px;padding:0 10px;border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#1e293b;font:inherit;box-sizing:border-box}
.utp-period-matrix-row input:focus{outline:none;border-color:#ff6b45;box-shadow:0 0 0 2px rgba(255,107,69,.08)}
.utp-period-matrix-help{display:block;margin:4px 0 8px;color:#64748b;line-height:1.45}
@media (max-width:1180px){.utp-contract-period-layout{grid-template-columns:1fr}.utp-period-matrix-head,.utp-period-matrix-row{grid-template-columns:72px minmax(100px,.8fr) minmax(130px,1fr) minmax(130px,1fr)}}

/* Period Matrix — full-width collapsible workbench */
.utp-contract-period-layout--matrix{display:block;width:100%;max-width:100%;min-width:0}
.utp-contract-period-layout--matrix>section{width:100%;box-sizing:border-box}
.utp-period-matrix-details{width:100%;margin-top:18px;border:1px solid #d7dee8;border-radius:14px;background:#fff;overflow:hidden;box-sizing:border-box}
.utp-period-matrix-details>summary{display:flex;align-items:center;gap:9px;padding:14px 18px;background:#f8fafc;color:#475569;cursor:pointer;list-style:none;font-size:12px;font-weight:800}
.utp-period-matrix-details>summary::-webkit-details-marker{display:none}
.utp-period-matrix-chevron{font-size:10px;transition:transform .18s ease}.utp-period-matrix-details:not([open]) .utp-period-matrix-chevron{transform:rotate(-90deg)}
.utp-contract-period-layout--matrix>.utp-period-matrix-details>.utp-period-matrix-card{width:100%;max-width:none;min-width:0;padding:18px;border:0;border-top:1px solid #d7dee8;border-radius:0;box-sizing:border-box}
.utp-period-matrix-form{display:grid;gap:10px;margin-top:16px}
.utp-period-matrix-rows{display:grid;gap:0;border:1px solid #d7dee8;border-radius:12px;overflow:hidden}
.utp-period-matrix-head,.utp-period-matrix-row{display:grid;grid-template-columns:120px minmax(220px,1fr) minmax(180px,.7fr) minmax(180px,.7fr) 42px;gap:0;align-items:center}
.utp-period-matrix-head{padding:0 12px 7px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.utp-period-matrix-row{background:#fff}.utp-period-matrix-row+.utp-period-matrix-row{border-top:1px solid #d7dee8}
.utp-period-matrix-row input{width:100%;min-width:0;height:48px;padding:0 12px;border:0;border-right:1px solid #d7dee8;border-radius:0;background:#fff;color:#1e293b;font:inherit;box-sizing:border-box}
.utp-period-matrix-row input:focus{position:relative;z-index:1;outline:none;box-shadow:inset 0 0 0 1px #ff6b45}
.utp-period-matrix-remove{height:48px;border:0;background:#fff;color:#94a3b8;font-size:20px;cursor:pointer}.utp-period-matrix-remove:hover{color:#e4573d;background:#fff7f5}
.utp-period-matrix-add{justify-self:start;margin-top:2px}.utp-period-matrix-help{display:block;margin:2px 0;color:#64748b;line-height:1.45}
@media(max-width:900px){.utp-period-matrix-card{overflow-x:auto}.utp-period-matrix-form{min-width:760px}}
