:root {
  --md-cream: #fbf6eb;
  --md-paper: #fffdf8;
  --md-brown: #5b4435;
  --md-brown-dark: #38291f;
  --md-orange: #d96f32;
  --md-mustard: #e3ad3f;
  --md-olive: #97964f;
  --md-line: #ded3c2;
  --md-muted: #786b62;
  --md-radius: 24px;
  --md-shadow: 0 16px 44px rgba(77, 54, 38, .09);
}

.md-grid { display: grid; gap: 24px; }
.md-grid--challenges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.md-grid--partners { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.md-card { overflow: hidden; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-paper); box-shadow: var(--md-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.md-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(77, 54, 38, .14); }
.md-card__image { display: flex; min-height: 220px; overflow: hidden; background: #eadfcf; color: var(--md-brown); text-decoration: none; }
.md-card__image img { width: 100%; height: 220px; object-fit: cover; }
.md-card__image--placeholder { align-items: center; justify-content: center; padding: 32px; background: linear-gradient(135deg, #f5d89a, #d58b56 50%, #8f914d); color: #fff; font-size: 24px; font-weight: 800; text-align: center; }
.md-card__body { padding: 24px; }
.md-card h3 { margin: 12px 0 10px; font-size: clamp(21px, 2vw, 28px); line-height: 1.1; }
.md-card h3 a { color: var(--md-brown-dark); text-decoration: none; }
.md-card p { color: var(--md-muted); }
.md-card__meta { font-size: 14px; }
.md-card__offer { padding: 14px 16px; border-radius: 15px; background: var(--md-cream); color: var(--md-brown); font-size: 14px; }
.md-card__footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 20px; color: var(--md-muted); font-size: 13px; }
.md-card__footer a { color: var(--md-orange); font-weight: 800; text-decoration: none; }
.md-chip, .md-kicker { display: inline-block; color: var(--md-orange); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.md-button { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 24px; border: 0; border-radius: 999px; background: var(--md-orange); color: #fff !important; font: inherit; font-weight: 800; text-decoration: none !important; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.md-button:hover { background: #bd5523; transform: translateY(-1px); }
.md-button--small { min-height: 44px; padding: 10px 20px; }
.md-text-link { display: inline-block; border: 0; background: none; color: var(--md-orange) !important; font-weight: 800; text-decoration: underline; cursor: pointer; }

.md-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; margin: 0 0 32px; padding: 18px; border: 1px solid var(--md-line); border-radius: 20px; background: var(--md-paper); }
.md-filters select, .md-form input, .md-form select, .md-form textarea { width: 100%; border: 1px solid var(--md-line); border-radius: 14px; background: #fff; color: var(--md-brown-dark); font: inherit; }
.md-filters select, .md-form input, .md-form select { min-height: 50px; padding: 10px 14px; }
.md-form textarea { padding: 14px; resize: vertical; }
.md-form label { display: grid; gap: 7px; color: var(--md-brown-dark); font-weight: 700; }
.md-help { color: var(--md-muted); font-size: 13px; font-weight: 400; }
.md-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.md-form { display: grid; gap: 20px; }
.md-form--panel { max-width: 840px; margin-inline: auto; padding: clamp(24px, 5vw, 56px); border: 1px solid var(--md-line); border-radius: 30px; background: var(--md-paper); box-shadow: var(--md-shadow); }
.md-form__intro { margin-bottom: 8px; }
.md-form__intro h2 { margin: 8px 0 6px; color: var(--md-brown-dark); }
.md-form__intro p { color: var(--md-muted); }
.md-fields-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.md-check { display: flex !important; grid-template-columns: auto 1fr; gap: 10px !important; align-items: flex-start; font-size: 14px; font-weight: 500 !important; }
.md-check input { width: 18px; min-height: 18px; margin-top: 2px; }

.md-notice { margin: 0 0 20px; padding: 16px 20px; border: 1px solid #bcc68a; border-radius: 16px; background: #f2f4dd; color: #4f542a; }
.md-notice--error { border-color: #e1a997; background: #fff0eb; color: #8c3e24; }
.md-empty { padding: clamp(28px, 5vw, 56px); border: 1px dashed var(--md-line); border-radius: var(--md-radius); background: var(--md-cream); text-align: center; }
.md-empty h3 { margin-top: 0; color: var(--md-brown-dark); }

.md-meta-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--md-line); border-radius: 20px; background: var(--md-line); }
.md-meta-list > div { display: grid; grid-template-columns: 160px 1fr; gap: 18px; padding: 17px 20px; background: var(--md-paper); }
.md-meta-list span { color: var(--md-muted); }
.md-meta-list strong { color: var(--md-brown-dark); }
.md-participants { display: flex; flex-wrap: wrap; gap: 16px; }
.md-person { display: flex; gap: 10px; align-items: center; padding: 8px 12px 8px 8px; border: 1px solid var(--md-line); border-radius: 999px; background: var(--md-paper); }
.md-person img, .md-avatar { width: 42px; height: 42px; border-radius: 50%; }
.md-avatar { display: grid; place-items: center; background: var(--md-mustard); color: #fff; }
.md-join-box { display: grid; gap: 16px; padding: 28px; border-radius: var(--md-radius); background: var(--md-brown); color: #fff; }
.md-join-box h3 { margin: 0; color: #fff; }
.md-join-box p { margin: 0; color: rgba(255,255,255,.82); }
.md-join-box .md-form label { color: #fff; }

.md-dashboard { display: grid; gap: 32px; }
.md-dashboard__welcome { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 28px; border-radius: var(--md-radius); background: var(--md-cream); }
.md-dashboard__welcome img { border-radius: 50%; }
.md-dashboard__welcome h2 { margin: 3px 0; color: var(--md-brown-dark); }
.md-dashboard__welcome p { margin: 0; color: var(--md-muted); }
.md-dashboard__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.md-dashboard__columns section, .md-profile { padding: 26px; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-paper); }
.md-dashboard-item { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--md-line); color: var(--md-brown-dark); text-decoration: none; }
.md-dashboard-item span { color: var(--md-orange); font-size: 13px; }
.md-owner-people { margin: 10px 0 18px; padding: 12px 14px; border-radius: 14px; background: var(--md-cream); }
.md-owner-people summary { color: var(--md-orange); font-weight: 800; cursor: pointer; }
.md-owner-people > div { display: grid; gap: 3px; padding: 12px 0; border-bottom: 1px solid var(--md-line); }
.md-owner-people > div:last-child { border-bottom: 0; }
.md-owner-people p { margin: 3px 0 0; color: var(--md-muted); }
.md-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.md-stats div { display: grid; gap: 4px; padding: 26px; border-radius: var(--md-radius); background: var(--md-cream); text-align: center; }
.md-stats strong { color: var(--md-orange); font-size: clamp(32px, 5vw, 58px); line-height: 1; }
.md-stats span { color: var(--md-brown); }
.md-partner { display: grid; gap: 12px; padding: 24px; border: 1px solid var(--md-line); border-radius: var(--md-radius); color: var(--md-brown); text-decoration: none; }
.md-partner img { max-height: 90px; width: auto; object-fit: contain; }

.md-navigation ul { display: flex; align-items: center; gap: clamp(12px, 2vw, 30px); margin: 0; padding: 0; list-style: none; }
.md-navigation a { color: var(--md-brown-dark); font-weight: 700; text-decoration: none; }
.md-navigation li:last-child a { padding: 11px 18px; border-radius: 999px; background: var(--md-orange); color: #fff; }

@media (max-width: 900px) {
  .md-grid--challenges, .md-grid--partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-dashboard__welcome { grid-template-columns: auto 1fr; }
  .md-dashboard__welcome .md-button { grid-column: 1 / -1; }
  .md-navigation ul { flex-wrap: wrap; }
}

@media (max-width: 640px) {
  .md-grid--challenges, .md-grid--partners, .md-fields-2, .md-dashboard__columns, .md-stats, .md-filters { grid-template-columns: 1fr; }
  .md-meta-list > div { grid-template-columns: 1fr; gap: 4px; }
  .md-dashboard__welcome { grid-template-columns: 1fr; text-align: center; }
  .md-dashboard__welcome > div:first-child { margin-inline: auto; }
  .md-card__footer { align-items: flex-start; flex-direction: column; }
}
