/* =========================================================
   NO_SA – Hadműveletek oldal
   ========================================================= */
.op-hero { border-color: var(--red-700); background: linear-gradient(160deg, rgba(122,19,9,.32), var(--graphite) 45%, #17161a); }
.op-title { font-size: clamp(2rem, 5vw, 3.2rem); margin: 6px 0 4px; }
.op-count .next-label { font: 700 .8rem/1.2 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--steel-400); }
.pre { white-space: pre-line; }
.ops-two { display: grid; gap: var(--gap); grid-template-columns: 1fr 1fr; margin-top: var(--gap); }
@media (max-width: 900px) { .ops-two { grid-template-columns: 1fr; } }
.ops-two h3, .card > h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ops-two h3 svg, .card > h3 svg { width: 22px; height: 22px; color: var(--red-400); }
.rsvp-buttons .btn.active[data-v="yes"] { --c: var(--ok); background: rgba(63,163,77,.18); }
.rsvp-buttons .btn.active[data-v="maybe"] { --c: var(--maybe); background: rgba(217,154,30,.15); }
.rsvp-buttons .btn.active[data-v="no"] { --c: var(--red-500); background: rgba(208,9,9,.15); }
details.names { margin-top: 12px; font-size: .92rem; }
details.names summary { cursor: pointer; font: 700 .85rem/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--red-400); }
details.names p { margin: 8px 0 0; }
.t-ok { color: #6fd27c; } .t-maybe { color: var(--maybe); } .t-no { color: var(--red-400); }

.team-jump { display: flex; flex-wrap: wrap; gap: 6px; }
.teams-grid { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); }
.team-card { display: flex; flex-direction: column; gap: 4px; scroll-margin-top: 200px; }
.team-card.is-mine { border-color: var(--red-500); box-shadow: 0 0 24px rgba(208,9,9,.18); }
.team-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.team-name { font-size: clamp(1.5rem, 2.6vw, 1.9rem); margin: 0; }
.commander { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; margin: 8px 0; background: rgba(0,0,0,.3); border: 1px solid var(--steel-700); }
.commander small { display: block; font: 700 .7rem/1.2 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--steel-400); }
.commander b { font: 700 1.1rem/1.2 var(--font-ui); color: var(--white); letter-spacing: .02em; }
.commander .btn { margin-left: auto; }
.team-block { margin: 6px 0; }
.team-block h4, .tm-h { font-size: .8rem; letter-spacing: .14em; color: var(--steel-400); margin: 12px 0 6px; }
.team-block p { margin: 0; }
.table-tight td, .table-tight th { padding: 7px 10px; }
.table-tight .row-actions { flex-wrap: nowrap; justify-content: flex-end; gap: 4px; }
.table-tight .icon-btn { padding: 5px 8px; min-height: 32px; font-size: .78rem; }
.dot { display: inline-block; width: 9px; height: 9px; transform: rotate(45deg); margin-right: 4px; vertical-align: 1px; }
.dot-yes { background: var(--ok); } .dot-maybe { background: var(--maybe); } .dot-no { background: var(--red-500); } .dot-none { background: var(--steel-700); }
.edit-form { margin-top: 14px; padding: 14px; border: 1px dashed var(--red-700); background: rgba(0,0,0,.3); }
.inline-form { display: flex; gap: 6px; align-items: center; }
.input-sm, .select-sm { min-height: 34px; padding: 5px 8px; font-size: .9rem; }

.pushing { margin-top: var(--gap); border-color: var(--maybe); background: linear-gradient(160deg, rgba(217,154,30,.08), var(--graphite) 40%); }
.pushing .card::before, .pushing::before { background: linear-gradient(225deg, var(--maybe) 50%, transparent 50%); }
.push-grid { display: grid; gap: var(--gap); grid-template-columns: 1fr 1fr; }
@media (max-width: 1000px) { .push-grid { grid-template-columns: 1fr; } }
.budget { height: 6px; background: var(--black-2); border: 1px solid var(--steel-700); margin-bottom: 3px; min-width: 90px; }
.budget i { display: block; height: 100%; background: linear-gradient(90deg, var(--maybe), var(--red-400)); }
.bid-won { color: #6fd27c; border-color: var(--ok); } .bid-lost, .bid-withdrawn { color: var(--steel-500); } .bid-placed { color: var(--maybe); border-color: var(--maybe); }

.days { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); margin-top: 12px; }
.day { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; padding: 10px; border: 1px solid var(--steel-700); background: rgba(0,0,0,.25); }
.day.today { border-color: var(--red-500); }
.day-body p { margin: 2px 0 0; }
#ops-root > section.card + .ops-two, #ops-root > .pushing + section.card { margin-top: var(--gap); }
.ops-two > .card { margin: 0; }
.team-card > *, .push-grid > * { min-width: 0; }
.table-tight td:last-child:has(.row-actions) { white-space: nowrap; width: 1%; }
@media (max-width: 640px) {
  .table-tight th:nth-child(3), .table-tight td:nth-child(3) { display: none; } /* tankok oszlop mobilon rejtve */
  .push-grid .table-tight th:nth-child(3), .push-grid .table-tight td:nth-child(3) { display: table-cell; }
}
.team-card-logo { width: 56px; height: 56px; object-fit: contain; flex-shrink: 0; background: rgba(0,0,0,.35); border: 1px solid var(--steel-700); }
.team-head:has(.team-card-logo) { align-items: center; }
.team-description { margin: 4px 0 2px; color: var(--bone); }
