* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --bg: #f3efe8;
  --bg-light: #ffffff;
  --sand: #c9ad83;
  --sand-light: #e8d7bd;
  --sand-dark: #9b7b52;
  --silver: #9ca3aa;
  --silver-light: #e6e8ea;
  --silver-dark: #5e6670;
  --text: #1f252b;
  --muted: #6f7780;
  --card: rgba(255, 255, 255, 0.78);
  --card-soft: rgba(255, 255, 255, 0.58);
  --border: rgba(156, 130, 92, 0.24);
  --border-silver: rgba(94, 102, 112, 0.16);
  --shadow: 0 22px 60px rgba(55, 45, 32, 0.12);
  --danger: #b94a48;
  --danger-soft: rgba(185, 74, 72, 0.1);
}

body {
  min-height: 100vh;
  font-family: Georgia, "Times New Roman", serif;
  background:
    radial-gradient(circle at top left, rgba(201, 173, 131, 0.26), transparent 34%),
    radial-gradient(circle at top right, rgba(156, 163, 170, 0.2), transparent 32%),
    linear-gradient(135deg, #fbfaf7, var(--bg));
  color: var(--text);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
  border: none;
}

.hidden {
  display: none !important;
}

.app {
  min-height: 100vh;
}

/* Login */

.login-page {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  overflow: hidden;
}

.login-page::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 173, 131, 0.28), transparent 68%);
  filter: blur(8px);
}

.login-page::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(156, 130, 92, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(156, 130, 92, 0.055) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at center, black, transparent 72%);
  pointer-events: none;
}

.login-card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 430px;
  padding: 40px 38px 34px;
  border: 1px solid rgba(156, 130, 92, 0.26);
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 241, 232, 0.88));
  box-shadow:
    0 28px 80px rgba(55, 45, 32, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
  text-align: center;
  backdrop-filter: blur(14px);
}

.login-brand-block {
  margin-bottom: 30px;
}

.login-card h1 {
  font-size: 46px;
  letter-spacing: 12px;
  text-transform: uppercase;
  margin-bottom: 6px;
  color: var(--text);
}

.login-card p {
  color: var(--sand-dark);
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 13px;
}

form {
  text-align: left;
}

label {
  display: block;
  margin-bottom: 8px;
  color: var(--sand-dark);
  font-size: 14px;
  font-weight: bold;
}

input,
textarea,
select {
  width: 100%;
  margin-bottom: 18px;
  padding: 14px 15px;
  border-radius: 14px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.76);
  color: var(--text);
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

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

input::placeholder,
textarea::placeholder {
  color: rgba(95, 103, 112, 0.58);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--sand);
  box-shadow: 0 0 0 4px rgba(201, 173, 131, 0.16);
}

button[type="submit"],
#openAddBuildingBtn {
  width: 100%;
  padding: 15px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eee5d6, var(--sand));
  color: #211b14;
  font-weight: bold;
  box-shadow: 0 12px 28px rgba(151, 121, 77, 0.22);
}

button[type="submit"]:hover,
#openAddBuildingBtn:hover,
.save-data-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(151, 121, 77, 0.26);
}

.login-footer-note {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.login-card small {
  display: block;
  margin-top: 20px;
  color: var(--muted);
}

/* Dashboard */

.dashboard-page,
.details-page {
  min-height: 100vh;
  padding: 28px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 34px;
  padding: 18px 22px;
  border: 1px solid var(--border);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 16px 40px rgba(55, 45, 32, 0.08);
  backdrop-filter: blur(14px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(201, 173, 131, 0.38);
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.95), transparent 34%),
    linear-gradient(145deg, rgba(232, 215, 189, 0.92), rgba(255, 255, 255, 0.58));
  box-shadow:
    0 12px 24px rgba(55, 45, 32, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.brand-mark span {
  font-size: 31px;
  line-height: 1;
  font-weight: bold;
  color: var(--text);
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.7);
}

.brand h2 {
  font-size: 24px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--text);
}

.brand span {
  color: var(--sand-dark);
  letter-spacing: 2px;
  font-size: 12px;
  text-transform: uppercase;
}

.secondary-btn {
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.6);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
}

.secondary-btn:hover {
  background: rgba(232, 215, 189, 0.32);
}

.dashboard-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 22px;
  padding: 14px 2px;
}

.dashboard-hero h1 {
  font-size: 42px;
  color: var(--text);
}

#openAddBuildingBtn {
  width: auto;
  min-width: 230px;
}

.dashboard-stat-card {
  position: relative;
  min-height: 58px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 8px 18px rgba(55, 45, 32, 0.045);
  transition: 0.2s ease;
}

.dashboard-stat-card.is-clickable {
  cursor: pointer;
}

.dashboard-stat-card.is-clickable:hover {
  transform: translateY(-3px);
  border-color: var(--sand);
  background: rgba(255, 255, 255, 0.92);
}

.dashboard-stat-card.is-disabled {
  opacity: 0.72;
  cursor: default;
}

.dashboard-stat-header {
  position: relative;
  min-height: 36px;
}

.dashboard-stat-header > div {
  position: static;
}

.dashboard-stat-label {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.dashboard-stat-value {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  color: var(--sand-dark);
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}

.dashboard-stat-arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sand-dark);
  font-size: 18px;
  line-height: 1;
  transition: 0.2s ease;
}

.dashboard-stat-card.is-open .dashboard-stat-arrow {
  transform: rotate(180deg);
}

.dashboard-stat-details {
  display: none;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
}

.dashboard-stat-card.is-open .dashboard-stat-details {
  display: grid;
  gap: 10px;
}

.dashboard-stat-detail-row {
  padding: 10px 11px;
  border-radius: 14px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.48);
  cursor: pointer;
}

.dashboard-stat-detail-row:hover {
  background: rgba(232, 215, 189, 0.24);
}

.dashboard-stat-detail-row strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-size: 15px;
}

.dashboard-stat-detail-row span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.building-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.building-card-pill {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.46);
  color: var(--sand-dark);
  font-size: 11px;
  font-weight: bold;
  white-space: nowrap;
}

.building-card-action {
  margin-top: 16px;
  color: var(--sand-dark);
  font-size: 14px;
  font-weight: bold;
}

.dashboard-search-card {
  width: 100%;
  padding: 16px 18px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 12px 30px rgba(55, 45, 32, 0.07);
}

.dashboard-search-card label {
  margin-bottom: 5px;
  font-size: 12px;
  line-height: 1;
}

.dashboard-search-field {
  position: relative;
}

.dashboard-search-field input {
  margin-bottom: 0;
  padding: 10px 38px 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}

.dashboard-search-clear-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.7);
  color: var(--sand-dark);
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
}

.dashboard-search-clear-btn:hover {
  background: rgba(232, 215, 189, 0.36);
}

.dashboard-content-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 360px;
  gap: 24px;
  align-items: start;
}

.dashboard-side-column {
  display: grid;
  gap: 18px;
}

.dashboard-activity-card,
.dashboard-quick-actions-card,
.dashboard-global-search-card,
.dashboard-notifications-card {
  width: 100%;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 12px 30px rgba(55, 45, 32, 0.07);
}

.notification-building-list {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.notification-building-option,
.notification-recipient-building-option {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border-radius: 14px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.46);
  color: var(--text);
  font-size: 13px;
  line-height: 1.3;
}

.notification-building-option input,
.notification-recipient-building-option input {
  width: auto;
  margin: 0;
}

.notification-save-btn {
  width: 100% !important;
  margin-top: 4px;
}

.notification-recipients-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.notification-recipient-card {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
}

.notification-recipient-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.notification-recipient-header h3 {
  margin-bottom: 4px;
  color: var(--text);
  font-size: 17px;
}

.notification-recipient-header p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.notification-recipient-delete-btn {
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(185, 74, 72, 0.28);
  background: var(--danger-soft);
  color: var(--danger);
  font-size: 12px;
  font-weight: bold;
}

