.access-shell { max-width: 1160px; }
.access-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.access-guide { position: sticky; top: 1.5rem; padding: 1.5rem 0; }
.access-guide h1 { max-width: 12ch; }
.guide-block { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--color-border); }
.guide-block h2 { margin-bottom: .75rem; font-size: 1.05rem; }
.guide-block ul, .guide-block ol { margin: 0; padding-left: 1.3rem; color: var(--color-muted); }
.guide-block li + li { margin-top: .45rem; }
.access-guide .support-note { margin-top: 1.75rem; font-size: .92rem; }
.access-form-card { padding: clamp(1.35rem, 4vw, 2.25rem); box-shadow: var(--shadow-md); }
.access-form-card > h2 { font-size: 1.75rem; }
.access-form-card form { position: relative; }
.field-help { margin: -.5rem 0 .65rem; }
textarea { min-height: 7rem; resize: vertical; }
.consent { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .7rem; margin: .45rem 0 1rem; font-weight: 500; }
.consent input { width: 1.2rem; min-height: 0; height: 1.2rem; margin: .16rem 0 0; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.success-panel { padding: 1.15rem; border: 1px solid #86c59c; border-left: 4px solid var(--color-accent); border-radius: 8px; background: #f0fdf4; }
.success-panel strong { display: block; color: #14532d; font-family: "Outfit", sans-serif; font-size: 1.15rem; }
.success-panel .button-link { margin-top: .4rem; }
#review-dialog { max-height: calc(100dvh - 2rem); overflow: auto; }
.review-list { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(0, 1.7fr); margin: 1.25rem 0; }
.review-list dt, .review-list dd { padding: .7rem 0; border-bottom: 1px solid var(--color-border); }
.review-list dt { color: var(--color-muted); font-weight: 700; }
.review-list dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.review-actions { justify-content: flex-end; }
.review-actions button { min-width: 10rem; }

@media (max-width: 768px) {
  .access-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .access-guide { position: static; padding: .75rem 0 0; }
  .access-guide h1 { max-width: 18ch; }
  .guide-blocks { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .access-form-card { padding: 1.35rem; }
}

@media (max-width: 540px) {
  .access-form-card { padding: 1rem; }
  .review-list { grid-template-columns: 1fr; }
  .review-list dt { padding-bottom: 0; border-bottom: 0; }
  .review-list dd { padding-top: .2rem; }
  .review-actions, .review-actions button { width: 100%; }
}
