.brand img {
  width: auto;
  max-width: 245px;
  height: 48px;
  max-height: none;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.brand {
  height: 70px;
  overflow: visible;
  padding: 8px 0;
}

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

.row-actions form { margin: 0; }
.row-actions button { padding: 7px 10px; font-size: 11px; }
.row-actions .edit { color: #245ac9; background: #e8f1ff; }
.row-actions .delete { color: #b42318; background: #feeceb; }

.member-tools {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto 190px auto;
  gap: 14px;
  align-items: center;
  padding: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid #d9e3f2;
  border-radius: 15px;
  box-shadow: 0 10px 28px rgba(35,61,111,.05);
}

.member-tools input,.member-tools select {
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid #d4deed;
  border-radius: 9px;
  background: #fff;
}

.member-total { color: #71809c; font-size: 12px; white-space: nowrap; }
.members-page { margin-top: 20px; }
.email-cell { display: block; margin-top: 4px; color: #71809c; }
.dashboard-card { min-height: 220px; }
.dashboard-card p { color: #71809c; }

.team-picker {
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #d4deed;
  border-radius: 10px;
  background: #f8fbff;
}

.team-picker legend { padding: 0 7px; color: #172847; font-weight: 700; }
.team-picker p { margin: 2px 0; color: #71809c; font-size: 13px; }
.team-option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0;
  padding: 10px;
  border: 1px solid #e1e8f4;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.team-option input { width: auto; margin: 0; accent-color: #2563eb; }
.team-option b,.team-option small { display: block; }
.team-option small { margin-top: 2px; color: #71809c; }

.team-banner {
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid #d9e3f2;
  border-radius: 15px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 28px rgba(35,61,111,.05);
}
.team-banner-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; }
.team-banner-heading h2 { margin: 0; font-size: 18px; color: #172847; }
.team-banner-heading span { display: block; margin-top: 3px; color: #71809c; font-size: 13px; }
.team-banner-heading > a { padding: 9px 12px; border: 1px solid #d4deed; border-radius: 8px; color: #245ac9; font-size: 13px; font-weight: 700; text-decoration: none; background: #fff; }
.team-banner-heading > a.active { color: #fff; background: #245ac9; border-color: #245ac9; }
.team-cards { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 2px; }
.team-cards > p { margin: 4px 0; color: #71809c; }
.team-card { box-sizing: border-box; width: 126px; min-width: 126px; min-height: 105px; padding: 12px; border: 1px solid #dce5f2; border-radius: 10px; color: #172847; text-decoration: none; background: #f8fbff; transition: .15s ease; }
.team-card:hover,.team-card.active { border-color: #2563eb; background: #edf4ff; box-shadow: 0 6px 18px rgba(37,99,235,.12); }
.team-card strong,.team-card small,.team-card b { display: block; }
.team-card small { margin-top: 4px; color: #71809c; }
.team-card b { margin-top: 10px; color: #245ac9; font-size: 12px; }
.team-order-cell { color: #245ac9; font-weight: 800; text-align: center; }

.account-menu { position: relative; }
.user-badge { border: 2px solid #2563eb; background: #fff; cursor: pointer; }
.account-popover {
  position: absolute;
  z-index: 20;
  top: calc(100% + 12px);
  right: 0;
  width: 250px;
  padding: 18px;
  border: 1px solid #d9e3f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(23,40,71,.18);
}
.account-popover small,.account-popover strong,.account-popover em { display: block; }
.account-popover small { color: #71809c; }
.account-popover strong { margin: 12px 0; color: #172847; }
.account-popover button { display: block; width: 100%; margin: 0; padding: 10px 0; color: #245ac9; text-align: left; background: transparent; }
.account-popover button.logout { color: #c23a31; }
.account-popover a.logout { display: block; padding: 10px 0; color: #c23a31; text-decoration: none; }
.account-popover hr { margin: 10px 0; border: 0; border-top: 1px solid #d9e3f2; }
.account-popover em { color: #71809c; font-size: 12px; font-style: normal; }
aside footer { display: none; }

/* Sidebar όπως στο CRM: το μενού έχει δική του κύλιση και δεν κρύβει επιλογές σε χαμηλές οθόνες. */
aside { padding: 18px 16px; overflow: hidden; }
aside .brand, aside .club { flex: 0 0 auto; }
aside nav { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; gap: 4px; padding: 2px 8px 18px 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #7186ad transparent; scrollbar-width: thin; }
aside nav::-webkit-scrollbar { width: 8px; }
aside nav::-webkit-scrollbar-track { background: transparent; }
aside nav::-webkit-scrollbar-thumb { border: 2px solid var(--navy); border-radius: 8px; background: #7186ad; }
aside nav > a { flex: 0 0 auto; padding: 12px 14px; font-size: 15px; }

aside nav a { display: block; }
aside nav a::before, aside nav a.selected::before { content: none !important; display: none; }
aside nav a.selected::after { content: ""; position: absolute; top: 11px; bottom: 11px; left: 0; width: 3px; border-radius: 3px; background: #819cff; }

.management-nav { flex: 0 0 auto; margin-top: 8px; border-radius: 10px; }
.management-nav > button { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 12px 14px; border: 0; border-left: 3px solid transparent; border-radius: 9px; color: #fff; font: inherit; font-size: 15px; font-weight: 600; text-align: left; background: transparent; cursor: pointer; }
.management-nav > button::before { content: none; display: none; }
.management-nav > button span { margin-left: auto; }
.management-nav.open > button { border-left-color: #78a4ff; background: rgba(120,164,255,.18); }
.management-subnav { display: none; margin: 7px 0 5px 18px; padding: 0 0 0 18px; border-left: 1px solid #435577; }
.management-nav.open .management-subnav { display: grid; gap: 2px; }
.management-subnav a { position: relative; padding: 9px 10px; border-radius: 8px; color: #d7e1f4; font-size: 14px; text-decoration: none; }
.management-subnav a.selected,.management-subnav a:hover { color: #fff; background: rgba(120,164,255,.18); }

.schedule-nav { flex: 0 0 auto; margin: 0; border-radius: 10px; }
.schedule-nav > button { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 12px 14px; border: 0; border-left: 3px solid transparent; border-radius: 9px; color: #fff; font: inherit; font-size: 15px; font-weight: 600; text-align: left; background: transparent; cursor: pointer; }
.schedule-nav.open > button { border-left-color: #78a4ff; background: rgba(120,164,255,.18); }
.schedule-subnav { display: none; margin: 7px 0 5px 18px; padding: 0 0 0 18px; border-left: 1px solid #435577; }
.schedule-nav.open .schedule-subnav { display: grid; gap: 2px; }
.schedule-subnav a { position: relative; padding: 9px 10px; border-radius: 8px; color: #d7e1f4; font-size: 14px; text-decoration: none; }
.schedule-subnav a.selected,.schedule-subnav a:hover { color: #fff; background: rgba(120,164,255,.18); }

/* Μεγαλύτερη και πιο άνετη τυπογραφία στο περιεχόμενο — το sidebar παραμένει compact. */
main { font-size: 16px; }
main header h1 { font-size: 32px; }
main header span { font-size: 16px; }
main .panel h2 { font-size: 21px; }
main .panel-heading span,main .stats small { font-size: 14px; }
main table { font-size: 15px; }
main th { font-size: 11px; }
main label { font-size: 13px; }
main input,main select,main textarea,main button { font-size: 15px; }
main .empty { font-size: 15px; }

.finance-actions { display: flex; gap: 12px; margin-bottom: 18px; }
.finance-actions .secondary,.row-actions .pay { color: #1b8b5a; background: #e8f7ef; }
.finance-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.balance-due { color: #c23a31; font-weight: 800; }
.balance-clear { color: #1b8b5a; font-weight: 800; }
.recent-payments { margin-top: 20px; }
.finance-error { margin-bottom: 16px; padding: 13px 15px; border: 1px solid #f3c8c5; border-radius: 10px; color: #a62720; background: #fff5f4; }
.fee-settings { margin-bottom: 20px; }
.fee-team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.team-fee-form { padding: 14px; border: 1px solid #dce5f2; border-radius: 10px; background: #f8fbff; }
.team-fee-form strong { display: block; margin-bottom: 10px; color: #172847; }
.team-fee-form small { display: block; margin: -4px 0 10px; color: #71809c; }
.team-fee-form label { font-size: 12px; color: #71809c; }
.team-fee-form input { box-sizing: border-box; width: 100%; margin: 5px 0 10px; }
.team-fee-form .save { width: 100%; padding: 9px; }
.dialog-hint { padding: 10px; border-radius: 8px; color: #245ac9; background: #edf4ff; }

.schedule-create { margin-bottom: 20px; }
.schedule-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; }
.schedule-form label { display: grid; gap: 6px; }
.schedule-form input,.schedule-form select { width: 100%; margin: 0; padding: 10px; border: 1px solid #d4deed; border-radius: 8px; background: #fff; font: inherit; }
.schedule-form .save { align-self: end; margin: 0; }
.schedule-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; align-items: start; }
.schedule-day { min-height: 148px; margin: 0; padding: 18px; }
.schedule-day h2 { margin: 0 0 14px; font-size: 17px; color: #172847; }
.schedule-empty { margin: 0; color: #71809c; font-size: 13px; }
.training-item { display: flex; justify-content: space-between; gap: 10px; padding: 12px 0; border-top: 1px solid #e1e8f4; }
.training-item:first-of-type { border-top: 0; padding-top: 0; }
.training-item strong,.training-item b,.training-item span,.training-item small { display: block; }
.training-item strong { color: #245ac9; font-size: 13px; }
.training-item b { margin-top: 4px; color: #172847; font-size: 14px; }
.training-item span,.training-item small { margin-top: 3px; color: #71809c; font-size: 12px; }
.training-item form { padding: 0; }
.training-item .delete { padding: 4px 8px; color: #b42318; background: #feeceb; font-size: 16px; }

@media (max-width: 700px) {
  .finance-stats { grid-template-columns: 1fr; }
  .finance-actions { flex-direction: column; }
  .schedule-form { grid-template-columns: 1fr; }
}

.login-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: #eef3fc; }
.login-card { width: min(100%, 420px); padding: 34px; border: 1px solid #d9e3f2; border-radius: 18px; background: #fff; box-shadow: 0 20px 50px rgba(23,40,71,.14); }
.login-card > img { display: block; width: 210px; height: auto; margin: 0 auto 26px; filter: none; }
.login-card h1 { margin: 0; color: #172847; font-size: 25px; }
.login-card p { margin: 10px 0 24px; color: #71809c; line-height: 1.5; }
.login-card label { display: block; margin-top: 15px; color: #172847; font-weight: 700; }
.login-card input { box-sizing: border-box; width: 100%; margin-top: 7px; }
.login-card .save { width: 100%; margin-top: 24px; }
.login-error { margin: 14px 0; padding: 11px; border-radius: 8px; color: #a62720; background: #fff0ef; }

@media (max-width: 900px) {
  .member-tools { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .member-tools { grid-template-columns: 1fr; }
  .row-actions { min-width: 190px; }
  .team-banner-heading { align-items: flex-start; flex-direction: column; }
}
