:root {
  --audit-ink: #111712;
  --audit-muted: #657067;
  --audit-paper: #f7f9f5;
  --audit-card: #ffffff;
  --audit-line: #dfe7dc;
  --audit-leaf: #28573f;
  --audit-gold: #b77d2f;
  --audit-clay: #a65d4c;
  --audit-blue: #4f7d84;
  --audit-shadow: 0 18px 48px rgb(17 23 18 / 9%);
}

.audit-page {
  min-width: 320px;
  background:
    radial-gradient(circle at 82% 4%, rgb(79 125 132 / 12%), transparent 24rem),
    linear-gradient(180deg, #fcfdf9 0%, #f1f6ef 50%, #f8f5ef 100%);
  color: var(--audit-ink);
}

.audit-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgb(17 23 18 / 10%);
  background: rgb(252 253 249 / 92%);
  padding: 13px clamp(18px, 5vw, 72px);
  backdrop-filter: blur(18px);
}

.audit-header__nav {
  display: flex;
  gap: 4px;
  align-items: center;
}

.audit-header__nav a {
  border-radius: 8px;
  color: #39443b;
  padding: 8px 10px;
  font-size: 0.86rem;
  font-weight: 800;
}

.audit-header__nav a:hover,
.audit-header__nav a:focus-visible {
  background: rgb(40 87 63 / 9%);
}

.audit-hero,
.audit-intake,
.audit-workspace,
.audit-report-section {
  width: min(1180px, calc(100% - clamp(32px, 8vw, 112px)));
  margin: 0 auto;
}

.audit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.36fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: end;
  padding: clamp(54px, 8vw, 96px) 0 clamp(34px, 5vw, 58px);
}

.audit-hero h1 {
  max-width: 840px;
  margin: 12px 0 16px;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(3rem, 5.8vw, 5.9rem);
  line-height: 1;
  letter-spacing: 0;
}

.audit-hero p {
  max-width: 680px;
  margin: 0;
  color: var(--audit-muted);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.55;
}

.audit-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  margin-top: 24px;
}

.audit-hero__proof {
  display: grid;
  gap: 8px;
}

.audit-hero__proof span {
  display: grid;
  gap: 2px;
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 10px 28px rgb(17 23 18 / 6%);
  padding: 14px;
  color: var(--audit-muted);
  font-size: 0.8rem;
  font-weight: 850;
}

.audit-hero__proof strong {
  color: var(--audit-ink);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.8rem, 3.4vw, 2.8rem);
  line-height: 0.95;
}

.audit-intake,
.audit-workspace,
.audit-report-section {
  margin-top: clamp(24px, 5vw, 58px);
}

.audit-intake {
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: rgb(255 255 255 / 76%);
  box-shadow: var(--audit-shadow);
  padding: clamp(20px, 4vw, 34px);
}

.audit-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.audit-form-grid label {
  display: grid;
  gap: 8px;
}

.audit-form-grid span {
  color: #354137;
  font-size: 0.85rem;
  font-weight: 900;
}

.audit-form-grid input,
.audit-form-grid select,
.audit-form-grid textarea {
  width: 100%;
  border: 1px solid rgb(17 23 18 / 11%);
  border-radius: 8px;
  background: rgb(252 253 249 / 92%);
  color: var(--audit-ink);
  padding: 12px;
}

.audit-form-grid textarea {
  resize: vertical;
}

.audit-form-grid__wide {
  grid-column: 1 / -1;
}

.audit-safety-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  margin-top: 16px;
  border-left: 3px solid var(--audit-clay);
  background: rgb(166 93 76 / 8%);
  padding: 13px 14px;
}

.audit-safety-note svg {
  width: 18px;
  color: var(--audit-clay);
}

.audit-safety-note p {
  margin: 0;
  color: #5b655e;
  font-weight: 760;
}

.audit-workspace__top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.audit-workspace__top h2,
.audit-report-section h2 {
  margin: 6px 0 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(2.2rem, 4.2vw, 4.2rem);
  line-height: 1;
}

.audit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.audit-room-tabs {
  position: sticky;
  top: 66px;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: rgb(252 253 249 / 88%);
  box-shadow: 0 12px 30px rgb(17 23 18 / 6%);
  padding: 10px;
  backdrop-filter: blur(16px);
}

.audit-room-tabs a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 34px;
  border: 1px solid rgb(17 23 18 / 10%);
  border-radius: 8px;
  background: #fff;
  color: #445046;
  padding: 0 11px;
  font-size: 0.78rem;
  font-weight: 900;
}

.audit-room-tabs svg {
  width: 15px;
}

