.est-wrap { display: flex; flex-direction: column; gap: 14px; }

.est-flash { padding: 9px 13px; border-radius: 9px; font-size: 0.84rem; border: 1px solid transparent; }
.est-flash.est-good { background: rgba(121, 211, 155, 0.12); border-color: rgba(121, 211, 155, 0.38); color: var(--lab-good); }
.est-flash.est-bad { background: rgba(229, 115, 115, 0.12); border-color: rgba(229, 115, 115, 0.38); color: var(--lab-bad); }

.est-switch { display: flex; flex-wrap: wrap; gap: 8px; }

.est-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.est-title { display: flex; flex-direction: column; gap: 3px; }
.est-name { font-size: 1.3rem; font-weight: 800; color: var(--lab-gold-bright); letter-spacing: 0.3px; }
.est-sub { font-size: 0.8rem; color: var(--lab-gold-dim); }
.est-mood { align-self: center; padding: 4px 11px; border-radius: 999px; font-size: 0.74rem; font-weight: 600; border: 1px solid var(--lab-edge); background: rgba(244, 207, 139, 0.1); color: var(--lab-gold); }
.est-mood-bad { border-color: rgba(229, 115, 115, 0.4); background: rgba(229, 115, 115, 0.12); color: var(--lab-bad); }
.est-mood-good { border-color: rgba(121, 211, 155, 0.4); background: rgba(121, 211, 155, 0.12); color: var(--lab-good); }

.est-warn { padding: 8px 12px; border-radius: 8px; font-size: 0.8rem; background: rgba(229, 115, 115, 0.12); border: 1px solid rgba(229, 115, 115, 0.4); color: var(--lab-bad); }

.est-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.est-tile { background: rgba(0, 0, 0, 0.22); border: 1px solid var(--lab-edge-soft); border-radius: 10px; padding: 12px 10px; text-align: center; }
.est-tile-v { font-size: 1.25rem; font-weight: 800; color: var(--lab-gold-bright); font-variant-numeric: tabular-nums; }
.est-tile-l { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--lab-gold-dim); margin-top: 3px; }
.est-tile.est-good .est-tile-v { color: var(--lab-good); }
.est-tile.est-bad .est-tile-v { color: var(--lab-bad); }

.est-card {
  border: 1px solid var(--lab-edge-soft);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(40, 24, 47, 0.4), rgba(15, 8, 19, 0.5));
  padding: 14px 15px;
  display: flex; flex-direction: column; gap: 10px;
}
.est-card-h { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--lab-gold); font-weight: 800; }
.est-muted { font-size: 0.78rem; color: var(--lab-gold-dim); line-height: 1.45; }
.est-good { color: var(--lab-good); }
.est-bad { color: var(--lab-bad); }

.est-domline { font-size: 0.84rem; color: var(--lab-gold-bright); font-weight: 600; }
.est-over { color: var(--lab-bad); font-weight: 400; font-size: 0.78rem; }

.est-seats { display: flex; flex-direction: column; gap: 6px; }
.est-seat { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 8px 10px; background: rgba(0, 0, 0, 0.22); border-radius: 8px; }
.est-seat-nm { color: var(--lab-gold-bright); font-weight: 600; font-size: 0.86rem; }
.est-seat-t { font-size: 0.74rem; color: var(--lab-gold-dim); }
.est-seat-i { font-size: 0.8rem; color: var(--lab-gold); font-variant-numeric: tabular-nums; }
.est-badge { margin-left: 8px; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 1px 6px; border-radius: 5px; background: rgba(244, 207, 139, 0.14); color: var(--lab-gold); }

.est-econ { display: flex; flex-wrap: wrap; gap: 16px; font-size: 0.8rem; color: var(--lab-gold); padding-top: 4px; border-top: 1px solid var(--lab-edge-soft); font-variant-numeric: tabular-nums; }

.est-acct .est-muted { color: rgba(229, 115, 115, 0.78); }

