/* Space application, its status page, the account page and the operator's review (docs/공간-임대.md). */

.steps { display: flex; gap: 4px; margin: 0 0 18px; padding: 0; list-style: none; }
.steps li { flex: 1; height: 6px; border-radius: 99px; background: var(--line); }
.steps li.done { background: #cfa978; }
.steps li.now { background: var(--brand); }
.step-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.step-title small { color: var(--muted); }

.options { display: grid; gap: 10px; }
.option {
  display: block;
  width: 100%;
  text-align: left;
  padding: 14px 16px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.option:hover:not(:disabled) { border-color: #cbbba6; }
.option.selected { border-color: var(--brand); box-shadow: 0 0 0 2px rgba(138, 90, 43, .15); }
.option:disabled { opacity: .55; cursor: default; }
.option .name { font-weight: 700; }
.option .desc { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
.option .tag { float: right; font-size: 13px; font-weight: 600; color: var(--muted); }
.option .tag.free { color: var(--ok); }

.sizes { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; }
.plan-pic { margin: 14px 0 4px; border: 1px solid var(--line); border-radius: 10px; background: #fbf8f3; overflow: hidden; }
.plan-pic svg { display: block; width: 100%; height: auto; }

.doc-row { border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.code-row { display: flex; gap: 8px; align-items: center; }
.code-row .input { max-width: 160px; letter-spacing: 3px; font-variant-numeric: tabular-nums; }

.consent { border-bottom: 1px solid var(--line); padding: 8px 0; }
.consent:last-child { border-bottom: 0; }
.consent .check { margin: 0; }
.consent details { margin: 6px 0 4px 28px; font-size: 14px; color: var(--muted); }
.consent summary { cursor: pointer; color: var(--brand); }
.consent ul { margin: 6px 0; padding-left: 18px; }
.consent table, .facts { width: 100%; border-collapse: collapse; font-size: 14px; }
.consent td, .consent th, .facts td, .facts th { border-bottom: 1px solid var(--line); padding: 6px 4px; text-align: left; vertical-align: top; }
.facts th { width: 34%; color: var(--muted); font-weight: 600; }
.check-all { font-weight: 700; padding-bottom: 10px; border-bottom: 1.5px solid var(--line); }

.nav-row { display: flex; gap: 10px; margin-top: 18px; }
.nav-row .btn { flex: 1; min-height: 48px; }

.timeline { display: flex; gap: 6px; margin: 4px 0 16px; padding: 0; list-style: none; font-size: 14px; }
.timeline li { flex: 1; text-align: center; padding: 8px 4px; border-radius: 8px; background: #efe8de; color: var(--muted); }
.timeline li.done { background: #e3f2e8; color: var(--ok); }
.timeline li.now { background: #fbf0dc; color: var(--warn); font-weight: 700; }
.timeline li.bad { background: #f8e4e2; color: var(--bad); font-weight: 700; }

/* Operator review */
.review { border-left: 4px solid var(--gold); }
.review.closed { border-left-color: var(--line); }
.review-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 760px) { .review-grid { grid-template-columns: 1fr; } }
.hint { display: inline-block; font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 99px; margin-left: 4px; background: #efe8de; color: var(--muted); }
.hint.ok { background: #e3f2e8; color: var(--ok); }
.hint.warn { background: #fbf0dc; color: var(--warn); }
.hint.bad { background: #f8e4e2; color: var(--bad); }
.checklist label { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; margin: 6px 0; }
.checklist input { margin-top: 3px; }
textarea.input { min-height: 72px; padding-top: 8px; resize: vertical; }
.log-table td { font-size: 13px; padding: 4px 6px; border-bottom: 1px solid var(--line); vertical-align: top; }

/* The signed-in name in the top bar does not fit next to the logo on a phone. */
@media (max-width: 520px) { #who { display: none; } }

/* Terms and privacy policy (/terms, /privacy) */
.legal article section { margin: 26px 0; scroll-margin-top: 80px; }
.legal article h2 { font-size: 19px; margin: 0 0 8px; }
.legal article ol, .legal article ul { padding-left: 22px; }
.legal article li { margin: 4px 0; }
.legal article ol.sub { list-style-type: hangul; margin: 4px 0; }
.legal .blank { background: #fbf0dc; color: var(--warn); border-radius: 4px; padding: 0 4px; font-size: .92em; }
.legal .toc ul { margin: 6px 0 0; padding: 0; list-style: none; columns: 2; column-gap: 24px; font-size: 14px; }
@media (max-width: 520px) { .legal .toc ul { columns: 1; } }
.table-wrap { overflow-x: auto; }
.table-wrap .facts th { width: auto; }
/* A size typed in (step 2): width × length in metres under the template's size buttons. */
.custom-size { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 10px 0 0; cursor: default; }
.custom-size .dim { display: inline-flex; align-items: center; gap: 4px; }
.custom-size .dim .input { width: 84px; min-height: 36px; }
.custom-size .times { color: var(--muted); }
.custom-size .custom-note { flex-basis: 100%; color: var(--muted); font-size: 13px; }
/* Making a space (22장): the template choice under the kind cards. */
.space-choice { margin-top: 22px; }
.space-choice h3 { margin: 0 0 10px; font-size: 17px; }
