/* Изолированные стили модуля управления клубами */
.club-manager-owner,
.club-manager-manage {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #efede4;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

.club-manager-loading,
.club-manager-error,
.club-manager-suspended {
  padding: 2rem;
  text-align: center;
  background: #102a34;
  border-radius: 8px;
  margin: 1rem;
}

.club-manager-error {
  color: #ffc3b8;
}

.club-manager-section {
  background: #102a34;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.club-manager-section h3 {
  margin-top: 0;
  color: #e2b86b;
  border-bottom: 2px solid #e2b86b;
  padding-bottom: 0.5rem;
}

/* Заявки */
.club-manager-apps {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.club-manager-app-card,
.club-manager-club-card {
  background: #142f3a;
  border: 1px solid #536e7a;
  border-radius: 6px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.club-manager-app-user {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.club-manager-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.club-manager-app-status,
.club-manager-status {
  font-size: 0.9rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: #264956;
}

.club-manager-status-active {
  background: #173d35;
  color: #b5e5c8;
}

.club-manager-status-suspended {
  background: #48272e;
  color: #ffc3b8;
}

.club-manager-app-actions,
.club-manager-club-actions,
.club-manager-venue-actions,
.club-manager-form-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.club-manager-history {
  margin-top: 1rem;
}

.club-manager-history summary {
  cursor: pointer;
  color: #e2b86b;
  font-weight: 600;
}

/* Клубы */
.club-manager-clubs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

.club-manager-club-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.club-manager-club-url {
  color: #acc5ce;
  word-break: break-all;
}

.club-manager-members ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.club-manager-members li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* Управление клубом */
.club-manager-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.club-manager-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  border-bottom: 2px solid #e2b86b;
  margin-bottom: 1rem;
}

.club-manager-tabs button {
  background: none;
  border: none;
  padding: 0.75rem 1.25rem;
  cursor: pointer;
  font-size: 1rem;
  color: #efede4;
  border-radius: 6px 6px 0 0;
  transition: background 0.2s;
}

.club-manager-tabs button[aria-selected="true"] {
  background: #e2b86b;
  color: #102a34;
}

.club-manager-tabs button:focus-visible,
.club-manager-actions button:focus-visible,
.club-manager-form button:focus-visible,
.club-manager-form input:focus-visible,
.club-manager-form select:focus-visible,
.club-manager-form textarea:focus-visible {
  outline: 2px solid #e2b86b;
  outline-offset: 2px;
}

.club-manager-tab-content {
  background: #102a34;
  border-radius: 0 0 8px 8px;
  padding: 1rem;
}

/* Формы */
.club-manager-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
}

.club-manager-form label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-weight: 500;
}

.club-manager-form input,
.club-manager-form select,
.club-manager-form textarea {
  padding: 0.5rem;
  border: 1px solid #536e7a;
  border-radius: 4px;
  font-size: 1rem;
  background: #142f3a;
  color: #efede4;
}

.club-manager-form textarea {
  resize: vertical;
}

.club-manager-form-errors {
  color: #ffc3b8;
  font-size: 0.9rem;
}

.club-manager-form-actions button,
.club-manager-actions button,
.club-manager-club-actions button,
.club-manager-venue-actions button,
.club-manager-app-actions button {
  padding: 0.5rem 1rem;
  background: #e2b86b;
  color: #102a34;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background 0.2s;
}

.club-manager-form-actions button:hover,
.club-manager-actions button:hover,
.club-manager-club-actions button:hover,
.club-manager-venue-actions button:hover,
.club-manager-app-actions button:hover {
  background: #1d4552;
}

.club-manager-form-actions button[type="button"],
.club-manager-actions button[data-club-action="close-modal"] {
  background: #536e7a;
  color: #efede4;
}

/* Площадки */
.club-manager-venue-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.club-manager-venue-card {
  background: #142f3a;
  border: 1px solid #536e7a;
  border-radius: 6px;
  padding: 1rem;
}

.club-manager-venue-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.club-manager-venue-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0.5rem 0;
}

.club-manager-venue-photos img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
}

/* Расписание */
.club-manager-event-table {
  width: 100%;
  border-collapse: collapse;
  background: #142f3a;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.club-manager-event-table th,
.club-manager-event-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #264956;
}

.club-manager-event-table th {
  background: #e2b86b;
  color: #102a34;
}

