@charset "utf-8";
/* CSS Document */
body {
  font-family: Arial;
  font-size: 10pt;
  background-color: #EEF4FF;
}
select {
  border-collapse: collapse;
  border: 1px solid #000000;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  margin-left: 10px;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
  min-width: 320px;
}
table {
  border-collapse: collapse;
  border: 1px solid #000000;
  display: table;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
  margin-bottom: 20px;
  font-size: 10pt;
}
td {
  border: 1px solid #000000;
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
}
th {
  border: 1px solid #000000;
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
}
.svetly_radek,
.table-row-alt {
  background-color: #FFF9E8
}
.form-row {
  display: inline-block;
  margin-right: 10px;
}
.marked_radek,
.table-row-alert {
  background-color: #E37C7E
}
.info {
  color: #A00C0F;
  font-variant: normal;
  font-weight: bold;
  font-size: large;
}
form {
  width: auto;
  min-width: 600px;
}
* {
  box-sizing: border-box;
}
input {
  text-align: center;
  min-width: auto;
  width: 50px;
}
h1 {
  text-shadow: 3px 3px 5px #C1C1C1;
  text-align: center;
}
.marked {
  background-color: #FFB3B5;
}
caption {
  font-weight: bold;
  font-size: 16px;
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 10px;
  padding-left: 5px;
  text-align: left;
}
.tr_vypl {
  min-height: 50px;
}
th {
  font-weight: bold;
  
  text-align: center;
  text-shadow: 1px 1px 3px #C5C5C5;
  background-color: #66B4F6;
}
.sum {
  font-weight: bold;
  background-color: #AED7F9;
}
.vyplatnice_tb {
  min-width: 950px;
}
.menu {
  min-width: 300px;
  margin-top: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  margin-left: 5px;
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  border: 1px solid #000000;
}
.content {
  max-width: calc(100vw - 32px);
  margin: 0 auto;
}
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.row {
  min-height: 0px;
  padding: 20px;
}
.center {
  margin: auto;
}
.vypis {
  max-width: calc(100vw - 32px);
  margin: 0 auto;
}
h2 {
  text-align: center;
}
.main_table {
  max-width: calc(100vw - 32px);
  margin: 0 auto;
}
.admin-summary {
  width: 100%;
  max-width: calc(100vw - 32px);
  margin: 0 auto 20px;
}
.admin-summary-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.admin-summary-card {
  flex: 0 0 220px;
  min-width: 220px;
  padding: 16px 20px;
  border: 1px solid #000000;
  border-radius: 6px;
  box-shadow: 2px 2px 5px #878787;
  background: #FFFFFF;
}
.admin-summary-card.is-success {
  background: #DDF5E2;
}
.admin-summary-card.is-warning {
  background: #FFE2C3;
}
.admin-summary-card.is-neutral {
  background: #E8F1FB;
}
.admin-summary-label {
  font-weight: bold;
  margin-bottom: 6px;
}
.admin-summary-value {
  font-size: 24px;
  font-weight: bold;
}
.admin-summary-panel {
  flex: 1 1 340px;
  min-width: 280px;
  border: 1px solid #000000;
  border-radius: 6px;
  background: #FFFFFF;
  box-shadow: 2px 2px 5px #878787;
  padding: 14px 18px;
}
.admin-summary-title {
  font-weight: bold;
  margin-bottom: 10px;
}
.admin-summary-list {
  margin: 0;
  padding-left: 20px;
}
.admin-summary-list li {
  margin-bottom: 8px;
}
.deferred-apply-list li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.deferred-apply-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.deferred-apply-actions form {
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
}
.admin-summary-note {
  color: #5A5A5A;
  margin-left: 8px;
}
.frame-role-note {
  margin-bottom: 10px;
}
.auth-users-page {
  max-width: 1280px;
}
.auth-users-note-row {
  margin: 0 auto 16px;
  max-width: calc(100vw - 32px);
}
.auth-users-select-form {
  min-width: 0;
}
.auth-users-select-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-users-select-row select {
  min-width: 360px;
}
.auth-users-form {
  min-width: 0;
}
.auth-users-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.auth-users-role-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-users-group-block + .auth-users-group-block {
  margin-top: 18px;
}
.auth-users-group-block h3 {
  margin: 0 0 10px;
}
.auth-users-table input[type="checkbox"] {
  width: auto;
}
div.selection-toolbar-row {
  display: flex;
  justify-content: flex-start;
  margin-top: 12px;
  margin-bottom: 10px;
}
.selection-toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

tr.selection-toolbar-row th,
tr.selection-toolbar-row td {
  width: 100%;
}

.selection-toolbar-cell {
  text-align: right;
}

.selection-toolbar-cell-left {
  text-align: left;
}

.selection-toolbar-cell-center {
  text-align: center;
}

.selection-toolbar-cell-right {
  text-align: right;
}

.selection-toolbar-cell-left .selection-toolbar {
  justify-content: flex-start;
}

.selection-toolbar-cell-center .selection-toolbar {
  justify-content: center;
}

.selection-toolbar-cell-right .selection-toolbar {
  justify-content: flex-end;
}

.selection-toolbar-count {
  color: #333333;
}
.vlozit-akci-layout {
  max-width: 900px;
}
.vlozit-akci-panel {
  width: 100%;
}
.vlozit-akci-form {
  min-width: 0;
  width: 100%;
}
.vlozit-akci-form-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.vlozit-akci-input {
  flex: 1 1 320px;
  width: auto;
  max-width: 520px;
  min-width: 260px;
  padding: 8px 10px;
}
.vlozit-akci-submit {
  margin: 0;
}
.vlozit-akci-validation {
  min-height: 18px;
  margin: 8px 0 0;
  color: #b71c1c;
  font-size: 13px;
  font-weight: 600;
}
.vlozit-akci-input.is-invalid {
  border-color: #c62828;
  background: #ffebee;
}
.vlozit-akci-table {
  width: 100%;
  min-width: 0;
}
.vlozit-akci-table-input {
  width: 100%;
  min-width: 220px;
}
.action-buttons-row {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.form-actions-row {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.content > .action-buttons-row,
.content > .form-actions-row,
.content > .panel-links,
.content > .table-action-wrap,
.content > .panel-caption,
.content > form,
.content > .page-message {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.content > .action-buttons-row,
.content > .form-actions-row,
.content > .panel-links,
.content > .table-action-wrap,
.content > .panel-caption,
.content > form {
  width: 100%;
  box-sizing: border-box;
}

.content > .panel-links {
  margin-top: 8px;
  margin-bottom: 14px;
}

.action-buttons-row.is-start {
  justify-content: flex-start;
}

.action-panel-guid-row {
  margin-bottom: 8px;
}

#jmhz-puvodni-id-podani {
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
}

.action-panel-group {
  width: 100%;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #B8C7D8;
}

.action-panel-group-jmhz {
  border-top: 0;
  padding-top: 0;
}

.submission-status-panel {
  margin-top: 14px;
}

.submission-status-lines-wrap {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
}

.submission-status-line {
  display: grid;
  grid-template-columns: 78px 185px 145px 380px minmax(110px, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 950px;
  margin-bottom: 6px;
}

.submission-status-line-head {
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 2px;
}

.submission-status-agenda {
  color: var(--fotbal-blue-dark);
  font-weight: 700;
  white-space: nowrap;
}

.submission-status-line select,
.submission-status-line input {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 32px;
  margin: 0;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 20px;
  box-sizing: border-box;
}

.submission-status-guid-input {
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
}

.submission-status-actions {
  margin-top: 12px;
}

.info-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #B8C7D8;
  border-radius: 6px;
  background: #F8FBFF;
  color: #334155;
  font-weight: 700;
}

.info-chip.is-warning {
  border-color: #E0A100;
  background: #FFF7D6;
  color: #7A4A00;
}

.action-panel-group-title {
  margin-bottom: 8px;
  color: #334155;
  font-weight: bold;
  text-align: center;
}

.action-panel-buttons {
  margin-top: 0;
}

.regzec-action-layout {
  display: grid;
  gap: 12px;
}

.regzec-file-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid #B8C7D8;
  border-radius: 10px;
  background: #F8FBFF;
}

.regzec-file-row label {
  color: #334155;
  font-weight: 700;
  white-space: nowrap;
}

.regzec-file-help {
  color: #5B6777;
  font-size: 12px;
}

.regzec-action-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  align-items: stretch;
}

