/* RadaPro — demo. Paleta i typografia zgodne z makietami. */
/* Atrybut hidden wygrywa z klasami d-* Bootstrapa (np. pole „Osoba” w Nowym zadaniu ukryte, dopóki nie wybierzesz „Inna osoba”) */
[hidden] { display: none !important; }
:root {
  --rp-navy: #16215C;
  --rp-navy-2: #2C3878;
  --rp-blue: #2F4BD6;
  --rp-blue-dark: #2440C4;
  --rp-sky: #D9E0FF;
  --rp-yellow: #F4D56A;
  --rp-bg: #F0EEE9;
  --rp-paper: #FAF9F6;
  --rp-muted: #4A5078;
  --rp-faint: #8A8FAE;
  --rp-line: #DCDBE3;
  --rp-border: #C9CDE3;
  --rp-soft: #ECEBF2;
  --rp-soft-2: #F7F7FA;
  --rp-late: #A33A12;
  --rp-late-bg: #FBE9E1;
  --rp-warn: #8A5A00;
  --rp-warn-bg: #FFF4D6;
  --rp-urgent: #7D5E00;
  --rp-green: #1F6B45;
  --rp-green-bg: #DFF1E6;

  --bs-body-bg: var(--rp-bg);
  --bs-body-color: var(--rp-navy);
  --bs-emphasis-color: var(--rp-navy);
  --bs-secondary-color: var(--rp-muted);
  --bs-border-color: var(--rp-border);
  --bs-link-color: var(--rp-blue);
  --bs-link-color-rgb: 47, 75, 214;
  --bs-link-hover-color: var(--rp-navy);
  --bs-link-hover-color-rgb: 22, 33, 92;
  --bs-primary: var(--rp-blue);
  --bs-primary-rgb: 47, 75, 214;
  --bs-font-sans-serif: Figtree, "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-font-size: 15px;
  --bs-border-radius: 10px;
  --bs-border-radius-lg: 16px;
  --bs-focus-ring-color: rgba(47, 75, 214, .25);
}