.notification-recipient-settings {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.notification-recipient-settings .checkbox-row {
  margin: 0;
  font-size: 13px;
}

.notification-recipient-buildings {
  display: grid;
  gap: 8px;
}

.notification-recipient-section-title {
  display: block;
  margin-bottom: 8px;
  color: var(--sand-dark);
  font-size: 13px;
  font-weight: bold;
}

.dashboard-global-search-results {
  display: grid;
  gap: 9px;
  margin-top: 12px;
  max-height: 360px;
  overflow-y: auto;
}

.dashboard-global-search-results .empty-state {
  padding: 14px;
  border-radius: 16px;
  font-size: 13px;
  text-align: left;
}

.global-search-result-row {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: 0.2s ease;
}

.global-search-result-row:hover {
  background: rgba(232, 215, 189, 0.26);
  border-color: var(--border);
}

.global-search-result-type {
  display: block;
  margin-bottom: 5px;
  color: var(--sand-dark);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.global-search-result-title {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 15px;
  font-weight: bold;
  line-height: 1.35;
}

.global-search-result-meta {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.dashboard-quick-actions-card select {
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.quick-actions-list {
  display: grid;
  gap: 9px;
}

.quick-action-btn {
  width: 100%;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.56);
  color: var(--sand-dark);
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  transition: 0.2s ease;
}

.quick-action-btn:hover {
  transform: translateY(-1px);
  background: rgba(232, 215, 189, 0.34);
  border-color: var(--sand);
}

.dashboard-activity-header {
  margin-bottom: 16px;
}

.dashboard-activity-header h2 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 23px;
}

.dashboard-activity-header span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.dashboard-activity-list {
  display: grid;
  gap: 10px;
}

.dashboard-activity-row {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: 0.2s ease;
}

.dashboard-activity-row:hover {
  background: rgba(232, 215, 189, 0.26);
  border-color: var(--border);
}

.dashboard-activity-type {
  display: block;
  margin-bottom: 5px;
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.dashboard-activity-title {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 15px;
  font-weight: bold;
  line-height: 1.35;
}

.dashboard-activity-meta {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.building-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 260px));
  gap: 18px;
  align-items: start;
}

.building-card {
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 12px 30px rgba(55, 45, 32, 0.07);
  transition: 0.2s ease;
}

.building-card:hover {
  transform: translateY(-4px);
  border-color: var(--sand);
  background: rgba(255, 255, 255, 0.92);
}

.building-card h3 {
  font-size: 23px;
  margin-bottom: 8px;
  color: var(--text);
  padding-right: 34px;
}

.building-card p {
  color: var(--muted);
  margin-bottom: 8px;
}

.empty-state {
  padding: 28px;
  border-radius: 24px;
  border: 1px dashed var(--border);
  color: var(--muted);
  text-align: center;
  background: rgba(255, 255, 255, 0.45);
}

/* Modal */

.modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(31, 37, 43, 0.42);
  backdrop-filter: blur(5px);
}

.modal-card {
  width: 100%;
  max-width: 560px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: #fbfaf7;
  box-shadow: 0 28px 80px rgba(55, 45, 32, 0.18);
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}

.icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(201, 173, 131, 0.14);
  color: var(--text);
  font-size: 26px;
}

.quick-action-modal-card {
  max-width: 640px;
}

.quick-modal-building-name {
  display: block;
  margin-top: 6px;
  color: var(--sand-dark);
  font-size: 14px;
  font-weight: bold;
}

.quick-action-modal-card textarea {
  min-height: 130px;
}

.quick-action-modal-card .compact-form {
  margin-bottom: 0;
}

.quick-file-help {
  margin: -6px 0 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.building-image-preview {
  width: 100%;
  height: 160px;
  margin: -4px 0 12px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.48);
}

.building-image-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.building-image-help {
  margin: -6px 0 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

/* Details */

.details-card {
  padding: 0;
  border: none;
  background: transparent;
}

.details-card h1 {
  font-size: 42px;
  margin-bottom: 24px;
}

.details-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}

.details-grid div {
  padding: 22px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid var(--border-silver);
}

.details-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--sand-dark);
  font-size: 14px;
}

.details-grid strong {
  font-size: 20px;
}

/* Mobil */

@media (max-width: 700px) {
  .dashboard-page,
  .details-page {
    padding: 16px;
  }

  .dashboard-page {
    max-width: none;
  }

  .dashboard-hero {
    flex-direction: column;
    align-items: stretch;
  }

  #openAddBuildingBtn {
    width: 100%;
  }

  .dashboard-toolbar {
  display: block;
}

.search-only-toolbar {
  display: block;
}

.dashboard-search-card {
  width: 100%;
}

  .dashboard-content-grid {
  grid-template-columns: 1fr;
}

.dashboard-side-column {
  order: -1;
}

.dashboard-activity-card,
.dashboard-quick-actions-card {
  order: initial;
}

  .login-card {
    padding: 26px;
  }

  .login-card h1 {
  font-size: 34px;
  letter-spacing: 8px;
  }
}

.danger-btn {
  margin-top: 28px;
  padding: 14px 20px;
  border-radius: 999px;
  background: var(--danger-soft);
  color: var(--danger);
  border: 1px solid rgba(185, 74, 72, 0.28);
  font-weight: bold;
}

.danger-btn:hover {
  background: rgba(185, 74, 72, 0.16);
}

.building-data-card {
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  cursor: pointer;
}

.building-data-card.editing {
  cursor: default;
}

.building-data-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.building-data-header h2 {
  font-size: 28px;
  color: var(--text);
}

.building-data-header span {
  color: var(--muted);
  font-size: 14px;
}

.data-list {
  display: grid;
  gap: 0;
}

.data-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
}

.data-label {
  color: var(--sand-dark);
  font-size: 14px;
}

.data-value {
  font-size: 18px;
  color: var(--text);
}

.form-actions {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

.save-data-btn {
  width: auto !important;
  min-width: 180px;
  padding: 14px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eee5d6, var(--sand));
  color: #211b14;
  font-weight: bold;
  box-shadow: 0 10px 24px rgba(151, 121, 77, 0.18);
}

.cancel-data-btn {
  padding: 14px 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
}

@media (max-width: 700px) {
  .data-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .building-data-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-actions {
    flex-direction: column;
  }

  .save-data-btn,
  .cancel-data-btn {
    width: 100% !important;
  }
}

.building-data-card {
  max-width: 620px;
  cursor: default;
}

.edit-data-btn {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
}

.edit-data-btn:hover {
  background: rgba(232, 215, 189, 0.3);
}

.topbar-building-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: 14px;
  padding: 14px 18px;
  border-radius: 22px;
  border: 1px solid rgba(199, 168, 121, 0.34);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(232, 215, 189, 0.28));
  box-shadow: 0 14px 34px rgba(56, 43, 25, 0.1);
  min-height: 68px;
}

.topbar-building-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(199, 168, 121, 0.34);
  background: rgba(255, 255, 255, 0.82);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}

.topbar-building-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.topbar-building-copy span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.topbar-building-name {
  color: var(--text);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: none;
  line-height: 1;
}

.topbar-building-status {
  margin-left: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(80, 140, 95, 0.1);
  border: 1px solid rgba(80, 140, 95, 0.22);
  color: #4f7d5b;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.details-brand {
  display: flex;
  align-items: center;
  gap: 18px;
}

.brand-text {
  display: flex;
  flex-direction: column;
}

.details-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 620px));
  gap: 24px;
  align-items: start;
}

.building-data-card,
.management-data-card {
  width: 100%;
  max-width: 620px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
  cursor: default;
}

@media (max-width: 1100px) {
  .details-cards-grid {
    grid-template-columns: 1fr;
  }
}

select option {
  color: #1f252b;
  background: #ffffff;
}

.documents-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 1264px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
}

.document-upload-form {
  max-width: 620px;
  margin-bottom: 24px;
}

.documents-list {
  display: grid;
  gap: 12px;
}

.document-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.document-row h3 {
  font-size: 18px;
  margin-bottom: 4px;
  color: var(--text);
}

.document-row p {
  color: var(--muted);
  font-size: 14px;
}

.document-action-btn {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
}

.document-delete-btn {
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--danger-soft);
  color: var(--danger);
  border: 1px solid rgba(185, 74, 72, 0.28);
  font-weight: bold;
}

@media (max-width: 700px) {
  .document-row {
    grid-template-columns: 1fr;
  }
}

.documents-card-content {
  display: grid;
  grid-template-columns: minmax(280px, 520px) 1fr;
  gap: 28px;
  align-items: start;
}

.documents-browser {
  min-height: 260px;
}

.document-categories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.document-folder {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--card-soft);
  cursor: pointer;
  transition: 0.2s ease;
}

.document-folder:hover {
  transform: translateY(-3px);
  border-color: var(--sand);
  background: rgba(255, 255, 255, 0.92);
}

.document-folder h3 {
  font-size: 20px;
  margin-bottom: 6px;
  color: var(--text);
}

.document-folder p {
  color: var(--muted);
  font-size: 14px;
}

.folder-icon {
  display: block;
  font-size: 28px;
  margin-bottom: 10px;
}

.category-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.category-panel-header h3 {
  font-size: 24px;
  color: var(--text);
}

@media (max-width: 900px) {
  .documents-card-content {
    grid-template-columns: 1fr;
  }
}

.building-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 0 4px;
}

.building-tab {
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
}

.building-tab:hover {
  background: rgba(232, 215, 189, 0.32);
}

