/* Room Type Analysis — Phase 2 consumer of the shared report system. */
#page-room-type-analysis { background:var(--rv-bg); }
.rta-page { width:100%; gap:8px; padding:0 0 12px; }
.rta-actions { justify-content:flex-end; }

.rta-scope-card { height:44px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 10px 6px 12px; }
.rta-scope-card > div:first-child { display:grid; gap:1px; }
.rta-scope-card strong { color:var(--rv-text); font-size:11px; font-weight:600; }
.rta-scope-card span { color:var(--rv-text-muted); font-size:9px; }
.rta-scope { display:inline-grid; grid-template-columns:repeat(2,minmax(118px,1fr)); padding:2px; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface-muted); }
.rta-scope button { min-height:30px; padding:4px 9px; border:0; border-radius:4px; color:var(--rv-text-secondary); background:transparent; font:inherit; font-size:11px; font-weight:600; cursor:pointer; }
.rta-scope button:hover { color:var(--rv-primary); }
.rta-scope button.active { color:#fff; background:var(--rv-primary); }

.rta-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.rta-kpis .stat-card { height:80px; min-height:80px; grid-template-columns:25px minmax(0,1fr); grid-template-rows:25px 21px 10px; gap:1px 7px; padding:8px 9px; }
.rta-kpis .stat-card-icon { width:25px; height:25px; border-radius:6px; font-size:10px; }
.rta-kpis .stat-card-title { font-size:10px; }
.rta-kpis .stat-card-value { font-size:20px; }
.rta-kpis .stat-card-description { min-height:10px; font-size:8px; }
.rta-kpi-card .stat-card-description strong { color:inherit; }
.rta-currency-summary { height:62px; display:grid; grid-template-columns:180px minmax(0,1fr); align-items:stretch; }
.rta-currency-summary > header { display:flex; align-items:center; padding:7px 10px; border-right:1px solid var(--rv-border); }
.rta-currency-summary h2 { margin:0; color:var(--rv-text); font-size:12px; font-weight:600; }
.rta-currency-summary p { margin:2px 0 0; color:var(--rv-text-muted); font-size:9px; }
.rta-currency-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.rta-currency-row { min-width:0; display:grid; grid-template-columns:7px minmax(0,1fr); grid-template-rows:13px 18px; align-content:center; align-items:center; gap:1px 7px; padding:6px 10px; border-right:1px solid var(--rv-border); font-variant-numeric:tabular-nums; }
.rta-currency-row:last-child { border-right:0; }
.rta-currency-dot { grid-row:1/3; width:6px; height:6px; border-radius:50%; background:var(--rv-danger); }
.rta-currency-code { color:var(--rv-text-muted); font-size:9px; font-weight:700; }
.rta-currency-value { overflow:hidden; color:var(--rv-danger); font-size:14px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.rta-currency-value.is-positive { color:var(--rv-success); }
.rta-currency-row:has(.is-positive) .rta-currency-dot { background:var(--rv-success); }
.rta-empty-state,.rta-currency-empty { grid-column:1/-1; padding:16px; color:var(--rv-text-muted); text-align:center; font-size:10px; }

.rta-filter-card { overflow:hidden; }
.rta-filters { display:block; padding:0 12px; }
.rta-filter-section { padding:8px 0; border-bottom:1px solid var(--rv-border); }
.rta-filter-section:last-child { border-bottom:0; }
.rta-filter-section h4 { margin:0 0 7px; color:var(--rv-text); font-size:11px; font-weight:600; }
.rta-filter-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px 10px; }
.rta-basic-filters { padding:10px 0; }
.rta-basic-filters .rta-filter-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.rta-advanced-filters { margin:0 -12px; padding:0 12px; border-top:1px solid var(--rv-border); background:var(--rv-surface-muted); }
.rta-advanced-filters[hidden] { display:none; }
.rta-room-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rta-date-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rta-filters .filter-field { color:var(--rv-text-secondary); font-size:10px; font-weight:600; }
.rta-filters .filter-field input,.rta-filters .filter-field select { margin:0; }
.rta-filters .filter-check { align-self:end; min-height:32px; padding:0; border:0; background:transparent; font-size:10px; }
.rta-filters .filter-check input { width:14px; height:14px; }
.rta-filter-toggle { gap:5px; }
.rta-filter-count { min-width:17px; height:17px; display:inline-grid; place-items:center; padding:0 4px; border-radius:9px; color:var(--rv-surface); background:var(--rv-primary); font-size:9px; font-weight:700; }
.rta-filter-count[hidden] { display:none; }

.rta-table-card { margin-top:2px; overflow:hidden; }
.rta-table-meta { min-height:46px; }
.rta-table-meta b { font-weight:700; font-variant-numeric:tabular-nums; }
#rtaError { color:var(--rv-danger); font-size:10px; }
.rta-table-scroll { max-height:calc(100vh - 250px); min-height:160px; overflow:auto; }
.rta-table-scroll table { min-width:1280px; }
.rta-table-scroll th[data-sort] { cursor:pointer; }
.rta-table-scroll tbody tr { cursor:pointer; }
.rta-table-scroll tbody tr.is-selected td { background:var(--rv-primary-soft); }
.rta-primary-cell { display:block; overflow:hidden; max-width:190px; color:var(--rv-text); font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.rta-secondary-cell { display:block; overflow:hidden; max-width:190px; margin-top:1px; color:var(--rv-text-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.rta-impact { display:block; color:var(--rv-text); text-align:right; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rta-impact.is-negative { color:var(--rv-danger); }
.rta-impact.is-positive { color:var(--rv-success); }
.rta-impact.is-neutral { color:var(--rv-text-muted); }
.rta-badge { min-height:20px; display:inline-flex; align-items:center; gap:4px; max-width:180px; padding:2px 6px; border-radius:5px; font-size:9px; line-height:1.15; font-weight:600; }
.rta-badge::before { width:5px; height:5px; flex:0 0 auto; border-radius:50%; content:""; background:currentColor; }
.rta-match { color:#027a48; background:var(--rv-success-soft); }
.rta-different { color:#b54708; background:var(--rv-warning-soft); }
.rta-missing,.rta-operational-missing { color:#b42318; background:var(--rv-danger-soft); }
.rta-disabled { color:#475467; background:var(--rv-surface-muted); }
.rta-detail-button { min-height:28px; height:28px; padding:3px 7px; border:1px solid var(--rv-border); border-radius:5px; color:var(--rv-primary); background:var(--rv-surface); font:inherit; font-size:10px; font-weight:600; cursor:pointer; }
.rta-pagination { border-top:1px solid var(--rv-border); }
.rta-pagination label { display:flex; align-items:center; gap:5px; color:var(--rv-text-secondary); font-size:10px; }
.rta-pagination select { width:62px; min-height:30px; height:30px; padding:4px 6px; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface); font-size:10px; }

.rta-drawer-backdrop { position:fixed; inset:0; z-index:2000; visibility:hidden; opacity:0; border:0; background:rgba(15,23,42,.42); transition:opacity .2s ease,visibility .2s ease; }
.rta-drawer-backdrop.open { visibility:visible; opacity:1; }
.rta-drawer { position:fixed; top:0; right:0; z-index:2001; display:flex; width:min(680px,100vw); height:100dvh; overflow:hidden; flex-direction:column; transform:translateX(102%); transition:transform .22s ease; background:var(--rv-bg); box-shadow:-12px 0 32px rgba(16,24,40,.16); }
.rta-drawer.open { transform:none; }
.rta-drawer-header { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid var(--rv-border); background:var(--rv-surface); }
.rta-drawer h2 { margin:2px 0 0; color:var(--rv-text); font-size:18px; }
.rta-drawer-header small { color:var(--rv-primary); font-size:9px; font-weight:700; letter-spacing:.06em; }
.rta-drawer-header p { margin:3px 0 0; color:var(--rv-text-muted); font-size:10px; }
.rta-drawer-header button { width:30px; height:30px; flex:0 0 auto; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface); font-size:18px; cursor:pointer; }
.rta-drawer-body { min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
.rta-drawer-content { display:grid; gap:10px; padding:12px; }
.rta-impact-summary,.rta-detail-section { border:1px solid var(--rv-border); border-radius:8px; background:var(--rv-surface); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.rta-impact-summary { padding:10px 12px; border-left:3px solid var(--rv-text-muted); }
.rta-impact-summary.is-negative { border-left-color:var(--rv-danger); }
.rta-impact-summary.is-positive { border-left-color:var(--rv-success); }
.rta-impact-summary > span { display:block; color:var(--rv-text-secondary); font-size:10px; font-weight:600; }
.rta-impact-summary > strong { display:block; margin-top:2px; color:var(--rv-text); font-size:20px; font-variant-numeric:tabular-nums; }
.rta-impact-summary.is-negative > strong { color:var(--rv-danger); }
.rta-impact-summary.is-positive > strong { color:var(--rv-success); }
.rta-impact-summary p { margin:2px 0 0; color:var(--rv-text-muted); font-size:9px; }
.rta-detail-section { padding:11px; }
.rta-section-heading { display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.rta-section-heading > span:first-child { color:var(--rv-primary); font-size:9px; font-weight:700; }
.rta-section-heading h3 { flex:1; margin:0; color:var(--rv-text); font-size:13px; }
.rta-section-heading small { color:var(--rv-text-muted); font-size:9px; }
.rta-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; margin:0; }
.rta-info-item { min-width:0; padding:6px 0; border-bottom:1px solid var(--rv-surface-muted); }
.rta-info-item dt { color:var(--rv-text-muted); font-size:9px; font-weight:600; }
.rta-info-item dd { margin:2px 0 0; overflow-wrap:anywhere; color:var(--rv-text); font-size:10px; font-weight:600; }
.rta-room-comparison { display:grid; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); align-items:stretch; gap:6px; }
.rta-room-card { min-width:0; padding:9px; border:1px solid var(--rv-border); border-radius:7px; background:var(--rv-surface-muted); }
.rta-room-label { display:block; color:var(--rv-primary); font-size:9px; font-weight:700; }
.rta-room-card > strong { display:block; margin-top:3px; color:var(--rv-text); font-size:14px; }
.rta-room-card dl { margin:5px 0 0; }
.rta-room-arrow { display:flex; align-items:center; justify-content:center; color:var(--rv-primary); font-size:16px; font-weight:700; }
.rta-financial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.rta-financial-column { padding:9px; border:1px solid var(--rv-border); border-radius:7px; }
.rta-financial-column h4 { margin:0 0 5px; color:var(--rv-primary); font-size:9px; }
.rta-amount-row { display:flex; justify-content:space-between; gap:8px; padding:5px 0; border-bottom:1px solid var(--rv-surface-muted); color:var(--rv-text-secondary); font-size:10px; }
.rta-amount-row strong { color:var(--rv-text); font-variant-numeric:tabular-nums; white-space:nowrap; }
.rta-amount-row.is-total { border-bottom:0; font-weight:700; }
.rta-impact-total { display:flex; justify-content:space-between; margin-top:7px; padding:7px 9px; border-radius:6px; background:var(--rv-primary-soft); font-size:10px; font-weight:700; }
.rta-impact-total strong { font-size:12px; }
.rta-empty-note,.rta-drawer-state { padding:10px; border-radius:7px; color:var(--rv-text-secondary); background:var(--rv-surface-muted); font-size:10px; }
.rta-status-section > strong { font-size:12px; }
.rta-status-section p { margin:3px 0; font-size:10px; }
.rta-status-section small { font-size:9px; }
.rta-skeleton > div,.rta-skeleton-grid > div,.rta-skeleton-rooms > div,.rta-skeleton-rooms > span { background:var(--rv-surface-muted); animation:rta-skeleton 1.2s infinite alternate; }
.rta-skeleton-impact { height:68px; border-radius:8px; }
.rta-skeleton-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.rta-skeleton-grid > div { height:40px; border-radius:6px; }
.rta-skeleton-rooms { display:grid; grid-template-columns:1fr 24px 1fr; gap:6px; }
.rta-skeleton-rooms > div { height:110px; border-radius:8px; }
.rta-skeleton-block { height:130px; border-radius:8px; }
.rta-skeleton-block.is-short { height:68px; }
@keyframes rta-skeleton { to { opacity:.48; } }
body.rta-drawer-open { position:fixed; right:0; left:0; width:100%; overflow:hidden; }

@media(max-width:1439px){.rta-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.rta-filter-grid,.rta-basic-filters .rta-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1099px){.rta-kpis,.rta-filter-grid,.rta-date-grid,.rta-basic-filters .rta-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rta-currency-summary{grid-template-columns:150px 1fr}.rta-drawer{width:min(78vw,680px)}}
@media(max-width:699px){.rta-actions{width:100%;justify-content:flex-start}.rta-scope-card{height:auto;min-height:44px;align-items:stretch;flex-direction:column}.rta-scope{width:100%}.rta-kpis,.rta-filter-grid,.rta-date-grid,.rta-basic-filters .rta-filter-grid{grid-template-columns:1fr}.rta-currency-summary{height:auto;grid-template-columns:1fr}.rta-currency-summary>header{border-right:0;border-bottom:1px solid var(--rv-border)}.rta-currency-list{grid-template-columns:1fr}.rta-currency-row{border-right:0;border-bottom:1px solid var(--rv-border)}.rta-drawer{width:100%}.rta-info-grid,.rta-financial-grid{grid-template-columns:1fr}.rta-room-comparison{grid-template-columns:1fr}.rta-room-arrow{transform:rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.rta-drawer,.rta-drawer-backdrop,.rta-scope button{transition:none}.rta-skeleton>div,.rta-skeleton-grid>div,.rta-skeleton-rooms>div,.rta-skeleton-rooms>span{animation:none}}
