/* ==========================================================================
   UTP V2 — PLATFORM RESULTS FOUNDATION V1
   --------------------------------------------------------------------------
   One visual system for registers and result tables across all workspaces.

   LIST MODE
   .utp-results--list
     .utp-result-row
     .utp-result-mark
     .utp-result-main
     .utp-result-primary
     .utp-result-secondary
     .utp-result-meta
     .utp-result-status
     .utp-result-actions
     .utp-result-action

   TABLE MODE
   .utp-results--table
     .utp-result-table
     .utp-result-primary
     .utp-result-secondary
     .utp-result-status
     .utp-result-action

   Workspaces own data and semantics. Platform owns typography, spacing,
   row geometry, borders, status pills and action treatment.
   ========================================================================== */

.utp-platform-workspace-window .utp-results {
    width: 100%;
    font-family: var(--utp-ui-font-family, var(--utp-font-family));
    color: var(--utp-ui-text, #172033);
}

/* --------------------------------------------------------------------------
   Shared result typography
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-result-primary {
    color: var(--utp-ui-text, #172033);
    font-family: inherit;
    font-size: 14px;
    font-weight: var(--utp-ui-weight-semibold, 600);
    line-height: 1.3;
    text-decoration: none;
}

.utp-platform-workspace-window a.utp-result-primary:hover {
    color: var(--utp-ui-accent, #ff6647);
}

.utp-platform-workspace-window .utp-result-secondary {
    display: block;
    margin-top: 3px;
    color: var(--utp-ui-text-muted, #8793a8);
    font-family: inherit;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
}

.utp-platform-workspace-window .utp-result-meta,
.utp-platform-workspace-window .utp-result-table td {
    color: var(--utp-ui-text-secondary, #5f6f84);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}

/* --------------------------------------------------------------------------
   Canonical status pill
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-result-status {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    box-sizing: border-box;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    background: #f4f7fa;
    color: #526175;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    text-transform: capitalize;
}

.utp-platform-workspace-window .utp-result-status.is-active,
.utp-platform-workspace-window .utp-result-status[data-status="active"],
.utp-platform-workspace-window .utp-result-status[data-status="confirmed"] {
    border-color: rgba(24, 121, 78, .10);
    background: #eefbf4;
    color: #18794e;
}

.utp-platform-workspace-window .utp-result-status[data-status="cancelled"],
.utp-platform-workspace-window .utp-result-status[data-status="failed"],
.utp-platform-workspace-window .utp-result-status[data-status="expired"] {
    border-color: rgba(180, 35, 24, .10);
    background: #fff4f2;
    color: #b42318;
}

.utp-platform-workspace-window .utp-result-status[data-status="draft"],
.utp-platform-workspace-window .utp-result-status[data-status="pending"],
.utp-platform-workspace-window .utp-result-status[data-status="processing"] {
    background: #f5f7fa;
    color: #526175;
}

/* --------------------------------------------------------------------------
   Canonical actions
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-result-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: max-content;
}

.utp-platform-workspace-window .utp-result-actions form {
    margin: 0;
}

.utp-platform-workspace-window .utp-result-action {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    box-sizing: border-box;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 10px;
    background: #fff;
    color: #526175;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.utp-platform-workspace-window .utp-result-action:hover,
.utp-platform-workspace-window .utp-result-action:focus-visible {
    border-color: rgba(255, 102, 71, .52);
    background: rgba(255, 102, 71, .04);
    color: var(--utp-ui-accent, #ff6647);
    outline: none;
}

.utp-platform-workspace-window .utp-result-action.is-danger {
    border-color: rgba(180, 35, 24, .18);
    background: #fff8f7;
    color: #b42318;
}

/* --------------------------------------------------------------------------
   LIST MODE — dossiers / contracts / pricing / suppliers
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-results--list {
    display: grid;
    gap: 10px;
}

.utp-platform-workspace-window .utp-results--list .utp-result-row {
    display: flex;
    min-height: 66px;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    box-sizing: border-box;
    border: 1px solid var(--utp-ui-border, #dbe2ea);
    border-radius: var(--utp-ui-radius-panel, 14px);
    background: #fff;
    box-shadow: none;
}

.utp-platform-workspace-window .utp-results--list .utp-result-row:hover {
    border-color: #cbd5e1;
}

.utp-platform-workspace-window .utp-result-mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #0b1622;
    color: #fff;
    font-family: inherit;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.utp-platform-workspace-window .utp-result-main {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 2px;
}

.utp-platform-workspace-window .utp-results--list .utp-result-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    min-width: 0;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   TABLE MODE — reservations / locations / analytics
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-results--table {
    overflow: hidden;
    border: 1px solid var(--utp-ui-border, #dbe2ea);
    border-radius: var(--utp-ui-radius-panel, 14px);
    background: #fff;
}

.utp-platform-workspace-window .utp-result-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
    table-layout: auto;
}

.utp-platform-workspace-window .utp-result-table thead th {
    height: 38px;
    padding: 0 13px;
    border: 0;
    border-bottom: 1px solid var(--utp-ui-border, #dbe2ea);
    background: #f8fafc;
    color: #5f6f84;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .045em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.utp-platform-workspace-window .utp-result-table tbody tr {
    height: 64px;
    background: #fff;
}

.utp-platform-workspace-window .utp-result-table tbody tr:hover {
    background: #fbfcfd;
}

.utp-platform-workspace-window .utp-result-table tbody td {
    height: 64px;
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #e8edf2;
    vertical-align: middle;
}

.utp-platform-workspace-window .utp-result-table tbody tr:last-child td {
    border-bottom: 0;
}

.utp-platform-workspace-window .utp-result-table td:last-child,
.utp-platform-workspace-window .utp-result-table th:last-child {
    text-align: right;
}

/* --------------------------------------------------------------------------
   Empty result state
   -------------------------------------------------------------------------- */

.utp-platform-workspace-window .utp-results-empty {
    display: flex;
    min-height: 110px;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    color: var(--utp-ui-text-muted, #8793a8);
    font-family: inherit;
    font-size: 12px;
    text-align: center;
}

/* Tablet: keep the same visual system and allow overflow instead of shrinking text. */
@media (min-width: 768px) and (max-width: 1120px) {
    .utp-platform-workspace-window .utp-results--table {
        overflow-x: auto;
    }

    .utp-platform-workspace-window .utp-result-table {
        min-width: 820px;
    }

    .utp-platform-workspace-window .utp-results--list .utp-result-row {
        flex-wrap: wrap;
    }

    .utp-platform-workspace-window .utp-results--list .utp-result-meta {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        padding-left: 56px;
    }
}


/* V2: table results use the same visual scale as canonical list results. */
.utp-platform-workspace-window .utp-result-table tbody td:first-child .utp-result-primary {
    font-size: 14px;
    font-weight: var(--utp-ui-weight-semibold, 600);
}
.utp-platform-workspace-window .utp-result-table tbody td {
    font-size: 13px;
}

/* ========================================================================== 
   RESULTS FOUNDATION V3 — compatibility bridge
   Existing workspace result markup inherits the same Platform visual grammar.
   ========================================================================== */

.utp-platform-workspace-window .utp-results-meta,
.utp-platform-workspace-window .utp-reservations__results-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:20px;
    margin:14px 2px 10px;
    color:var(--utp-ui-text-muted,#8793a8);
    font-family:inherit;
    font-size:11px;
    font-weight:500;
    line-height:1.35;
}

/* Existing Commerce list registers use the canonical List Result geometry. */
.utp-platform-workspace-window .utp-commerce-register {
    display:grid;
    gap:10px;
}

.utp-platform-workspace-window .utp-commerce-register > .utp-commerce-hotel-row {
    min-height:66px;
    padding:10px 14px;
    gap:14px;
    border:1px solid var(--utp-ui-border,#dbe2ea);
    border-radius:var(--utp-ui-radius-panel,14px);
    background:#fff;
    box-shadow:none;
}

.utp-platform-workspace-window .utp-commerce-hotel-row__mark {
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:12px;
    font-family:inherit;
    font-size:10px;
    font-weight:900;
}

.utp-platform-workspace-window .utp-commerce-hotel-row__main,
.utp-platform-workspace-window .utp-commerce-hotel-row__main strong,
.utp-platform-workspace-window .utp-commerce-row-link strong {
    font-family:inherit;
}

.utp-platform-workspace-window .utp-commerce-hotel-row__main strong,
.utp-platform-workspace-window .utp-commerce-row-link strong {
    color:var(--utp-ui-text,#172033);
    font-size:14px;
    font-weight:600;
    line-height:1.3;
}

.utp-platform-workspace-window .utp-commerce-hotel-row__main > span,
.utp-platform-workspace-window .utp-commerce-row-link > span {
    margin-top:3px;
    color:var(--utp-ui-text-muted,#8793a8);
    font-size:11px;
    font-weight:500;
    line-height:1.35;
}

.utp-platform-workspace-window .utp-commerce-hotel-row__meta {
    gap:14px;
    color:var(--utp-ui-text-secondary,#5f6f84);
    font-family:inherit;
    font-size:12px;
    font-weight:500;
    line-height:1.35;
}

.utp-platform-workspace-window .utp-commerce-status {
    min-height:24px;
    padding:0 9px;
    border-radius:999px;
    font-family:inherit;
    font-size:11px;
    font-weight:800;
    line-height:1;
}

.utp-platform-workspace-window .utp-commerce-row-actions { gap:7px; }
.utp-platform-workspace-window .utp-commerce-row-action {
    min-height:34px;
    padding:0 11px;
    border-radius:10px;
    font-family:inherit;
    font-size:11px;
    font-weight:700;
    line-height:1;
}

/* Reservations is the canonical Table Result pilot. Keep legacy selectors for
   behaviour, while Platform classes own visual scale and typography. */
.utp-platform-workspace-window .utp-reservations__table-wrap.utp-results--table {
    overflow:hidden;
    border:1px solid var(--utp-ui-border,#dbe2ea);
    border-radius:var(--utp-ui-radius-panel,14px);
    background:#fff;
}

.utp-platform-workspace-window .utp-reservations__table.utp-result-table th,
.utp-platform-workspace-window .utp-reservations__table.utp-result-table td {
    font-family:inherit;
}

/* Pagination belongs to Results Foundation, not to a workspace skin. */
.utp-platform-workspace-window .utp-universal-filter-pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:14px 0 0;
}
.utp-platform-workspace-window .utp-universal-filter-pagination__link,
.utp-platform-workspace-window .utp-universal-filter-pagination__page {
    display:inline-flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    padding:0 11px;
    border:1px solid var(--utp-ui-border,#dbe2ea);
    border-radius:10px;
    background:#fff;
    color:var(--utp-ui-text-secondary,#5f6f84);
    font-family:inherit;
    font-size:11px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
}
.utp-platform-workspace-window .utp-universal-filter-pagination__link:hover {
    border-color:rgba(255,102,71,.52);
    color:var(--utp-ui-accent,#ff6647);
}
