.rms-matrix-wrap {
    max-width:100% !important;
}


/* FIXED39: jedna geometria dla wszystkich macierzy. Domyślnie pełny miesiąc mieści się z otwartym sidebarem. */
.rms-matrix-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    border: 1px solid #d9dee7;
    border-radius: 10px;
    background: #ffffff;
    margin: 0.25rem 0 0.45rem 0;
}
.rms-matrix-wrap.fit-screen { overflow-x: auto; }
.rms-matrix-wrap.total-matrix { container-type:inline-size; }
.rms-matrix-wrap.total-matrix { margin-bottom:.06rem; }
.rms-matrix {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    line-height: 1.18;
    font-variant-numeric: tabular-nums;
}
.rms-matrix-wrap.fit-screen .rms-matrix {
    width: 100%;
    min-width: 0;
    font-size: 10.4px;
}
.rms-matrix-wrap.fit-screen.total-matrix .rms-matrix {
    width: var(--rms-month-table-width, 100cqw);
    min-width: var(--rms-month-table-min-width, 1321.6px);
}
.rms-matrix-wrap.fit-screen.total-matrix .rms-matrix col.metric-col { width: 105.6px; }
.rms-matrix-wrap.fit-screen .rms-matrix col.day-col { width: auto; }
.rms-matrix-wrap.fit-screen .rms-matrix col.summary-col { width: 34px; }
.rms-matrix-wrap.comfortable .rms-matrix {
    width: max-content;
    font-size: 11.5px;
}
.rms-matrix-wrap.comfortable .rms-matrix col.metric-col { width: 104px; }
.rms-matrix-wrap.comfortable .rms-matrix col.day-col { width: 43px; }
.rms-matrix-wrap.comfortable .rms-matrix col.summary-col { width: 42px; }
.rms-matrix th,
.rms-matrix td {
    border-right: 1px solid #dfe5ee;
    border-bottom: 1px solid #dfe5ee;
    padding: 3px 2px;
    height: 25px;
    color:#344054;
    font-weight:500;
    white-space: nowrap;
    text-align: right;
    overflow: hidden;
    text-overflow: clip;
}
.rms-matrix-wrap.align-left .rms-matrix th:not(:first-child),
.rms-matrix-wrap.align-left .rms-matrix td:not(:first-child){text-align:left;padding-left:4px}
.rms-matrix-wrap.align-center .rms-matrix th:not(:first-child),
.rms-matrix-wrap.align-center .rms-matrix td:not(:first-child){text-align:center}
.rms-matrix-wrap.align-right .rms-matrix th:not(:first-child),
.rms-matrix-wrap.align-right .rms-matrix td:not(:first-child){text-align:right;padding-right:4px}
.rms-matrix-wrap.fit-screen .rms-matrix th,
.rms-matrix-wrap.fit-screen .rms-matrix td { padding: 3px 1px; }
.rms-matrix th:first-child,
.rms-matrix td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    text-align: left;
    font-weight: 750;
    color:#344054;
    background: #f1f3f6;
    box-shadow: 2px 0 3px rgba(0,0,0,.06);
}
.rms-matrix-wrap.total-matrix .rms-matrix th:first-child,
.rms-matrix-wrap.total-matrix .rms-matrix td:first-child {
    width:105.6px;
    min-width:105.6px;
    max-width:105.6px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rms-matrix thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f7f8fb;
    color: #475467;
    font-weight: 750;
}
.rms-matrix thead th:first-child { z-index: 4; }
.rms-matrix tr.section-gap td {
    height: 5px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #cfd8e3 !important;
    border-right: none !important;
}
.rms-matrix tr.price-row td:first-child { background:#f7f9fc !important; }
.rms-matrix tr.price-start td { border-top:2px solid #cfd8e3 !important; }
.rms-matrix thead .weekend { background: #ffe699; color: #222; }
.rms-matrix thead .event-col { background:#e6f4ff!important;color:#12385f!important;box-shadow:inset 0 -3px 0 #2e90fa; }
.rms-matrix .weekend-band-start { border-left: 2px solid #c9a33a !important; }
.rms-matrix .weekend-band-end { border-right: 2px solid #c9a33a !important; }
.rms-matrix .sumavg { background:var(--rms-tone-green-bg) !important; font-weight:800; color:var(--rms-tone-green-text); }
.rms-matrix .summary-empty { background: #f7f9ec !important; color: #c1c7a5; }
/* Kolor metryki ma pierwszeństwo przed weekendem/świętem. */
.rms-matrix .occ-neutral,.rms-matrix .pace-zero { background:var(--heatmap-0-bg,#fff)!important;color:var(--heatmap-0-fg,#243047)!important; }
.rms-matrix .sales-pace-below-average { background:var(--rms-tone-blue-soft-bg)!important;color:var(--rms-tone-blue-soft-text)!important; }
.rms-matrix .occ-low,.rms-matrix .pace-small { background:var(--heatmap-1-bg,oklch(92% 0.06 150))!important;color:var(--heatmap-1-fg,#344054)!important; }
.rms-matrix .occ-mid,.rms-matrix .pace-medium { background:var(--heatmap-2-bg,oklch(90% 0.09 95))!important;color:var(--heatmap-2-fg,#344054)!important; }
.rms-matrix .occ-high,.rms-matrix .pace-high { background:var(--heatmap-3-bg,#EDAAAA)!important;color:var(--heatmap-3-fg,#344054)!important; }
.rms-matrix .occ-very-high,.rms-matrix .pace-critical { background:var(--heatmap-4-bg,oklch(85% 0.10 25))!important;color:var(--heatmap-4-fg,#344054)!important;font-weight:700; }
.rms-matrix .occ-full,.rms-matrix .pace-very-high { background:var(--heatmap-5-bg,oklch(78% 0.13 25))!important;color:var(--heatmap-5-fg,#344054)!important;font-weight:700; }
.rms-matrix .pace-release.pace-small,.rms-matrix .pace-release.pace-medium { background:var(--rms-tone-blue-soft-bg)!important;color:var(--rms-tone-blue-soft-text)!important; }
.rms-matrix .pace-release.pace-high,.rms-matrix .pace-release.pace-critical,.rms-matrix .pace-release.pace-very-high { background:var(--rms-tone-blue-strong-bg)!important;color:var(--rms-tone-blue-strong-text)!important; }
.rms-matrix .strong-signal { box-shadow:inset 0 0 0 2px #0f766e !important; font-weight:800; }
.rms-matrix .pace-release.strong-signal { box-shadow:inset 0 0 0 2px #2563eb !important; }
/* PU jest sygnałem decyzji cenowej tylko wtedy, gdy RMS faktycznie proponuje ruch. */
.rms-matrix .pu-rms-neutral { background:#ffffff !important; box-shadow:none !important; font-weight:inherit !important; }
.rms-matrix .rms-rec-hidden { background:#ffffff !important; box-shadow:none !important; color:#cbd5e1 !important; font-weight:400 !important; }
.rms-matrix .move-up { background: #f8cbad; font-weight: 800; }
.rms-matrix .move-down { background: #bdd7ee; font-weight: 800; }
.rms-matrix tr.price-row td { font-weight:600; }
.rms-matrix tr.price-row td:first-child { font-weight:800; }
.rms-matrix tr.price-start td:not(:first-child) { font-weight:800; }
.rms-matrix tr.price-final td { font-weight:800; }
.rms-matrix tr.price-row td.move-up,
.rms-matrix tr.price-row td.move-down { font-weight:850; }
.rms-matrix tr.price-row td.final-up,
.rms-matrix tr.price-row td.final-down { background:#ffffff !important; color:#243047; font-weight:650; }
.rms-matrix tr.price-row td.manual-final { background:#ffffff !important; outline:2px solid #d97706; outline-offset:-2px; font-weight:760; }
.rms-matrix tr.price-row td.price-action-emphasis { font-weight:850; }
.rms-matrix .bar-before { background: #ddebf7; }
.rms-matrix .bar-final { background:var(--rms-tone-green-bg); color:var(--rms-tone-green-text); font-weight:700; }
.rms-matrix .manual-cell { background:var(--rms-tone-yellow-bg) !important; color:var(--rms-tone-yellow-text); font-weight:700; }
.rms-matrix .past-date {
    color:#697586;
    filter: saturate(.55);
    box-shadow: inset 0 0 0 9999px rgba(241,244,247,.43);
}
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.occ-high,
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.occ-very-high,
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.occ-full,
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.pace-high:not(.pace-release),
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.pace-critical:not(.pace-release),
.rms-matrix-wrap.heatmap-contrast .rms-matrix .past-date.pace-very-high:not(.pace-release) {
    color:#FFFFFF !important;
}
.rms-matrix .change-start { border-left:4px solid #111827 !important; box-shadow:none !important; }
.rms-matrix .blank { color: #b5bac4; }
.rms-matrix td.latest-sale { font-size: 8.6px; font-weight:650; letter-spacing:-.18px; }
.rms-toolbar-note { font-size: 12px; color: #6b7280; margin-bottom: 6px; }
.price-copy-box textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
/* Operacyjne data-editory: bez toolbarów i ikon kolumn. */
div[data-testid="stDataFrame"] [data-testid="stElementToolbar"],
div[data-testid="stDataEditor"] [data-testid="stElementToolbar"] { display:none !important; }
div[data-testid="stDataEditor"] div[role="columnheader"] svg { display:none !important; }
/* Ręczny wiersz ma wizualnie kontynuować główną macierz. */
div[data-testid="stDataEditor"] { margin-top: -0.20rem; }


/* FIXED40: pulpit jest głównym ekranem — mniej dekoracji, więcej informacji. */
.rms-app-title{font-size:1.02rem;font-weight:700;color:#667085;margin:-.35rem 0 .35rem 0;letter-spacing:.01em}
/* Page-level module headings use rms_ui.page_header(..., variant="compact"). */
[data-testid="stMarkdownHeading"] a,
[data-testid="stHeaderActionElements"]{display:none!important}
.rms-page-title{display:flex;align-items:baseline;gap:.55rem;margin:.05rem 0 .25rem 0}
.rms-page-title h2{font-size:1.56rem;margin:0;color:#1d2939;letter-spacing:-.02em}
.rms-page-title span{font-size:.78rem;color:#667085}
body.rms-dashboard-revision-pending .rms-kpi-grid,body.rms-dashboard-revision-pending [class*="st-key-rms_context_row_"],body.rms-dashboard-revision-pending [class*="st-key-rms_desktop_daily_section_"],body.rms-dashboard-revision-pending [class*="st-key-comparative_analysis_expander_"],body.rms-dashboard-revision-pending [class*="st-key-room_details_"],body.rms-dashboard-revision-pending [class*="st-key-sales_horizon_"]{visibility:visible!important;opacity:1;filter:none;pointer-events:none;transition:none}
body.rms-dashboard-revision-pending [data-testid="stElementContainer"]{opacity:1!important;transition:none!important}
body:not(.rms-dashboard-revision-pending) .rms-kpi-grid,body:not(.rms-dashboard-revision-pending) [class*="st-key-rms_context_row_"],body:not(.rms-dashboard-revision-pending) [class*="st-key-rms_desktop_daily_section_"],body:not(.rms-dashboard-revision-pending) [class*="st-key-comparative_analysis_expander_"],body:not(.rms-dashboard-revision-pending) [class*="st-key-room_details_"],body:not(.rms-dashboard-revision-pending) [class*="st-key-sales_horizon_"]{opacity:1;filter:none;transition:none}
body.rms-dashboard-revision-pending::after{content:"Aktualizuję Pulpit…";position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:10002;padding:11px 16px;border:1px solid #bfd0f5;border-radius:12px;background:#f7f9ff;color:#344054;font-size:14px;font-weight:650;box-shadow:0 8px 24px rgba(16,24,40,.14)}
body.rms-dashboard-revision-pending.rms-dashboard-exact-price-pending::after{content:"Zapis ceny przyjęty — czekam na dokładnie tę revision…"}
[class*="st-key-rms_dashboard_exact_poll_host_"]{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;z-index:-1!important}
/* Canonical Dashboard leaf styles, extracted from streamlit_app.py. */
.rms-kpi-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.86fr) minmax(0,1.38fr) minmax(0,1.02fr) minmax(0,1.02fr) minmax(0,1.52fr) minmax(0,1.10fr);gap:10px;align-items:stretch;margin:.53rem 0 .6rem 0;position:relative;z-index:80;overflow:visible}
.rms-kpi{--kpi-divider-y:76px;border:1px solid #e6ebf2;border-radius:12px;background:#fff;padding:11px 12px;min-width:0;height:132px;box-sizing:border-box;box-shadow:0 2px 8px rgba(16,24,40,.06);position:relative;overflow:visible;display:flex;flex-direction:column}
.rms-kpi::after{content:"";position:absolute;left:12px;right:12px;top:var(--kpi-divider-y);height:1px;background:#e6ebf2;pointer-events:none}
.rms-kpi.lead::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2f6df0}
.rms-kpi.forecast::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#16a34a}
.rms-kpi .label{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:.69rem;color:#667085;font-weight:700;margin-bottom:6px;min-height:1.35em;padding-right:22px;text-transform:none;letter-spacing:.01em;line-height:1.18;overflow-wrap:normal;word-break:normal;white-space:nowrap}
.rms-kpi .value{font-size:1.62rem;line-height:1.0;font-weight:820;color:#1f2937;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.rms-kpi .comparisons{position:absolute;left:12px;right:12px;top:calc(var(--kpi-divider-y) + 8px);margin:0;display:flex;flex-direction:column;gap:5px;font-size:.67rem;color:#667085;overflow-wrap:normal;word-break:normal}
.rms-kpi .comparison-row{display:grid;grid-template-columns:1.7rem minmax(0,auto) minmax(0,auto);justify-content:start;align-items:baseline;gap:6px;white-space:nowrap}
.rms-kpi .occ-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:5px;line-height:1.15;white-space:normal}
.rms-kpi .occ-comparison .comparison-label{min-width:0}
.rms-kpi .comparison-label{color:#667085;font-weight:650}
.rms-kpi .comparison-reference{color:#475467;font-weight:750;font-variant-numeric:tabular-nums}
.rms-kpi .comparison-delta{font-variant-numeric:tabular-nums}
.rms-kpi .kpi-primary{min-width:0}
.rms-kpi .kpi-secondary{position:absolute;left:12px;right:12px;top:calc(var(--kpi-divider-y) + 8px);bottom:auto;padding-top:0;border-top:0;min-width:0}
.rms-kpi.forecast .forecast-maximum{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.rms-kpi.forecast .forecast-maximum .secondary-label{font-size:.64rem;line-height:1.15;color:#667085;font-weight:700;margin-bottom:3px}
.rms-kpi.forecast .forecast-maximum .secondary-value{font-size:1.08rem;line-height:1.0;color:#344054;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.rms-kpi.sales-pace .value{font-size:1.20rem;line-height:1.05}
.rms-kpi.sales-pace .comparisons{font-size:.65rem;font-weight:700}
.rms-kpi .up{color:#0f6e4d;font-weight:750}.rms-kpi .down{color:#b42318;font-weight:750}.rms-kpi .flat{color:#667085}
.rms-kpi .detail-line{display:block;color:#667085;font-size:.64rem;line-height:1.25;white-space:nowrap}
.rms-kpi .detail-line strong{font-weight:800}
.rms-kpi.price-activity .value{font-size:1.42rem}
.rms-kpi.price-activity .note{margin-top:4px}
.rms-kpi.price-activity .activity-details{display:flex;flex-direction:column;gap:3px}
.rms-kpi.price-activity .activity-decision{font-size:.72rem;line-height:1.18;font-weight:750;color:#475467;white-space:nowrap}
.rms-kpi.price-activity .activity-change{font-size:.72rem;line-height:1.18;font-weight:800;color:#344054;white-space:nowrap}
.rms-kpi .note{font-size:.65rem;color:#667085;margin-top:6px;line-height:1.25}
.rms-kpi .source-warning{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.66rem;font-weight:800;line-height:1.15}
.rms-kpi .refreshing{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.66rem;font-weight:800;line-height:1.15}
.rms-kpi.has-nominal-tooltip{cursor:default}

.rms-kpi-info{position:absolute;right:10px;top:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#667085;border:1px solid #cbd5e1;background:#fff;font-size:12px;font-weight:800;cursor:help;z-index:5;outline:none}
.rms-kpi-horizon{margin-top:7px;display:flex;align-items:center;gap:4px;font-size:.72rem;color:#475467;font-weight:650;white-space:nowrap}
.rms-kpi-horizon-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#667085;font-size:10.5px;font-weight:850;cursor:help;line-height:1}
.rms-horizon-wrap{overflow-x:auto;border:1px solid #dde3eb;border-radius:10px;background:#fff;margin:.35rem 0 .9rem}
.rms-horizon{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.rms-horizon th,.rms-horizon td{border-bottom:1px solid #e7ebf1;padding:7px 9px;text-align:center;white-space:nowrap}
.rms-horizon th{background:#f7f8fb;color:#526071;font-weight:700;position:sticky;top:0}
.rms-horizon th:first-child,.rms-horizon td:first-child{text-align:center;position:sticky;left:0;background:#f7f8fb;font-weight:700}
.rms-horizon tr.current td:first-child{box-shadow:inset 4px 0 #2e90fa}.rms-horizon td.good{color:#18794e;font-weight:700}.rms-horizon td.bad{color:#b42318;font-weight:700}.rms-horizon td.muted{color:#98a2b3}.rms-horizon .yoy-main{font-weight:700;color:#344054}.rms-horizon .yoy-delta{display:block;margin-top:1px;font-size:10px;font-weight:800}.rms-horizon .yoy-delta.up{color:#18864b}.rms-horizon .yoy-delta.down{color:#c23b3b}.rms-horizon .yoy-delta.flat{color:#667085}
.rms-horizon td.pace-zero{background:var(--heatmap-0-bg,#fff);color:var(--heatmap-0-fg,#344054)}.rms-horizon td.pace-small{background:var(--heatmap-1-bg,oklch(92% 0.06 150));color:var(--heatmap-1-fg,#344054)}.rms-horizon td.pace-medium{background:var(--heatmap-2-bg,oklch(90% 0.09 95));color:var(--heatmap-2-fg,#344054)}.rms-horizon td.pace-high{background:var(--heatmap-3-bg,#EDAAAA);color:var(--heatmap-3-fg,#344054)}.rms-horizon td.pace-critical{background:var(--heatmap-4-bg,oklch(85% 0.10 25));color:var(--heatmap-4-fg,#344054);font-weight:700}.rms-horizon td.pace-very-high{background:var(--heatmap-5-bg,oklch(78% 0.13 25));color:var(--heatmap-5-fg,#344054);font-weight:700}
.rms-heatmap-legend{display:flex;align-items:center;gap:8px;color:#667085;font-size:11px;margin:4px 0}.rms-heatmap-swatches{display:inline-flex;width:132px;height:12px;border:1px solid #d0d5dd;border-radius:3px;overflow:hidden}.rms-heatmap-swatches span{flex:1 1 0}
.rms-horizon td.occ-now-cell{text-align:center}.rms-horizon .occ-now{font-size:13px;font-weight:850;color:#243047}
.rms-horizon td.occ-stack-cell{text-align:center;min-width:232px;padding-top:8px;padding-bottom:8px}
.rms-horizon .occ-stack{display:flex;flex-direction:column;gap:4px}
.rms-horizon .comparison-main{font-size:13px;font-weight:850;color:#243047;line-height:1.15;white-space:nowrap}
.rms-horizon .comparison-main.up{color:#067647}.rms-horizon .comparison-main.down{color:#c43232}.rms-horizon .comparison-main.flat{color:#344054}
.rms-horizon .comparison-main.no-ref{color:#667085;font-style:italic}
.rms-horizon .reference-note{display:block;color:#667085;font-size:10.5px;line-height:1.2;white-space:nowrap}
.rms-horizon-intro{font-size:.78rem;color:#101828;font-weight:500;line-height:1.45;margin:.10rem 0 .42rem}
.rms-horizon .metric-cell{text-align:center;min-width:118px}
.rms-horizon .metric-main{display:block;font-size:13px;font-weight:850;color:#243047;line-height:1.15}
.rms-horizon .metric-main.up{color:#067647}.rms-horizon .metric-main.down{color:#c43232}.rms-horizon .metric-main.flat{color:#344054}
.rms-horizon .metric-sub{display:block;color:#667085;font-size:10.5px;line-height:1.2;margin-top:2px}
.rms-horizon .metric-note{display:block;color:#98a2b3;font-size:10px;line-height:1.2;margin-top:1px}
.rms-horizon-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:.1rem 0 .45rem}
.rms-horizon-toolbar .hint{font-size:.72rem;color:#667085;line-height:1.25}
.rms-horizon td.value-cell{text-align:center;min-width:96px}
.rms-horizon .main-value{font-size:13px;font-weight:850;color:#243047;line-height:1.15;white-space:nowrap}
.rms-horizon .main-value.up{color:#067647}.rms-horizon .main-value.down{color:#c43232}.rms-horizon .main-value.flat{color:#344054}
.rms-horizon .sub-value{display:block;color:#667085;font-size:10.5px;line-height:1.2;white-space:nowrap;margin-top:2px}
.rms-horizon .sub-value.occ-delta-range{font-size:11.5px!important;font-weight:850!important;color:#344054!important}
.rms-horizon .money-main{font-size:13px;font-weight:850;color:#243047;white-space:nowrap}
.rms-horizon .trend-main{font-size:13px;font-weight:850;white-space:nowrap}
.rms-horizon .trend-main.up{color:#067647}.rms-horizon .trend-main.down{color:#c43232}.rms-horizon .trend-main.flat{color:#667085}
.rms-horizon .rms-comparative-range-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:5px;border:1px solid #d92d20;border-radius:50%;color:#d92d20;font-size:9px;font-style:normal;font-weight:900;line-height:1;vertical-align:1px}
.rms-horizon td.pace-potential-cell{text-align:left;min-width:238px;padding:6px 9px}
.rms-horizon .pace-potential{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}
.rms-horizon .pace-potential-line{display:flex;align-items:baseline;justify-content:space-between;gap:7px;min-width:0;font-size:10.5px;line-height:1.2;color:#667085;white-space:nowrap}
.rms-horizon .pace-potential-line strong{font-size:11.5px;color:#243047;font-weight:850}
.rms-horizon .pace-potential-line.estimated strong{color:#067647}
.rms-comparative-wrap{margin:.45rem 0 .08rem;min-width:0}
.rms-comparative-scroll{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}
.rms-comparative-metric-card,.rms-comparative-month-card{overflow:hidden;border:1px solid #e4e8ee;border-radius:12px;background:#fff;box-sizing:border-box}
.rms-comparative-metric-card{position:sticky;left:0;z-index:3;flex:0 0 132px;background:#f7f8fa}
.rms-comparative-month-card{flex:0 0 190px}
.rms-comparative-month-card.is-active{border-color:#8bc9e8;box-shadow:0 2px 8px rgba(11,165,236,.14)}
.rms-comparative-card-head{display:flex;align-items:center;justify-content:center;height:37px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid #e1e6ec;background:#fafbfc;color:#344054;font-size:13px;font-weight:750;white-space:nowrap}
.rms-comparative-metric-card .rms-comparative-card-head{justify-content:flex-start;background:#f4f6f8;color:#667085;font-size:12px;letter-spacing:.02em}
.rms-comparative-month-card.is-active .rms-comparative-card-head{border-bottom:2px solid #0ba5ec;background:#eaf7fd;color:#1d2939}
.rms-comparative-metric-label,.rms-comparative-cell{display:flex;height:58px;box-sizing:border-box;border-bottom:1px solid #edf0f3;padding:0 14px}
.rms-comparative-metric-label:last-child,.rms-comparative-cell:last-child{border-bottom:0}
.rms-comparative-metric-label{align-items:center;color:#344054;font-size:12.5px;font-weight:650;line-height:1.2}
.rms-comparative-cell{flex-direction:column;align-items:center;justify-content:center;text-align:center}
.rms-comparative-main{color:#243047;font-size:13.5px;font-weight:750;line-height:1.15;white-space:nowrap}
.rms-comparative-cell.missing .rms-comparative-main{color:#98a2b3;font-weight:600}
.rms-comparative-cell .rms-yoy-change{display:block;margin-top:3px;border:0;background:transparent;color:#667085;font-size:11.5px;font-weight:650;line-height:1;white-space:nowrap}
.rms-comparative-cell .rms-yoy-change.positive{color:#18864b}
.rms-comparative-cell .rms-yoy-change.negative{color:#c23b3b}
.rms-comparative-cell .rms-yoy-change.neutral,.rms-comparative-cell .rms-yoy-change.missing{color:#7a8697}
.rms-comparative-rows-scroll{overflow-x:auto;padding:0 1px 5px;scrollbar-width:thin}
.rms-comparative-rows-inner{width:100%}
.rms-comparative-rows-header,.rms-comparative-row{display:grid;box-sizing:border-box;align-items:center}
.rms-comparative-rows-header{padding:0 16px 7px}
.rms-comparative-rows-head{text-align:center;color:#344054;font-size:11px;font-weight:750;line-height:1.15;white-space:nowrap}
.rms-comparative-rows{display:flex;flex-direction:column;gap:10px}
.rms-comparative-row{min-height:64px;padding:2px 16px;border:1px solid #e4e8ee;border-left:3px solid #0ba5ec;border-radius:10px;background:#fff}
.rms-comparative-row.is-active{border-color:#b9e6f7;border-left-color:#0ba5ec;background:#fbfeff;box-shadow:0 2px 7px rgba(11,165,236,.08)}
.rms-comparative-row-month{color:#243047;font-size:13.5px;font-weight:750;white-space:nowrap}
.rms-comparative-row .rms-comparative-cell{height:58px;border-bottom:0;padding:0 8px}
.rms-comparative-scroll-hint{margin-top:7px;color:#98a2b3;font-size:11px;line-height:1.2}
.rms-sales-position-wrap{min-width:0;margin:.45rem 0 .05rem}
.rms-sales-position-scroll{overflow-x:auto;padding:0 1px 5px;scrollbar-width:thin}
.rms-sales-position-inner{width:100%}
.rms-sales-position-header,.rms-sales-position-row{display:grid;box-sizing:border-box;align-items:center}
.rms-sales-position-header{padding:0 16px 7px}
.rms-sales-position-head{text-align:center;color:#344054;font-size:11px;font-weight:750;line-height:1.15;white-space:nowrap}
.rms-sales-position-rows{display:flex;flex-direction:column;gap:10px}
.rms-sales-position-row{min-height:64px;padding:11px 16px;border:1px solid #e4e8ee;border-left:3px solid #6172f3;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.rms-sales-position-row.current{border-color:#d8defc;border-left-color:#6172f3;background:#fdfdff;box-shadow:0 2px 7px rgba(97,114,243,.08)}
.rms-sales-card-layout .rms-comparative-month-card.is-active{border-color:#c7cefb;box-shadow:0 2px 8px rgba(97,114,243,.14)}
.rms-sales-card-layout .rms-comparative-month-card.is-active .rms-comparative-card-head{border-bottom-color:#6172f3;background:#f1f3ff}
.rms-sales-card-layout .rms-sales-position-cell{height:58px;border-bottom:1px solid #edf0f3;padding:0 10px}
.rms-sales-card-layout .rms-sales-position-cell:last-child{border-bottom:0}
.rms-sales-position-month{color:#243047;font-size:13.5px;font-weight:750;white-space:nowrap}
.rms-sales-position-cell{display:flex;min-width:0;min-height:38px;flex-direction:column;align-items:center;justify-content:center;padding:0 8px;text-align:center;color:#344054;font-size:12px;line-height:1.18}
.rms-sales-position-wrap [data-rms-sales-indicator][hidden]{display:none!important}
.rms-sales-position-cell.muted{color:#98a2b3}
.rms-sales-position-cell .main-value,.rms-sales-position-cell .money-main,.rms-sales-position-cell .trend-main,.rms-sales-position-cell .occ-now{color:#243047;font-size:14px;font-weight:750;line-height:1.15;white-space:nowrap}
.rms-sales-position-cell .main-value.up,.rms-sales-position-cell .trend-main.up,.rms-sales-position-cell .yoy-delta.up{color:#067647}
.rms-sales-position-cell .main-value.down,.rms-sales-position-cell .trend-main.down,.rms-sales-position-cell .yoy-delta.down{color:#c43232}
.rms-sales-position-cell .main-value.flat,.rms-sales-position-cell .trend-main.flat,.rms-sales-position-cell .yoy-delta.flat{color:#667085}
.rms-sales-position-cell .sub-value,.rms-sales-position-cell .occ-yoy{display:block;margin-top:3px;color:#667085;font-size:10.5px;font-weight:650;line-height:1.18;white-space:nowrap}
.rms-sales-position-cell .occ-yoy strong{color:#344054;font-weight:700}
.rms-sales-position-cell .sub-value.occ-delta-range{color:#344054;font-size:10.5px;font-weight:700}
.rms-sales-position-cell.pace-potential-cell{text-align:left}.rms-sales-position-cell .pace-potential{display:grid;grid-template-columns:1fr;gap:2px;width:100%}.rms-sales-position-cell .pace-potential-line{display:flex;justify-content:space-between;gap:4px;color:#667085;font-size:9.5px}.rms-sales-position-cell .pace-potential-line strong{color:#243047;font-size:10px}
.rms-horizon-info{margin:.04rem 0 .42rem}
.rms-snapshot-context{display:flex;align-items:center;gap:8px;border:1px solid #d8e3f1;border-radius:9px;background:#f7faff;color:#475467;padding:7px 10px;margin:.25rem 0 .35rem;font-size:.76rem}
.rms-snapshot-context strong{color:#243047}.rms-snapshot-context .dot{width:7px;height:7px;border-radius:50%;background:#2e90fa;flex:0 0 7px}
.rms-compact-caption{font-size:.72rem;color:#667085;margin:-.1rem 0 .25rem}
@media(max-width:1600px){.rms-kpi-grid{gap:7px}.rms-kpi{--kpi-divider-y:72px;padding:10px 9px}.rms-kpi::after,.rms-kpi .comparisons,.rms-kpi .kpi-secondary{left:9px;right:9px}.rms-kpi .label{font-size:.62rem}.rms-kpi .value{font-size:1.38rem}.rms-kpi.sales-pace .value{font-size:1.02rem}.rms-kpi .comparisons,.rms-kpi .note{font-size:.59rem}.rms-kpi .detail-line{font-size:.57rem}.rms-kpi.price-activity .activity-decision,.rms-kpi.price-activity .activity-change{font-size:.68rem}.rms-kpi-info{right:7px;top:8px}}
.rms-manual-context-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:.06rem 0 .16rem}
.rms-price-index-row{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 0 auto;color:#475467;font-size:.71rem;line-height:1.2;flex:0 1 auto}
.rms-price-index-card{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #dfe5ee;border-radius:8px;background:#fff;padding:5px 8px;box-shadow:0 1px 2px rgba(16,24,40,.03);font-variant-numeric:tabular-nums}
.rms-price-index-card .heading{font-weight:850;color:#1d2939;margin-right:2px}
.rms-price-index-card .price-row{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.rms-price-index-card .price-row + .price-row{padding-left:8px;border-left:1px solid #e4e7ec}
.rms-price-index-card .price-label{font-weight:700;color:#344054}
.rms-price-index-card .index-value{font-weight:800;color:#1d2939}
.rms-price-index-help,.rms-manual-help{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:help;color:#667085;font-weight:850;outline:none}
[class*="st-key-manual_price_expander_"] details>summary{position:relative;align-items:center!important}
[class*="st-key-manual_price_expander_"] details>summary .rms-manual-price-index-header{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto;padding-left:16px;min-width:0;white-space:nowrap}
[class*="st-key-manual_price_expander_"] details>summary .rms-price-index-card{padding:3px 7px;margin:0;border-color:#dfe5ee;border-radius:7px;box-shadow:none;font-size:.62rem;line-height:1.05;flex-wrap:nowrap!important;white-space:nowrap}
[class*="st-key-manual_price_expander_"] details>summary .rms-price-index-help{pointer-events:auto}
[class*="st-key-manual_price_expander_"] details>summary .rms-price-index-card .price-separator{color:#98a2b3;font-weight:650;padding:0 1px}
[class*="st-key-manual_price_expander_"] details>summary>div:first-of-type{min-width:0}
/* The action portal follows a technical component bridge. It must stay mounted,
   but it must not add a second Streamlit flex gap above the visible buttons. */
[class*="st-key-rms_desktop_daily_section_"]>[data-testid="stElementContainer"]:has(>iframe[data-testid="stIFrame"]):has(+[data-testid="stElementContainer"] .rms-dashboard-price-actions-portal){
    position:absolute!important;width:0!important;height:0!important;min-height:0!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
}
.rms-dashboard-price-actions{
    grid-template-columns:repeat(4,minmax(0,178px))!important;
    justify-content:start!important;
}
[class*="st-key-sales_horizon_selector_"]{margin-top:.05rem}
.rms-acceptance-history-wrap{border:1px solid #dfe5ee;border-radius:9px;background:#fff;overflow:hidden;margin:.15rem 0 .35rem}
.rms-acceptance-history{width:100%;border-collapse:collapse;font-size:.75rem;font-variant-numeric:tabular-nums}
.rms-acceptance-history th,.rms-acceptance-history td{padding:7px 9px;border-bottom:1px solid #edf1f6;text-align:left;white-space:nowrap}
.rms-acceptance-history th{background:#f7f8fb;color:#475467;font-weight:850}
.rms-acceptance-history tr:last-child td{border-bottom:0}
.rms-acceptance-history tr.accepted td:nth-child(3){font-weight:850;color:#1d2939}
.rms-acceptance-history tr.copied td:nth-child(3){font-weight:850;color:#067647}
.rms-acceptance-history tr.invalidated td{color:#667085}
.rms-acceptance-history tr.invalidated td:nth-child(3){color:#b54708;font-weight:750}
.rms-matrix-wrap.wide-metric.fit-screen .rms-matrix col.metric-col{width:210px}
.rms-matrix-wrap.wide-metric.comfortable .rms-matrix col.metric-col{width:240px}
.rms-matrix-wrap.wide-metric .rms-matrix td:first-child{
    white-space:normal;overflow:visible;text-overflow:unset;line-height:1.15;
    height:auto;min-height:23px;padding-top:5px;padding-bottom:5px
}
.rms-matrix td.key-metric{font-weight:760;font-size:calc(100% + 1px)}
/* FIXED58: jedna belka alertów; szczegóły pozostają w tym samym expanderze. */
[class*="st-key-dashboard_alerts_"] details > summary{font-weight:820!important;font-size:1.04rem!important;color:#101828!important}
[class*="st-key-dashboard_alerts_"] details > summary p{font-weight:820!important;font-size:1.04rem!important;color:#101828!important}
[data-testid="stExpander"] details > summary{transition:background .16s ease, box-shadow .16s ease, transform .10s ease}
[data-testid="stExpander"] details > summary:hover{background:#f8fafc}
[data-testid="stExpander"] details > summary:active{transform:scale(.997)}
/* Pricing tables share one column track. Remove only the nested expander body
   inset so Availability, room prices and the accepted copy grid line up. */
[class*="st-key-manual_price_expander_"] > [data-testid="stExpander"] > details > [data-testid="stExpanderDetails"],
[class*="st-key-room_manual_expander_"] > [data-testid="stExpander"] > details > [data-testid="stExpanderDetails"]{
    padding-left:0!important;
    padding-top:.2rem!important;
    padding-right:0!important;
    padding-bottom:0!important;
    margin-left:-1px!important;
    margin-right:-1px!important;
}
[class*="st-key-rms_dashboard_room_manual_"] iframe.stCustomComponentV1{display:block!important}
.rms-events-panel{margin:.25rem 0 .24rem;padding:9px 11px;border:1px solid #dfe5ee;border-radius:9px;background:#fff}
.rms-events-title{font-size:.78rem;font-weight:850;color:#1d2939;margin-bottom:5px}
.rms-events-list{font-size:.77rem;color:#1d2939;line-height:1.45}
.rms-events-list .event{display:inline-block;margin-right:16px;font-weight:600}
.rms-events-list .date{font-weight:850;color:#101828}
.rms-events-empty{font-size:.75rem;color:#667085}
/* FIXED59/60: kompaktowa belka cennika; rzadka instrukcja jest dostępna w dymku. */
.rms-config-bar{display:flex;align-items:center;gap:.65rem;min-width:0;min-height:1.65rem;margin:.34rem 0 .18rem;padding:0 0 .32rem;clear:both;font-size:.74rem;line-height:1.25;color:#475467;white-space:nowrap}
.rms-config-bar strong{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;color:#1d2939}
.rms-config-help{position:relative;display:inline-flex;align-items:center;gap:.28rem;flex:0 0 auto;color:#475467;font-weight:650;cursor:help;outline:none}
.rms-config-help .icon{font-size:.82rem;color:#667085}
/* FIXED58/59: bezpieczny wewnętrzny odstęp panelu oraz dodatkowe odsunięcie tylko Widoku ceny. */
[class*="st-key-dashboard_view_config_"] [data-testid="stExpanderDetails"]{
    padding-left:1rem!important;padding-right:1rem!important;padding-bottom:1.05rem!important;
    overflow:visible!important
}
[class*="st-key-dashboard_view_config_"] [data-testid="stExpanderDetails"] > div:first-child{
    padding-top:.3rem
}
[class*="st-key-dashboard_price_view_"]{padding-left:1.15rem;box-sizing:border-box}
.rms-dashboard-month-nav{height:.12rem;margin:.02rem 0 .08rem}
.rms-month-rms-only-control{height:var(--rms-control-height);display:flex;align-items:center;justify-content:center;margin:0}
[class*="st-key-rms_only_filter_btn_"],[class*="st-key-rec_today_month_"]{height:var(--rms-control-height);display:flex;align-items:center;justify-content:center}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"],[class*="st-key-rec_today_month_"] [data-testid="stButton"]{width:100%;height:var(--rms-control-height);display:flex;align-items:center;justify-content:center}
[class*="st-key-rms_only_filter_btn_"] button,[class*="st-key-rec_today_month_"] button{height:var(--rms-control-height)!important;min-height:var(--rms-control-height)!important;width:100%!important;border-radius:var(--rms-control-radius)!important;padding:.45rem .72rem!important;font-size:.76rem!important;font-weight:760!important;white-space:nowrap!important;box-shadow:0 1px 2px rgba(16,24,40,.035)!important}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"] button[kind="primary"]{background:#2f6df0!important;border-color:#2f6df0!important;color:#fff!important}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"] button[kind="primary"] *{color:#fff!important;fill:#fff!important}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"] button[kind="primary"]:hover{background:#1f5fe8!important;border-color:#1f5fe8!important;color:#fff!important}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"] button[kind="primary"]:hover *{color:#fff!important;fill:#fff!important}
[class*="st-key-rms_only_filter_btn_"] [data-testid="stButton"] button[kind="secondary"],[class*="st-key-rec_today_month_"] button{background:#fff!important;border-color:#cfd7e3!important;color:#344054!important}
[class*="st-key-rms_only_filter_btn_"] button:hover,[class*="st-key-rec_today_month_"] button:hover{background:#f7faff!important;border-color:#a9c7fb!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(16,24,40,.12)!important}
[class*="st-key-rms_only_filter_btn_"] button:active,[class*="st-key-rec_today_month_"] button:active{transform:scale(.982)!important;box-shadow:0 1px 4px rgba(16,24,40,.10)!important}

/* FIXED145: oczyszczony CSS kontekstu Pulpitu + stabilny wariant B.
   Małe akcje stoją po lewej swoich połówek, duże przyciski wypełniają resztę. */
.rms-context-card-summary{display:flex;align-items:center;width:100%;min-height:var(--rms-control-height-compact);padding:6px 10px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;color:#344054;font-size:.75rem;font-weight:720;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
.rms-context-card-summary.good{color:#067647}.rms-context-card-summary strong{color:#101828;font-weight:850}.rms-context-card-summary .muted{color:#667085;font-weight:650}.rms-context-card-summary .more{color:#667085;font-weight:780;margin-left:6px}
.rms-context-empty{border:1px solid #e4e7ec;border-radius:9px;background:#fff;color:#344054;padding:8px 10px;font-size:.76rem;font-weight:700;line-height:1.25}.rms-context-empty.good{border-color:#d1fadf;background:#f3fdf7;color:#067647}
.rms-context-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;border:1px solid #cfd7e3;background:#fff;color:#667085;font-size:.68rem;font-weight:850;cursor:help;flex:0 0 17px}
.rms-events-list.compact{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;margin:.02rem 0 0;font-size:.76rem;color:#344054;line-height:1.35}
.rms-events-list.compact .event{display:inline-flex;margin:0;gap:4px;align-items:baseline;border:1px solid #e4e7ec;border-radius:999px;background:#fff;padding:5px 9px;font-weight:650;white-space:nowrap}
.rms-events-list.compact .date{font-weight:850;color:#101828}