.regzec-action-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 12px;
  border: 1px solid #CED8E3;
  border-radius: 10px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.regzec-action-card h3 {
  margin: 0 0 4px;
  color: var(--fotbal-blue-dark);
  font-size: 15px;
  text-align: left;
}

.regzec-action-card p {
  min-height: 34px;
  margin: 0 0 10px;
  color: #5B6777;
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
}

.regzec-card-buttons {
  align-items: stretch;
  margin-top: auto;
}

.regzec-card-buttons .panel-action-button {
  flex: 1 1 150px;
  white-space: normal;
}

@media (max-width: 600px) {
  .regzec-file-row {
    align-items: stretch;
    flex-direction: column;
  }

  .regzec-file-row label,
  .regzec-file-help {
    text-align: left;
  }

  .regzec-file-row .action-file-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .regzec-action-groups {
    grid-template-columns: 1fr;
  }

  .regzec-card-buttons .panel-action-button {
    flex-basis: 100%;
  }
}

.prezec-action-buttons {
  margin-bottom: 12px;
}

.consistency-audit-panel {
  border-left-width: 4px;
}

.consistency-audit-panel-ok {
  border-left-color: #2E7D32;
}

.consistency-audit-panel-warning {
  border-left-color: #9A6700;
}

.consistency-audit-panel-error {
  border-left-color: #B00020;
}

.consistency-audit-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin-bottom: 12px;
}

.consistency-audit-status {
  font-weight: 700;
}

.consistency-audit-status-ok {
  color: #2E7D32;
}

.consistency-audit-status-warning {
  color: #9A6700;
}

.consistency-audit-status-error {
  color: #B00020;
}

.consistency-audit-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.consistency-audit-count,
.consistency-audit-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 6px;
  padding: 2px 8px;
  border: 1px solid var(--fotbal-border);
  font-size: 13px;
  font-weight: 700;
  background: #FFFFFF;
}

.consistency-audit-count-error,
.consistency-audit-badge-error {
  border-color: #B00020;
  color: #B00020;
  background: #FFECEE;
}

.consistency-audit-count-warning,
.consistency-audit-badge-warning {
  border-color: #9A6700;
  color: #6F4C00;
  background: #FFF4D6;
}

.consistency-audit-count-ok,
.consistency-audit-badge-ok {
  border-color: #2E7D32;
  color: #1B5E20;
  background: #E8F5E9;
}

.consistency-audit-badge-info {
  border-color: #4C6FFF;
  color: #1D3FBF;
  background: #EEF2FF;
}

.consistency-audit-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.consistency-audit-section h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.consistency-audit-list,
.consistency-audit-details {
  margin: 0;
  padding-left: 18px;
}

.consistency-audit-list {
  display: grid;
  gap: 8px;
  list-style: none;
  padding-left: 0;
}

.consistency-audit-item {
  border: 1px solid var(--fotbal-border);
  border-radius: 8px;
  padding: 8px 10px;
  background: #FFFFFF;
}

.consistency-audit-item-error {
  background: #FFF7F8;
}

.consistency-audit-item-warning {
  background: #FFF9E8;
}

.consistency-audit-message {
  display: block;
  margin-top: 6px;
}

.consistency-audit-details {
  margin-top: 6px;
  color: #3F3F3F;
}

.action-file-input {
  width: min(100%, 360px);
  min-width: 260px;
  height: 38px;
  min-height: 38px;
  padding: 0 10px 0 0;
  border: 1px solid #9FB2C6;
  border-radius: 10px;
  background: #FFFFFF;
  color: #334155;
  font: inherit;
  line-height: normal;
  text-align: left;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.action-file-input::file-selector-button {
  height: 36px;
  min-height: 36px;
  margin: 0 10px 0 0;
  padding: 8px 14px;
  border: 0;
  border-radius: 9px 0 0 9px;
  background-color: var(--fotbal-primary);
  color: #FFFFFF;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.action-file-input:hover::file-selector-button,
.action-file-input:focus::file-selector-button {
  background-color: var(--fotbal-primary-hover);
}

.action-file-input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(30, 115, 187, 0.22);
}

.action-buttons-row-left {
  justify-content: flex-start;
}

.page-back-row {
  margin-top: 0;
  margin-bottom: 16px;
}

.page-back-row .submit,
.page-back-row .button {
  margin: 0;
}

.panel-filter-form {
  margin-bottom: 14px;
}

.panel-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px 16px;
  align-items: end;
}

.panel-filter-grid .form-row {
  margin: 0;
}

.panel-filter-actions {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.panel-form-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.panel-form-stack .form-row {
  margin: 6px 0;
}

.panel-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.panel-links-label {
  color: #5A5A5A;
  font-weight: 600;
}

.panel-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--fotbal-border);
  border-radius: 999px;
  background: #fff;
  color: var(--fotbal-text);
  text-decoration: none;
  font-weight: 600;
}

.panel-link:hover {
  background: #fff8e1;
}

.panel-link.is-active {
  border-color: var(--fotbal-accent);
  background: #fff4bf;
}

.panel-caption {
  margin: 8px 0 10px;
  text-align: center;
}

.table-wide {
  width: 100%;
}

.table-min-1800 {
  min-width: 1800px;
}

.table-fixed {
  table-layout: fixed;
}

.table-organizers {
  table-layout: fixed;
}

.table-organizers td,
.table-organizers th {
  overflow-wrap: anywhere;
}

.table-organizers td:last-child,
.table-organizers th:last-child {
  overflow-wrap: normal;
}

.table-col-match {
  min-width: 200px;
}

.souhrn-akci-table {
  table-layout: fixed;
}

.souhrn-akci-table__label-col {
  width: 66.666%;
}

.souhrn-akci-table__amount-col {
  width: 33.333%;
}

.souhrn-akci-table th {
  text-align: center;
}

.souhrn-akci-table tbody td:first-child {
  text-align: left;
}

.souhrn-akci-table tbody td:last-child {
  text-align: center;
}

.table-col-name {
  min-width: 120px;
}

.table-person-column {
  text-align: left !important;
}

.vyplatnice_tb th.table-person-column,
.vyplatnice_tb td.table-person-column,
.table_vyplatnice th.table-person-column,
.table_vyplatnice td.table-person-column {
  text-align: left !important;
}

.table-person-link {
  color: var(--fotbal-primary);
  text-decoration: none;
  font-weight: 700;
}

.table-person-link:hover {
  text-decoration: underline;
}

.table-person-link strong {
  font-weight: 700;
}

.table-person-text {
  color: var(--fotbal-text);
  font-weight: 700;
}

.table-person-text strong {
  font-weight: 700;
}

.table-col-index {
  width: 1%;
  white-space: nowrap;
}

.organizers-col-index {
  width: 60px;
}

.organizers-col-person {
  width: 22%;
}

.organizers-col-email {
  width: 20%;
}

.organizers-col-phone {
  width: 12%;
}

.organizers-col-status {
  width: 92px;
}

.table-col-person {
  min-width: 160px;
}

.table-col-email {
  min-width: 160px;
}

.table-col-phone {
  min-width: 96px;
}

.table-col-address {
  min-width: 180px;
}

.table-col-status {
  width: 1%;
  white-space: nowrap;
}

.table-col-actions {
  width: 1%;
  min-width: 0;
  white-space: nowrap;
}

.table-col-person-sm {
  min-width: 120px;
}

.table-col-post {
  min-width: 96px;
}

.table-col-compact {
  width: 1%;
  white-space: nowrap;
}

.table-col-money {
  min-width: 84px;
}

.table-col-days {
  width: 1%;
  min-width: 84px;
  white-space: nowrap;
}

.amount,
.table-cell-money {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.table-money-value {
  display: inline-block;
  min-width: 8ch;
}

html:has(body.pdf-viewer-page),
body.pdf-viewer-page {
  height: 100%;
  margin: 0;
}

body.pdf-viewer-page {
  font-family: Arial, sans-serif;
  background: #eef2f6;
}

.pdf-viewer-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #d0d7de;
  background: #f6f8fa;
  position: sticky;
  top: 0;
  z-index: 10;
  box-sizing: border-box;
}

.pdf-viewer-back {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #1f6feb;
  border-radius: 6px;
  background: #fff;
  color: #1f6feb;
  text-decoration: none;
  font-size: 14px;
}