.audit-room-grid {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.audit-room-panel {
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 12px 34px rgb(17 23 18 / 7%);
  padding: clamp(16px, 3vw, 24px);
}

.audit-room-panel__head {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.audit-room-panel h3 {
  margin: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.65rem, 2.5vw, 2.45rem);
  line-height: 1;
}

.audit-room-panel p {
  margin: 7px 0 0;
  color: var(--audit-muted);
}

.audit-room-count {
  align-self: start;
  border-radius: 8px;
  background: rgb(40 87 63 / 10%);
  color: var(--audit-leaf);
  padding: 7px 10px;
  font-size: 0.76rem;
  font-weight: 900;
}

.audit-item-grid {
  display: grid;
  gap: 10px;
}

.audit-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.36fr);
  gap: 14px;
  border: 1px solid rgb(17 23 18 / 8%);
  border-radius: 8px;
  background: rgb(252 253 249 / 84%);
  padding: 14px;
}

.audit-item h4 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.16;
}

.audit-item p {
  margin: 7px 0 0;
  color: var(--audit-muted);
  font-size: 0.92rem;
}

.audit-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.audit-item__meta span {
  border-radius: 8px;
  background: rgb(183 125 47 / 11%);
  color: #654316;
  padding: 5px 7px;
  font-size: 0.72rem;
  font-weight: 900;
}

.audit-item__controls {
  display: grid;
  gap: 9px;
  align-content: start;
}

.audit-item__controls select,
.audit-item__controls textarea {
  width: 100%;
  border: 1px solid rgb(17 23 18 / 11%);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.audit-priority-toggle {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #344038;
  font-size: 0.84rem;
  font-weight: 850;
}

.audit-report-section {
  padding-bottom: 70px;
}

.audit-report {
  display: grid;
  gap: 18px;
  margin-top: 18px;
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--audit-shadow);
  padding: clamp(20px, 4vw, 38px);
}

.audit-report__cover {
  display: grid;
  gap: 8px;
  border-bottom: 1px solid rgb(17 23 18 / 10%);
  padding-bottom: 18px;
}

.audit-report h3 {
  margin: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.8rem, 3.2vw, 3.1rem);
  line-height: 1;
}

.audit-report h4 {
  margin: 0 0 8px;
  font-size: 1.08rem;
}

.audit-report p {
  margin: 0;
  color: #5e6961;
  line-height: 1.5;
}

.audit-report__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.audit-report__panel {
  border: 1px solid rgb(17 23 18 / 9%);
  border-radius: 8px;
  background: #fbfcf8;
  padding: 14px;
}

.audit-report__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audit-report__list li {
  border-radius: 8px;
  background: rgb(237 244 238 / 70%);
  padding: 10px;
}

.audit-report__list strong {
  display: block;
  margin-bottom: 3px;
}

.audit-report__bucket {
  display: inline-flex;
  border-radius: 8px;
  background: rgb(40 87 63 / 10%);
  color: var(--audit-leaf);
  padding: 4px 6px;
  font-size: 0.7rem;
  font-weight: 900;
}

.audit-report__empty {
  color: var(--audit-muted);
  font-style: italic;
}

.audit-report__disclaimer {
  border-left: 3px solid var(--audit-clay);
  background: rgb(166 93 76 / 8%);
  padding: 12px 14px;
}

@media (max-width: 980px) {
  .audit-hero,
  .audit-form-grid,
  .audit-item,
  .audit-report__grid {
    grid-template-columns: 1fr;
  }

  .audit-room-tabs {
    position: static;
  }
}

@media (max-width: 720px) {
  .audit-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 10px 14px;
  }

  .audit-header__nav {
    width: 100%;
    overflow-x: auto;
  }

  .audit-header__nav a {
    white-space: nowrap;
  }

  .audit-hero,
  .audit-intake,
  .audit-workspace,
  .audit-report-section {
    width: calc(100% - 24px);
  }

  .audit-hero {
    padding-top: 34px;
  }

  .audit-hero h1 {
    font-size: clamp(2.34rem, 11vw, 3.35rem);
  }

  .audit-hero__actions,
  .audit-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-hero__actions .button,
  .audit-actions .button {
    width: 100%;
  }

  .audit-workspace__top {
    display: grid;
  }

  .audit-room-panel__head {
    display: grid;
  }
}

@media print {
  .audit-header,
  .audit-hero,
  .audit-intake,
  .audit-workspace,
  .section__header {
    display: none !important;
  }

  body.audit-page {
    background: #fff;
  }

  .audit-report-section,
  .audit-report {
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .audit-report {
    color: #111;
  }
}