.building-tab.active {
  background: linear-gradient(135deg, #eee5d6, var(--sand));
  color: #211b14;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.placeholder-card,
.documents-overview-card {
  width: 100%;
  max-width: 1264px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
}

.placeholder-card h2,
.documents-overview-card h2 {
  font-size: 30px;
  margin-bottom: 10px;
  color: var(--text);
}

.placeholder-card p {
  color: var(--muted);
}

.document-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 260px;
  gap: 14px;
  margin-bottom: 22px;
}

.document-filters input,
.document-filters select {
  margin-bottom: 0;
}

@media (max-width: 800px) {
  .document-filters {
    grid-template-columns: 1fr;
  }
}

/* Lakók / tulajdonosok + hibabejelentések */

.residents-grid,
.issues-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 620px));
  gap: 24px;
  align-items: start;
}

.registry-card,
.issue-form-card,
.issues-list-card {
  width: 100%;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
}

.registry-card-wide,
.issues-list-card {
  grid-column: 1 / -1;
  max-width: 1264px;
}

.compact-form {
  margin-bottom: 24px;
}

.form-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 18px;
  color: var(--text);
}

.checkbox-row input {
  width: auto;
  margin: 0;
}

.registry-list,
.issues-list {
  display: grid;
  gap: 12px;
}

.registry-list-wide {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.registry-row,
.issue-row {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.registry-row-header,
.issue-row-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.registry-row h3,
.issue-row h3 {
  font-size: 18px;
  margin-bottom: 5px;
  color: var(--text);
}

.registry-meta,
.issue-meta {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.role-badge,
.status-badge,
.priority-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  color: var(--sand-dark);
  background: rgba(255, 255, 255, 0.46);
  font-size: 12px;
  font-weight: bold;
}

.status-badge.status-new {
  color: #376c94;
  border-color: rgba(55, 108, 148, 0.28);
}

.status-badge.status-in_progress,
.status-badge.status-waiting {
  color: var(--sand-dark);
}

.status-badge.status-done {
  color: #317347;
  border-color: rgba(49, 115, 71, 0.3);
}

.priority-badge.priority-high,
.priority-badge.priority-urgent {
  color: var(--danger);
  border-color: rgba(185, 74, 72, 0.28);
}

.row-actions,
.issue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.mini-btn,
.danger-mini-btn {
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: bold;
}

.mini-btn {
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  border: 1px solid var(--border);
}

.mini-btn:hover {
  background: rgba(232, 215, 189, 0.32);
}

.danger-mini-btn {
  background: var(--danger-soft);
  color: var(--danger);
  border: 1px solid rgba(185, 74, 72, 0.28);
}

.issue-description {
  margin-top: 10px;
  color: var(--text);
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .residents-grid,
  .issues-grid {
    grid-template-columns: 1fr;
  }
}

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

  .registry-row-header,
  .issue-row-header {
    flex-direction: column;
  }
}

/* Lakók fül új elrendezés */

.residents-layout {
  display: grid;
  grid-template-columns: minmax(340px, 620px) minmax(340px, 620px);
  gap: 24px;
  align-items: start;
}

.resident-form-card,
.resident-list-card,
.resident-directory-card {
  width: 100%;
  max-width: none;
}

.resident-directory-card {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: stretch;
}

.resident-directory-list {
  display: grid;
  gap: 14px;
}

.resident-contact-card {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.resident-contact-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}

.resident-contact-header h3 {
  font-size: 20px;
  margin-bottom: 5px;
  color: var(--text);
}

.resident-contact-meta {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.resident-unit-links {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.resident-unit-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(232, 215, 189, 0.28);
}

.resident-unit-link-info {
  color: var(--sand-dark);
  font-size: 14px;
  font-weight: bold;
}

.resident-unit-link-note {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: normal;
}

.no-unit-link {
  margin-top: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px dashed var(--border);
  color: var(--muted);
  font-size: 14px;
  background: rgba(255, 255, 255, 0.34);
}

@media (max-width: 1100px) {
  .residents-layout {
    grid-template-columns: 1fr;
  }

  .resident-directory-card {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Hibajegy adatlap / intézkedési napló */

.issue-detail-panel {
  width: 100%;
}

.issue-detail-header {
  margin-bottom: 18px;
}

.issue-detail-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(320px, 420px);
  gap: 24px;
  align-items: start;
}

.issue-main-card,
.issue-action-card,
.issue-timeline-card {
  width: 100%;
  max-width: none;
}

.issue-timeline-card {
  grid-column: 1 / -1;
}

.issue-detail-data {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.issue-detail-data div {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.issue-detail-data span {
  display: block;
  margin-bottom: 6px;
  color: var(--sand-dark);
  font-size: 13px;
}

.issue-detail-data strong {
  font-size: 16px;
  color: var(--text);
}

.issue-detail-description {
  margin-top: 20px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.issue-detail-description h3 {
  margin-bottom: 10px;
  color: var(--sand-dark);
}

.issue-detail-description p {
  line-height: 1.6;
}

.issue-status-editor {
  margin-top: 22px;
}

.issue-status-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.issue-status-row select {
  margin-bottom: 0;
}

.issue-actions-list {
  display: grid;
  gap: 14px;
}

.issue-action-row {
  padding: 18px;
  border-radius: 18px;
  border-left: 4px solid var(--sand);
  background: var(--card-soft);
}

.issue-action-row-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.issue-action-type {
  color: var(--sand-dark);
  font-weight: bold;
}

.issue-action-date {
  color: var(--muted);
  font-size: 13px;
}

.issue-action-note {
  color: var(--text);
  line-height: 1.6;
  white-space: pre-wrap;
}

.open-issue-btn {
  background: linear-gradient(135deg, #eee5d6, var(--sand));
  color: #211b14;
  border: none;
}

@media (max-width: 1000px) {
  .issue-detail-grid {
    grid-template-columns: 1fr;
  }

  .issue-status-row {
    grid-template-columns: 1fr;
  }

  .issue-status-row .save-data-btn {
    width: 100% !important;
  }
}

@media (max-width: 700px) {
  .issue-detail-data {
    grid-template-columns: 1fr;
  }

  .issue-action-row-header {
    flex-direction: column;
  }
}

/* Projektek */

.projects-grid {
  display: grid;
  grid-template-columns: minmax(340px, 520px) minmax(420px, 1fr);
  gap: 24px;
  align-items: start;
}

.project-form-card,
.projects-list-card {
  width: 100%;
  max-width: none;
}

.projects-list-card {
  min-height: 260px;
}

.status-badge.status-planned {
  color: #376c94;
  border-color: rgba(55, 108, 148, 0.28);
}

.status-badge.status-canceled {
  color: var(--danger);
  border-color: rgba(185, 74, 72, 0.28);
}

@media (max-width: 1000px) {
  .projects-grid {
    grid-template-columns: 1fr;
  }
}

/* Társasház áttekintő */

.building-overview-card {
  width: 100%;
  max-width: 1264px;
  padding: 28px;
  margin-bottom: 24px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
}

.overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
}

.overview-tile {
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.overview-tile span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 14px;
}

.overview-tile strong {
  color: var(--sand-dark);
  font-size: 34px;
}

/* Partnerek / szolgáltatók */

.providers-grid {
  display: grid;
  grid-template-columns: minmax(340px, 520px) minmax(420px, 1fr);
  gap: 24px;
  align-items: start;
}

.provider-form-card,
.providers-list-card {
  width: 100%;
  max-width: none;
}

.provider-card {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.provider-card h3 {
  font-size: 20px;
  margin-bottom: 6px;
  color: var(--text);
}

.provider-meta {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Kapcsolódó dokumentumok */

.linked-documents-card {
  width: 100%;
  max-width: none;
}

.linked-document-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}

.linked-document-form select {
  margin-bottom: 0;
}

.linked-documents-list {
  display: grid;
  gap: 12px;
}

.linked-document-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.linked-document-row h3 {
  font-size: 17px;
  margin-bottom: 4px;
  color: var(--text);
}

.linked-document-row p {
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 1000px) {
  .providers-grid {
    grid-template-columns: 1fr;
  }

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

  .linked-document-form .save-data-btn {
    width: 100% !important;
  }
}

@media (max-width: 700px) {
  .linked-document-row {
    grid-template-columns: 1fr;
  }
}

.brand {
  cursor: pointer;
}

.brand:hover {
  opacity: 0.9;
}

/* Lakói hibabejelentő link / QR */

.resident-issue-link-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 1264px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 14px 34px rgba(55, 45, 32, 0.07);
}

.resident-issue-link-content {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 220px;
  gap: 24px;
  align-items: center;
}

.public-link-box {
  width: 100%;
  padding: 14px 15px;
  border-radius: 14px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.72);
  color: var(--text);
  word-break: break-all;
  line-height: 1.5;
}

.qr-box {
  display: grid;
  place-items: center;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: #ffffff;
}

.qr-box img {
  width: 180px;
  height: 180px;
  display: block;
}

@media (max-width: 800px) {
  .resident-issue-link-content {
    grid-template-columns: 1fr;
  }

  .qr-box {
    width: fit-content;
  }
}

/* Függőben lévő lakói hibabejelentések */

.resident-submissions-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

.resident-submissions-list {
  display: grid;
  gap: 14px;
}

.resident-submission-row {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.resident-submission-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 10px;
}

.resident-submission-header h3 {
  font-size: 20px;
  margin-bottom: 5px;
  color: var(--text);
}

.resident-submission-meta {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.resident-submission-description {
  margin-top: 10px;
  color: var(--text);
  line-height: 1.6;
  white-space: pre-wrap;
}

.resident-submission-photo {
  margin-top: 12px;
}

.resident-submission-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.resident-submission-photo .mini-btn {
  width: auto;
}

/* Login jelszó mutatása gomb */

.password-field {
  position: relative;
  margin-bottom: 18px;
}

.password-field input {
  margin-bottom: 0;
  padding-right: 52px;
}

.password-toggle-btn {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.46);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  font-size: 15px;
}

.password-toggle-btn:hover {
  background: rgba(232, 215, 189, 0.32);
}

/* Edge / régi böngészős beépített jelszó ikon elrejtése */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
  display: none;
}

/* Társasház kártya szerkesztés */

.building-card {
  position: relative;
}

.building-card-image {
  width: 156px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 16px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--border-silver);
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.9), transparent 34%),
    linear-gradient(145deg, rgba(232, 215, 189, 0.78), rgba(255, 255, 255, 0.58));
  display: grid;
  place-items: center;
}

.building-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.building-card-image-placeholder {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  border: 1px solid rgba(201, 173, 131, 0.38);
  background: rgba(255, 255, 255, 0.58);
  color: var(--sand-dark);
  font-size: 24px;
  font-weight: bold;
}

.building-card-edit-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  border: 1px solid var(--border);
  font-weight: bold;
  font-size: 13px;
}