.pdf-viewer-toolbar strong {
  font-size: 14px;
  color: #24292f;
}

.pdf-viewer-frame {
  height: calc(100vh - 58px);
}

.pdf-viewer-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

body.email-preview-page {
  margin: 0;
  padding: 16px;
  font-family: DejaVu Sans, Arial, sans-serif;
  font-size: 12px;
  color: #222;
  background: #fff;
}

.email-preview-container {
  max-width: 820px;
}

.email-preview-meta {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d0d7de;
}

.email-preview-meta h3 {
  margin: 0 0 6px;
  font-size: 16px;
}

.email-preview-body {
  line-height: 1.45;
}

.vyplatnice-table {
  width: 100%;
  min-width: 100%;
  table-layout: auto;
}

.vyplatnice-table .table-col-post {
  min-width: 120px;
}

.vyplatnice-table select,
.prezence-table select {
  min-width: 0;
  width: 100%;
  max-width: 180px;
}

[data-vyplatnice-root] {
  transition: opacity 0.18s ease;
}

[data-vyplatnice-root].is-loading,
[data-prezence-root].is-loading,
[data-udalosti-root].is-loading {
  opacity: 0.55;
  pointer-events: none;
}

.filter-reload-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid #d8dee6;
  border-radius: 4px;
  background: #f7f9fc;
}

.filter-reload-status.is-error {
  border-color: #c84b4b;
  background: #fff5f5;
  color: #8a1f1f;
}

.filter-reload-retry {
  margin-left: auto;
}

.vyplatnice-table [data-vyplatnice-row].is-saving {
  background-color: #fff4bf;
}

.prezence-table {
  width: 100%;
  min-width: 100%;
  table-layout: auto;
}

.prezence-table td.table-col-actions,
.prezence-table th.table-col-actions {
  width: 1%;
  min-width: 0;
  white-space: nowrap;
  text-align: center;
}

.prezence-table td.table-col-actions > .table-row-actions {
  display: flex;
  width: 100%;
  justify-content: center;
  margin: 0;
}

.prezence-table [data-prezence-row].is-saving {
  background-color: #fff4bf;
}

.table-row-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: nowrap;
  width: max-content;
  margin: 0 auto;
}

.table-col-actions > .table-row-actions,
.table-col-actions > .table-actions-inline {
  max-width: 100%;
}

.table-summary-cell {
  font-weight: 700;
}

.table-summary-row > th,
.table-summary-row > td {
  background-color: #AED7F9;
  font-weight: 700;
}

.table-summary-row > th:first-child,
.table-summary-row > td:first-child {
  text-align: left;
}

.table-summary-row:hover > th,
.table-summary-row:hover > td {
  background-color: #AED7F9;
}

.table-summary-high {
  color: #B00020;
}

.table-note-warning {
  color: #B00020;
  font-weight: 700;
}

.table-summary-mid {
  color: #2E7D32;
}

.row-value-primary,
.row-value-secondary,
.row-sum {
  font-variant-numeric: tabular-nums;
}

.row-sum {
  white-space: nowrap;
}

.table-action-wrap {
  margin-top: 10px;
  text-align: left;
}

.input-number-sm {
  width: 96px;
}

.input-number-xs {
  width: 72px;
}

.input-text-wide {
  width: 280px;
  max-width: 100%;
}

.spinner-inline {
  display: none;
  color: #2E7D32;
  font-weight: 700;
}

.page-panel-form.is-submitting {
  opacity: 0.72;
}

.page-panel-form.is-submitting .panel-action-button {
  cursor: wait;
}

.page-panel-form {
  display: block;
}

.match-feed-table {
  table-layout: fixed;
}

.match-feed-table th:first-child {
  width: 140px;
}

.match-feed-table td input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.match-feed-table td label {
  display: none;
}

.match-feed-table td a {
  display: inline-block;
  margin-top: 6px;
}

@media (max-width: 700px) {
  .match-feed-table,
  .match-feed-table tbody,
  .match-feed-table tr,
  .match-feed-table th,
  .match-feed-table td {
    display: block;
    width: auto;
  }

  .match-feed-table thead {
    display: none;
  }

  .match-feed-table th:first-child {
    width: auto;
  }

  .match-feed-table td label {
    display: block;
    margin-bottom: 4px;
  }
}

.page-panel-form-inline {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  border: 1px solid var(--fotbal-border);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  margin: 10px 0 14px;
  text-align: center;
}

.page-panel-form-inline.is-compact {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
}

.page-panel-form-inline.is-center-aligned {
  align-items: center;
}

.inline-fields-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.inline-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

.inline-field-with-help {
  align-items: flex-start;
}

.inline-field-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.inline-field label {
  text-align: left;
  white-space: nowrap;
}

.dohody-period-filter .inline-field select,
.dohody-period-filter .inline-field input[type="date"] {
  width: 170px;
  min-width: 170px;
  box-sizing: border-box;
}

.inline-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.table-actions-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: nowrap;
  width: max-content;
  margin: 0 auto;
}

.table-actions-inline .inline-actions {
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
}

.table-actions-inline form {
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
}

.table-actions-inline-left {
  justify-content: flex-start;
  width: auto;
  margin: 8px 0 0;
}

.table-action-button {
  min-width: 0;
  width: auto;
  min-height: 36px;
  margin: 0;
  padding: 7px 10px;
  line-height: 1.2;
  white-space: nowrap;
  box-sizing: border-box;
  font: inherit;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 700;
}

.status-pill-compact {
  padding: 4px 10px;
}

.status-pill-success {
  background: #d9f5df;
  color: #156a2f;
}

.status-pill-danger {
  background: #f9d8d8;
  color: #8b1e1e;
}

.status-pill-hidden {
  display: none;
}

.inline-muted-text {
  font-size: 12px;
  color: #666;
}

.invoice-group-note-row {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.invoice-group-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 130px;
}

.invoice-group-name-input {
  max-width: 120px;
  text-align: center;
}

.invoice-group-order-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.page-panel-form-inline.panel-form-gap-sm {
  margin-bottom: 12px;
  align-items: flex-end;
}

.panel-action-button {
  min-width: 0;
  width: auto;
  min-height: 38px;
  margin: 0;
  padding: 9px 14px;
  line-height: 1.2;
  white-space: nowrap;
  box-sizing: border-box;
  font: inherit;
}

@media (max-width: 768px) {
  .page-panel-form-inline {
    align-items: stretch;
  }

  .page-panel-form-inline .inline-field {
    width: 100%;
    justify-content: space-between;
  }

  .page-panel-form-inline .inline-field select,
  .page-panel-form-inline .inline-field input[type="date"],
  .page-panel-form-inline .inline-field input[type="text"],
  .page-panel-form-inline .inline-field input[type="number"] {
    min-width: 0;
    flex: 1 1 auto;
    max-width: 220px;
  }

  .dohody-period-filter .inline-field select,
  .dohody-period-filter .inline-field input[type="date"] {
    width: 100%;
    min-width: 0;
    max-width: 220px;
  }
}

.stack-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.action-link-compact {
  margin: 4px 0;
}

.link-reset {
  text-decoration: none;
}

.table-col-actions {
  width: 1%;
  min-width: 0;
  white-space: nowrap;
}

.table-cell-center {
  text-align: center;
}

.action-buttons-row.is-between {
  justify-content: space-between;
}

.action-buttons-row.is-center {
  justify-content: center;
}

.action-buttons-row .panel-action-button {
  margin: 0;
}
@media (max-width: 900px) {
  .admin-summary-card,
  .admin-summary-panel {
    flex-basis: 100%;
  }
}
.souhrn_tb {
  min-width: 500px;
  margin-bottom: 10px;
}
.name {
  background-color: #FFC566;
}
.bold {
  font-weight: bold;
}
.column {
  width: 50%;
  padding: 10px;
  box-sizing: border-box;
  margin-top: auto;
  margin-right: auto;
  margin-bottom: auto;
  margin-left: auto;
}
.cont {
  display: flex;
  justify-content: space-between;
  max-width: 400px;
  margin: 0 auto;
  float: left;
}
.tables-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.souperi-layout {
  flex-direction: column;
  align-items: center;
}
.souperi-layout .table-row {
  width: 100%;
  max-width: 700px;
}
.souperi-layout .table_sum {
  width: 100%;
}
.table-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 650px;
}
.table_vycetka {
  flex: 1 0 50%;
  box-sizing: border-box;
  text-align: center;
  margin: 0 auto;
  max-width: 310px;
}
.table_sum {
  text-align: center;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0;
  min-width: 310px;
}
input[type="checkbox"] {
  display: inline-block;
  vertical-align: middle;
}
.container_sum {
  max-width: 650px;
  margin: 0 auto;
}

