/* mese.css — MESE 2.0 (страницы /mese и /mese/admin под зонтиком cac.az).
 * Палитра/типографика наследуются от app.css; здесь только игровая вёрстка.
 * Mobile-first: лист решений сдаётся с телефона (спека 6.8). */

.mese { max-width: 960px; margin: 0 auto; }
.mese .mese-intro { margin-bottom: 1rem; }

.mese-panel {
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 10px;
  padding: 1rem;
  margin: 0 0 1rem;
  background: rgba(255, 255, 255, .6);
}
.mese-panel h2 { margin: 0 0 .6rem; font-size: 1.05rem; }

.mese-row {
  display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
  margin: .4rem 0;
}
.mese-row label { font-weight: 600; }
.mese-row input, .mese-row select {
  padding: .45rem .6rem; border: 1px solid rgba(0, 0, 0, .25); border-radius: 8px;
  font: inherit; max-width: 12rem;
}
.mese-hint { opacity: .65; font-size: .85rem; }
.mese-note { font-weight: 600; margin: .5rem 0 0; }

.mese button {
  font: inherit; padding: .5rem .9rem; border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, .25); background: #fff; cursor: pointer;
}
.mese button.primary { background: #1d3557; color: #fff; border-color: #1d3557; }
.mese button:disabled { opacity: .5; cursor: default; }
.mese button.mese-danger { border-color: #b23a48; color: #b23a48; }

.mese-error {
  background: #fdecec; border: 1px solid #e4a3a3; color: #7a1f1f;
  border-radius: 8px; padding: .6rem .8rem; margin: 0 0 1rem;
}

.mese-status { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.mese-status .pill {
  border: 1px solid rgba(0, 0, 0, .18); border-radius: 999px;
  padding: .25rem .7rem; font-size: .9rem; background: rgba(255, 255, 255, .7);
}
.mese-code { letter-spacing: .18em; font-weight: 700; }
.mese-code-line { font-size: 1.1rem; }

.mese-teams { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.mese-team-chip {
  display: inline-block; padding: .35rem .8rem; border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, .25); background: #fff; font: inherit; cursor: pointer;
}
.mese-team-chip.me { background: #1d3557; color: #fff; border-color: #1d3557; cursor: default; }

.mese-event {
  border-left: 4px solid #b8860b; background: rgba(184, 134, 11, .08);
  border-radius: 6px; padding: .7rem 1rem; margin: 0 0 1rem;
}
.mese-event h3 { margin: 0 0 .3rem; }
.mese-event p { margin: 0; }

.mese-tabs { display: flex; gap: .4rem; flex-wrap: wrap; margin: 0 0 .8rem; }
.mese-tabs button { border-radius: 8px 8px 0 0; border-bottom: none; opacity: .7; }
.mese-tabs button.active { opacity: 1; font-weight: 700; background: #fff; }

.mese-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem;
}
@media (min-width: 700px) { .mese-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mese-grid label { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; font-weight: 600; }
.mese-grid input, .mese-grid select {
  padding: .5rem .6rem; border: 1px solid rgba(0, 0, 0, .25); border-radius: 8px; font: inherit;
}

.mese-forecast {
  margin: .9rem 0; padding: .7rem .9rem; border: 1px dashed rgba(0, 0, 0, .25);
  border-radius: 8px; background: rgba(255, 255, 255, .5);
}
.mese-fc-row { display: flex; justify-content: space-between; gap: 1rem; padding: .15rem 0; }
.mese-fc-row.bad { color: #b23a48; font-weight: 700; }
.mese-fc-warn { margin: .4rem 0 0; font-size: .85rem; color: #8a6d00; }

.mese-submit-row { margin-top: .6rem; }

.mese-table {
  width: 100%; border-collapse: collapse; margin: .6rem 0; font-size: .92rem;
  overflow-x: auto; display: block;
}
@media (min-width: 700px) { .mese-table { display: table; } }
.mese-table th, .mese-table td {
  border-bottom: 1px solid rgba(0, 0, 0, .12); padding: .4rem .6rem; text-align: left;
  white-space: nowrap;
}
.mese-table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.mese-value { font-weight: 700; }
.mese-flags { font-size: .8rem; opacity: .8; }
.mese-ok { color: #2a7d46; font-weight: 700; }
.mese-wait { opacity: .6; }

.mese-report, .mese-round-public { margin: 0 0 .8rem; }
.mese-report summary, .mese-round-public summary {
  cursor: pointer; font-weight: 700; padding: .3rem 0;
}
.mese-narrative { margin: .6rem 0 0; }
.mese-narrative h4 { margin: 0 0 .3rem; font-size: .95rem; }
.mese-narrative ul { margin: 0; padding-left: 1.2rem; }
.mese-narrative li { margin: .2rem 0; }

.mese-overlay {
  position: fixed; inset: 0; background: rgba(0, 0, 0, .45);
  display: flex; align-items: center; justify-content: center; z-index: 50; padding: 1rem;
}
.mese-overlay .mese-card {
  background: #fff; border-radius: 12px; padding: 1.2rem; max-width: 26rem;
}

.mese-create summary { cursor: pointer; font-weight: 700; }

.mese-overlay[hidden]{display:none}