/* Фото менеджер */
.club-manager-photo-manager {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.club-manager-photo-upload {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.club-manager-photo-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem;
}

.club-manager-photo-item {
  position: relative;
}

.club-manager-photo-item img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 4px;
}

.club-manager-photo-item button {
  position: absolute;
  top: 4px;
  right: 4px;
  background: rgba(0,0,0,0.6);
  color: #142f3a;
  border: none;
  border-radius: 4px;
  padding: 2px 6px;
  cursor: pointer;
}

/* Модальные окна */
.club-manager-modal {
  max-width: 600px;
}

.club-manager-modal form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.club-manager-event-preview {
  background: #f9f9f9;
  padding: 0.5rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

.club-manager-hint {
  color: #acc5ce;
  font-size: 0.85rem;
}

.club-manager-attendees ul {
  list-style: none;
  padding-left: 0;
}

.club-manager-attendees li {
  padding: 0.5rem;
  border-bottom: 1px solid #264956;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Адаптивность */
@media (max-width: 768px) {
  .club-manager-owner,
  .club-manager-manage {
    padding: 0.5rem;
  }
  .club-manager-tabs {
    flex-direction: column;
  }
  .club-manager-tabs button {
    border-radius: 0;
  }
  .club-manager-event-table {
    display: block;
    overflow-x: auto;
  }
  .club-manager-apps,
  .club-manager-clubs,
  .club-manager-venue-list {
    grid-template-columns: 1fr;
  }
  .club-manager-form {
    max-width: 100%;
  }
}

@media (max-width: 320px) {
  .club-manager-form button,
  .club-manager-actions button,
  .club-manager-club-actions button,
  .club-manager-venue-actions button,
  .club-manager-app-actions button {
    width: 100%;
  }
}

.club-manager-manage,.club-manager-owner{padding:0;min-width:0;color:#efede4}.arch-management-root{flex:3 1 460px;min-width:0}.club-manager-header{flex-wrap:wrap}.club-manager-modal label,.club-manager-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;color:#c4d7dc;font-size:14px}.club-manager-modal input,.club-manager-modal select,.club-manager-modal textarea,.club-manager-form input,.club-manager-form select,.club-manager-form textarea{width:100%;min-width:0;background:#102a34;color:#efede4;border:1px solid #607c88;border-radius:6px;padding:11px 12px;font:inherit;min-height:44px;color-scheme:dark}.club-manager-modal button,.club-manager-manage button,.club-manager-owner button{min-height:44px;cursor:pointer;padding:10px 15px;border:1px solid #607c88;border-radius:6px;background:#173642;color:#efede4;font-size:14px;font-weight:500;white-space:normal}.club-manager-modal button[type=submit],.club-manager-manage button[type=submit]{background:#e2b86b;border-color:#e2b86b;color:#102a34}.club-manager-modal button:disabled{opacity:.55;cursor:wait}.club-manager-modal :focus-visible,.club-manager-manage :focus-visible,.club-manager-owner :focus-visible{outline:2px solid #e2b86b;outline-offset:3px}.club-manager-section h3,.club-manager-history summary{color:#efede4}.club-manager-tabs button[aria-pressed=true]{background:#e2b86b;color:#102a34}.club-manager-photo-list{display:flex;flex-wrap:wrap;gap:12px}.club-manager-photo-item img{width:140px;height:100px;object-fit:cover;border-radius:6px}.club-manager-app-user a,.club-manager-members a{color:#90d9dd}.club-manager-apps,.club-manager-clubs{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.club-manager-club-header{flex-wrap:wrap;gap:12px}.club-manager-tab-content{overflow-x:auto}.club-manager-upload-note,.club-manager-hint{color:#b7cbd2}.club-manager-error{color:#ffd2c8;background:#48272e}.club-manager-modal [data-club-errors]:empty{display:none}

.club-account-clubs{align-items:stretch}.arch-management-root{flex:3 1 0;width:100%;max-width:100%;min-width:0}.club-manager-event-table{max-width:100%}@media(max-width:600px){.arch-management-root{flex:none}.club-account-club-selector{flex:none;width:100%}}

@media(max-width:640px){
.club-manager-event-table{display:block;width:100%;min-width:0;overflow:visible;border-collapse:separate}
.club-manager-event-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.club-manager-event-table tbody{display:grid;gap:16px}
.club-manager-event-table tr{display:block;border:1px solid #41616b;border-radius:8px;padding:14px;background:#0e2832}
.club-manager-event-table td{display:block;width:auto;min-width:0;border:0;padding:6px 0;text-align:left;overflow-wrap:anywhere}
.club-manager-event-table td:before{content:attr(data-label);display:block;color:#b3c9ce;font-size:.8rem;margin-bottom:2px}
.club-manager-event-table td:first-child{font-size:1.1rem;font-weight:600;color:#f3eee2}
.club-manager-event-table td:first-child:before,.club-manager-event-table td:last-child:before{display:none}
.club-manager-event-table td:last-child{display:grid;gap:6px;margin-top:8px}
.club-manager-event-table td:last-child button{width:100%;margin:0}
}

/* Управление клубом: понятные формы и выбор места без потери контекста. */
dialog:has(.club-manager-modal){width:min(760px,calc(100vw - 24px));padding:30px;max-height:calc(100dvh - 24px)}
.club-manager-modal{max-width:none;min-width:0}
.club-manager-modal form{gap:16px}
.club-manager-fieldset{border:1px solid #48636d;border-radius:10px;margin:0;padding:18px 18px 4px;min-width:0}
.club-manager-fieldset legend{color:#e7c17b;padding:0 8px;font-size:16px;font-weight:600}
.club-manager-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.club-manager-coordinate-row{display:flex;gap:10px;align-items:stretch}
.club-manager-coordinate-row input{flex:1 1 260px;font-variant-numeric:tabular-nums}
.club-manager-coordinate-row button{flex:0 0 auto}
.club-manager-picker-panel{margin:12px 0 18px;border:1px solid #52717a;border-radius:9px;overflow:hidden;background:#15343d;color:#c6d9df;min-height:60px}
.club-manager-picker-panel[hidden]{display:none}
.club-manager-picker-frame{width:100%;height:340px;display:block;border:0}
.club-manager-logo-panel{display:flex;align-items:flex-start;gap:20px;padding:20px;margin-bottom:22px;border:1px solid #48636d;border-radius:10px;background:#0e2832}
.club-manager-logo-preview{width:90px;height:90px;flex:none;display:grid;place-items:center;background:#173642;border:1px solid #607c88;border-radius:16px;overflow:hidden;color:#dfb56d;font-size:40px}
.club-manager-logo-preview img{width:100%;height:100%;object-fit:contain;padding:7px}
.club-manager-logo-controls{min-width:0;flex:1}
.club-manager-logo-controls h3{font-size:20px;margin:0 0 6px}
.club-manager-logo-controls .club-manager-hint{line-height:1.6;margin:0 0 12px}
.club-manager-logo-controls label{display:block;margin:0 0 12px}
.club-manager-logo-controls input[type=file]{margin-top:8px}
.club-manager-logo-controls .club-manager-form-actions{margin-top:12px}
.club-manager-upload-status{min-height:22px;margin:8px 0 0;color:#d2e6e5;font-size:14px;line-height:1.5}
.club-manager-form-errors{line-height:1.5}
.club-manager-form-actions{justify-content:flex-end;padding-top:14px;border-top:1px solid #3b5660}
.club-manager-event-preview{background:#173642;color:#dce9e8;border:1px solid #48636d;border-radius:8px;padding:14px;line-height:1.6}
.club-manager-photo-upload{align-items:flex-end}
.club-manager-photo-upload label{flex:1 1 260px;margin:0}
.club-manager-photo-upload .club-manager-upload-note,.club-manager-photo-upload .club-manager-upload-status{flex-basis:100%}
.club-manager-photo-item button{background:#173642;color:#fff;border:1px solid #93adb4;padding:5px 8px;min-height:36px}
.club-manager-modal button[hidden],.club-manager-manage button[hidden]{display:none}
@media(max-width:600px){dialog:has(.club-manager-modal){padding:22px 16px}.club-manager-fieldset{padding:14px 12px 2px}.club-manager-two-col{grid-template-columns:1fr;gap:0}.club-manager-coordinate-row{flex-direction:column}.club-manager-logo-panel{flex-direction:column}.club-manager-picker-frame{height:280px}.club-manager-form-actions button{flex:1 1 130px}}
dialog:has(.club-manager-modal) .club-manager-modal .club-manager-form-actions{position:sticky;bottom:0;z-index:2;background:#102a34;padding:14px 4px 6px;box-shadow:0 -14px 18px #102a34}