.page-panel-table {
  margin: 10px 0 14px;
}

.page-panel-table > h2,
.page-panel-table > h3,
.page-panel-table > .page-panel-heading {
  margin-top: 0;
}

.page-panel-table table {
  margin-bottom: 0;
}

.table-panels-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-message {
  margin: 12px 0 16px;
  color: #5f6b7a;
  font-size: 14px;
}

.page-message:empty {
  display: none;
}
.souper_form {
  min-width: 250px;
  width: 600px;
  text-align: left;
}
.duplicate {
  background-color: #FF6B6B;
}
.floating-message {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #E9E9E9;
  border: 1px solid #cccccc;
  padding: 20px;
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  color: #FF6A00;
  font-weight: bold;
  font-size: 16px;
  -webkit-box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
}
.table-container {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.table-wrapper {
  width: 100%;
  max-width: 1200px;
  overflow-x: auto;
}
.summary-table {
  width: 100%;
  border-collapse: collapse;
}
.summary-table th, .summary-table td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}
.summary-table th {
  background-color: #66B4F6;
  font-weight: bold;
}
.summary-table tr:nth-child(even) {
  background-color: #FFFCD8;
}
tr:hover {
  background-color: #e2e2e2;
}
tr.header-summary {
  background-color: #66B4F6;
  font-weight: bold;
}
table.vyplatnice_tb td.amount {
  text-align: center;
}
html, body {
  margin: 0;
  padding: 0;
}
.menu::after {
  content: "";
  display: table;
  clear: both;
}
.menu {
  list-style-type: none;
  padding: 0;
  margin: 0;
  background-color: #1E73BB;
  display: flex;
  justify-content: space-around;
  align-items: center;
  overflow: visible;
  position: relative;
  z-index: 999;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
  border: 2px solid #1E73BB;
}
.menu ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.menu > li {
  position: relative;
  flex-grow: 1;
}
.menu > li > a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  background-color: #1E73BB;
  font-weight: bold;
}
.menu li ul a {
  padding: 10px;
  background-color: #FFC566;
  color: black;
  text-decoration: none;
  display: block;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
}
.menu li a:hover {
  background-color: #144d86;
}
.menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #FFC566;
  min-width: 360px;
  z-index: 1000;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
  border: 1px solid #333;
}
@media (hover: hover) and (pointer: fine) {
  .menu:not(.menu-enhanced) li:hover ul {
    display: block;
  }
}

/* Tap-to-open (JS přidává .open) */
.menu li.open > ul {
  display: block;
}
.menu li ul li {
  float: none;
  border-bottom: 1px solid #333;
}
.menu li ul li a:hover {
  background-color: #AED7F9;
}
.vyplatnice_tb tr:nth-child(even) {
  background-color: #FFFCD8;
}
.vyplatnice_tb tr:nth-child(odd) {
  background-color: transparent;
}
#souperForm .souper-container {
  max-width: 950px;
  margin: 20px auto;
  border: 1px solid #000;
  padding: 10px;
  text-align: center;
  color: #333;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
}
#souperForm .caption {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
#souperForm .row {
  display: flex;
  padding: 5px 0;
  border-bottom: 1px solid #000;
}
#souperForm .row.header {
  font-weight: bold;
  
  text-align: center;
  text-shadow: 1px 1px 3px #C5C5C5;
  background-color: #66B4F6;
}
#souperForm .row:last-child {
  border-bottom: none;
}
#souperForm .column {
  flex: 1;
  padding: 5px;
  box-sizing: border-box;
}
#souperForm .search-container {
  display: block;
  width: 100%;
  position: relative;
}
#souperForm .search-field {
  width: 100%;
  padding: 8px;

}
#souperForm .results {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 0px;
  max-height: 150px;
  overflow-y: auto;
  background-color: #fff;
  color: #333;
  -webkit-box-shadow: 2px 2px 5px #878787;
  box-shadow: 2px 2px 5px #878787;
  border-radius: 5px;
  z-index: 9999;
}
#souperForm .result-item {
  padding: 5px;
  cursor: pointer;
  font-weight: bold;
  
}
fieldset {
    border: 1px solid #878787;
    padding: 20px;
    margin: 20px auto;
    -webkit-box-shadow: 2px 2px 5px #878787;
    box-shadow: 2px 2px 5px #878787;
    border-radius: 10px;
    text-align: center;
    width: 90%;
}
legend {
  font-size: 1.3em;
  font-weight: bold;
}
.fieldset_karta legend {
    font-size: 1.5em;
    text-align: left;
}
.date-column {
    text-align: center;
    width: 120px;
    
    text-shadow: 1px 1px 2px #C5C5C5;
}
.vyplatnice_tb th, .vyplatnice_tb td {
    padding: 8px;
    border: 1px solid #333;
}
.vyplatnice_tb th {
    background-color: #66B4F6;
    font-weight: bold;
}
.vyplatnice_tb .table-summary-row > th,
.vyplatnice_tb .table-summary-row > td {
  background-color: #AED7F9;
  font-weight: 700;
  text-shadow: none;
}
.vyplatnice_tb tbody .table-summary-row:hover > th,
.vyplatnice_tb tbody .table-summary-row:hover > td {
  background-color: #AED7F9;
}
.vyplatnice_tb tbody tr:hover {
    background-color: #e2e2e2;
}
.vyplatnice_tb {
    min-width: 950px;
    max-width: 100%;
    margin: 0 auto;
}
@media (max-width: 960px) {
    .vyplatnice_tb {
        min-width: 100%;
    }
    .date-column {
        width: 100px;
    }
    .vyplatnice_tb th, .vyplatnice_tb td {
        padding: 5px;
    }
    form {
        min-width: 100%;
        margin: 0 auto;
    }
}

/* Zvětšení šířky tabulky a kontejnerů */
.content {
  max-width: calc(100vw - 32px);
    margin: 0 auto;
}
.vypis {
  max-width: calc(100vw - 32px);
    margin: 0 auto;
}
.table-wrapper {
    width: 100%;
  max-width: 100%;
    overflow-x: auto;
}

/* Vylepšení vzhledu */
.vyplatnice_tb th, .vyplatnice_tb td {
    padding: 10px; /* Zvětšeno z 8px pro prostornější vzhled */
}

input[type="date"] {
    width: 140px; /* Zmenšeno z 200px pro lepší proporce */
}