.est-pet { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 9px; background: rgba(0, 0, 0, 0.22); border-left: 3px solid var(--lab-edge); }
.est-pet-open { border-left-color: var(--lab-gold); }
.est-pet-granted { border-left-color: var(--lab-good); }
.est-pet-refused, .est-pet-expired { border-left-color: var(--lab-bad); opacity: 0.82; }
.est-pet-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.est-pet-t { color: var(--lab-gold-bright); font-weight: 600; font-size: 0.86rem; }
.est-pet-b { font-size: 0.78rem; color: var(--lab-gold-dim); }
.est-pet-side { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.est-pill { font-size: 0.68rem; padding: 2px 9px; border-radius: 999px; font-weight: 600; }
.est-pill-open { background: rgba(244, 207, 139, 0.16); color: var(--lab-gold); }
.est-pill-granted { background: rgba(121, 211, 155, 0.18); color: var(--lab-good); }
.est-pill-refused, .est-pill-expired { background: rgba(229, 115, 115, 0.18); color: var(--lab-bad); }

.est-slotpill { margin-left: 10px; font-size: 0.68rem; font-weight: 600; padding: 2px 9px; border-radius: 999px; background: rgba(244, 207, 139, 0.14); color: var(--lab-gold); text-transform: none; letter-spacing: 0; }
.est-reglist { display: flex; flex-direction: column; gap: 6px; }
.est-reg { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 9px; background: rgba(0, 0, 0, 0.22); border-left: 3px solid var(--lab-edge); }
.est-reg-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.est-reg-nm { color: var(--lab-gold-bright); font-weight: 600; font-size: 0.86rem; display: flex; align-items: center; gap: 8px; }
.est-reg-meta { font-size: 0.74rem; color: var(--lab-gold-dim); font-variant-numeric: tabular-nums; }
.est-reg-acts { display: flex; gap: 6px; flex-shrink: 0; flex-wrap: wrap; }
.est-rmob { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 1px 7px; border-radius: 5px; }
.est-rmob-garrison { background: rgba(156, 138, 99, 0.2); color: var(--lab-gold-dim); }
.est-rmob-raised { background: rgba(236, 188, 91, 0.2); color: var(--lab-warn); }
.est-truenet { padding-top: 6px; border-top: 1px solid var(--lab-edge-soft); font-variant-numeric: tabular-nums; }

.est-inbox { border-color: var(--lab-edge); box-shadow: inset 0 0 0 1px rgba(244, 207, 139, 0.08); }
.est-offer { display: flex; flex-direction: column; gap: 7px; padding: 11px 13px; border-radius: 10px; background: rgba(0, 0, 0, 0.22); border-left: 3px solid var(--lab-gold); }
.est-offer-call { border-left-color: var(--lab-warn); }
.est-offer-boon { border-left-color: var(--lab-good); }
.est-offer-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.est-offer-nm { color: var(--lab-gold-bright); font-weight: 700; font-size: 0.92rem; }
.est-offer-tl { font-size: 0.68rem; font-weight: 600; padding: 2px 9px; border-radius: 999px; background: rgba(244, 207, 139, 0.16); color: var(--lab-gold); flex-shrink: 0; }
.est-offer-note { font-size: 0.8rem; color: var(--lab-gold); font-style: italic; }
.est-offer-hint { font-size: 0.78rem; color: var(--lab-gold-dim); line-height: 1.45; }
.est-offer-hint-warn { color: rgba(229, 115, 115, 0.82); }
.est-offer-acts { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding-top: 2px; }

.est-fallen {
  border-color: rgba(229, 115, 115, 0.45);
  background: linear-gradient(180deg, rgba(72, 26, 30, 0.42), rgba(15, 8, 19, 0.6));
  box-shadow: inset 0 0 0 1px rgba(229, 115, 115, 0.1);
}
.est-fallen .est-card-h { color: var(--lab-bad); }
.est-fall-lede { font-size: 0.92rem; color: var(--lab-gold-bright); line-height: 1.5; }
.est-fall-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.est-fall-opt {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  padding: 12px 13px;
  border: 1px solid var(--lab-edge-soft);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.28);
}
.est-fall-t { font-size: 0.86rem; font-weight: 800; color: var(--lab-gold); letter-spacing: 0.02em; }
.est-fall-b { flex: 1 1 auto; font-size: 0.78rem; color: var(--lab-gold-dim); line-height: 1.5; }

.est-petform, .est-actrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.est-input {
  box-sizing: border-box;
  min-width: 150px;
  flex: 1 1 150px;
  padding: 7px 11px;
  background: #2a1830;
  border: 1px solid var(--lab-edge-soft);
  border-radius: 9px;
  color: var(--lab-gold-bright);
  font-family: inherit;
  font-size: 0.84rem;
}
.est-input::placeholder { color: var(--lab-gold-dim); }
.est-input:focus { outline: none; border-color: var(--lab-gold); }
.est-input:focus-visible { outline: 2px solid var(--lab-gold); outline-offset: 1px; }
.est-actrow .est-input { max-width: 260px; }
.est-ro { text-align: center; font-style: italic; }

.est-demand {
  padding: 12px 14px;
  border: 1px solid rgba(229, 115, 115, 0.5);
  border-radius: 11px;
  background: rgba(120, 45, 40, 0.16);
}
.est-demand-h {
  display: flex; align-items: center; gap: 7px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--lab-bad);
  margin-bottom: 7px;
}
.est-demand-ico { width: 14px; height: 14px; flex: 0 0 auto; color: var(--lab-bad); }
.est-demand-b { font-size: 0.86rem; line-height: 1.5; color: var(--lab-gold-bright); }

@media (max-width: 820px) {
  .est-tiles { grid-template-columns: repeat(2, 1fr); }
  .est-seat { grid-template-columns: 1fr auto; }
  .est-seat-i { grid-column: 2; }
  .est-pet, .est-reg, .est-offer-top { flex-wrap: wrap; }
  .est-pet-side, .est-reg-acts { width: 100%; }
  .est-fall-opts { grid-template-columns: 1fr; }
}

.est-none { display: none; }
.est-card-sub {
  font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--lab-gold-dim); font-weight: 800;
  padding-top: 4px; border-top: 1px solid var(--lab-edge-soft);
}
.est-badge.is-good { background: rgba(129, 199, 132, 0.16); color: var(--lab-good); }