.building-card-edit-btn:hover {
  background: rgba(232, 215, 189, 0.32);
}

/* Kapukód opcionális mező */

.gate-code-add-btn {
  margin-bottom: 18px;
}

/* Számvizsgáló Bizottság */

.audit-committee-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

.audit-committee-layout {
  display: grid;
  grid-template-columns: minmax(320px, 520px) minmax(360px, 1fr);
  gap: 24px;
  align-items: start;
}

.audit-member-form {
  margin-bottom: 0;
}

.audit-list-title {
  margin-bottom: 14px;
  color: var(--sand-dark);
  font-size: 20px;
}

.audit-committee-list {
  display: grid;
  gap: 12px;
}

.audit-member-card {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.audit-member-card h3 {
  font-size: 18px;
  margin-bottom: 5px;
  color: var(--text);
}

.audit-member-meta {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1000px) {
  .audit-committee-layout {
    grid-template-columns: 1fr;
  }
}

/* Társasház törlés biztonsági modal */

.danger-confirm-modal {
  max-width: 560px;
}

.danger-confirm-text {
  margin-bottom: 18px;
  color: var(--muted);
  line-height: 1.6;
}

.delete-building-name-box {
  padding: 16px;
  margin-bottom: 18px;
  border-radius: 18px;
  border: 1px solid rgba(185, 74, 72, 0.28);
  background: var(--danger-soft);
}

.delete-building-name-box span {
  display: block;
  margin-bottom: 6px;
  color: var(--danger);
  font-size: 13px;
}

.delete-building-name-box strong {
  color: var(--text);
  font-size: 18px;
}

.delete-confirm-error {
  padding: 13px 14px;
  margin-bottom: 16px;
  border-radius: 14px;
  border: 1px solid rgba(185, 74, 72, 0.28);
  background: var(--danger-soft);
  color: var(--danger);
  line-height: 1.5;
}

.danger-delete-btn {
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(185, 74, 72, 0.38);
  background: var(--danger-soft);
  color: var(--danger);
  font-weight: bold;
  cursor: pointer;
}

.danger-delete-btn:hover {
  background: rgba(185, 74, 72, 0.16);
}

.danger-delete-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Társasház törlés modal pontosítás */

#deleteBuildingConfirmModal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(31, 37, 43, 0.46);
  backdrop-filter: blur(5px);
}

#deleteBuildingConfirmModal.hidden {
  display: none !important;
}

#deleteBuildingConfirmModal .danger-confirm-modal {
  position: relative;
  width: min(560px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 32px;
  border-radius: 28px;
  border: 1px solid var(--border);
  background: #fbfaf7;
  box-shadow: 0 28px 90px rgba(55, 45, 32, 0.2);
}

#deleteBuildingConfirmModal .modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  left: auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  font-size: 22px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}

#deleteBuildingConfirmModal .modal-close:hover {
  background: rgba(232, 215, 189, 0.32);
}

#deleteBuildingConfirmModal h2 {
  padding-right: 44px;
  margin-bottom: 14px;
  color: var(--text);
}

#deleteBuildingConfirmModal .modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

#deleteBuildingConfirmModal .modal-actions .secondary-btn,
#deleteBuildingConfirmModal .modal-actions .danger-delete-btn {
  width: auto;
}

#deleteBuildingConfirmModal .danger-delete-btn {
  min-width: 170px;
}

/* Több email / telefon mező */

.multi-input-row {
  display: grid;
  grid-template-columns: 1fr 42px;
  gap: 8px;
  align-items: center;
}

.multi-input-row input {
  margin-bottom: 0;
}

.add-field-btn,
.remove-field-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  font-weight: bold;
  font-size: 20px;
  cursor: pointer;
}

.add-field-btn:hover,
.remove-field-btn:hover {
  background: rgba(232, 215, 189, 0.32);
}

.extra-fields-list {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.extra-field-row {
  display: grid;
  grid-template-columns: 1fr 42px;
  gap: 8px;
  align-items: center;
}

.extra-field-row input {
  margin-bottom: 0;
}

.remove-field-btn {
  color: var(--danger);
  border-color: rgba(185, 74, 72, 0.28);
  font-size: 18px;
}

/* Havi előírás értesítő */

.monthly-notices-grid {
  display: grid;
  grid-template-columns: minmax(340px, 620px) minmax(340px, 1fr);
  gap: 24px;
  align-items: start;
}

.monthly-notices-grid .registry-card,
.monthly-notices-grid .registry-card-wide {
  grid-column: 1;
  max-width: 620px;
}

.monthly-mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 18px;
}

.monthly-mode-tab {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  font-weight: bold;
}

.monthly-mode-tab:hover {
  background: rgba(232, 215, 189, 0.32);
}

.monthly-mode-tab.active {
  background: linear-gradient(135deg, #eee5d6, var(--sand));
  color: #211b14;
}

.monthly-mode-panel {
  margin-bottom: 18px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.42);
}

.monthly-mode-help {
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.monthly-notice-status {
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 1000px) {
  .monthly-notices-grid {
    grid-template-columns: 1fr;
  }

  .monthly-notices-grid .registry-card,
  .monthly-notices-grid .registry-card-wide {
    grid-column: auto;
    max-width: none;
  }
}

.monthly-inner-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(94, 102, 112, 0.14);
}

.monthly-table-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(94, 102, 112, 0.14);
}

.monthly-table-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.monthly-table-header h2 {
  margin: 0;
}

.monthly-table-header span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.monthly-table-wrap {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 4px;
}

.monthly-notice-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.monthly-notice-table th {
  text-align: left;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  padding: 0 10px 4px;
  white-space: nowrap;
}

.monthly-notice-table td {
  background: rgba(255, 255, 255, 0.72);
  border-top: 1px solid rgba(94, 102, 112, 0.12);
  border-bottom: 1px solid rgba(94, 102, 112, 0.12);
  padding: 10px;
  font-size: 13px;
  vertical-align: middle;
  white-space: nowrap;
}

.monthly-notice-table td:first-child {
  border-left: 1px solid rgba(94, 102, 112, 0.12);
  border-radius: 14px 0 0 14px;
  font-weight: 800;
}

.monthly-notice-table td:last-child {
  border-right: 1px solid rgba(94, 102, 112, 0.12);
  border-radius: 0 14px 14px 0;
  font-weight: 900;
}

.monthly-table-input {
  width: 110px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(94, 102, 112, 0.2);
  background: #fff;
  font-size: 13px;
}

.monthly-table-name {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.monthly-table-muted {
  color: var(--muted);
}

.monthly-table-total {
  font-weight: 900;
}

.monthly-table-summary {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(232, 215, 189, 0.22);
  border: 1px solid rgba(199, 168, 121, 0.22);
  text-align: right;
  font-weight: 900;
}

.monthly-table-card {
  grid-column: 1 / -1;
  max-width: none;
}

.monthly-table-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(94, 102, 112, 0.14);
}

