.waivers-hero{
  padding:2rem 0 1rem;
}

.waivers-hero h1{
  font-size:clamp(2rem, 4vw, 2.6rem);
  margin-bottom:.4rem;
}

.waivers-hero p{
  color:var(--text-200);
  max-width:720px;
}

.waiver-notice{
  padding:1rem 1.25rem;
  margin-bottom:1.5rem;
  border-radius:14px;
  background:rgba(255,87,51,.08);
  border:1px solid rgba(255,87,51,.3);
  color:var(--text);
  font-weight:600;
}

.waiver-notice.is-error{
  color:#ff6b5e;
  border-color:rgba(255,107,94,.7);
  background:rgba(255,107,94,.12);
}

.waiver-grid{
  display:grid;
  gap:1.5rem;
}

.waiver-card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.22));
  border-radius:16px;
  border:1px solid var(--line-muted);
  padding:1.25rem;
  box-shadow:0 16px 40px rgba(0,0,0,.35);
  display:grid;
  gap:1rem;
}


.waiver-card__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}

.waiver-title{
  margin:0 0 .2rem;
  font-size:1.3rem;
}

.waiver-meta{
  margin:0;
  color:var(--text-200);
  font-size:.9rem;
}

.waiver-submeta{
  margin:.35rem 0 0;
  color:var(--text-200);
  font-size:.9rem;
}

.waiver-body{
  background:rgba(255,255,255,.03);
  border:1px solid var(--line-muted);
  border-radius:14px;
  padding:1rem;
  max-height:340px;
  overflow:auto;
}

.waiver-sign{
  display:grid;
  gap:1.5rem;
}

[data-sign-inputs]{
  display:grid;
  gap:1rem;
}

.waiver-text{
  margin:0;
  white-space:pre-wrap;
  font-family:inherit;
  color:var(--text);
  font-size:.95rem;
}

.waiver-check{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  font-weight:600;
}

.waiver-field{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.waiver-label{
  font-weight:600;
}

.waiver-field input{
  padding:.65rem .8rem;
  border-radius:10px;
  border:1px solid var(--bg-300);
  background:var(--bg);
  color:var(--text);
}

.signature-pad{
  border-radius:14px;
  border:1px solid var(--line-muted);
  padding:.75rem;
  background:rgba(255,255,255,.02);
}

.guardian-title{
  font-weight:700;
  margin-top:.25rem;
}

.signature-pad--guardian{
  background:rgba(255,255,255,.06);
}

.signature-pad__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.5rem;
  font-weight:600;
}

.signature-clear--ghost{
  background:transparent !important;
  border-color:var(--line-strong);
  color:var(--text-200);
}

.signature-clear--ghost:hover,
.signature-clear--ghost:focus-visible{
  background:rgba(255,255,255,.08) !important;
  color:var(--text);
}

.signature-canvas,
.guardian-canvas{
  width:100%;
  height:160px;
  background:#fff;
  border-radius:10px;
  touch-action:none;
}

@media (prefers-color-scheme: light){
  .waiver-card{
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,248,248,.95));
    border-color:rgba(0,0,0,.08);
    box-shadow:0 12px 26px rgba(0,0,0,.08);
  }

  .waiver-body{
    background:#ffffff;
    border-color:rgba(0,0,0,.08);
  }

  .signature-pad{
    background:rgba(0,0,0,.02);
    border-color:rgba(0,0,0,.08);
  }

  .signature-canvas,
  .guardian-canvas{
    border:1px solid rgba(0,0,0,.08);
  }

  .signature-clear--ghost{
    border-color:rgba(0,0,0,.18);
    color:#3a3a3a;
  }
}

.waiver-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  align-items:center;
}

.waiver-msg{
  margin:0;
  color:var(--text-200);
  font-size:.9rem;
}

.waiver-msg--error{
  color:#ff6b5e;
}

.status-pill--ok{
  background:rgba(122,223,156,.16);
  border-color:rgba(122,223,156,.45);
}

.status-pill--warn{
  background:rgba(255,206,107,.18);
  border-color:rgba(255,206,107,.5);
}

.status-pill--bad{
  background:rgba(255,107,94,.18);
  border-color:rgba(255,107,94,.5);
}

.waiver-status-pill{
  padding:.2rem .6rem;
  font-size:.78rem;
}

.waiver-modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  z-index:2000;
}

.waiver-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}

.waiver-modal__panel{
  position:relative;
  background:var(--bg);
  color:var(--text);
  border-radius:16px;
  padding:1.25rem;
  width:min(860px, 92vw);
  max-height:84vh;
  overflow:auto;
  box-shadow:0 20px 40px rgba(0,0,0,.4);
}

.waiver-modal__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.75rem;
}

.waiver-modal__meta{
  color:var(--text-200);
  font-size:.9rem;
  display:grid;
  gap:.2rem;
  margin-bottom:1rem;
}

.waiver-modal__body{
  white-space:pre-wrap;
  font-family:inherit;
  background:var(--bg-200);
  padding:1rem;
  border-radius:12px;
  border:1px solid var(--bg-300);
}

@media (min-width: 900px){
  .waiver-card{
    padding:1.5rem;
  }
}