/* Responzivita */
@media (max-width: 1400px) {
    .vyplatnice_tb {
        min-width: 100%;
        max-width: 100%;
    }
    .vyplatnice_tb th, .vyplatnice_tb td {
        padding: 6px;
    }
    input[type="date"] {
        width: 120px;
    }
    
}
.match-portal {
  margin: 0;
  min-height: 100dvh;
  background: var(--fotbal-bg);
  font-size: 16px;
}
.match-portal [hidden] {
  display: none !important;
}
.portal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px max(16px, calc((100% - 720px) / 2));
  background: var(--portal-surface);
  border-bottom: 3px solid var(--fotbal-accent);
}
.portal-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  color: var(--fotbal-text);
}
.portal-brand img {
  object-fit: contain;
}
.portal-main {
  width: min(100% - 32px, 720px);
  margin: 24px auto;
}
.portal-main h1 {
  font-size: 24px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.match-portal form {
  min-width: 0;
  margin: 0;
}
.match-portal input:not([type="checkbox"]):not([type="hidden"]),
.match-portal select,
.match-portal button,
.match-portal .submit {
  min-width: 0;
  min-height: 48px;
  font-size: 16px;
  margin: 0;
  max-width: 100%;
}
.match-portal input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]),
.match-portal select {
  width: 100%;
  padding: 10px 12px;
  text-align: left;
  border: 1px solid var(--fotbal-border-strong);
  border-radius: 6px;
  background: var(--portal-surface);
  box-shadow: none;
}
.match-portal input[type="submit"] {
  width: auto;
  cursor: pointer;
}
.match-portal input[type="checkbox"] {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  accent-color: var(--fotbal-primary);
  margin: 0;
}
.match-portal :focus-visible {
  outline: 3px solid var(--fotbal-primary);
  outline-offset: 3px;
}
.portal-period {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 100px) auto;
  align-items: end;
  gap: 12px;
  padding: 12px 0 24px;
}
.portal-period label,
.portal-search label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
}
.portal-match-list {
  border-top: 1px solid var(--fotbal-border-strong);
}
.portal-match {
  display: grid;
  grid-template-columns: 65px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 18px 8px;
  color: var(--fotbal-text);
  text-decoration: none;
  border-bottom: 1px solid var(--fotbal-border-strong);
}
.portal-match:visited {
  color: var(--fotbal-text);
}
.portal-match:hover {
  background: var(--portal-surface);
}
.portal-match time {
  font-weight: 700;
}
.portal-match-caption {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-wrap: anywhere;
}
.portal-match-status {
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.portal-match-status.is-saved {
  color: #21633b;
}
.portal-match-status.is-empty {
  color: #9a3d0b;
}
.portal-match-status.is-locked {
  color: #555;
}
.portal-back {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  margin-bottom: 12px;
}
.portal-match-date {
  margin-top: 0;
  color: #555;
}
.portal-search {
  margin: 20px 0 12px;
}
.portal-person {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 14px 12px;
  border-bottom: 1px solid var(--fotbal-border);
  background: var(--portal-surface);
  cursor: pointer;
}
.portal-person span {
  overflow-wrap: anywhere;
  min-width: 0;
}
.portal-person:has(input:checked) {
  background: #e6f4eb;
}
.portal-person:has(input:disabled) {
  cursor: default;
}
.portal-attendance {
  padding-bottom: calc(112px + env(safe-area-inset-bottom));
}
.portal-savebar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px max(16px, calc((100% - 720px) / 2)) calc(12px + env(safe-area-inset-bottom));
  background: var(--portal-surface);
  border-top: 1px solid var(--fotbal-border-strong);
}
.portal-offline {
  flex: 0 0 100%;
  color: #a00c0f;
}
.portal-auth {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 420px;
  padding: 16px 0;
}
.portal-auth > label:not(.portal-check) {
  font-weight: 600;
}
.portal-auth .submit {
  align-self: stretch;
}
.portal-check {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
}
.portal-empty {
  padding: 16px 0;
  color: #555;
}
@media (max-width: 420px) {
  .portal-period {
    grid-template-columns: minmax(0, 1fr) minmax(0, 90px);
  }
  .portal-period button {
    grid-column: 1 / -1;
  }
  .portal-match {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .portal-match-status {
    grid-column: 2;
    text-align: left;
  }
}
/* === Facelift 2026 (zachování barev, modernější vzhled) === */
:root {
  --portal-surface: #fff;
  --fotbal-bg: #EEF4FF;
  --fotbal-primary: #1E73BB;
  --fotbal-primary-hover: #155A94;
  --fotbal-accent: #FFC566;
  --fotbal-accent-hover: #AED7F9;
  --fotbal-header: #66B4F6;
  --fotbal-row-alt: #FFF9E8;
  --fotbal-border: #ddd;
  --fotbal-border-strong: #ccc;
  --fotbal-text: #333;
}

body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: var(--fotbal-text);
  background-color: var(--fotbal-bg);
}

h1, h2 {
  text-align: left;
  text-shadow: none;
  margin: 0 0 10px;
}

/* Nette shell */
.fotbal-admin-wrap {
  width: min(calc(100vw - 24px), 100%);
  max-width: none;
  margin: 0 auto;
  padding: 18px;
}

