.dashboard-page {
  font-family: Arial, "Pretendard", "Noto Sans KR", sans-serif;
}

.dashboard-main {
  display: grid;
  grid-template-columns: minmax(220px, .48fr) minmax(0, 1.52fr);
  align-items: start;
  gap: clamp(48px, 8vw, 120px);
  padding: clamp(62px, 8vw, 110px) 0 110px;
}
.dashboard-intro h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(44px, 5.8vw, 72px);
  line-height: .99;
  letter-spacing: -.085em;
  font-weight: 800;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.dashboard-intro h1 em { color: var(--member-blue); font-style: normal; }
.dashboard-intro .member-lead,
.dashboard-account h2 {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.dashboard-nowrap { white-space: nowrap; }
.dashboard-content { min-width: 0; }
.dashboard-status { margin-bottom: 18px; padding: 13px 16px; border: 1px solid #e3e7ff; border-radius: 10px; color: #3647bd; background: var(--member-blue-soft); font-size: 13px; line-height: 1.55; }
.dashboard-status.is-error { color: #a32838; background: #fff4f5; }
.dashboard-account, .dashboard-section { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--member-line); border-radius: 18px; background: var(--member-white); box-shadow: 0 15px 44px rgba(24, 32, 52, .045); }
.dashboard-account { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .9fr) auto; align-items: end; gap: 28px; }
.dashboard-account h2 { margin: 16px 0 0; font-size: clamp(26px, 3vw, 36px); letter-spacing: -.07em; }
.dashboard-account-details { margin: 0; border-top: 1px solid var(--member-line); border-bottom: 1px solid var(--member-line); }
.dashboard-account-details div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid #eef0f2; }
.dashboard-account-details div:last-child { border-bottom: 0; }
.dashboard-account-details dt { color: var(--member-muted); font-size: 12px; }
.dashboard-account-details dd { margin: 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; }
.dashboard-account .logout-button { width: auto; min-width: 92px; margin: 0; padding: 0 18px; }
.dashboard-section { margin-top: 18px; }
.dashboard-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.dashboard-section-head h2, .dashboard-section-head h3 { margin: 12px 0 0; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.07em; }
.dashboard-section-head h3 { font-size: 23px; }
.dashboard-section-head > a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 9px; color: var(--member-white); background: var(--member-blue); font-size: 12px; font-weight: 800; white-space: nowrap; transition: background .2s, transform .2s; }
.dashboard-section-head > a:hover { color: var(--member-white); background: var(--member-blue-dark); transform: translateY(-2px); }
.dashboard-items { display: grid; gap: 0; border-top: 1px solid var(--member-line); }
.dashboard-favorite-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border-top: 0; }
.dashboard-favorite-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--member-line); border-radius: 12px; background: var(--member-white); }
.dashboard-favorite-card-link { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; min-width: 0; min-height: 100%; padding: 12px 12px 46px; color: inherit; }
.dashboard-favorite-card-link:hover { color: inherit; }
.dashboard-favorite-card-link:focus-visible { position: relative; z-index: 2; outline: 3px solid var(--member-blue); outline-offset: -3px; border-radius: 10px; }
.dashboard-favorite-card-link img { width: 104px; height: 84px; object-fit: cover; border-radius: 8px; background: #f3f4f7; }
.dashboard-favorite-card-link h3 { margin: 4px 0 6px; font-size: 16px; letter-spacing: -.05em; }
.dashboard-favorite-card-link p { margin: 0; color: var(--member-muted); font-size: 12px; line-height: 1.6; }
.dashboard-favorite-card .remove-favorite { position: absolute; right: 12px; bottom: 12px; z-index: 3; margin: 0; padding: 0; color: #7b818d; background: transparent; font-size: 11px; }
.dashboard-row { display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--member-line); }
.dashboard-row:last-child { border-bottom: 0; }
.dashboard-row h3, .dashboard-row p { margin: 0; }
.dashboard-row h3 { font-size: 16px; letter-spacing: -.04em; }
.dashboard-row p { color: var(--member-muted); font-size: 12px; line-height: 1.65; }
.dashboard-row-meta { color: var(--member-muted); font-size: 11px; text-align: right; white-space: nowrap; }
.dashboard-space-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border-top: 0; }
.dashboard-space-card { min-width: 0; overflow: hidden; border: 1px solid var(--member-line); border-radius: 14px; background: var(--member-white); }
.dashboard-space-card > img { display: block; width: 100%; aspect-ratio: 4 / 2.35; object-fit: cover; background: #eef0f5; }
.dashboard-space-card-body { padding: 16px; }
.dashboard-space-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.dashboard-space-card h3 { margin: 0 0 6px; font-size: 18px; letter-spacing: -.05em; }
.dashboard-space-card p { margin: 0; color: var(--member-muted); font-size: 12px; line-height: 1.65; }
.dashboard-space-link { display: inline-flex; margin-top: 14px; color: var(--member-blue); font-size: 12px; font-weight: 800; }
.dashboard-space-reason { margin-top: 12px !important; padding-top: 12px; border-top: 1px solid #f0dfe2; color: #a32838 !important; }
.dashboard-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 999px; color: #3647bd; background: var(--member-blue-soft); font-size: 11px; font-weight: 800; white-space: nowrap; }
.dashboard-pill.is-rejected { color: #a32838; background: #fff4f5; }
.dashboard-pill.is-approved, .dashboard-pill.is-selected { color: #24704a; background: #eefaf3; }
.dashboard-empty { padding: 24px 0; color: var(--member-muted); font-size: 13px; }
.dashboard-subsection { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--member-line); }
.match-card { display: block; padding: 18px 0; border-bottom: 1px solid var(--member-line); }
.match-card:last-child { border-bottom: 0; }
.match-card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.match-card h4 { margin: 0; font-size: 16px; letter-spacing: -.04em; }
.match-card p { margin: 8px 0 0; color: var(--member-muted); font-size: 12px; line-height: 1.65; }
.match-form { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 9px; margin-top: 14px; }
.match-form input { min-height: 42px; border: 1px solid var(--member-line); border-radius: 8px; padding: 9px 10px; font-size: 12px; }
.match-form button { min-height: 42px; padding: 0 14px; border-radius: 8px; color: var(--member-white); background: var(--member-blue); font-size: 12px; font-weight: 800; }
.match-form button:disabled { opacity: .55; }
.dashboard-space-management { margin-top: 16px; padding: 14px; border: 1px solid var(--member-line); border-radius: 12px; background: #f8f9fc; min-width: 0; }
.dashboard-space-management[hidden] { display: none; }
.dashboard-space-management h4 { margin: 22px 0 8px; font-size: 15px; word-break: keep-all; }
.dashboard-space-management .dashboard-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: start; }
.dashboard-space-management .dashboard-row > p,
.dashboard-space-management .dashboard-row > form { grid-column: 1 / -1; }
.dashboard-space-management .dashboard-row h3 { font-size: 14px; word-break: keep-all; }
.dashboard-space-management .dashboard-row p { word-break: keep-all; overflow-wrap: anywhere; }
.dashboard-space-card-body > button.dashboard-space-link { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; border: 1px solid #cbd1ff; border-radius: 8px; background: #eef1ff; cursor: pointer; }
.booking-confirm-form { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.booking-confirm-form label { display: grid; gap: 6px; min-width: 0; font-size: 12px; color: var(--member-muted); }
.booking-confirm-form input { width: 100%; min-width: 0; box-sizing: border-box; }
.booking-confirm-form > button { grid-column: 1 / -1; }
.booking-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-actions button { min-height: 44px; }
.booking-actions button[value="cancel"] { background: #fff; color: #8f293c; border: 1px solid #e1c7cd; }
@media (max-width: 560px) {
  .dashboard-space-management { padding: 10px; }
  .booking-confirm-form { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .dashboard-main { grid-template-columns: 1fr; gap: 36px; }
  .dashboard-account { grid-template-columns: 1fr 1fr; }
  .dashboard-account .logout-button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 560px) {
  .dashboard-main { padding-top: 48px; }
  .dashboard-account, .dashboard-section { padding: 21px 18px; }
  .dashboard-account { display: block; }
  .dashboard-account-details { margin-top: 22px; }
  .dashboard-account .logout-button { margin-top: 20px; }
  .dashboard-favorite-grid { grid-template-columns: 1fr; }
  .dashboard-space-grid { grid-template-columns: 1fr; }
  .dashboard-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; }
  .dashboard-row p { grid-column: 1 / -1; }
  .dashboard-row-meta { text-align: right; }
  .match-form { grid-template-columns: 1fr; }
  .match-form button { width: 100%; }
}
/* One status per matching card; the response explanation has its own spacing. */
.match-response-note{margin:18px 0!important;padding:16px;background:#f6f7ff;border-radius:10px;color:#60708b;font-size:13px;line-height:1.8;word-break:keep-all}
.match-response-note a{display:inline-block;margin-top:8px;color:#4655ff;font-weight:700}
.dashboard-status[hidden]{display:none!important}