.monthly-table-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.monthly-table-header h2 {
  margin: 0;
}

.monthly-table-header span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.monthly-table-wrap {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 4px;
}

.monthly-notice-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.monthly-notice-table th {
  text-align: left;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  padding: 0 10px 4px;
  white-space: nowrap;
}

.monthly-notice-table td {
  background: rgba(255, 255, 255, 0.72);
  border-top: 1px solid rgba(94, 102, 112, 0.12);
  border-bottom: 1px solid rgba(94, 102, 112, 0.12);
  padding: 10px;
  font-size: 13px;
  vertical-align: middle;
  white-space: nowrap;
}

.monthly-notice-table td:first-child {
  border-left: 1px solid rgba(94, 102, 112, 0.12);
  border-radius: 14px 0 0 14px;
  font-weight: 800;
}

.monthly-notice-table td:last-child {
  border-right: 1px solid rgba(94, 102, 112, 0.12);
  border-radius: 0 14px 14px 0;
  font-weight: 900;
}

.monthly-table-input {
  width: 110px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(94, 102, 112, 0.2);
  background: #fff;
  font-size: 13px;
}

.monthly-table-name {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.monthly-table-muted {
  color: var(--muted);
}

.monthly-table-total {
  font-weight: 900;
}

.monthly-table-summary {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(232, 215, 189, 0.22);
  border: 1px solid rgba(199, 168, 121, 0.22);
  text-align: right;
  font-weight: 900;
}

.monthly-notices-grid .monthly-table-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

.monthly-notices-grid .monthly-table-card .monthly-table-wrap {
  width: 100%;
}

.monthly-notices-grid .monthly-table-card .monthly-notice-table {
  width: 100%;
}

.unit-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.common-area-badge {
  background: rgba(94, 102, 112, 0.1);
  color: var(--muted);
  border: 1px solid rgba(94, 102, 112, 0.16);
}

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

.edit-mini-btn {
  border: 1px solid rgba(199, 168, 121, 0.35);
  background: rgba(255, 255, 255, 0.75);
  color: var(--sand-dark);
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
}

.edit-mini-btn:hover {
  background: rgba(232, 215, 189, 0.35);
}

.unit-edit-cancel-btn {
  margin-left: 8px;
}

.monthly-table-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.monthly-table-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.monthly-table-note-input {
  min-width: 180px;
}

.monthly-row-delete-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(160, 60, 60, 0.28);
  background: rgba(160, 60, 60, 0.08);
  color: #8d2f2f;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.monthly-row-delete-btn:hover {
  background: rgba(160, 60, 60, 0.16);
}

.monthly-warning-wrap {
  margin: 14px 0 18px;
}

.monthly-warning-box {
  border-radius: 18px;
  border: 1px solid rgba(94, 102, 112, 0.14);
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.62);
}

.monthly-warning-box.success {
  border-color: rgba(80, 140, 95, 0.22);
  background: rgba(80, 140, 95, 0.08);
}

.monthly-warning-box.info {
  border-color: rgba(94, 102, 112, 0.18);
  background: rgba(94, 102, 112, 0.06);
}

.monthly-warning-box.warning {
  border-color: rgba(199, 168, 121, 0.38);
  background: rgba(232, 215, 189, 0.28);
}

.monthly-warning-main {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.monthly-warning-main strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.monthly-warning-main span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.monthly-warning-toggle-btn {
  border: 1px solid rgba(199, 168, 121, 0.35);
  background: rgba(255, 255, 255, 0.72);
  color: var(--sand-dark);
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.monthly-warning-toggle-btn:hover {
  background: rgba(232, 215, 189, 0.35);
}

.monthly-warning-details {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
}

.monthly-warning-detail-group {
  border-radius: 14px;
  border: 1px solid rgba(94, 102, 112, 0.12);
  background: rgba(255, 255, 255, 0.55);
  padding: 12px;
}

.monthly-warning-detail-group strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

.monthly-warning-detail-group ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 800px) {
  .monthly-warning-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .monthly-warning-details {
    grid-template-columns: 1fr;
  }
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.details-brand {
  cursor: pointer;
}

.topbar-building-card {
  cursor: default;
}

.details-page .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
}

.details-page .topbar-left {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.details-page .details-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  cursor: pointer;
}

.details-page .details-brand img {
  width: 52px;
  height: 52px;
  max-width: 52px;
  max-height: 52px;
  object-fit: cover;
  border-radius: 16px;
  flex: 0 0 52px;
}

.details-page .details-brand .brand-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.details-page .topbar-building-card {
  flex: 0 0 auto;
}

#backToDashboardBtn {
  flex: 0 0 auto;
}

.details-page .details-brand {
  gap: 16px;
}

.details-page .details-brand img {
  width: 68px;
  height: 68px;
  max-width: 68px;
  max-height: 68px;
  border-radius: 18px;
  flex: 0 0 68px;
}

.details-page .details-brand .brand-text h2 {
  font-size: 26px;
  letter-spacing: 0.18em;
}

.details-page .details-brand .brand-text span {
  font-size: 12px;
  letter-spacing: 0.16em;
}

.details-page .topbar-building-card {
  gap: 18px;
  padding: 16px 22px;
  border-radius: 24px;
  min-height: 78px;
}

.details-page .topbar-building-mark {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  font-size: 13px;
}

.details-page .topbar-building-copy span {
  font-size: 12px;
}

.details-page .topbar-building-name {
  font-size: 32px;
}

.details-page .topbar-building-status {
  padding: 8px 12px;
  font-size: 12px;
}

.details-page .topbar {
  padding-top: 14px;
  padding-bottom: 14px;
}

.details-page .topbar-building-card {
  min-height: 62px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.details-page .details-brand img {
  width: 58px;
  height: 58px;
  max-width: 58px;
  max-height: 58px;
  flex-basis: 58px;
}

.details-page .topbar-building-mark {
  width: 40px;
  height: 40px;
}

.details-page .topbar-building-name {
  font-size: 28px;
}

.monthly-notices-grid .monthly-sender-card {
  grid-column: 2;
  max-width: 620px;
}

@media (max-width: 1000px) {
  .monthly-notices-grid .monthly-sender-card {
    grid-column: auto;
    max-width: none;
  }
}

.monthly-notices-grid .monthly-pdf-template-card {
  grid-column: 2;
  max-width: 620px;
}

.pdf-template-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(199, 168, 121, 0.24);
  background: rgba(255, 255, 255, 0.55);
}

.pdf-template-box strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 15px;
}

.pdf-template-box span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.pdf-template-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .monthly-notices-grid .monthly-pdf-template-card {
    grid-column: auto;
    max-width: none;
  }

  .pdf-template-box {
    align-items: flex-start;
    flex-direction: column;
  }
}

.monthly-notices-grid {
  align-items: start;
}

.monthly-notices-grid .monthly-sender-card {
  grid-column: 2;
  grid-row: 1;
}

.monthly-notices-grid .monthly-pdf-template-card {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin-top: -295px;
}

.monthly-notices-grid .monthly-period-card {
  grid-column: 1;
  grid-row: 2;
}

.monthly-notices-grid .monthly-table-card {
  grid-column: 1 / -1;
  grid-row: 3;
}

.monthly-delivery-status-wrap {
  margin: 14px 0 12px;
}

.monthly-delivery-status-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(94, 102, 112, 0.14);
  background: rgba(255, 255, 255, 0.62);
}

.monthly-delivery-status-box strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.monthly-delivery-status-box span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.monthly-delivery-status-box.success {
  border-color: rgba(80, 140, 95, 0.22);
  background: rgba(80, 140, 95, 0.08);
}

.monthly-delivery-status-box.info {
  border-color: rgba(94, 102, 112, 0.18);
  background: rgba(94, 102, 112, 0.06);
}

.monthly-delivery-status-box.warning {
  border-color: rgba(199, 168, 121, 0.38);
  background: rgba(232, 215, 189, 0.28);
}

.monthly-delivery-status-box.neutral {
  border-color: rgba(94, 102, 112, 0.14);
  background: rgba(255, 255, 255, 0.62);
}

.monthly-delivery-status-pill {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(199, 168, 121, 0.34);
  background: rgba(255, 255, 255, 0.75);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .monthly-delivery-status-box {
    align-items: flex-start;
    flex-direction: column;
  }
}

