.agreements-shell{
  display:grid;
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}

.agreements-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.agreements-kicker{
  color:#64748b;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.agreements-title{
  margin:0;
  color:#0f172a;
  font-size:clamp(1.5rem, 2vw, 2.1rem);
  font-weight:800;
}

.agreements-subtitle{
  margin:.35rem 0 0;
  max-width:680px;
  color:#64748b;
}

.agreements-card{
  border:1px solid rgba(148, 163, 184, .32);
  border-radius:8px;
  background:#fff;
  padding:18px;
  box-shadow:0 12px 28px rgba(15, 23, 42, .06);
}

.agreements-create,
.agreement-row__form,
.agreement-mail__body{
  display:grid;
  grid-template-columns:minmax(180px, 1fr) minmax(130px, .55fr) minmax(240px, 1.25fr) auto;
  align-items:end;
  gap:12px;
}

.agreements-field{
  display:grid;
  gap:6px;
  min-width:0;
}

.agreements-field--wide{
  min-width:220px;
}

.agreements-field label{
  color:#64748b;
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
}

.agreements-input,
.agreements-textarea{
  width:100%;
  border:1px solid rgba(148, 163, 184, .45);
  border-radius:8px;
  background:#f8fafc;
  color:#0f172a;
  font:inherit;
  padding:.62rem .75rem;
}

.agreements-textarea{
  resize:vertical;
}

.agreements-list{
  display:grid;
  gap:14px;
}

.agreement-row{
  display:grid;
  gap:10px;
  border-bottom:1px solid rgba(226, 232, 240, .9);
  padding-bottom:14px;
}

.agreement-row:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.agreements-check{
  display:flex;
  align-items:center;
  gap:8px;
  color:#334155;
  font-size:.9rem;
}

.agreement-row__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.agreements-chip,
.agreements-reservation{
  border:1px solid rgba(148, 163, 184, .35);
  border-radius:999px;
  background:#f8fafc;
  color:#475569;
  font-size:.78rem;
  padding:.28rem .55rem;
}

.agreements-chip{
  font-weight:700;
}

.agreement-mail summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  color:#334155;
  font-weight:700;
}

.agreement-mail__body{
  grid-template-columns:minmax(220px, .75fr) minmax(280px, 1.25fr) auto;
  margin-top:12px;
}

.agreements-empty{
  color:#64748b;
}

@media (max-width: 900px){
  .agreements-create,
  .agreement-row__form,
  .agreement-mail__body{
    grid-template-columns:1fr;
  }
}