body { background: var(--rp-bg); color: var(--rp-navy); }
h1, .h1 { font-size: 28px; font-weight: 700; letter-spacing: -0.4px; margin: 0; }
h2, .h2 { font-size: 18px; font-weight: 700; margin: 0; }
h3, .h3 { font-size: 16px; font-weight: 700; margin: 0; }
.text-muted, .text-secondary { color: var(--rp-muted) !important; }
.small, small { font-size: 13px; }
.fw-600 { font-weight: 600; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.lh-155 { line-height: 1.55; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* Przyciski */
.btn { font-weight: 600; border-radius: 10px; --bs-btn-padding-x: 18px; --bs-btn-padding-y: 10px; --bs-btn-font-size: 15px; }
.btn-sm { --bs-btn-padding-x: 12px; --bs-btn-padding-y: 6px; --bs-btn-font-size: 14px; border-radius: 8px; }
.btn-primary {
  --bs-btn-bg: var(--rp-blue); --bs-btn-border-color: var(--rp-blue);
  --bs-btn-hover-bg: var(--rp-blue-dark); --bs-btn-hover-border-color: var(--rp-blue-dark);
  --bs-btn-active-bg: var(--rp-navy); --bs-btn-active-border-color: var(--rp-navy);
  --bs-btn-disabled-bg: #9AA6E6; --bs-btn-disabled-border-color: #9AA6E6;
}
.btn-light {
  --bs-btn-bg: #fff; --bs-btn-border-color: var(--rp-border); --bs-btn-color: var(--rp-navy);
  --bs-btn-hover-bg: var(--rp-soft-2); --bs-btn-hover-border-color: var(--rp-muted); --bs-btn-hover-color: var(--rp-navy);
  --bs-btn-active-bg: var(--rp-soft); --bs-btn-active-border-color: var(--rp-muted);
  --bs-btn-disabled-bg: #fff; --bs-btn-disabled-color: var(--rp-faint); --bs-btn-disabled-border-color: var(--rp-line);
}
.btn-navy {
  --bs-btn-bg: var(--rp-navy); --bs-btn-border-color: var(--rp-navy); --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--rp-navy-2); --bs-btn-hover-border-color: var(--rp-navy-2); --bs-btn-hover-color: #fff;
}
.btn-danger { --bs-btn-bg: var(--rp-late); --bs-btn-border-color: var(--rp-late); --bs-btn-hover-bg: #862d0c; --bs-btn-hover-border-color: #862d0c; }
.btn-link { --bs-btn-color: var(--rp-blue); --bs-btn-hover-color: var(--rp-navy); text-decoration: none; font-weight: 600; }
.btn-icon { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }

/* Formularze */
.form-control, .form-select { background-color: #fff; border-radius: 10px; border-color: var(--rp-border); color: var(--rp-navy); font-size: 16px; padding: 11px 14px; }
.form-control:focus, .form-select:focus { border-color: var(--rp-blue); box-shadow: 0 0 0 3px var(--rp-sky); }
.form-control::placeholder { color: var(--rp-faint); }
.form-label { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.form-text { color: var(--rp-muted); font-size: 13px; }
.form-check-input:checked { background-color: var(--rp-navy); border-color: var(--rp-navy); }
.form-check-input:focus { box-shadow: 0 0 0 3px var(--rp-sky); border-color: var(--rp-blue); }
.form-switch .form-check-input:checked { background-color: var(--rp-blue); border-color: var(--rp-blue); }
.hint-sensitive { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--rp-muted); margin-top: 8px; }

/* Karty */
.rp-card { background: #fff; border-radius: 16px; padding: 24px; }
.rp-card-tight { background: #fff; border-radius: 16px; padding: 18px 20px; }
.rp-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.rp-card-title h2 { font-size: 17px; }
.rp-count { font-size: 13px; color: var(--rp-muted); font-weight: 600; }
.rp-divider { height: 1px; background: var(--rp-line); margin: 14px 0; }

/* Znaczniki */
.tag { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--rp-bg); color: var(--rp-muted); }
.tag-sky { background: var(--rp-sky); color: var(--rp-navy); }
.tag-urgent { background: transparent; padding: 0; color: var(--rp-urgent); font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.tag-urgent-box { background: var(--rp-warn-bg); color: var(--rp-urgent); font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.tag-warn { background: var(--rp-warn-bg); color: var(--rp-warn); font-weight: 700; }
.tag-late { background: var(--rp-late-bg); color: var(--rp-late); font-weight: 700; }
.tag-green { background: var(--rp-green-bg); color: var(--rp-green); font-weight: 700; }
.tag-outline { background: #fff; border: 1px dashed var(--rp-border); }
.pill { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pill-doing { background: var(--rp-sky); color: var(--rp-navy); }
.pill-todo { background: var(--rp-bg); color: var(--rp-muted); }
.pill-done { background: var(--rp-green-bg); color: var(--rp-green); }
.pill-free { background: #fff; color: var(--rp-muted); border: 1px dashed var(--rp-border); }
.due-late { color: var(--rp-late); font-weight: 700; }
.due-soon { color: var(--rp-warn); font-weight: 700; }
.due-normal { color: var(--rp-muted); }
.mention { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 6px; background: var(--rp-sky); color: var(--rp-navy); font-weight: 600; }
.dot-new { width: 8px; height: 8px; border-radius: 4px; background: var(--rp-blue); flex-shrink: 0; }
.dot-none { width: 8px; height: 8px; flex-shrink: 0; }
.badge-count { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; background: var(--rp-blue); color: #fff; }

/* Awatary */
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--rp-sky); color: var(--rp-navy); font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.avatar-sm { width: 28px; height: 28px; font-size: 11px; }
.avatar-lg { width: 40px; height: 40px; font-size: 14px; }
.avatar-navy { background: var(--rp-navy); color: var(--rp-bg); }
.avatar-yellow { background: var(--rp-yellow); color: var(--rp-navy); }
.avatar-ghost { background: var(--rp-bg); color: var(--rp-muted); }

/* ===== Układ aplikacji ===== */
.rp-shell { min-height: 100vh; display: flex; }
.rp-sidebar { background: var(--rp-navy) !important; color: #D9E0FF; }
@media (min-width: 992px) {
  .rp-sidebar { width: 248px; flex-shrink: 0; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
}
@media (max-width: 991.98px) {
  .rp-sidebar { --bs-offcanvas-width: 280px; }
}
.rp-sidebar-inner { padding: 28px 18px; display: flex; flex-direction: column; gap: 26px; min-height: 100%; }
.rp-logo { display: flex; align-items: center; gap: 10px; padding: 0 8px; color: var(--rp-bg); text-decoration: none !important; }
.rp-wordmark { font-family: Onest, Figtree, sans-serif; font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: var(--rp-bg); }
.rp-wordmark span { color: var(--rp-yellow); }
.rp-nav { display: flex; flex-direction: column; gap: 3px; }
.rp-nav a { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 42px; padding: 0 12px; border-radius: 8px; font-size: 15px; font-weight: 500; color: #D9E0FF; text-decoration: none; }
.rp-nav a .bi { font-size: 17px; opacity: .85; }
.rp-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.rp-nav a.active { background: var(--rp-navy-2); color: #fff; font-weight: 700; }
.rp-nav .nav-badge { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--rp-navy-2); color: var(--rp-bg); font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.rp-nav a.active .nav-badge { background: var(--rp-blue); }
.rp-nav-section { padding-top: 16px; border-top: 1px solid var(--rp-navy-2); }
.rp-nav-section-label { padding: 0 12px 6px; font-size: 12px; color: #D9E0FF; opacity: .8; }
.rp-demo-box { margin-top: auto; padding: 14px; border-radius: 12px; background: var(--rp-navy-2); font-size: 13px; line-height: 1.45; color: #D9E0FF; }
.rp-demo-box strong { color: var(--rp-yellow); }
.rp-demo-box button { color: #fff; font-size: 13px; padding: 0; text-decoration: underline; background: none; border: 0; }

.rp-main { flex-grow: 1; min-width: 0; padding: 28px 36px 60px; display: flex; flex-direction: column; gap: 22px; }
@media (max-width: 767.98px) { .rp-main { padding: 16px 16px 48px; } }
.rp-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--rp-line); }
.rp-topbar-council { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rp-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--rp-muted); }
.rp-council-name { font-size: 18px; font-weight: 700; }
@media (max-width: 767.98px) { .rp-council-name { font-size: 15px; } }
.rp-round-btn { position: relative; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--rp-border); border-radius: 24px; color: var(--rp-navy); font-size: 20px; }
.rp-round-btn:hover { border-color: var(--rp-muted); }
.rp-round-btn .badge-count { position: absolute; top: -3px; right: -3px; min-width: 20px; height: 20px; font-size: 11px; padding: 0 5px; }
.rp-profile-btn { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 14px 0 6px; background: #fff; border: 1px solid var(--rp-border); border-radius: 26px; color: var(--rp-navy); }
.rp-profile-btn:hover { border-color: var(--rp-muted); }
.rp-profile-btn .who { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }
.rp-profile-btn .who b { font-size: 14px; font-weight: 600; }
.rp-profile-btn .who span { font-size: 12px; color: var(--rp-muted); }
.dropdown-menu { --bs-dropdown-bg: #fff; --bs-dropdown-border-color: var(--rp-line); --bs-dropdown-border-radius: 12px; --bs-dropdown-link-color: var(--rp-navy); --bs-dropdown-link-active-bg: var(--rp-sky); --bs-dropdown-link-active-color: var(--rp-navy); --bs-dropdown-link-hover-bg: var(--rp-soft-2); box-shadow: 0 12px 30px rgba(22,33,92,.14); font-size: 15px; padding: 6px; }
.dropdown-item { border-radius: 8px; padding: 8px 12px; }
.dropdown-header { color: var(--rp-muted); font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; }
.rp-notif-menu { width: 380px; max-width: calc(100vw - 32px); max-height: 480px; overflow-y: auto; }
.rp-notif { display: flex; gap: 10px; padding: 10px 12px; border-radius: 8px; color: var(--rp-navy); text-decoration: none !important; font-size: 14px; line-height: 1.4; }
.rp-notif:hover { background: var(--rp-soft-2); }
.rp-notif.unread { background: #F2F4FF; }
.rp-notif .when { font-size: 12px; color: var(--rp-muted); }

.rp-breadcrumb { display: flex; gap: 8px; font-size: 14px; color: var(--rp-muted); flex-wrap: wrap; }
.rp-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rp-page-head .sub { color: var(--rp-muted); margin-top: 4px; }

/* Zakładki i filtry */
.rp-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--rp-line); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.rp-tabs a, .rp-tabs button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; font-size: 15px; font-weight: 600; color: var(--rp-muted); border: 0; background: none; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; text-decoration: none !important; }
.rp-tabs a.active, .rp-tabs button.active { color: var(--rp-navy); border-bottom-color: var(--rp-blue); }
.rp-tabs .cnt { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--rp-soft); font-size: 12px; display: inline-flex; align-items: center; justify-content: center; color: var(--rp-navy); }
.rp-tabs .active .cnt { background: var(--rp-sky); }
.rp-chips { display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
.rp-chip { height: 36px; padding: 0 14px; border-radius: 18px; border: 1px solid var(--rp-border); background: #fff; color: var(--rp-navy); font-size: 14px; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.rp-chip.active { background: var(--rp-navy); color: #fff; border-color: var(--rp-navy); }
.rp-chip:hover:not(.active) { border-color: var(--rp-muted); }
.rp-search { position: relative; }
.rp-search .bi { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--rp-muted); }
.rp-search input { padding-left: 40px; height: 44px; }

/* Listy */
.rp-list-row { display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px; background: #fff; border-bottom: 1px solid var(--rp-soft); color: var(--rp-navy); text-decoration: none !important; }
.rp-list-row:hover { background: #FBFBFE; }
.rp-list { border-radius: 16px; overflow: hidden; background: #fff; }
.rp-list .rp-list-row:last-child { border-bottom: 0; }
.rp-list-group-label { font-size: 13px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--rp-muted); margin: 6px 4px 8px; }
.rp-row-title { font-size: 16px; font-weight: 600; line-height: 1.35; }
.rp-row-title.is-new { font-weight: 800; }
.rp-row-meta { font-size: 14px; color: var(--rp-muted); }
.rp-row-stats { display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--rp-muted); flex-shrink: 0; white-space: nowrap; }
.rp-row-stats .bi { margin-right: 3px; }
.rp-new-note { font-size: 13px; font-weight: 700; color: var(--rp-blue); }

.rp-mini-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--rp-soft); color: var(--rp-navy); text-decoration: none !important; }
.rp-mini-row:last-child { border-bottom: 0; }
.rp-mini-row .t { font-size: 15px; font-weight: 500; line-height: 1.35; }
.rp-mini-row .t.bold { font-weight: 800; }
.rp-mini-row .m { font-size: 13px; color: var(--rp-muted); }
a.rp-mini-row:hover .t { color: var(--rp-blue); }

/* Pulpit */
.rp-greeting .date { font-size: 14px; font-weight: 600; color: var(--rp-muted); }
.rp-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.col-4g { grid-column: span 4; } .col-6g { grid-column: span 6; } .col-8g { grid-column: span 8; } .col-12g { grid-column: span 12; }
@media (max-width: 1199.98px) { .col-4g { grid-column: span 6; } .col-8g { grid-column: span 12; } }
@media (max-width: 767.98px) { .col-4g, .col-6g, .col-8g { grid-column: span 12; } }
.rp-datebox { width: 54px; flex-shrink: 0; align-self: flex-start; border-radius: 12px; background: var(--rp-navy); color: var(--rp-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 0; line-height: 1.05; }
.rp-datebox b { font-size: 22px; font-weight: 800; }
.rp-datebox span { font-size: 12px; font-weight: 600; text-transform: lowercase; color: var(--rp-yellow); }
.rp-datebox.big { width: 72px; padding: 12px 0; }
.rp-datebox.big b { font-size: 28px; }
.rp-datebox.light { background: var(--rp-soft); color: var(--rp-navy); }
.rp-datebox.light span { color: var(--rp-muted); }
.rp-datebox.cancel { background: var(--rp-bg); color: var(--rp-faint); }
.rp-datebox.cancel span { color: var(--rp-faint); }
.rp-decision { display: flex; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--rp-soft); }
.rp-decision:last-child { border-bottom: 0; }
.rp-decision .ic { width: 40px; height: 40px; border-radius: 10px; background: var(--rp-sky); display: flex; align-items: center; justify-content: center; font-size: 19px; flex-shrink: 0; }
.rp-trial { background: var(--rp-navy); color: var(--rp-bg); border-radius: 16px; padding: 24px; }
.rp-trial .big { font-size: 22px; font-weight: 800; }
.rp-trial p { color: var(--rp-sky); }
.rp-progress { height: 10px; border-radius: 5px; background: var(--rp-soft); overflow: hidden; }
.rp-progress > div { height: 100%; background: var(--rp-yellow); border-radius: 5px; }
.rp-progress.blue > div { background: var(--rp-blue); }
.rp-step { display: flex; gap: 10px; align-items: center; padding: 8px 0; font-size: 15px; }
.rp-step .bi { font-size: 20px; }
.rp-step.done { color: var(--rp-muted); text-decoration: line-through; }
.rp-step.done .bi { color: var(--rp-green); }
.rp-saldo { font-size: 32px; font-weight: 800; letter-spacing: -0.5px; }

/* Sprawa */
.rp-body p { margin: 0 0 12px; line-height: 1.6; font-size: 16px; }
.rp-body p:last-child { margin-bottom: 0; }
.rp-summary { background: var(--rp-green-bg); border-radius: 12px; padding: 16px 18px; }
.rp-summary .lbl { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--rp-green); }
/* Podsumowanie zakończonej Sprawy i jej status — neutralne, jak w makietach Sprawa-ponowne-otwarcie */
.rp-summary.neutral { background: var(--rp-bg); }
.rp-summary.neutral .lbl { color: var(--rp-muted); }
.tag-closed { font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.rp-react { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 21px; border: 1px solid var(--rp-border); background: #fff; font-weight: 600; font-size: 15px; color: var(--rp-navy); }
.rp-react.on { background: var(--rp-sky); border-color: var(--rp-blue); }
.rp-react:disabled { opacity: 1; color: var(--rp-muted); background: var(--rp-soft-2); }
.rp-comment { display: flex; gap: 12px; padding: 14px 0; border-top: 1px solid var(--rp-soft); }
.rp-comment .who { font-size: 14px; color: var(--rp-muted); }
.rp-comment .who b { color: var(--rp-navy); font-weight: 700; }
.rp-comment .txt { font-size: 15px; line-height: 1.55; margin-top: 3px; }
.rp-comment .txt p { font-size: 15px; margin-bottom: 6px; }
.rp-side dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 14px; font-size: 14px; }
.rp-side dt { color: var(--rp-muted); font-weight: 500; }
.rp-side dd { margin: 0; font-weight: 600; text-align: right; }
.rp-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.rp-thumb { display: block; border: 0; padding: 0; background: none; text-align: left; color: var(--rp-navy); align-self: start; }
.rp-thumb img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; display: block; border: 1px solid var(--rp-line); }
.rp-thumb:hover img { outline: 3px solid var(--rp-sky); }
.rp-thumb .cap { font-size: 13px; color: var(--rp-muted); margin-top: 6px; line-height: 1.35; }
.rp-file { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--rp-line); border-radius: 10px; background: #fff; color: var(--rp-navy); text-decoration: none !important; }
.rp-file .ic { width: 36px; height: 36px; border-radius: 8px; background: var(--rp-sky); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.rp-file .n { font-weight: 600; font-size: 14px; }
.rp-file .s { font-size: 12px; color: var(--rp-muted); }
.rp-mention-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; font-size: 13px; color: var(--rp-muted); }
.rp-mention-bar button { border: 1px solid var(--rp-border); background: #fff; border-radius: 6px; font-size: 12px; font-weight: 600; padding: 2px 8px; color: var(--rp-navy); }
.rp-mention-bar button:hover { background: var(--rp-sky); }
.rp-upload { border: 1.5px dashed var(--rp-border); border-radius: 10px; background: var(--rp-soft-2); min-height: 56px; display: flex; align-items: center; justify-content: center; color: var(--rp-blue); font-weight: 600; font-size: 14px; cursor: pointer; }
.rp-upload:hover { border-color: var(--rp-blue); }
.rp-upload-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.rp-upload-item { position: relative; width: 110px; }
.rp-upload-item img { width: 110px; height: 82px; object-fit: cover; border-radius: 8px; border: 1px solid var(--rp-line); }
.rp-upload-item .doc { width: 110px; height: 82px; border-radius: 8px; border: 1px solid var(--rp-line); background: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--rp-blue); }
.rp-upload-item .nm { font-size: 11px; color: var(--rp-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 3px; }
.rp-upload-item .rm { position: absolute; top: -8px; right: -8px; width: 24px; height: 24px; border-radius: 12px; border: 0; background: var(--rp-navy); color: #fff; font-size: 12px; display: flex; align-items: center; justify-content: center; }

/* Tabele */
.rp-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 16px; overflow: hidden; }
.rp-table th { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--rp-muted); padding: 12px 16px; border-bottom: 1px solid var(--rp-line); background: #fff; white-space: nowrap; }
.rp-table td { padding: 13px 16px; border-bottom: 1px solid var(--rp-soft); vertical-align: middle; font-size: 15px; }
.rp-table tr:last-child td { border-bottom: 0; }
.rp-table .grp td { background: var(--rp-soft-2); font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--rp-muted); padding: 9px 16px; }
.rp-table tbody tr:not(.grp):hover td { background: #FBFBFE; }
.rp-table-wrap { overflow-x: auto; border-radius: 16px; }
.amount-plus { color: var(--rp-green); font-weight: 700; }
.amount-minus { color: var(--rp-late); font-weight: 700; }

/* Skrzynki */
.rp-inbox { display: grid; grid-template-columns: 260px 360px 1fr; background: #fff; border-radius: 16px; overflow: hidden; min-height: 620px; }
@media (max-width: 1399.98px) { .rp-inbox { grid-template-columns: 230px 300px 1fr; } }
@media (max-width: 1099.98px) { .rp-inbox { grid-template-columns: 1fr; } .rp-inbox > div { border-right: 0 !important; border-bottom: 1px solid var(--rp-line); } }
.rp-inbox-boxes { background: var(--rp-soft-2); border-right: 1px solid var(--rp-line); padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.rp-box-link { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 10px; color: var(--rp-navy); text-decoration: none !important; }
.rp-box-link:hover { background: #fff; }
.rp-box-link.active { background: #fff; box-shadow: inset 3px 0 0 var(--rp-blue); }
.rp-box-link .n { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 15px; }
.rp-box-link .d { font-size: 12px; color: var(--rp-muted); word-break: break-all; }
.rp-inbox-list { border-right: 1px solid var(--rp-line); overflow-y: auto; max-height: 760px; }
.rp-msg-row { display: flex; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--rp-soft); color: var(--rp-navy); text-decoration: none !important; }
.rp-msg-row:hover { background: #FBFBFE; }
.rp-msg-row.active { background: #F2F4FF; }
.rp-msg-row .from { font-size: 13px; color: var(--rp-muted); display: flex; justify-content: space-between; gap: 8px; }
.rp-msg-row .subj { font-size: 15px; font-weight: 600; margin-top: 2px; }
.rp-msg-row.unread .subj { font-weight: 800; }
.rp-msg-row .prev { font-size: 13px; color: var(--rp-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; }
.rp-inbox-read { padding: 24px 28px; min-width: 0; }
.rp-reply-box { background: var(--rp-soft-2); border-radius: 12px; padding: 16px; }
.rp-thread-msg { border: 1px solid var(--rp-line); border-radius: 12px; padding: 14px 16px; }
.rp-thread-msg.out { background: #F5F7FF; border-color: var(--rp-sky); }

/* Kalendarz */
.rp-cal { background: #fff; border-radius: 16px; overflow: hidden; }
.rp-cal-head { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--rp-line); }
.rp-cal-head div { padding: 10px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rp-muted); }
.rp-cal-week { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--rp-soft); min-height: 112px; }
.rp-cal-week:last-child { border-bottom: 0; }
.rp-cal-day { border-right: 1px solid var(--rp-soft); padding: 6px 6px 8px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rp-cal-day:last-child { border-right: 0; }
.rp-cal-day.other { background: var(--rp-soft-2); }
.rp-cal-day.other .num { color: var(--rp-faint); }
.rp-cal-day .num { font-size: 13px; font-weight: 700; width: 26px; height: 26px; border-radius: 13px; display: flex; align-items: center; justify-content: center; }
.rp-cal-day.today .num { background: var(--rp-blue); color: #fff; }
.rp-cal-item { display: block; width: 100%; text-align: left; border: 0; border-radius: 5px; font-size: 11.5px; font-weight: 700; padding: 3px 6px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-cal-item.meeting { background: var(--rp-sky); color: var(--rp-navy); }
.rp-cal-item.event { background: var(--rp-yellow); color: var(--rp-navy); }
.rp-cal-item.cancel { background: var(--rp-bg); color: var(--rp-faint); text-decoration: line-through; }
.rp-cal-bar { position: absolute; height: 22px; border-radius: 5px; background: var(--rp-navy); color: var(--rp-bg); font-size: 11.5px; font-weight: 700; display: flex; align-items: center; padding: 0 8px; overflow: hidden; white-space: nowrap; border: 0; }
.rp-legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--rp-muted); }
.rp-legend span::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--rp-line); margin-right: 6px; vertical-align: -1px; background: var(--c); }

/* Strona publiczna */
.rp-public-top { background: var(--rp-navy); color: var(--rp-bg); }
.rp-public-top .inner { max-width: 1200px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rp-public-hero { background: var(--rp-navy); color: var(--rp-bg); padding: 10px 0 0; }
.rp-public-hero .inner { max-width: 1200px; margin: 0 auto; padding: 14px 24px 0; }
.rp-public-hero h1 { font-size: 30px; font-weight: 800; color: var(--rp-bg); line-height: 1.2; }
.rp-public-tabs { display: flex; gap: 4px; margin-top: 20px; overflow-x: auto; }
.rp-public-tabs a { padding: 12px 18px; color: var(--rp-sky); font-weight: 600; border-radius: 10px 10px 0 0; text-decoration: none !important; white-space: nowrap; }
.rp-public-tabs a.active { background: var(--rp-bg); color: var(--rp-navy); }
.rp-public-body { max-width: 1200px; margin: 0 auto; padding: 28px 24px 60px; }
.rp-post { background: #fff; border-radius: 16px; padding: 26px 28px; }
.rp-post h2 { font-size: 22px; font-weight: 800; line-height: 1.3; }
.rp-post img.hero { width: 100%; max-height: 360px; object-fit: cover; border-radius: 12px; margin: 6px 0 14px; }
.rp-sign { font-size: 13px; color: var(--rp-muted); font-style: italic; }
.rp-public-foot { border-top: 1px solid var(--rp-line); margin-top: 36px; padding-top: 18px; font-size: 13px; color: var(--rp-muted); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.rp-board-person { display: flex; align-items: center; gap: 12px; padding: 8px 0; }

/* Logowanie */
.rp-login { min-height: 100vh; display: flex; }
.rp-login-brand { width: 560px; flex-shrink: 0; position: sticky; top: 0; height: 100vh; background: var(--rp-navy); padding: 56px 64px; display: flex; flex-direction: column; justify-content: space-between; }
.rp-login-brand h1 { font-size: 46px; line-height: 1.1; font-weight: 800; letter-spacing: -1px; color: var(--rp-bg); }
.rp-login-brand p { font-size: 18px; line-height: 1.55; color: var(--rp-sky); max-width: 400px; margin: 0; }
.rp-login-brand .tagline { font-size: 13px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--rp-yellow); }
.rp-login-form { flex-grow: 1; display: flex; align-items: center; justify-content: center; background: var(--rp-paper); padding: 40px 24px; }
.rp-login-form .inner { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 26px; }
.rp-login-form input:not([type=checkbox]):not([type=radio]) { height: 48px; }
.rp-option-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--rp-border); border-radius: 12px; text-decoration: none !important; color: var(--rp-navy); width: 100%; text-align: left; }
.rp-option-card:hover { border-color: var(--rp-blue); }
.rp-option-card .ic { width: 40px; height: 40px; flex-shrink: 0; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.rp-option-card .t { font-size: 16px; font-weight: 600; }
.rp-option-card .d { font-size: 14px; color: var(--rp-muted); }
.rp-demo-accounts { border: 1.5px dashed var(--rp-blue); border-radius: 14px; padding: 16px; background: #F5F7FF; }
.rp-demo-accounts .acc { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 10px; border: 0; background: none; border-radius: 10px; text-align: left; color: var(--rp-navy); }
.rp-demo-accounts .acc:hover { background: #fff; }
@media (max-width: 991.98px) {
  .rp-login { flex-direction: column; }
  .rp-login-brand { width: auto; padding: 32px 24px; gap: 20px; position: static; height: auto; }
  .rp-login-brand h1 { font-size: 28px; }
}

/* Modale */
.modal-content { --bs-modal-bg: #fff; background: #fff; border: 0; border-radius: 16px; box-shadow: 0 20px 50px rgba(22,33,92,.3); }
.modal-header { border-bottom: 0; padding: 24px 28px 6px; }
.modal-title { font-size: 21px; font-weight: 700; }
.modal-body { padding: 10px 28px 10px; font-size: 15px; }
.modal-footer { border-top: 0; padding: 12px 28px 24px; gap: 8px; }
.modal-footer > * { margin: 0; }
.modal-backdrop { --bs-backdrop-bg: #16215C; --bs-backdrop-opacity: .45; }
.rp-lightbox .modal-content { --bs-modal-bg: #0E1438; background: #0E1438; color: #fff; border-radius: 0; }
.rp-lightbox .stage { flex-grow: 1; display: flex; align-items: center; justify-content: center; position: relative; min-height: 0; padding: 0 80px; }
.rp-lightbox .stage img { max-width: 100%; max-height: 70vh; border-radius: 8px; }
.rp-lightbox .nav-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 26px; border: 0; background: rgba(255,255,255,.12); color: #fff; font-size: 22px; }
.rp-lightbox .nav-btn:hover { background: rgba(255,255,255,.22); }
.rp-lightbox .strip { display: flex; gap: 10px; justify-content: center; padding: 16px; }
.rp-lightbox .strip img { width: 90px; height: 64px; object-fit: cover; border-radius: 6px; opacity: .55; cursor: pointer; border: 2px solid transparent; }
.rp-lightbox .strip img.active { opacity: 1; border-color: var(--rp-yellow); }

/* Toasty */
.toast { border: 0; border-radius: 12px; background: var(--rp-navy); color: #fff; box-shadow: 0 12px 30px rgba(22,33,92,.3); }
.toast .btn-close { filter: invert(1); }

/* Ustawienia */
.rp-anchor-nav { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 2px; }
.rp-anchor-nav a { padding: 8px 12px; border-radius: 8px; color: var(--rp-muted); font-weight: 600; font-size: 14px; text-decoration: none !important; }
.rp-anchor-nav a:hover { background: #fff; color: var(--rp-navy); }
.rp-settings section { scroll-margin-top: 20px; }

.rp-empty { text-align: center; padding: 40px 20px; color: var(--rp-muted); }
.rp-empty .bi { font-size: 36px; color: var(--rp-border); display: block; margin-bottom: 8px; }
.rp-info { display: flex; gap: 10px; align-items: flex-start; background: #F5F7FF; border-radius: 12px; padding: 14px 16px; font-size: 14px; color: var(--rp-muted); line-height: 1.5; }
.rp-info .bi { color: var(--rp-blue); font-size: 18px; flex-shrink: 0; margin-top: -1px; }
.rp-banner-ok { display: flex; gap: 12px; align-items: center; background: var(--rp-green-bg); color: var(--rp-green); border-radius: 12px; padding: 12px 16px; font-weight: 600; }
.rp-qr { width: 160px; height: 160px; background: #fff; border: 1px solid var(--rp-line); border-radius: 12px; padding: 10px; }
.rp-agenda-item { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rp-soft); }
.rp-agenda-item:last-child { border-bottom: 0; }
.rp-agenda-item .no { width: 28px; height: 28px; border-radius: 14px; background: var(--rp-soft); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rp-check { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; }
.rp-check .mk { width: 26px; height: 26px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; font-size: 14px; }
.rp-check .mk.ok { background: var(--rp-green-bg); color: var(--rp-green); }
.rp-check .mk.no { background: var(--rp-warn-bg); color: var(--rp-warn); }
.strike { text-decoration: line-through; color: var(--rp-faint); }
.cursor-pointer { cursor: pointer; }
.min-w-0 { min-width: 0; }

.input-group-text { background: var(--rp-soft-2); border-color: var(--rp-border); color: var(--rp-muted); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--rp-navy); --bs-nav-link-color: var(--rp-navy); --bs-nav-link-hover-color: var(--rp-blue); }
.nav-pills .nav-link { font-weight: 600; border: 1px solid var(--rp-border); }

/* ===== Protokół zebrania inauguracyjnego ===== */
.pk-header { height: 72px; padding: 0 28px; background: #fff; border-bottom: 1px solid var(--rp-line); display: flex; align-items: center; justify-content: space-between; gap: 20px; position: sticky; top: 0; z-index: 10; }
.pk-vsep { width: 1px; height: 28px; background: var(--rp-line); }
.pk-body { padding: 24px 28px 60px; display: flex; gap: 24px; align-items: flex-start; justify-content: center; }
.pk-aside { width: 340px; flex-shrink: 0; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 96px; }
.pk-main { width: 820px; max-width: 100%; min-width: 0; }
@media (max-width: 991.98px) { .pk-body { flex-direction: column; padding: 16px; } .pk-aside { width: 100%; position: static; } .pk-main { width: 100%; } form.pk-body > div { width: 100% !important; } }
.pk-nav { display: flex; flex-direction: column; gap: 2px; margin: 0 -8px; }
.pk-nav-item { display: flex; align-items: center; gap: 4px; border-radius: 10px; }
.pk-nav-item.on { background: var(--rp-sky); }
.pk-nav-item > a { flex-grow: 1; min-width: 0; display: flex; gap: 12px; align-items: center; min-height: 48px; padding: 6px 4px 6px 10px; color: var(--rp-navy); text-decoration: none !important; }
.pk-nav-item:not(.on):hover { background: var(--rp-soft-2); }
.pk-nav-t { font-size: 15px; font-weight: 500; line-height: 1.3; }
.pk-nav-item.on .pk-nav-t { font-weight: 700; }
.pk-nav-s { font-size: 12px; color: var(--rp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.pk-num { width: 28px; height: 28px; flex-shrink: 0; border-radius: 14px; background: var(--rp-soft); color: var(--rp-muted); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pk-num.done { background: var(--rp-green-bg); color: var(--rp-green); }
.pk-num.cur { background: var(--rp-blue); color: #fff; }
.pk-dots { width: 40px; height: 40px; flex-shrink: 0; border: 0; background: transparent; border-radius: 20px; color: var(--rp-muted); }
.pk-dots:hover { background: rgba(22,33,92,.08); }
.pk-res { display: block; padding: 10px 0; border-top: 1px solid var(--rp-soft); color: var(--rp-navy); text-decoration: none !important; margin-top: 6px; }
.pk-res:hover .fw-bold { color: var(--rp-blue); }
.fs-12 { font-size: 12px; }
.pk-votebox { border: 1px solid var(--rp-line); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.pk-votes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 420px; }
.pk-vl { display: block; font-size: 13px; font-weight: 600; color: var(--rp-muted); margin-bottom: 6px; }
.pk-vin { text-align: center; font-size: 20px; font-weight: 700; height: 48px; }
.pk-segwrap { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; background: var(--rp-soft); border-radius: 12px; }
.pk-seg { height: 44px; border: 0; border-radius: 9px; background: transparent; font-weight: 600; color: var(--rp-muted); }
.pk-seg.on { background: #fff; color: var(--rp-navy); font-weight: 700; box-shadow: 0 1px 3px rgba(22,33,92,.12); }
.pk-bigbtn { min-height: 76px; padding: 14px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; text-align: left; background: #fff; color: var(--rp-navy); border: 1px solid var(--rp-border); border-radius: 14px; width: 100%; }
.pk-bigbtn .t { font-size: 17px; font-weight: 700; }
.pk-bigbtn .d { font-size: 14px; color: var(--rp-muted); }
.pk-bigbtn.primary { background: var(--rp-blue); border-color: var(--rp-blue); color: #fff; }
.pk-bigbtn.primary .d { color: var(--rp-sky); }
.pk-bigbtn:hover { filter: brightness(.97); }
.pk-check { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--rp-soft); }
.pk-check .mk { width: 28px; height: 28px; flex-shrink: 0; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.pk-check .mk.ok { background: var(--rp-green-bg); color: var(--rp-green); }
.pk-check .mk.no { background: var(--rp-warn-bg); color: var(--rp-warn); }
.pk-paper { background: #fff; border: 1px solid var(--rp-line); border-radius: 6px; padding: 40px 48px; box-shadow: 0 2px 10px rgba(22,33,92,.06); font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 1.6; color: #1C1C28; }
.pk-paper h3 { margin: 0 0 4px; font-size: 20px; text-align: center; font-weight: 700; }
.pk-paper .sub { margin: 0 0 20px; text-align: center; color: #4A4A58; }
.pk-paper p { margin: 0 0 10px; }
.pk-radio { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--rp-border); border-radius: 12px; cursor: pointer; }
.pk-radio:has(input:checked) { border-color: var(--rp-blue); background: #F5F7FF; }
.pk-radio input { margin-top: 3px; flex-shrink: 0; }

/* ===== Archiwum kadencji ===== */
.rp-arch { background: #fff; border-radius: 16px; overflow: hidden; }
.rp-arch-head { margin: 0; padding: 14px 20px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--rp-muted); background: #FAFAFC; border-bottom: 1px solid var(--rp-soft); }
.rp-arch-lock { display: inline-flex; align-items: center; gap: 4px; letter-spacing: 0; text-transform: none; font-weight: 600; }
.rp-arch-note { margin: 0; padding: 14px 20px; font-size: 14px; line-height: 1.5; color: var(--rp-muted); }
.rp-arch-note.border-top { border-top: 1px solid var(--rp-soft) !important; }
.rp-arch .rp-table { border-radius: 0; }
.rp-arch .rp-list-row { border-bottom: 1px solid var(--rp-soft); }
.rp-cal-day.archived { background: #F7F6F2; }
.rp-cal-item.archived, .rp-cal-bar.archived { background: #E4E2DC !important; color: var(--rp-muted) !important; }
.rp-arch-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; background: var(--rp-warn-bg); color: var(--rp-warn); font-weight: 600; }
.form-control:focus, .form-select:focus { background-color: #fff; }
.rp-datefield { position: relative; }
.rp-date-native { position: absolute; right: 0; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; border: 0; padding: 0; }
.rp-datefield .btn { border-color: var(--rp-border); }
.rp-inv-row { display: grid; grid-template-columns: 1.1fr 1.2fr 300px 44px; gap: 10px; align-items: center; margin-bottom: 10px; }
.rp-inv-labels { margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--rp-muted); }
.rp-inv-hint { grid-column: 1 / -1; margin-top: -6px; }
@media (max-width: 991.98px) { .rp-inv-row { grid-template-columns: 1fr 44px; } .rp-inv-row .rp-seg { grid-column: 1 / -1; } .rp-inv-labels { display: none; } }
.rp-seg { display: inline-flex; gap: 4px; padding: 4px; background: var(--rp-soft); border-radius: 10px; }
.rp-seg-btn { height: 38px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; font-size: 14px; font-weight: 600; color: var(--rp-muted); white-space: nowrap; }
.rp-seg-btn.on { background: #fff; color: var(--rp-navy); font-weight: 700; box-shadow: 0 1px 3px rgba(22,33,92,.12); }
.rp-seg-btn:disabled { color: var(--rp-faint); text-decoration: line-through; cursor: not-allowed; }
.rp-seg-btn:not(:disabled):not(.on):hover { background: rgba(255,255,255,.6); }

/* ---------- Start nowej Rady: puste stany (makiety „Pierwsze logowanie”) ---------- */
.rp-empty-box { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 12px; background: #FAFAFC; border: 1px dashed var(--rp-line); font-size: 14px; line-height: 1.5; color: var(--rp-muted); }
.rp-empty-box a { align-self: flex-start; }
.rp-empty-state { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 48px 32px; }
.rp-empty-state .ic { width: 64px; height: 64px; border-radius: 32px; background: var(--rp-sky); display: flex; align-items: center; justify-content: center; font-size: 28px; color: var(--rp-navy); }
.rp-empty-state h2 { font-size: 21px; }
.rp-empty-state p { max-width: 560px; margin: 0; color: var(--rp-muted); line-height: 1.55; }
.rp-empty-state .note { font-size: 14px; max-width: 600px; padding-top: 14px; margin-top: 6px; border-top: 1px solid var(--rp-soft); }
.rp-first-term { display: flex; gap: 14px; align-items: flex-start; padding: 20px; color: var(--rp-muted); line-height: 1.55; font-size: 15px; }
.rp-first-term > .bi { font-size: 26px; color: var(--rp-border); }
.rp-first-term .fw-bold { color: var(--rp-navy); margin-bottom: 2px; }
.rp-trial-strip { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 20px; border-radius: 14px; background: var(--rp-sky); font-size: 15px; line-height: 1.45; }
.rp-trial-strip.paid { background: var(--rp-green-bg); color: var(--rp-green); }
.rp-fs { list-style: none; margin: 0; padding: 0; }
.rp-fs li { display: flex; align-items: center; gap: 16px; padding: 14px 0; }
.rp-fs li + li { border-top: 1px solid var(--rp-soft); }
.rp-fs .no { width: 28px; height: 28px; flex-shrink: 0; border-radius: 14px; border: 2px solid var(--rp-border); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--rp-muted); }
.rp-fs .t { display: block; font-size: 16px; font-weight: 700; }
.rp-fs .d { display: block; font-size: 14px; line-height: 1.45; color: var(--rp-muted); }
.rp-fs li.done .no { border-color: var(--rp-green); background: var(--rp-green-bg); color: var(--rp-green); }
.rp-fs li.done .t { color: var(--rp-muted); text-decoration: line-through; font-weight: 600; }
@media (max-width: 575.98px) { .rp-fs li { flex-wrap: wrap; } .rp-fs li .btn { margin-left: 44px; } }
.rp-welcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 767.98px) { .rp-welcome-grid { grid-template-columns: 1fr; } }
.rp-welcome-item { display: flex; gap: 12px; align-items: flex-start; }
.rp-welcome-item .ic { width: 40px; height: 40px; flex-shrink: 0; border-radius: 20px; background: var(--rp-sky); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.rp-welcome-item b { display: block; font-size: 15px; }
.rp-welcome-item b + span { display: block; font-size: 14px; line-height: 1.45; color: var(--rp-muted); }
.rp-inbox-empty { grid-column: span 2; padding: 40px 44px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (max-width: 1099.98px) { .rp-inbox-empty { grid-column: auto; padding: 24px; } }
.rp-inbox-empty h2 { font-size: 21px; }
.rp-src { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--rp-soft); }
.rp-src .ic { width: 36px; height: 36px; flex-shrink: 0; border-radius: 18px; background: var(--rp-sky); display: flex; align-items: center; justify-content: center; }
.rp-src b { display: block; }
.rp-src span span { display: block; font-size: 14px; color: var(--rp-muted); line-height: 1.45; }
.rp-todo { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rp-soft); }
.rp-todo:last-child { border-bottom: 0; }
.rp-todo .mk { width: 26px; height: 26px; flex-shrink: 0; border-radius: 13px; background: var(--rp-warn-bg); color: var(--rp-warn); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.rp-kv { display: grid; grid-template-columns: 140px 1fr; gap: 8px 16px; margin: 0; font-size: 15px; }
.rp-kv dt { font-weight: 600; color: var(--rp-muted); font-size: 14px; }
.rp-kv dd { margin: 0; }
@media (max-width: 575.98px) { .rp-kv { grid-template-columns: 1fr; gap: 2px; } .rp-kv dd { margin-bottom: 8px; } }

/* Zbiórka i wpłaty — okno */
.rp-form-section { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--rp-muted); margin-bottom: 8px; }
.rp-warn-box { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--rp-warn-bg); color: var(--rp-warn); font-size: 14px; line-height: 1.5; }
.rp-warn-box[hidden] { display: none; }
.rp-warn-box .mk { width: 22px; height: 22px; flex-shrink: 0; border-radius: 11px; background: var(--rp-warn); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
/* Protokół — zapis punktu przyciskiem */
.pk-status { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--rp-muted); }
.pk-status.ok { color: var(--rp-green); }
.pk-status.dirty { color: var(--rp-warn); }
.pk-status.dirty .bi { font-size: 8px; }
.pk-nav-dirty { font-size: 12px; font-weight: 700; color: var(--rp-warn); }
.pk-savebar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--rp-soft); }
.pk-ro { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 12px; background: var(--rp-soft-2); line-height: 1.55; }
.pk-ro .lbl { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--rp-muted); }
.live-sec { display: flex; flex-direction: column; gap: 6px; }
.live-sec.dirty textarea { border-color: var(--rp-warn); }

/* Zakup abonamentu (makiety Abonament 0–6) */
.rp-pay { min-height: 100vh; display: flex; flex-direction: column; background: var(--rp-bg); }
.rp-pay-head { min-height: 72px; box-sizing: border-box; padding: 12px 32px; background: #fff; border-bottom: 1px solid var(--rp-line); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rp-pay-sep { width: 1px; height: 28px; background: var(--rp-line); }
.rp-pay-main { width: 100%; max-width: 1080px; margin: 0 auto; padding: 32px 20px 48px; box-sizing: border-box; }
.rp-pay-main.narrow { max-width: 680px; padding-top: 48px; }
.rp-pay-h1 { font-size: 28px; font-weight: 800; letter-spacing: -0.4px; }
.rp-pay-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
@media (max-width: 991px) { .rp-pay-grid { grid-template-columns: 1fr; } }
.rp-pay-consent { padding: 14px 16px; border: 1px solid var(--rp-line); border-radius: 12px; }
.rp-pay-consent .form-check-input { width: 22px; height: 22px; margin-top: 1px; margin-right: 6px; }
.rp-pay-rows { display: flex; flex-direction: column; gap: 10px; padding: 14px 0; border-top: 1px solid var(--rp-soft); border-bottom: 1px solid var(--rp-soft); }
.rp-pay-rows.boxed { padding: 14px 16px; border: 1px solid var(--rp-soft); border-radius: 12px; background: #FAFAFC; gap: 8px; }
.rp-pay-row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.rp-pay-row > span:first-child { color: var(--rp-muted); }
.rp-pay-row > span:last-child { font-weight: 600; text-align: right; }
.rp-pay-price { font-size: 30px; font-weight: 800; letter-spacing: -0.5px; }
.rp-pay-card { padding: 36px 40px; }
.rp-pay-ok, .rp-pay-fail { width: 60px; height: 60px; border-radius: 30px; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.rp-pay-ok { background: var(--rp-green-bg); color: var(--rp-green); }
.rp-pay-fail { background: var(--rp-warn-bg); color: var(--rp-warn); }
.rp-pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rp-pay-list li { display: flex; gap: 10px; line-height: 1.45; }
.rp-pay-list .bi { color: var(--rp-green); font-size: 18px; }
.rp-pay-note { padding: 12px 16px; border-radius: 10px; background: var(--rp-warn-bg); color: var(--rp-warn); font-size: 14px; line-height: 1.45; margin-bottom: 20px; }
.rp-refund { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border: 1px solid var(--rp-line); border-radius: 12px; }
.rp-refund-doc { padding: 14px 16px; border: 1px dashed var(--rp-border); border-radius: 12px; font-size: 13px; line-height: 1.6; background: #FAFAFC; }
.rp-free-list { list-style: none; margin: 0 0 14px; padding: 14px 16px; border-radius: 12px; background: var(--rp-warn-bg); display: flex; flex-direction: column; gap: 10px; }
.rp-free-list li { display: flex; gap: 10px; line-height: 1.45; }
.rp-free-list .bi { color: var(--rp-warn); }
/* Strona operatora płatności — celowo „obca” stylistyka */
.rp-op { background: #fff; border: 1px solid #DADCE0; border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.08); font-family: Arial, Helvetica, sans-serif; color: #2B2D36; }
.rp-op-head { padding: 18px 24px; border-bottom: 1px solid #E6E7EA; display: flex; justify-content: space-between; font-size: 13px; color: #5E6272; }
.rp-op-head span:first-child { font-size: 15px; font-weight: 700; }
.rp-op-body { padding: 22px 24px; display: flex; flex-direction: column; gap: 18px; }
.rp-op-muted { font-size: 13px; color: #5E6272; }
.rp-op-amount { font-size: 26px; font-weight: 700; }
.rp-op-method { flex: 1; min-height: 56px; display: flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-size: 15px; color: #2B2D36; background: #F2F3F5; border: 1px solid #DADCE0; border-radius: 10px; }
.rp-op-method.on { background: #fff; border-color: #2B2D36; font-weight: 700; }
.rp-op-blik { max-width: 220px; height: 56px; font-size: 26px; letter-spacing: 8px; font-family: inherit; }
.rp-op-pay { height: 52px; font: inherit; font-size: 16px; font-weight: 700; color: #fff; background: #2B2D36; border: 0; border-radius: 10px; }
.rp-op-cancel { align-self: center; font-size: 14px; color: #5E6272; }
.rp-pay-head .rp-wordmark { color: var(--rp-navy); } .rp-pay-head .rp-wordmark span { color: var(--rp-blue); }
.rp-pay-consent .form-check { display: flex; gap: 10px; padding-left: 0; } .rp-pay-consent .form-check-input { float: none; margin-left: 0; flex-shrink: 0; }
.rp-op-blik::placeholder { letter-spacing: 0; font-size: 16px; }

/* Abonament — stany ekranów (zmiany w makietach) */
.rp-pay-top { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding-bottom: 6px; }
.rp-pay-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.rp-pay-spin { width: 52px; height: 52px; border-width: 5px; }
.rp-pay-errors { margin-bottom: 20px; padding: 16px 18px; border-radius: 12px; background: var(--rp-late-bg); color: var(--rp-late); border: 1px solid #E8B9A5; }
.rp-pay-errors ul { padding-left: 20px; margin-top: 6px; }
.rp-pay-errors a { color: var(--rp-late); font-weight: 600; }
.rp-pay-errors:focus { outline: 3px solid var(--rp-late); outline-offset: 2px; }
.rp-pay-billing { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid var(--rp-line); border-radius: 12px; line-height: 1.5; }
.rp-pay-consent.invalid { border-color: var(--rp-late); }
.rp-sub-box { padding: 16px 18px; border-radius: 14px; background: var(--rp-soft-2); }
.rp-sub-box.warn { background: var(--rp-warn-bg); }
.rp-sub-box.ok { background: var(--rp-green-bg); }
.rp-sub-inv { display: flex; flex-direction: column; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--rp-soft); }
.rp-sub-card.trial, .rp-sub-card.free { border-left: 0; background: #fff; }
.rp-sub-card.pending { background: var(--rp-sky); }
.rp-free-hero { background: var(--rp-warn-bg); }
.rp-free-banner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 16px; border-radius: 12px; background: var(--rp-warn-bg); color: var(--rp-warn); font-size: 14px; line-height: 1.45; }
.rp-free-banner > span { flex: 1 1 260px; }
.rp-ro .rp-off, .rp-ro .rp-main button:disabled:not(.rp-allow), .rp-ro .m-main button:disabled:not(.rp-allow), .rp-ro .m-fab-wrap { pointer-events: none; opacity: .45; }
.rp-free-lock { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; background: var(--rp-bg); }

/* Zebrania — cykl życia, skan protokołu */
.rp-proto-info { display: flex; gap: 8px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: #FAFAFC; border: 1px solid var(--rp-soft); font-size: 13px; line-height: 1.45; color: var(--rp-muted); }
.rp-proto-info.sky { background: var(--rp-sky); border-color: var(--rp-sky); color: var(--rp-navy); font-size: 14px; }
.rp-proto-tpl { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--rp-soft); }
.rp-scan-pages { display: flex; gap: 18px; flex-wrap: wrap; padding: 4px 0; }
.rp-scan-page { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.rp-scan-page .pg { width: 84px; height: 116px; box-sizing: border-box; padding: 10px 9px; background: #FBFAF6; border: 1px solid var(--rp-line); border-radius: 4px; box-shadow: 0 2px 6px rgba(22,33,92,.1); display: flex; flex-direction: column; gap: 6px; }
.rp-scan-page:nth-child(2n) .pg { transform: rotate(-.6deg); } .rp-scan-page:nth-child(2n+1) .pg { transform: rotate(.5deg); }
.rp-scan-page .pg i { display: block; height: 3px; border-radius: 2px; background: #C7C3B8; width: 88%; }
.rp-scan-page .pg i:nth-child(3n) { width: 62%; } .rp-scan-page .pg i:nth-child(4n) { width: 76%; }
.rp-scan-page figcaption { font-size: 12px; color: var(--rp-muted); }
.rp-scan-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rp-scan-pick .btn { min-height: 52px; }
.rp-scan-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rp-scan-list li { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border: 1px solid var(--rp-line); border-radius: 10px; }
.rp-scan-mini { width: 34px; height: 46px; flex-shrink: 0; padding: 5px 4px; box-sizing: border-box; background: #FBFAF6; border: 1px solid var(--rp-line); border-radius: 3px; display: flex; flex-direction: column; gap: 4px; }
.rp-scan-mini i { display: block; height: 2px; background: #C7C3B8; border-radius: 1px; }
.rp-inaug-card .rp-datebox { font-size: 24px; font-weight: 800; }
.rp-proto-info.sky { display: block; } .rp-scan-pick .btn { font-size: 15px; }

/* ===== Audyt UI/UX 7.10.2026 — zasady wspólne dla komputera i telefonu ===== */
/* Kontrast kontrolek: ramka pól i przycisków drugorzędnych co najmniej 3:1 (#8A8FAE). Dekoracyjne linie mogą być jasne. */
.form-control, .form-select, .btn-light, .rp-chip, .rp-round-btn, .rp-profile-btn, .form-check-input, .rp-upload, .rp-option-card { border-color: var(--rp-faint); }
.btn-light { --bs-btn-border-color: var(--rp-faint); --bs-btn-hover-border-color: var(--rp-navy); }
.form-control::placeholder { color: var(--rp-muted); opacity: 1; }
/* Fokus: widoczny obrys 2 px #2F4BD6 z odstępem 2 px */
a:focus-visible, button:focus-visible, .btn:focus-visible, [role="radio"]:focus-visible, [role="option"]:focus-visible, [tabindex]:focus-visible,
.form-control:focus-visible, .form-select:focus-visible, .form-check-input:focus-visible, summary:focus-visible {
  outline: 2px solid var(--rp-blue) !important; outline-offset: 2px; box-shadow: none !important;
}
.rp-sidebar a:focus-visible, .rp-sidebar button:focus-visible { outline-color: var(--rp-yellow) !important; }
/* Pismo: tekst min. 13 px, etykiety i liczniki min. 12 px */
.avatar-sm, .rp-round-btn .badge-count, .rp-upload-item .nm, .rp-cal-item, .rp-cal-bar { font-size: 12px; }
/* Pola kwot: waluta poza polem */
.rp-amount { display: flex; align-items: center; gap: 8px; }
.rp-amount .form-control { max-width: 220px; text-align: right; font-variant-numeric: tabular-nums; }
.rp-amount .cur { font-weight: 600; color: var(--rp-muted); }
.rp-nrb { font-variant-numeric: tabular-nums; letter-spacing: .3px; }
.rp-preview-box { padding: 12px 14px; border-radius: 10px; background: var(--rp-soft-2); border: 1px solid var(--rp-line); font-size: 14px; line-height: 1.55; }
.rp-preview-box .lbl { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--rp-muted); display: block; margin-bottom: 4px; }
/* Podsumowanie błędów na górze formularza */
.rp-err-sum { margin-bottom: 16px; }
/* Okno „Odrzucić zmiany?” na wierzchu okna dialogowego */
.modal-content { position: relative; }
.rp-discard { position: absolute; inset: 0; z-index: 5; background: rgba(22,33,92,.45); display: flex; align-items: center; justify-content: center; padding: 20px; border-radius: inherit; }
.rp-discard .box { background: #fff; border-radius: 16px; padding: 22px; max-width: 420px; width: 100%; box-shadow: 0 20px 50px rgba(22,33,92,.3); display: flex; flex-direction: column; gap: 10px; }
.rp-discard p { margin: 0; color: var(--rp-muted); line-height: 1.5; }
/* @wzmianki — lista pod polem */
.rp-mention-list { list-style: none; margin: 4px 0 0; padding: 6px; background: #fff; border: 1px solid var(--rp-faint); border-radius: 12px; box-shadow: 0 12px 32px rgba(22,33,92,.16); max-height: 260px; overflow-y: auto; }
.rp-mention-list li { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border-radius: 8px; cursor: pointer; min-height: 44px; justify-content: center; }
.rp-mention-list li b { font-size: 15px; }
.rp-mention-list li span { font-size: 13px; color: var(--rp-muted); }
.rp-mention-list li[aria-selected="true"], .rp-mention-list li:hover { background: var(--rp-sky); }
/* Grupy opcji jako karty z prawdziwym polem wyboru */
.rp-radio-cards { display: flex; flex-direction: column; gap: 8px; }
.rp-radio-card { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--rp-line); background: #fff; cursor: pointer; margin: 0; }
.rp-radio-card:has(> input:checked) { border: 2px solid var(--rp-blue); background: #F4F5FB; padding: 11px 13px; }
.rp-radio-card:has(> input:disabled) { opacity: .6; cursor: not-allowed; }
.rp-radio-card > input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--rp-navy); }
.rp-radio-card .t { font-size: 15px; font-weight: 600; display: block; }
.rp-radio-card .d { font-size: 14px; color: var(--rp-muted); line-height: 1.45; display: block; }
/* Szkielet ładowania i błąd sieci */
.rp-skeleton { display: flex; flex-direction: column; gap: 10px; }
.rp-skeleton .row-sk { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 12px; background: #fff; }
.rp-skeleton i { display: block; height: 12px; border-radius: 6px; background: linear-gradient(90deg, var(--rp-soft) 0%, var(--rp-soft-2) 50%, var(--rp-soft) 100%); background-size: 200% 100%; animation: rp-sk 1.2s linear infinite; }
.rp-skeleton i:first-child { width: 60%; height: 14px; } .rp-skeleton i:last-child { width: 35%; }
@keyframes rp-sk { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .rp-skeleton i { animation: none; } }
.rp-net-error { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 16px 18px; border-radius: 12px; background: var(--rp-late-bg); color: var(--rp-late); }
.rp-net-error .bi { font-size: 22px; }
/* Menu „⋯” z opisem niedostępnej pozycji */
.dropdown-item.rp-item-off { color: var(--rp-faint); white-space: normal; pointer-events: none; }
.dropdown-item.rp-item-off .why { display: block; font-size: 13px; color: var(--rp-muted); line-height: 1.4; margin-top: 2px; }
.dropdown-menu { --bs-dropdown-border-color: var(--rp-line); }
.dropdown-item { min-height: 40px; display: flex; align-items: center; }
.dropdown-item.rp-item-off { display: block; }
/* Combobox (adresaci, wyszukiwarka Rad) */
.rp-combo { position: relative; }
.rp-combo-list { list-style: none; margin: 4px 0 0; padding: 6px; border: 1px solid var(--rp-faint); border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(22,33,92,.14); max-height: 300px; overflow-y: auto; }
.rp-combo-list li { padding: 10px 12px; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; min-height: 44px; justify-content: center; }
.rp-combo-list li[aria-selected="true"], .rp-combo-list li:hover { background: var(--rp-sky); }
.rp-combo-list li .m { font-size: 13px; color: var(--rp-muted); }
.rp-combo-list li .off { font-size: 13px; font-weight: 600; color: var(--rp-warn); }
.rp-tokens { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 6px 8px; border: 1px solid var(--rp-faint); border-radius: 10px; background: #fff; min-height: 50px; }
.rp-tokens:focus-within { border-color: var(--rp-blue); box-shadow: 0 0 0 3px var(--rp-sky); }
.rp-tokens .tok { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 4px 0 10px; border-radius: 16px; background: var(--rp-sky); font-size: 14px; font-weight: 600; }
.rp-tokens .tok button { width: 32px; height: 32px; border: 0; background: none; border-radius: 16px; color: var(--rp-navy); }
.rp-tokens input { border: 0; outline: 0; flex: 1 1 140px; min-width: 120px; height: 36px; font-size: 16px; background: transparent; }
.rp-tokens input:focus-visible { outline: 0 !important; }
/* Kroki przepływów aktywacji i przekazania */
.rp-steps-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.rp-steps-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.rp-steps-list .mk { width: 24px; height: 24px; border-radius: 12px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; background: var(--rp-soft); color: var(--rp-muted); }
.rp-steps-list .mk.ok { background: var(--rp-green-bg); color: var(--rp-green); }
.rp-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; font-size: 14px; }
.rp-kv dt { color: var(--rp-muted); font-weight: 500; }
.rp-kv dd { margin: 0; font-weight: 600; }
.rp-status-box { padding: 14px 16px; border-radius: 12px; background: var(--rp-soft-2); border: 1px solid var(--rp-line); }
.rp-banner-warn { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; background: var(--rp-warn-bg); color: var(--rp-warn); font-size: 14px; line-height: 1.45; }
.rp-banner-warn > span { flex: 1 1 260px; }
.rp-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 991.98px) { .rp-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .rp-grid-3 { grid-template-columns: 1fr; } }
.rp-nav-sub { display: flex; align-items: center; gap: 6px; padding: 4px 12px 0; font-size: 12px; color: #D9E0FF; opacity: .9; }
.rp-council-item { white-space: normal; gap: 8px; }
.rp-quote { margin: 8px 0 0; padding: 10px 14px; border-left: 3px solid var(--rp-sky); background: var(--rp-soft-2); border-radius: 0 8px 8px 0; font-size: 14px; color: var(--rp-navy); }
/* Edytor agendy (wyżej/niżej, „Wolne wnioski” na końcu) */
.rp-agenda-edit { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.rp-agenda-edit li { display: flex; gap: 8px; align-items: center; }
.rp-agenda-edit .no { width: 26px; flex-shrink: 0; font-weight: 700; color: var(--rp-muted); text-align: right; }
.rp-agenda-edit li .form-control { flex: 1 1 auto; min-width: 0; }
.rp-agenda-edit li.fixed { padding: 10px 0 2px; font-weight: 600; }
/* Protokół zwykłego zebrania: panel „Porządek obrad” i głosowanie w punkcie */
.rp-live-nav ol { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.rp-live-nav li button { width: 100%; text-align: left; border: 1px solid transparent; background: transparent; border-radius: 10px; padding: 10px 12px; min-height: 44px; display: flex; flex-direction: column; gap: 2px; color: var(--rp-navy); }
.rp-live-nav li button:hover { background: var(--rp-soft-2); }
.rp-live-nav li button.active { background: var(--rp-sky); border-color: var(--rp-blue); }
.rp-live-nav .t { font-weight: 600; font-size: 15px; }
.rp-live-nav .s { font-size: 13px; color: var(--rp-green); font-weight: 600; }
@media (min-width: 1200px) { .rp-live-nav { position: sticky; top: 20px; } }
.rp-vote-row { display: grid; grid-template-columns: repeat(3, minmax(0, 140px)); gap: 12px; }
@media (max-width: 575.98px) { .rp-vote-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Pulpit: pasek abonamentu nad kafelkami (makieta Pulpit — okres próbny) */
.rp-sub-bar { grid-column: 1 / -1; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; padding: 18px 24px; border-radius: 16px; background: var(--rp-navy); color: #F0EEE9; margin-bottom: 20px; }
.rp-sub-bar .lbl { font-size: 13px; font-weight: 600; color: var(--rp-sky); }
.rp-sub-bar .ttl { font-size: 18px; font-weight: 700; line-height: 1.3; }
.rp-sub-bar .txt { flex: 1 1 240px; font-size: 14px; line-height: 1.5; color: var(--rp-sky); }
.rp-sub-bar .txt .ttl { color: #F0EEE9; font-size: 16px; margin-bottom: 2px; }
.rp-sub-bar a { color: #fff; }
.rp-btn-yellow { height: 44px; padding: 0 20px; flex-shrink: 0; font-weight: 700; color: var(--rp-navy); background: var(--rp-yellow); border: 0; border-radius: 10px; }
.rp-btn-yellow:hover, .rp-btn-yellow:focus-visible { background: #EBC94F; color: var(--rp-navy); }
.rp-trial-strip { margin-bottom: 20px; }
.rp-mini-row .badge-count { white-space: nowrap; flex-shrink: 0; }