.monthly-delivery-status-side {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.monthly-delivery-main {
  min-width: 220px;
}

.monthly-delivery-period-select {
  display: flex;
  align-items: center;
  gap: 8px;
}

.monthly-delivery-period-select span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.monthly-delivery-period-select select {
  min-width: 170px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(199, 168, 121, 0.34);
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.monthly-delivery-details-btn {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(199, 168, 121, 0.34);
  background: rgba(255, 255, 255, 0.72);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.monthly-delivery-details {
  margin-top: 10px;
  overflow-x: auto;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(199, 168, 121, 0.22);
  background: rgba(255, 255, 255, 0.72);
}

.monthly-delivery-details table {
  width: 100%;
  border-collapse: collapse;
  min-width: 980px;
}

.monthly-delivery-details th,
.monthly-delivery-details td {
  padding: 9px 8px;
  border-bottom: 1px solid rgba(94, 102, 112, 0.12);
  text-align: left;
  font-size: 12px;
  white-space: nowrap;
}

.monthly-delivery-details th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.monthly-delivery-empty {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 800px) {
  .monthly-delivery-status-side {
    justify-content: flex-start;
  }
}

.monthly-notices-grid .balance-card {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

.balance-grid {
  display: grid;
  grid-template-columns: minmax(320px, 460px) 1fr;
  gap: 22px;
  align-items: start;
}

.balance-summary-panel {
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(199, 168, 121, 0.22);
  background: rgba(255, 255, 255, 0.62);
}

.balance-summary-panel h3 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 18px;
}

.balance-summary-table {
  width: 100%;
  border-collapse: collapse;
}

.balance-summary-table th,
.balance-summary-table td {
  padding: 9px 8px;
  border-bottom: 1px solid rgba(94, 102, 112, 0.12);
  text-align: left;
  font-size: 12px;
}

.balance-summary-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.balance-amount {
  font-weight: 900;
}

.balance-amount.debt {
  color: #8a4b18;
}

.balance-amount.credit {
  color: #3f7f52;
}

.balance-amount.zero {
  color: var(--muted);
}

.balance-empty {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

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

.extra-fees-box {
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(199, 168, 121, 0.22);
  background: rgba(255, 255, 255, 0.52);
}

.compact-header {
  margin-bottom: 12px;
}

.compact-header h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
}

.extra-fee-list {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.extra-fee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(199, 168, 121, 0.18);
  background: rgba(255, 255, 255, 0.72);
}

.extra-fee-row strong {
  display: block;
  color: var(--text);
  font-size: 13px;
}

.extra-fee-row span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.extra-fee-delete-btn {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(199, 168, 121, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  color: var(--sand-dark);
  font-weight: 900;
  cursor: pointer;
}

.extra-fee-form {
  display: grid;
  gap: 10px;
}

.secondary-btn {
  width: fit-content;
}

/* =========================================================
   KÖZGYŰLÉS MODUL
========================================================= */

.meetings-grid{display:grid;grid-template-columns:minmax(340px,520px) minmax(420px,1fr);gap:24px;align-items:start}
.meeting-form-card,.meeting-agenda-form-card,.meetings-list-card,.meeting-agenda-list-card{width:100%;max-width:none}
.meetings-list-card,.meeting-agenda-list-card{min-height:260px}
.meeting-overview-card{max-width:1264px}
.meeting-row{padding:18px;border-radius:20px;border:1px solid var(--border-silver);background:var(--card-soft)}
.meeting-row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px}
.meeting-row h3{margin-bottom:6px;color:var(--text);font-size:20px}
.meeting-meta{color:var(--muted);font-size:14px;line-height:1.5}
.meeting-detail-main-card{width:100%;max-width:1264px;margin-bottom:24px}
.meeting-phase-grid{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(320px,0.9fr) minmax(320px,0.9fr);gap:24px;align-items:start}
.meeting-phase-card{position:relative;width:100%;max-width:none}
.meeting-phase-card h3{margin-bottom:8px;color:var(--text);font-size:23px}
.meeting-phase-card p{color:var(--muted);line-height:1.55}
.meeting-phase-number{width:36px;height:36px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;border:1px solid var(--border);background:linear-gradient(135deg,#eee5d6,var(--sand));color:#211b14;font-weight:900}
.meeting-phase-list{display:grid;gap:9px;margin-top:16px}
.meeting-phase-task{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.5);color:var(--text);font-size:14px}
.meeting-phase-task strong{color:var(--sand-dark);font-size:16px}
.meeting-phase-placeholder{margin-top:16px;padding:16px;border-radius:18px;border:1px dashed var(--border);background:rgba(255,255,255,0.42);color:var(--muted);line-height:1.5}
.status-badge.status-preparation{color:#8a6a2a;border-color:rgba(138,106,42,0.28)}
.status-badge.status-invitation_sent{color:#376c94;border-color:rgba(55,108,148,0.28)}
.status-badge.status-closed{color:#317347;border-color:rgba(49,115,71,0.3)}
.status-badge.status-canceled{color:var(--danger);border-color:rgba(185,74,72,0.28)}
.meeting-linked-agenda-section,.meeting-participants-section,.meeting-attachments-section,.meeting-invitation-section{margin-top:22px;padding-top:18px;border-top:1px solid rgba(94,102,112,0.12)}
.meeting-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.meeting-section-header h4{margin-bottom:5px;color:var(--text);font-size:18px}
.meeting-section-header span{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.meeting-agenda-attach-form,.meeting-attachment-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:start;margin-bottom:14px}
.meeting-attachment-form{grid-template-columns:minmax(220px,1fr) minmax(190px,240px) minmax(180px,1fr) auto}
.meeting-agenda-attach-form select,.meeting-attachment-form select,.meeting-attachment-form input{margin-bottom:0}
.meeting-linked-agenda-list,.meeting-participants-list,.meeting-attachment-list{display:grid;gap:10px}
.meeting-linked-agenda-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start;padding:14px;border-radius:18px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.48)}
.meeting-linked-agenda-order{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(232,215,189,0.5);color:var(--sand-dark);font-weight:900}
.meeting-linked-agenda-title{display:block;margin-bottom:5px;color:var(--text);font-size:15px}
.meeting-linked-agenda-meta,.meeting-linked-agenda-description{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.meeting-linked-agenda-description{margin-top:7px;color:var(--text)}
.meeting-linked-agenda-actions,.meeting-attachment-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.meeting-agenda-attached-note{display:inline-flex;width:max-content;margin-top:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(49,115,71,0.22);background:rgba(49,115,71,0.08);color:#317347;font-size:12px;font-weight:800}
.meeting-participant-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:14px}
.meeting-participant-summary-tile{padding:12px;border-radius:16px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.48)}
.meeting-participant-summary-tile span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;line-height:1.3}
.meeting-participant-summary-tile strong{color:var(--sand-dark);font-size:22px}
.meeting-participant-warnings{display:grid;gap:8px;margin-bottom:14px}
.meeting-participant-warning{padding:11px 12px;border-radius:14px;border:1px solid rgba(199,168,121,0.36);background:rgba(232,215,189,0.25);color:#8a6a2a;font-size:13px;line-height:1.45}
.meeting-participant-warning.success{border-color:rgba(49,115,71,0.26);background:rgba(49,115,71,0.08);color:#317347}
.meeting-participant-row{display:grid;grid-template-columns:minmax(160px,0.9fr) minmax(220px,1.1fr) minmax(180px,0.9fr) auto;gap:12px;align-items:start;padding:14px;border-radius:18px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.48)}
.meeting-participant-row strong{display:block;margin-bottom:5px;color:var(--text);font-size:14px}
.meeting-participant-row span{display:block;color:var(--muted);font-size:13px;line-height:1.4}
.meeting-participant-status-pill{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,0.58);color:var(--sand-dark);font-size:12px;font-weight:800}
.meeting-participant-status-pill.present{color:#317347;border-color:rgba(49,115,71,0.28)}
.meeting-participant-status-pill.proxy,.meeting-participant-status-pill.advance_vote{color:#376c94;border-color:rgba(55,108,148,0.28)}
.meeting-participant-actions{display:flex;justify-content:flex-end;align-items:flex-start;gap:8px}
.meeting-participant-action-note{display:inline-flex!important;width:max-content;padding:7px 10px;border-radius:999px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.5);color:var(--muted);font-size:12px;font-weight:800}
.meeting-participant-note{grid-column:1 / -1;margin-top:-4px;color:var(--muted);font-size:13px;line-height:1.45;white-space:pre-wrap}
.meeting-participant-voting-note.active{color:#317347!important;font-weight:800}
.meeting-participant-voting-note.inactive{color:var(--muted)!important;font-weight:800}
.meeting-manual-participant-form{margin:14px 0;padding:16px;border-radius:20px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.42)}
.meeting-manual-participant-form h5{margin-bottom:14px;color:var(--text);font-size:18px}
.meeting-section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.meeting-section-actions .save-data-btn{min-width:240px}
.meeting-participant-controls{display:grid;grid-template-columns:1fr;gap:8px}
.meeting-participant-controls select,.meeting-participant-controls input{margin-bottom:0;padding:10px 12px;border-radius:12px;font-size:13px}
.meeting-attachment-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border-radius:18px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.48)}
.meeting-attachment-row strong{display:block;margin-bottom:5px;color:var(--text);font-size:15px}
.meeting-attachment-row span{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.meeting-invitation-checklist{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:9px;margin-bottom:14px}
.meeting-invitation-check{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:14px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.5);font-size:13px;line-height:1.45}
.meeting-invitation-check strong{flex:0 0 auto;color:var(--sand-dark)}
.meeting-invitation-check.done{border-color:rgba(49,115,71,0.26);background:rgba(49,115,71,0.08)}
.meeting-invitation-check.done strong{color:#317347}
.meeting-invitation-check.warning{border-color:rgba(199,168,121,0.36);background:rgba(232,215,189,0.25)}
.meeting-invitation-check.missing{border-color:rgba(185,74,72,0.28);background:var(--danger-soft)}
.meeting-invitation-check.missing strong{color:var(--danger)}
.meeting-invitation-preview{width:100%;min-height:320px;max-height:560px;overflow:auto;white-space:pre-wrap;padding:20px;border-radius:20px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.72);color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1.65}
@media (max-width:1200px){.meeting-phase-grid{grid-template-columns:1fr}.meetings-grid{grid-template-columns:1fr}.meeting-participant-row{grid-template-columns:1fr}.meeting-participant-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.meeting-attachment-form{grid-template-columns:1fr}.meeting-agenda-attach-form{grid-template-columns:1fr}.meeting-section-header{flex-direction:column}.meeting-section-actions{width:100%;justify-content:flex-start}.meeting-section-header .save-data-btn,.meeting-agenda-attach-form .save-data-btn,.meeting-attachment-form .save-data-btn{width:100%!important}.meeting-invitation-checklist{grid-template-columns:1fr}}
@media (max-width:700px){.meeting-row-header,.meeting-linked-agenda-row,.meeting-attachment-row{grid-template-columns:1fr}.meeting-participant-summary{grid-template-columns:1fr}.meeting-linked-agenda-actions,.meeting-attachment-actions{justify-content:flex-start}}


/* Közgyűlés 7. lépés - jelenléti ív / határozatképesség */

.meeting-live-phase-card {
  grid-column: 1 / -1;
}

.meeting-attendance-section {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
}

.meeting-attendance-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.meeting-attendance-summary-tile {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
}

.meeting-attendance-summary-tile span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.meeting-attendance-summary-tile strong {
  color: var(--sand-dark);
  font-size: 23px;
  line-height: 1.1;
}

.meeting-quorum-status {
  display: grid;
  gap: 8px;
}

.meeting-quorum-box {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
  color: var(--text);
  line-height: 1.5;
}

.meeting-quorum-box.success {
  border-color: rgba(49, 115, 71, 0.3);
  background: rgba(49, 115, 71, 0.08);
  color: #317347;
}

.meeting-quorum-box.warning {
  border-color: rgba(185, 74, 72, 0.28);
  background: rgba(185, 74, 72, 0.08);
  color: var(--danger);
}

.meeting-quorum-box.check {
  border-color: rgba(201, 173, 131, 0.46);
  background: rgba(232, 215, 189, 0.22);
  color: var(--sand-dark);
}

.meeting-attendance-list {
  display: grid;
  gap: 12px;
}

.meeting-attendance-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(210px, 1.1fr) minmax(250px, 1.3fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.meeting-attendance-main strong,
.meeting-attendance-contact strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 16px;
}

.meeting-attendance-main span,
.meeting-attendance-contact span,
.meeting-attendance-note {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meeting-attendance-controls {
  display: grid;
  gap: 9px;
}

.meeting-attendance-controls select,
.meeting-attendance-controls input {
  margin-bottom: 0;
  padding: 10px 12px;
  border-radius: 12px;
}

.meeting-attendance-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.meeting-attendance-proxy-warning {
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(185, 74, 72, 0.24);
  background: rgba(185, 74, 72, 0.08);
  color: var(--danger);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1050px) {
  .meeting-attendance-row {
    grid-template-columns: 1fr;
  }
}


/* Közgyűlés 8. lépés - napirendi szavazások */

.meeting-votes-section {
  display: grid;
  gap: 16px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
}

.meeting-vote-status {
  display: grid;
  gap: 8px;
}

.meeting-vote-status-box {
  padding: 13px 15px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.5);
  color: var(--text);
  line-height: 1.5;
}

.meeting-vote-status-box.success {
  border-color: rgba(49, 115, 71, 0.3);
  background: rgba(49, 115, 71, 0.08);
  color: #317347;
}

.meeting-vote-status-box.warning {
  border-color: rgba(185, 74, 72, 0.28);
  background: rgba(185, 74, 72, 0.08);
  color: var(--danger);
}

.meeting-vote-status-box.check {
  border-color: rgba(201, 173, 131, 0.46);
  background: rgba(232, 215, 189, 0.22);
  color: var(--sand-dark);
}

.meeting-vote-agenda-list {
  display: grid;
  gap: 16px;
}

.meeting-vote-agenda-card {
  padding: 18px;
  border-radius: 22px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.48);
}

.meeting-vote-agenda-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.meeting-vote-agenda-header h4 {
  margin-bottom: 6px;
  color: var(--text);
  font-size: 18px;
}

.meeting-vote-agenda-header span,
.meeting-vote-agenda-description {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meeting-vote-result-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.62);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.meeting-vote-result-pill.accepted {
  color: #317347;
  border-color: rgba(49, 115, 71, 0.3);
  background: rgba(49, 115, 71, 0.08);
}

.meeting-vote-result-pill.rejected {
  color: var(--danger);
  border-color: rgba(185, 74, 72, 0.28);
  background: rgba(185, 74, 72, 0.08);
}

.meeting-vote-result-pill.check {
  color: var(--sand-dark);
  border-color: rgba(201, 173, 131, 0.46);
  background: rgba(232, 215, 189, 0.22);
}

.meeting-vote-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.meeting-vote-summary-tile {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.52);
}

.meeting-vote-summary-tile span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.meeting-vote-summary-tile strong {
  color: var(--sand-dark);
  font-size: 21px;
  line-height: 1.15;
}

.meeting-vote-voter-list {
  display: grid;
  gap: 10px;
}

.meeting-vote-voter-row {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(190px, 1.1fr) minmax(230px, 1.2fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border-silver);
  background: var(--card-soft);
}

.meeting-vote-voter-row strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 15px;
}