.fotbal-admin-top {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  z-index: 30;
  padding: 14px 14px;
  border: 1px solid var(--fotbal-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
}

.fotbal-admin-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.fotbal-admin-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.fotbal-admin-logo {
  height: 44px;
  width: auto;
  display: block;
}

.fotbal-admin-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.fotbal-admin-note {
  font-size: 13px;
  color: #666;
}

.fotbal-admin-userbar {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.userbar-logout-form {
  display: inline-flex;
  margin: 0;
}

.fotbal-admin-userbar-label {
  margin-right: 2px;
}

.fotbal-admin-userbar-identity {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.fotbal-admin-userbar-email {
  font-size: 12px;
}

.agreement-schedule-alert {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 320px;
  padding: 6px 10px;
  border: 1px solid #d69a21;
  border-radius: 6px;
  background: #fff3cd;
  color: #6d4b00;
  text-decoration: none;
  line-height: 1.25;
}

.agreement-schedule-alert:hover,
.agreement-schedule-alert:focus {
  background: #ffe8a3;
  color: #4f3600;
  text-decoration: none;
}

.agreement-schedule-alert-label {
  font-weight: 700;
  font-size: 13px;
}

.agreement-schedule-alert-detail {
  font-size: 12px;
  white-space: normal;
}

.fotbal-admin-year {
  margin: 0;
  min-width: 120px;
}

.fotbal-admin-year-row {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

hr {
  border: 0;
  border-top: 1px solid var(--fotbal-border);
  margin: 16px 0;
}

/* Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {
  border: 1px solid var(--fotbal-border-strong);
  border-radius: 8px;
  padding: 8px 10px;
  box-shadow: none;
  background: #fff;
  color: var(--fotbal-text);
}

/* Legacy CSS nastavuje globálně inputům malou šířku a centrování.
   Facelift to přepisuje na použitelnější defaulty (tabulky si šířky řeší inline nebo třídami). */
input {
  width: auto;
  min-width: 0;
  text-align: left;
  font: inherit;
}

input[type="number"] {
  text-align: right;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
}

/* V tabulkách chceme kompaktní vstupy a konzistentní výšku */
table input[type="text"],
table input[type="number"],
table select {
  padding: 6px 8px;
  border-radius: 8px;
  text-align: center;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

table input[type="date"] {
  text-align: center;
}

/* Placeholder a textarea */
input::placeholder,
textarea::placeholder {
  color: #8a8a8a;
}

textarea {
  min-height: 90px;
  resize: vertical;
}

/* Moderní checkboxy (mimo custom .form-container), zachování barev */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--fotbal-primary);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--fotbal-primary);
  box-shadow: 0 0 0 3px rgba(30, 115, 187, 0.18);
}

.content-narrow {
  width: min(520px, 100%);
  margin: 80px auto 0;
}

/* Tables */
table {
  border: 1px solid var(--fotbal-border);
  box-shadow: none;
  background: #fff;
}

td, th {
  border-color: var(--fotbal-border);
  padding: 8px 10px;
}

th {
  background-color: var(--fotbal-header);
  text-shadow: none;
}

tr:hover {
  background-color: #e9e9e9;
}

/* Menu */
.menu {
  margin: 12px 0 0;
  border: 1px solid var(--fotbal-primary);
  border-radius: 12px;
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
  overflow: visible;
  padding: 6px;
  gap: 6px;
  position: relative;
  z-index: 40;
}

.menu > li {
  border-radius: 10px;
}

.menu > li > a {
  border-radius: 10px;
}

.menu > li > a {
  padding: 12px 14px;
  cursor: pointer;
}

.menu > li > ul {
  border: 1px solid var(--fotbal-border-strong);
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
}

.menu li ul a {
  box-shadow: none;
}

.fotbal-shell-frame {
  display: block;
  width: 100%;
  min-height: 600px;
  border: 0;
  position: relative;
  z-index: 1;
}

.menu li a:hover {
  background-color: var(--fotbal-primary-hover);
}

.menu li ul li a:hover {
  background-color: var(--fotbal-accent-hover);
}

/* Fieldsets */
fieldset {
  border: 1px solid var(--fotbal-border);
  box-shadow: none;
  background: #fff;
}

/* Layout bloky */
.row {
  padding: 16px;
  border: 1px solid var(--fotbal-border);
  border-radius: 12px;
  background: #fff;
}

/* Výpisové stránky (Souhrn akcí, Výpisy, apod.) – vzhled jako fieldset/karta */
.vypis {
  padding: 16px;
  border: 1px solid var(--fotbal-border);
  border-radius: 12px;
  background: #fff;
}

/* Pokud je .vypis uvnitř .row (už je to karta), ať to není 'karta v kartě' */
.row .vypis {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Jednotný panel pro filtry/ovládací prvky (fieldset/legend) */
.page-panel {
  border: 1px solid var(--fotbal-border);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  margin: 10px 0 14px;
  box-shadow: none;
  width: 100%;
}

.page-panel legend {
  font-weight: 700;
  padding: 0 8px;
}

/* Flash messages (jedno místo v layoutu) */
.flash-messages {
  margin: 10px 0 14px;
}

.flash {
  border: 1px solid var(--fotbal-border);
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  margin: 8px 0;
}

.flash.success {
  border-color: #2e7d32;
  background: #e8f5e9;
  color: #1b5e20;
}

.flash.error {
  border-color: #c62828;
  background: #ffebee;
  color: #b71c1c;
}

.flash.warning {
  border-color: var(--fotbal-accent);
  background: var(--fotbal-row-alt);
  color: var(--fotbal-text);
}

/* Toast notifications (JS) */
.fotbal-toast-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: min(420px, calc(100vw - 28px));
  pointer-events: none;
}

.fotbal-toast {
  pointer-events: auto;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

/* Form rows (napříč stránkami) */
.form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0;
}

.form-row-stack {
  flex-direction: column;
  align-items: flex-start;
}

.form-row-center {
  justify-content: center;
}

.form-row-inline-center {
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}

.form-row-inline-center label {
  min-width: 92px;
  text-align: right;
}

.form-row-stack.form-row-center {
  align-items: center;
  text-align: center;
}

.form-row label {
  font-weight: 600;
}

.form-row-stack.form-row-center label {
  text-align: center;
}

.content-narrow .input-text-wide {
  max-width: 320px;
}

@media (max-width: 768px) {
  .form-row-inline-center {
    flex-wrap: wrap;
  }

  .form-row-inline-center label {
    min-width: 0;
    width: 100%;
    text-align: center;
  }
}

/* Karta pořadatele (Nette form default renderer = table) */
.poradatel-edit-shell {
  --poradatel-label-width: 180px;
  --poradatel-control-width: 1fr;
  --poradatel-grid-gap: 12px;
  --poradatel-fieldset-padding: 32px;
  width: min(1840px, calc(100vw - 48px));
  max-width: calc(100vw - 48px);
  margin: 0 auto;
}

.poradatel-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 16px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.poradatel-back-row {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.poradatel-form-grid {
  display: grid;
  grid-template-columns: minmax(126px, 0.46fr) minmax(160px, 0.54fr);
  gap: 8px 10px;
  align-items: start;
}

.poradatel-form-pair {
  display: contents;
}

.poradatel-form-label {
  font-weight: 600;
  align-self: start;
  padding-top: 8px;
  line-height: 1.25;
}

.poradatel-form-control {
  min-width: 0;
}

.poradatel-form-help {
  margin-top: 4px;
  color: #5f6b7a;
  display: block;
}

.poradatel-form-error {
  margin-top: 4px;
  color: #b00020;
  font-weight: 600;
}

.poradatel-form fieldset {
  border: 1px solid var(--fotbal-border);
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  text-align: left;
  box-shadow: none;
}

.poradatel-form-section-primary {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.poradatel-form-section-primary,
.poradatel-form-section-dotaznik,
.poradatel-form-section-team-assignments,
.poradatel-form-section-actions {
  grid-column: 1 / -1;
}

.poradatel-form-section-primary .poradatel-form-grid,
.poradatel-form-section-contact .poradatel-form-grid,
.poradatel-form-section-delivery-contact .poradatel-form-grid,
.poradatel-form-section-work .poradatel-form-grid,
.poradatel-form-section-bank .poradatel-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px 18px;
}

.poradatel-form-section-primary .poradatel-form-pair,
.poradatel-form-section-contact .poradatel-form-pair,
.poradatel-form-section-delivery-contact .poradatel-form-pair,
.poradatel-form-section-work .poradatel-form-pair,
.poradatel-form-section-bank .poradatel-form-pair {
  display: block;
  min-width: 0;
}

.poradatel-form-section-primary .poradatel-form-label,
.poradatel-form-section-contact .poradatel-form-label,
.poradatel-form-section-delivery-contact .poradatel-form-label,
.poradatel-form-section-work .poradatel-form-label,
.poradatel-form-section-bank .poradatel-form-label {
  display: block;
  padding-top: 0;
  margin-bottom: 5px;
}

.poradatel-form-section-primary .poradatel-form-control,
.poradatel-form-section-contact .poradatel-form-control,
.poradatel-form-section-delivery-contact .poradatel-form-control,
.poradatel-form-section-work .poradatel-form-control,
.poradatel-form-section-bank .poradatel-form-control {
  display: block;
}

.poradatel-form-section-primary .poradatel-form-control input,
.poradatel-form-section-primary .poradatel-form-control select,
.poradatel-form-section-contact .poradatel-form-control input,
.poradatel-form-section-contact .poradatel-form-control select,
.poradatel-form-section-delivery-contact .poradatel-form-control input,
.poradatel-form-section-delivery-contact .poradatel-form-control select,
.poradatel-form-section-work .poradatel-form-control input,
.poradatel-form-section-work .poradatel-form-control select,
.poradatel-form-section-bank .poradatel-form-control input,
.poradatel-form-section-bank .poradatel-form-control select {
  width: 100%;
}

.poradatel-form-section-dotaznik .poradatel-form-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px 18px;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  align-items: start;
}

.poradatel-form-section-dotaznik .poradatel-form-pair {
  display: block;
  min-width: 0;
}

.poradatel-form-section-dotaznik .poradatel-form-label {
  display: block;
  padding-top: 0;
  margin-bottom: 5px;
  font-size: 0.92rem;
  text-align: center;
}

.poradatel-form-section-dotaznik .poradatel-form-control {
  display: block;
}

.poradatel-form-section-dotaznik .poradatel-form-control input,
.poradatel-form-section-dotaznik .poradatel-form-control select,
.poradatel-form-section-dotaznik .poradatel-form-control textarea {
  width: 100%;
}

.poradatel-form .poradatel-form-pair:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 8px;
}

.poradatel-form .poradatel-form-pair:has(input[type="checkbox"]) .poradatel-form-label {
  order: 2;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  min-height: 34px;
  text-align: left;
  line-height: 1.3;
}

.poradatel-form .poradatel-form-pair:has(input[type="checkbox"]) .poradatel-form-control {
  order: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  min-height: 24px;
}

.poradatel-form .poradatel-form-pair:has(input[type="checkbox"]) input[type="checkbox"] {
  width: auto;
  min-width: 0;
  margin: 5px;
  flex: 0 0 auto;
}

.poradatel-questionnaire-section-title {
  grid-column: 1 / -1;
  margin-top: 4px;
  text-align: left;
}

.poradatel-questionnaire-section-title:first-child {
  margin-top: 0;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="pohlavi"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="druh_pobytu_cr"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="doklad_typ"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="doklad_cislo"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="vzdelani_cz_isced"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has(#obor-vzdelani-lookup),
.poradatel-form-section-dotaznik .poradatel-form-pair:has(#obor-vzdelani-code),
.poradatel-form-section-dotaznik .poradatel-form-pair:has(#obor-vzdelani-name),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="pece_o_osobu"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="pocet_deti"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="udaje_o_detach"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="udaje_manzel"]) {
  grid-column: span 3;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="doklad_stat_vydani"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="doklad_organ_vydani"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="doklad_platnost"]) {
  grid-column: span 4;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="misto_studia"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="vzdelani_rok_ukonceni"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_student"]) {
  grid-column: span 4;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has(#obor-vzdelani-lookup) {
  position: relative;
}

.obor-vzdelani-suggestions {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}

.obor-vzdelani-suggestion {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  color: #0f172a;
  text-align: left;
  cursor: pointer;
}

.obor-vzdelani-suggestion:last-child {
  border-bottom: 0;
}

.obor-vzdelani-suggestion:hover,
.obor-vzdelani-suggestion:focus {
  background: #eef6ff;
}

.obor-vzdelani-suggestion-main {
  font-weight: 600;
}

.obor-vzdelani-suggestion-detail {
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_duchodce_od"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_duchodce_predcasny"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_duchodce_snizeny_vek"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_ozp_ozz"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="ztp_karta"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="stupen_invalidity"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="invalidita_datum"]),
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="invalidita_do"]) {
  grid-column: span 2;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="invalidita_rozhodnuti"]) {
  grid-column: span 8;
}

