/* «Достижения»: the calculator, the rewards and the full list above the hub of sections.
   Panels, fields and tables come from site.css (.zg-bonus, .zg-profit-*). */
.zg-ach h2:not(:first-child) { margin-top: 30px; }
.zg-ach-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin: 18px 0 0; }
.zg-ach-form[hidden], .zg-ach-form [hidden] { display: none; }
.zg-ach-points { grid-template-columns: minmax(0, 320px); }
/* The archive my.css gives "#page fieldset" a white box; the panel keeps its paper instead. */
#page .zg-ach-time-fields { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 14px 0 0; border: 0; border-top: 1px dashed var(--zg-line); background: none; }
#page .zg-ach-time-fields legend { float: left; width: 100%; margin: 0 0 10px; padding: 0; color: var(--zg-ink); font-size: 15px; font-weight: 700; }
.zg-ach-time-grid { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.zg-ach-form .zg-profit-field[hidden] { display: none; }
.zg-site .zg-ach-result { margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--zg-line); border-radius: 10px; background: #fffef9; }
.zg-site .zg-ach-result:empty { display: none; }
.zg-ach-result p { margin: 0 0 8px; }
.zg-ach-result p:last-child { margin-bottom: 0; }
.zg-ach-head { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.zg-ach-head img { flex: none; width: 60px; height: 60px; object-fit: contain; }
.zg-ach-head p { margin: 0; color: var(--zg-muted); }
.zg-ach-head strong { color: var(--zg-ink); font-size: 18px; }
.zg-site .zg-ach-answer { font: bold 22px/1.3 Georgia, "Times New Roman", serif; }
.zg-ach-time { padding-top: 8px; border-top: 1px dashed var(--zg-line); }
.zg-ach .zg-profit-scroll { margin-top: 14px; }
.zg-profit-table.zg-ach-rewards { min-width: 0; }
.zg-ach-rewards td:nth-child(2) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.zg-ach-rewards td:nth-child(3) { white-space: normal; }
.zg-ach-rewards tr.zg-ach-got :is(th, td) { color: var(--zg-muted); background: #f3f0df; }
.zg-ach-rewards tr.zg-ach-got th::after { content: " ✓"; color: var(--zg-green); }
.zg-profit-table.zg-ach-table { min-width: 680px; }
.zg-ach-table td { white-space: normal; }
.zg-ach-table td.zg-ach-goals { white-space: nowrap; font-variant-numeric: tabular-nums; }
.zg-ach-table tbody th small { display: block; color: var(--zg-muted); font-size: 12px; font-weight: 400; }
.zg-ach-table tr.zg-ach-group th { position: static; padding-top: 14px; background: #f4ecd0; font: bold 16px/1.3 Georgia, "Times New Roman", serif; }
.zg-ach-table tr:target :is(th, td) { background: #f6edc9; }

@media (max-width: 760px) {
  .zg-ach-form, .zg-ach-time-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .zg-site .zg-ach-result { padding: 12px; }
  .zg-site .zg-ach-answer { font-size: 20px; }
}