.meeting-vote-voter-row span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meeting-vote-voter-controls {
  display: grid;
  gap: 9px;
}

.meeting-vote-voter-controls select,
.meeting-vote-voter-controls input {
  margin-bottom: 0;
  padding: 10px 12px;
  border-radius: 12px;
}

.meeting-vote-voter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.meeting-vote-ineligible {
  padding: 9px 11px;
  border-radius: 13px;
  border: 1px solid rgba(201, 173, 131, 0.4);
  background: rgba(232, 215, 189, 0.2);
  color: var(--sand-dark);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1050px) {
  .meeting-vote-agenda-header,
  .meeting-vote-voter-row {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}

/* Közgyűlés - 9. lépés: határozatok / döntések összegzése */

.meeting-closing-phase-card {
  align-self: start;
}

.meeting-resolutions-section {
  display: grid;
  gap: 16px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(94, 102, 112, 0.12);
}

.meeting-resolution-status {
  display: grid;
  gap: 10px;
}

.meeting-resolution-status-box {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.52);
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.meeting-resolution-status-box.success {
  border-color: rgba(49, 115, 71, 0.26);
  background: rgba(49, 115, 71, 0.08);
  color: #317347;
}

.meeting-resolution-status-box.warning,
.meeting-resolution-status-box.check {
  border-color: rgba(201, 173, 131, 0.42);
  background: rgba(232, 215, 189, 0.22);
  color: var(--sand-dark);
}

.meeting-resolution-list {
  display: grid;
  gap: 16px;
}

.meeting-resolution-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.52);
}

.meeting-resolution-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.meeting-resolution-header h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
}

.meeting-resolution-header span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meeting-resolution-result-pill {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.55);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: bold;
  white-space: nowrap;
}

.meeting-resolution-result-pill.accepted {
  border-color: rgba(49, 115, 71, 0.3);
  background: rgba(49, 115, 71, 0.08);
  color: #317347;
}

.meeting-resolution-result-pill.rejected {
  border-color: rgba(185, 74, 72, 0.28);
  background: var(--danger-soft);
  color: var(--danger);
}

.meeting-resolution-result-pill.check {
  border-color: rgba(201, 173, 131, 0.42);
  background: rgba(232, 215, 189, 0.28);
  color: var(--sand-dark);
}

.meeting-resolution-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.meeting-resolution-summary-tile {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.46);
}

.meeting-resolution-summary-tile span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.meeting-resolution-summary-tile strong {
  color: var(--sand-dark);
  font-size: 17px;
}