.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_student"]) .poradatel-form-control,
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_duchodce_predcasny"]) .poradatel-form-control,
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="status_duchodce_snizeny_vek"]) .poradatel-form-control,
.poradatel-form-section-dotaznik .poradatel-form-pair:has([name="ztp_karta"]) .poradatel-form-control {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-height: 24px;
}

.poradatel-form-section-contexts {
  background: linear-gradient(180deg, #fffdf4 0%, #fff8df 100%);
  border-color: #d8c989;
}

.poradatel-form-section-team-assignments {
  background: linear-gradient(180deg, #fffdf4 0%, #fff8df 100%);
  border-color: #d8c989;
}

.poradatel-form-section-team-assignments .poradatel-form-grid {
  display: grid;
  grid-template-columns: minmax(160px, 0.35fr) minmax(220px, 0.65fr);
  gap: 10px 14px;
  align-items: start;
}

.poradatel-form-section-team-assignments .poradatel-form-grid.is-invoice-grouped {
  display: block;
}

.poradatel-form-section-team-assignments .poradatel-form-grid > .poradatel-form-pair {
  display: block;
  min-width: 0;
}

.poradatel-form-section-team-assignments .poradatel-form-grid > .poradatel-form-pair:nth-child(odd) {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 8px;
}

.poradatel-form-section-team-assignments .poradatel-form-grid > .poradatel-form-pair:nth-child(odd) .poradatel-form-label {
  order: 2;
  padding-top: 0;
  margin: 0;
}

.poradatel-form-section-team-assignments .poradatel-form-grid > .poradatel-form-pair:nth-child(odd) .poradatel-form-control {
  order: 1;
  display: flex;
  align-items: center;
}

.poradatel-form-section-team-assignments .poradatel-form-grid > .poradatel-form-pair:nth-child(even) .poradatel-form-label {
  display: none;
}

.poradatel-team-assignment-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 18px;
  align-items: start;
}

.poradatel-team-assignment-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.poradatel-team-assignment-column-title {
  font-weight: 700;
  color: #243447;
  padding: 6px 8px;
  background: #f6f8fb;
  border-bottom: 1px solid var(--fotbal-border);
  border-radius: 6px 6px 0 0;
}

.poradatel-team-assignment-row {
  display: grid;
  grid-template-columns: 150px minmax(180px, 1fr);
  gap: 10px;
  align-items: center;
}

.poradatel-team-assignment-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-top: 0;
}

.poradatel-team-assignment-toggle .poradatel-form-label {
  order: 2;
  padding-top: 0;
  margin: 0;
  font-weight: 600;
  min-width: 0;
}

.poradatel-team-assignment-toggle .poradatel-form-control {
  order: 1;
  display: flex;
  align-items: center;
}

.poradatel-team-assignment-post .poradatel-form-label {
  display: none;
}

.poradatel-team-assignment-post .poradatel-form-control {
  display: block;
}

.poradatel-team-assignment-post select {
  width: 100%;
}

.poradatel-team-assignment-post .poradatel-team-post-select:disabled {
  opacity: 0.65;
}

.poradatel-form-section-contexts .poradatel-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.poradatel-form-section-contexts .poradatel-form-pair {
  display: block;
  min-width: 0;
}

.poradatel-form-section-contexts .poradatel-form-label {
  display: block;
  padding-top: 0;
  margin-bottom: 6px;
}

.poradatel-form-section-contexts .poradatel-form-control {
  display: block;
}

.poradatel-form-section-teams {
  background: linear-gradient(180deg, #fbfcff 0%, #f1f5fb 100%);
}

.poradatel-form-section-teams .poradatel-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px 16px;
}