.est-cv-top { display: flex; flex-wrap: wrap; gap: 10px; }
.est-cv-share {
  flex: 1 1 140px;
  padding: 12px 14px; border-radius: 11px;
  background: rgba(0, 0, 0, 0.24);
  border: 1px solid var(--lab-edge-soft);
}
.est-cv-share.is-bloc { border-color: rgba(129, 199, 132, 0.4); }
.est-cv-share-v { font-size: 1.6rem; font-weight: 800; color: var(--lab-gold-bright); font-variant-numeric: tabular-nums; line-height: 1.1; }
.est-cv-share.is-bloc .est-cv-share-v { color: var(--lab-good); }
.est-cv-share-l { font-size: 0.72rem; color: var(--lab-gold-dim); margin-top: 3px; }

.est-cv-terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.est-cv-term {
  padding: 10px 11px; border-radius: 9px;
  background: rgba(0, 0, 0, 0.2);
  border-left: 3px solid var(--lab-edge);
}
.est-cv-term-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.est-cv-term-n { font-size: 0.78rem; font-weight: 700; color: var(--lab-gold); }
.est-cv-term-v { font-size: 0.95rem; font-weight: 800; color: var(--lab-gold-bright); font-variant-numeric: tabular-nums; }
.est-cv-term-d { font-size: 0.72rem; color: var(--lab-gold-dim); line-height: 1.4; margin-top: 4px; }

.est-cv-chamber { display: flex; flex-direction: column; gap: 5px; }
.est-cv-seat {
  display: grid; grid-template-columns: minmax(0, 1fr) 110px 46px;
  align-items: center; gap: 10px;
  padding: 7px 11px; border-radius: 8px;
  background: rgba(0, 0, 0, 0.2);
  border-left: 3px solid var(--lab-edge);
}
.est-cv-seat.is-me { border-left-color: var(--lab-gold-bright); background: rgba(244, 207, 139, 0.08); }
.est-cv-seat.is-ruling { border-left-color: var(--lab-warn); }
.est-cv-seat-n { font-size: 0.84rem; font-weight: 600; color: var(--lab-gold-bright); display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
.est-cv-seat-p { font-size: 0.8rem; font-weight: 700; color: var(--lab-gold); text-align: right; font-variant-numeric: tabular-nums; }
.est-cv-bar { height: 6px; border-radius: 999px; overflow: hidden; background: rgba(0, 0, 0, 0.42); border: 1px solid var(--lab-edge-soft); }
.est-cv-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--lab-gold-dim), var(--lab-gold-bright)); }
.est-cv-seat.is-me .est-cv-bar i { background: linear-gradient(90deg, var(--lab-gold), var(--lab-gold-bright)); }

.est-cv-pledge {
  font-size: 0.84rem; line-height: 1.5; color: var(--lab-gold-bright);
  padding: 10px 12px; border-radius: 10px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--lab-edge-soft);
}

.est-cv-cands, .est-cv-targets { display: flex; flex-direction: column; gap: 5px; }
.est-cv-cand, .est-cv-target {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 8px 12px; border-radius: 9px;
  background: rgba(0, 0, 0, 0.22);
  border-left: 3px solid var(--lab-edge);
}
.est-cv-cand.is-me { border-left-color: var(--lab-gold-bright); }
.est-cv-cand-n, .est-cv-target-n { font-size: 0.85rem; font-weight: 600; color: var(--lab-gold-bright); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.est-cv-cand-a, .est-cv-target-a { display: flex; gap: 6px; align-items: center; flex-shrink: 0; flex-wrap: wrap; }

.est-medici {
  display: flex; flex-direction: column; gap: 10px;
  padding: 12px 13px; border-radius: 11px;
  border: 1px solid rgba(199, 139, 75, 0.4);
  background: rgba(0, 0, 0, 0.2);
}

.est-tiles.is-company { grid-template-columns: repeat(3, 1fr); }
.est-offer-contract { border-left-color: var(--lab-gold-bright); }
.est-company { border-color: rgba(199, 139, 75, 0.45); }
.est-contract {
  padding: 12px 13px; border-radius: 11px;
  border: 1px solid rgba(129, 199, 132, 0.42);
  background: rgba(45, 90, 50, 0.12);
}
.est-contract-h {
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 800;
  color: var(--lab-good); margin-bottom: 6px;
}
.est-contract-l { font-size: 0.88rem; line-height: 1.5; color: var(--lab-gold-bright); margin-bottom: 5px; }
.est-company-note { padding-top: 8px; border-top: 1px solid var(--lab-edge-soft); }

.est-fall-opts { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 980px) {
  .est-cv-terms { grid-template-columns: 1fr; }
  .est-fall-opts { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .est-tiles.is-company { grid-template-columns: repeat(2, 1fr); }
  .est-cv-seat { grid-template-columns: minmax(0, 1fr) 46px; }
  .est-cv-bar { grid-column: 1 / -1; order: 3; }
  .est-cv-cand, .est-cv-target { flex-wrap: wrap; }
  .est-cv-cand-a, .est-cv-target-a { width: 100%; }
}