.meeting-resolution-form {
  display: grid;
  gap: 0;
}

.meeting-resolution-form input,
.meeting-resolution-form select,
.meeting-resolution-form textarea {
  margin-bottom: 14px;
}

.meeting-resolution-textarea {
  min-height: 210px;
  line-height: 1.55;
  white-space: pre-wrap;
}

.meeting-resolution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

@media (max-width: 900px) {
  .meeting-resolution-header {
    flex-direction: column;
  }

  .meeting-resolution-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .meeting-resolution-summary {
    grid-template-columns: 1fr;
  }

  .meeting-resolution-actions .save-data-btn,
  .meeting-resolution-actions .mini-btn {
    width: 100% !important;
  }
}


/* Közgyűlés - jegyzőkönyv / lezárás */
.meeting-minutes-section { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(94, 102, 112, 0.12); }
.meeting-minutes-status { display: grid; gap: 10px; margin-bottom: 16px; }
.meeting-minutes-status-box { padding: 12px 14px; border-radius: 16px; border: 1px solid var(--border-silver); background: rgba(255, 255, 255, 0.46); color: var(--muted); font-size: 14px; line-height: 1.5; }
.meeting-minutes-status-box.success { color: #317347; border-color: rgba(49, 115, 71, 0.28); background: rgba(49, 115, 71, 0.08); }
.meeting-minutes-status-box.warning { color: var(--sand-dark); border-color: rgba(201, 173, 131, 0.34); background: rgba(232, 215, 189, 0.22); }
.meeting-minutes-status-box.check { color: #376c94; border-color: rgba(55, 108, 148, 0.24); background: rgba(55, 108, 148, 0.07); }
.meeting-minutes-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 16px; }
.meeting-minutes-summary-tile { padding: 14px; border-radius: 16px; border: 1px solid var(--border-silver); background: rgba(255, 255, 255, 0.46); }
.meeting-minutes-summary-tile span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 13px; }
.meeting-minutes-summary-tile strong { color: var(--sand-dark); font-size: 20px; }
.meeting-minutes-preview { width: 100%; max-height: 460px; overflow: auto; margin: 0 0 18px; padding: 18px; border-radius: 18px; border: 1px solid var(--border-silver); background: rgba(255, 255, 255, 0.58); color: var(--text); font-family: Georgia, "Times New Roman", serif; font-size: 14px; line-height: 1.65; white-space: pre-wrap; }
.meeting-minutes-textarea { min-height: 360px; font-family: Georgia, "Times New Roman", serif; line-height: 1.6; }
.meeting-minutes-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
@media (max-width: 700px) { .meeting-minutes-actions { flex-direction: column; align-items: stretch; } .meeting-minutes-actions .save-data-btn, .meeting-minutes-actions .mini-btn, .meeting-minutes-actions .danger-mini-btn { width: 100% !important; } }

/* Közgyűlés finomhangolás - napirendi pont rögzítés és meghívó szerkesztés */
.meeting-inline-agenda-form{display:grid;gap:10px;margin:14px 0;padding:16px;border-radius:18px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.42)}
.meeting-inline-agenda-form h5{margin:0 0 4px;color:var(--text);font-size:16px}
.meeting-inline-agenda-form input,.meeting-inline-agenda-form textarea,.meeting-inline-agenda-form select{margin-bottom:0}
.meeting-inline-agenda-form textarea{min-height:82px}
.meeting-invitation-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.meeting-invitation-send-btn{min-width:220px;padding:10px 16px;font-size:13px;box-shadow:0 8px 18px rgba(151,121,77,0.16)}
.meeting-invitation-send-btn:disabled{opacity:.68;cursor:not-allowed;transform:none!important}
.meeting-invitation-send-status{margin:0 0 14px;padding:13px 14px;border-radius:16px;border:1px solid var(--border-silver);background:rgba(255,255,255,.58);color:var(--muted);font-size:13px;line-height:1.5}
.meeting-invitation-send-status.success{border-color:rgba(49,115,71,.28);background:rgba(49,115,71,.08);color:#317347}
.meeting-invitation-send-status.warning{border-color:rgba(199,168,121,.36);background:rgba(232,215,189,.25);color:var(--sand-dark)}
.meeting-invitation-send-status.error{border-color:rgba(185,74,72,.28);background:var(--danger-soft);color:var(--danger)}
.meeting-invitation-send-status strong{display:block;margin-bottom:4px;color:inherit}
.meeting-invitation-edit-wrap{margin-top:14px;padding:16px;border-radius:20px;border:1px solid var(--border-silver);background:rgba(255,255,255,0.54)}
.meeting-invitation-textarea{min-height:420px;white-space:pre-wrap;font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1.65}
.meeting-agenda-list-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:1200px){.meeting-invitation-actions{justify-content:flex-start}.meeting-inline-agenda-form .save-data-btn{width:100%!important}}


/* Közgyűlés - meghívottak lenyitható lista + sor műveletek */
.meeting-participants-collapse {
  display: grid;
  gap: 12px;
}

.meeting-participant-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.meeting-participant-actions .mini-btn,
.meeting-participant-actions .danger-mini-btn {
  white-space: nowrap;
}

.meeting-section-actions {
  align-items: center;
}

#meetingParticipantsCountLabel {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}


/* =========================================================
   KÖZGYŰLÉS RÉSZLETEZŐ NÉZET - TELJES SZÉLESSÉG
   A megnyitott közgyűlés minden fáziskártyája egymás alatt,
   az oldal teljes elérhető szélességéhez igazodva jelenik meg.
========================================================= */

#meetingsTab .meeting-detail-panel,
#meetingsTab .meeting-detail-main-card,
#meetingsTab .meeting-phase-grid,
#meetingsTab .meeting-phase-card {
  width: 100%;
  max-width: none;
}

#meetingsTab .meeting-phase-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

#meetingsTab .meeting-phase-card,
#meetingsTab .meeting-live-phase-card,
#meetingsTab .meeting-closing-phase-card {
  grid-column: 1 / -1;
}

/* Közgyűlés - gyors jelenléti ív modal */
.meeting-attendance-sheet-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.52);
}

.meeting-attendance-sheet-card strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 18px;
}

.meeting-attendance-sheet-card span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meeting-attendance-sheet-card .save-data-btn {
  flex: 0 0 auto;
  min-width: 210px;
}

.meeting-attendance-modal {
  z-index: 9998;
}

.meeting-attendance-modal-card {
  width: min(920px, 100%);
  max-width: 920px;
  max-height: calc(100vh - 56px);
  overflow-y: auto;
}

.meeting-attendance-modal-subtitle {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.meeting-attendance-modal-help {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(201, 173, 131, 0.32);
  background: rgba(232, 215, 189, 0.2);
  color: var(--sand-dark);
  font-size: 13px;
  line-height: 1.5;
}

.meeting-attendance-sheet-list {
  display: grid;
  gap: 8px;
}

.meeting-attendance-sheet-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(150px, 0.8fr) minmax(210px, auto);
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.62);
}

.meeting-attendance-sheet-header {
  background: rgba(232, 215, 189, 0.26);
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.meeting-attendance-sheet-name strong,
.meeting-attendance-sheet-unit strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-size: 15px;
}

.meeting-attendance-sheet-name span,
.meeting-attendance-sheet-unit span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.meeting-attendance-sheet-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.attendance-toggle-btn {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-weight: 900;
  font-size: 17px;
  transition: 0.2s ease;
}

.attendance-toggle-btn:hover {
  transform: translateY(-1px);
  background: rgba(232, 215, 189, 0.3);
}

.attendance-absent-btn.active {
  border-color: rgba(185, 74, 72, 0.32);
  background: rgba(185, 74, 72, 0.1);
  color: var(--danger);
}

.attendance-present-btn.active {
  border-color: rgba(49, 115, 71, 0.34);
  background: rgba(49, 115, 71, 0.1);
  color: #317347;
}

.meeting-attendance-sheet-status {
  min-width: 86px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--border-silver);
  background: rgba(255, 255, 255, 0.55);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.meeting-attendance-sheet-status.present {
  border-color: rgba(49, 115, 71, 0.28);
  background: rgba(49, 115, 71, 0.08);
  color: #317347;
}

.meeting-attendance-sheet-status.absent {
  border-color: rgba(185, 74, 72, 0.26);
  background: rgba(185, 74, 72, 0.08);
  color: var(--danger);
}

@media (max-width: 800px) {
  .meeting-attendance-sheet-card,
  .meeting-attendance-sheet-row,
  .meeting-attendance-sheet-header {
    grid-template-columns: 1fr;
  }

  .meeting-attendance-sheet-card {
    display: grid;
  }

  .meeting-attendance-sheet-card .save-data-btn {
    width: 100% !important;
  }

  .meeting-attendance-sheet-controls {
    justify-content: flex-start;
  }
}