.poradatel-form-section-teams .poradatel-form-pair {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.poradatel-form-section-teams .poradatel-form-label {
  order: 2;
  padding-top: 0;
  font-weight: 600;
}

.poradatel-form-section-teams .poradatel-form-control {
  order: 1;
  display: flex;
  align-items: center;
}

.poradatel-form fieldset + fieldset {
  margin-top: 0;
}

.poradatel-form-section-actions {
  padding-top: 12px;
}

.poradatel-form-section-actions .poradatel-form-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.poradatel-form-section-actions .poradatel-form-pair {
  display: contents;
}

.poradatel-form-section-actions .poradatel-form-label {
  display: none;
}

.poradatel-form-section-actions .poradatel-form-control {
  display: flex;
  flex-wrap: wrap;
}

.poradatel-form-section-contexts .poradatel-context-select {
  max-width: none;
}

.poradatel-form-section-teams .checkbox {
  margin: 0;
}

@media (max-width: 860px) {
  .poradatel-edit-shell {
    width: min(100%, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
  }

  .poradatel-form {
    grid-template-columns: 1fr;
  }

  .poradatel-form-grid,
  .poradatel-form-section-primary .poradatel-form-grid,
  .poradatel-form-section-contact .poradatel-form-grid,
  .poradatel-form-section-delivery-contact .poradatel-form-grid,
  .poradatel-form-section-work .poradatel-form-grid,
  .poradatel-form-section-bank .poradatel-form-grid {
    grid-template-columns: 1fr;
  }

  .poradatel-form-pair,
  .poradatel-form-section-primary .poradatel-form-pair,
  .poradatel-form-section-contact .poradatel-form-pair,
  .poradatel-form-section-delivery-contact .poradatel-form-pair,
  .poradatel-form-section-work .poradatel-form-pair,
  .poradatel-form-section-bank .poradatel-form-pair {
    display: block;
  }

  .poradatel-form-label {
    padding-top: 0;
    margin-bottom: 5px;
  }
}

/* Ve frame (iframe) stránkách držet ovládací fieldsety příjemně uprostřed */
.frame-page .page-panel {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.page-panel.page-panel-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.page-panel.page-panel-table > form {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.page-panel.page-panel-table > form > .table-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

.page-panel.page-panel-table > table,
.page-panel.page-panel-table > .table-responsive > table,
.page-panel.page-panel-table > form > table,
.page-panel.page-panel-table > form > .table-wrapper > table {
  width: 100%;
  min-width: 100%;
}

.page-panel.page-panel-table > form > .table-wrapper > #data-table,
.page-panel.page-panel-table > form > .table-wrapper > .prezence-table,
.page-panel.page-panel-table > form > .table-wrapper > .vyplatnice-table {
  width: 100%;
  min-width: 100%;
}

#data-table .table-col-person,
#data-table .table-col-post,
.prezence-table .table-col-person,
.prezence-table .table-col-post,
.vyplatnice-table .table-col-person,
.vyplatnice-table .table-col-post {
  overflow-wrap: anywhere;
}

.poradatel-form legend {
  font-size: 18px;
  font-weight: 700;
  padding: 0 8px;
}

.poradatel-form .checkbox {
  width: auto;
  min-width: 0;
  margin: 2px 8px 2px 2px;
}

.poradatel-form .button,
.poradatel-form .imagebutton {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.poradatel-form table {
  width: 100%;
  border: 0;
  box-shadow: none;
  background: transparent;
  margin: 0;
}

.poradatel-form th,
.poradatel-form td {
  border: 0;
  padding: 8px 6px;
  vertical-align: top;
}

.poradatel-form th {
  width: 220px;
  text-align: left;
  background: transparent;
  text-shadow: none;
  font-weight: 600;
}

.poradatel-form input[type="text"],
.poradatel-form input[type="email"],
.poradatel-form input[type="date"],
.poradatel-form select,
.poradatel-form textarea {
  width: 100%;
  max-width: 420px;
}

.poradatel-form .submit {
  margin: 4px 8px 4px 0;
}

.dotaznik-email-editor {
  margin-top: 12px;
}

.dotaznik-email-editor .poradatel-form-label {
  display: block;
  padding-top: 0;
  margin-bottom: 8px;
}

.dotaznik-email-editor-input {
  width: 100%;
  max-width: none;
  min-height: 260px;
  box-sizing: border-box;
}

.dotaznik-email-subject-input {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.poradatel-form-section-actions .submit {
  margin: 4px;
}

@media (max-width: 768px) {
  .poradatel-form-grid {
    grid-template-columns: 1fr;
  }

  .poradatel-form-section-team-assignments .poradatel-form-grid {
    display: flex;
    flex-direction: column;
  }

  .poradatel-team-assignment-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .poradatel-team-assignment-toggle {
    padding-top: 0;
  }

  .poradatel-form-section-contexts .poradatel-form-grid {
    grid-template-columns: 1fr;
  }

  .poradatel-form-section-teams .poradatel-form-grid {
    grid-template-columns: 1fr;
  }

  .poradatel-form-label {
    margin-bottom: -6px;
  }

  .poradatel-form th {
    width: auto;
    display: block;
    padding-bottom: 2px;
  }
  .poradatel-form td {
    display: block;
    padding-top: 0;
  }
}

/* Původní CSS dává selectům velké marginy/min-width; facelift to zklidní */
select {
  margin: 0;
  min-width: 180px;
}

/* Tables – jednotný modernější vzhled */
table {
  width: 100%;
}

/* --- Responsivita: přetékající tabulky/obsah ---
   Některé stránky používají tabulky s min-width (např. .vyplatnice_tb).
   Na mobilu/tabletu je lepší mít horizontální scroll uvnitř obsahu než rozbíjet layout. */
.content,
.vypis,
.main_table,
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.content table,
.vypis table,
.main_table table {
  max-width: 100%;
}

@media (max-width: 1180px) {
  .tablet-stack-page form,
  .tablet-stack-form,
  .tablet-stack-page .page-panel-form,
  .tablet-stack-page .page-panel-form-inline {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .tablet-stack-page .page-panel-form-inline {
    align-items: stretch;
  }

  .tablet-stack-page .page-panel-form-inline .inline-field,
  .tablet-stack-page .page-panel-form-inline .inline-actions {
    width: 100%;
  }

  .tablet-stack-page .page-panel-form-inline .inline-field select,
  .tablet-stack-page .page-panel-form-inline .inline-field input[type="date"],
  .tablet-stack-page .page-panel-form-inline .inline-field input[type="text"],
  .tablet-stack-page .page-panel-form-inline .inline-field input[type="number"] {
    width: 100%;
    min-width: 0;
  }

  .tablet-stack-page .page-panel.page-panel-table {
    overflow-x: visible;
  }

  .tablet-stack-page .page-panel.page-panel-table > table,
  .tablet-stack-page .page-panel.page-panel-table > .table-responsive > table {
    width: 100%;
    min-width: 0;
  }

  .tablet-stack-page .tablet-stack-table {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    table-layout: auto;
  }

  .tablet-stack-page .tablet-stack-table th,
  .tablet-stack-page .tablet-stack-table td {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding: 8px 10px;
    vertical-align: middle;
  }

  .tablet-stack-page .tablet-stack-table td::before {
    content: none;
  }

  .tablet-stack-page .tablet-stack-table td a,
  .tablet-stack-page .tablet-stack-table th a,
  .tablet-stack-page .tablet-stack-table .table-person-link,
  .tablet-stack-page .tablet-stack-table .table-person-text {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .tablet-stack-page .tablet-stack-table tr.selection-toolbar-row {
    display: table-row;
  }

  .tablet-stack-page .tablet-stack-table tr.selection-toolbar-row th,
  .tablet-stack-page .tablet-stack-table tr.selection-toolbar-row td {
    padding: 10px;
  }

  .tablet-stack-page .tablet-stack-table .table-col-person,
  .tablet-stack-page .tablet-stack-table .table-col-email,
  .tablet-stack-page .tablet-stack-table .table-col-address,
  .tablet-stack-page .tablet-stack-table .table-col-phone {
    min-width: 0;
    width: auto;
  }

  .tablet-stack-page .tablet-stack-table .table-col-index,
  .tablet-stack-page .tablet-stack-table .table-col-status,
  .tablet-stack-page .tablet-stack-table .table-col-actions,
  .tablet-stack-page .tablet-stack-table .table-col-compact {
    width: 1%;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }

  .tablet-stack-page .tablet-stack-table .table-actions-inline,
  .tablet-stack-page .tablet-stack-table .checkbox-wrapper {
    justify-content: center;
    margin: 0;
  }

  .tablet-stack-page .tablet-stack-table .table-col-status,
  .tablet-stack-page .tablet-stack-table .table-col-actions,
  .tablet-stack-page .tablet-stack-table .table-cell-center {
    text-align: center;
  }

  .tablet-stack-page .tablet-stack-table input[type="checkbox"] {
    width: auto;
  }

  .tablet-stack-page .tablet-stack-table .table-action-button {
    white-space: normal;
  }

  .tablet-stack-page .tablet-stack-table thead th:not(.table-col-index):not(.table-col-status):not(.table-col-actions):not(.table-col-compact),
  .tablet-stack-page .tablet-stack-table tbody td:not(.table-col-index):not(.table-col-status):not(.table-col-actions):not(.table-col-compact) {
    width: auto;
  }

  .tablet-stack-page .tablet-stack-table .selection-toolbar {
    justify-content: space-between;
    width: 100%;
  }

  .tablet-stack-page .tablet-stack-table .selection-toolbar label {
    white-space: normal;
  }
}

@media (max-width: 768px) {
  .fotbal-admin-wrap {
    padding: 12px;
  }

  .fotbal-admin-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .fotbal-admin-top-actions {
    width: 100%;
    align-items: flex-start;
  }

  .fotbal-admin-year-row {
    justify-content: flex-start;
  }

  .fotbal-admin-year {
    margin-left: 0;
  }

  /* Menu necháme funkčně stejné, jen mu dovolíme zalomení/scroll na úzkých displejích */
  .menu {
    flex-wrap: wrap;
  }
}

table caption {
  font-size: 14px;
  padding: 10px 10px 8px;
  text-align: left;
}

table tbody tr:nth-child(odd) {
  background: #fff;
}

table tbody tr:nth-child(even) {
  background: var(--fotbal-row-alt);
}

/* Zachovat explicitní zvýraznění řádků */
tr.marked_radek {
  background-color: #E37C7E;
}

tr.marked {
  background-color: #FFB3B5;
}

/* Links (mimo menu vypadají moderněji) */
a {
  color: var(--fotbal-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Buttons (sjednocení) */
.submit,
.button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: var(--fotbal-primary);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  min-width: 0;
  box-shadow: none;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.submit:hover,
.button:hover {
  background-color: var(--fotbal-primary-hover);
  transform: translateY(-1px);
}

.submit:active,
.button:active {
  transform: translateY(0px);
}

.submit:focus-visible,
.button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(30, 115, 187, 0.22);
}

.submit.is-secondary,
.button.is-secondary {
  background-color: #fff;
  color: var(--fotbal-primary);
  border: 1px solid var(--fotbal-border-strong);
  box-shadow: inset 0 0 0 1px rgba(30, 115, 187, 0.06);
}

.submit.is-secondary:hover,
.button.is-secondary:hover {
  background-color: #eef5fb;
  color: var(--fotbal-primary-hover);
}

.submit.is-secondary:focus-visible,
.button.is-secondary:focus-visible {
  box-shadow: 0 0 0 3px rgba(30, 115, 187, 0.18);
}

.profile-page {
  max-width: 920px;
}

.profile-panel {
  max-width: 920px;
}

.profile-meta {
  display: flex;
  gap: 10px 18px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  color: #4d4d4d;
}

.profile-form {
  width: 100%;
  min-width: 0;
}

.profile-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin-bottom: 16px;
}

.profile-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.profile-form-field-full {
  grid-column: 1 / -1;
}

.profile-form-field input {
  width: 100%;
}

.profile-form-field input.is-readonly {
  background: #f1f4f8;
  color: #5a5a5a;
  cursor: default;
}

.profile-form-help {
  font-size: 12px;
  color: #666;
  line-height: 1.35;
}

.profile-password-heading {
  font-weight: 700;
  margin: 10px 0 12px;
}

.profile-form-note {
  margin: 0 0 16px;
}

.profile-form-actions {
  display: flex;
  justify-content: flex-start;
}

.profile-form-errors {
  border: 1px solid #c62828;
  background: #ffebee;
  color: #b71c1c;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 16px;
}

.profile-form-errors > div + div {
  margin-top: 4px;
}

.error-message-block {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .profile-form-grid {
    grid-template-columns: 1fr;
  }

  .profile-form-field-full {
    grid-column: auto;
  }
}

/* Links v menu – lepší focus pro klávesnici */
.menu a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(30, 115, 187, 0.22);
}
