/* Cel: Zapewnia wspólny, responsywny szablon nowych podstron w obecnym układzie strony. */
.wso-page, .wso-page * { box-sizing: border-box; }
.wso-page.event_show {
    display: flow-root;
    width: calc(100% - 32px);
    max-width: 1200px;
    min-width: 0;
    margin: 24px auto;
    padding: 24px;
    border: 1px solid #d9e1d4;
    border-radius: 12px 0 12px 0;
    background: #fff;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.wso-page h1 { margin: 0 0 24px; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; }
.wso-page h2 { clear: both; margin: 28px 0 16px; font-size: 1.35rem; line-height: 1.3; }
.wso-page p { margin: 12px 0; }
/* Cel: Izoluje formularze paneli od dawnych pływających etykiet i stałych szerokości. */
.wso-page form { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; max-width: 36rem; margin: 20px 0; }
.wso-page label { display: block; float: none; clear: both; width: 100%; margin: 0; padding: 0; text-align: left; font-weight: bold; }
.wso-page input, .wso-page select, .wso-page textarea, .wso-page button { font: inherit; max-width: 100%; margin: 0; padding: 9px 12px; }
.wso-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.wso-page select, .wso-page textarea { display: block; clear: none; width: 100%; margin-top: 6px; }
.wso-page input[type=hidden] { display: none; }
.wso-page input[type=checkbox], .wso-page input[type=radio] { display: inline-block; width: auto; margin: 0 6px 0 0; vertical-align: middle; box-shadow: none; }
.wso-page button { width: auto; cursor: pointer; }
.wso-page label button { display: block; margin-top: 12px; }
.wso-page button:disabled { cursor: default; }
.wso-page textarea { min-height: 160px; resize: vertical; }
.wso-page input[readonly], .wso-page textarea[readonly] { color: #222; background: #f4f4f4; }
.wso-page fieldset { width: 100%; min-width: 0; margin: 0; padding: 16px; border: 1px solid #ccd6c5; }
.wso-page fieldset label + label { margin-top: 12px; }
/* Cel: Utrzymuje tabele w granicach panelu również na wąskich ekranach. */
.wso-page .scroll, .wso-page .table-scroll { display: block; width: 100%; max-width: 100%; overflow-x: auto; margin: 16px 0; }
.wso-page table { width: 100%; border-collapse: collapse; }
.wso-page th, .wso-page td { padding: 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; }
/* Cel: Zachowuje czytelne nagłówki i wartości przy przewijaniu szerokich tabel. */
.wso-page th { background: #f2f5ef; white-space: nowrap; }
.wso-page td { overflow-wrap: normal; word-break: normal; }
.wso-page td form { display: block; margin: 0; }
.wso-page td button { white-space: nowrap; }
.wso-page .notice { padding: 16px; background: #fff4cf; border-left: 4px solid #87a94d; overflow-wrap: anywhere; }
.wso-page pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.wso-page .badge, .wso-page .muted { color: #555; font-size: .9em; }
.wso-page .description { white-space: pre-wrap; }
.wso-page .toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 16px 0; }
.wso-page .toolbar label { flex: 1 1 250px; width: auto; max-width: 36rem; }
.wso-page dl { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); gap: 8px 24px; }
.wso-page dt { font-weight: bold; }
.wso-page dd { margin: 0; }
@media (max-width: 700px) {
    .wso-page.event_show { width: calc(100% - 16px); margin: 16px auto; padding: 16px; }
    .wso-page table { min-width: 580px; }
    .wso-page dl { grid-template-columns: 1fr; gap: 4px; }
    .wso-page dd { margin-bottom: 12px; }
}
