/* FAST PSW legal & compliance portal */
.legal-hero {
  background: linear-gradient(135deg, #0f766e 0%, #115e59 100%);
  color: #fff;
  padding: 2.5rem 0 2rem;
}
.legal-hero h1 { margin: 0 0 .5rem; font-size: clamp(1.6rem, 4vw, 2.2rem); }
.legal-hero p { margin: 0; opacity: .92; max-width: 42rem; }

.legal-shell { padding: 1.5rem 1rem 3rem; }
.legal-flash {
  background: #ecfdf5; border: 1px solid #6ee7b7; color: #065f46;
  padding: .75rem 1rem; border-radius: 10px; margin-bottom: 1rem;
}
.legal-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 1.25rem;
  align-items: start;
}
@media (max-width: 900px) {
  .legal-grid { grid-template-columns: 1fr; }
}

.legal-sidebar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1rem;
  position: sticky;
  top: 1rem;
}
.legal-sidebar-title { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: #64748b; margin: 0 0 .75rem; }
.legal-nav-link {
  display: flex; justify-content: space-between; align-items: center; gap: .5rem;
  padding: .65rem .75rem; border-radius: 10px; color: #0f172a; text-decoration: none;
  font-weight: 600; font-size: .92rem; margin-bottom: .25rem;
}
.legal-nav-link:hover { background: #f1f5f9; }
.legal-nav-link.is-active { background: #ccfbf1; color: #115e59; }
.legal-badge {
  font-size: .65rem; background: #fef3c7; color: #92400e;
  padding: .15rem .45rem; border-radius: 999px; font-weight: 700;
}

.legal-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.legal-card-head {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  border-bottom: 1px solid #e2e8f0; padding-bottom: 1rem; margin-bottom: 1rem;
}
.legal-card-head h2 { margin: 0; color: #0f766e; }
.legal-meta { margin: .35rem 0 0; color: #64748b; font-size: .88rem; }

.legal-content.prose h2 { margin-top: 1.25rem; font-size: 1.05rem; color: #134e4a; }
.legal-content.prose ul { padding-left: 1.2rem; }
.legal-content.prose li { margin-bottom: .35rem; }
.legal-disclaimer {
  background: #fffbeb; border: 1px solid #fcd34d; border-radius: 10px;
  padding: .75rem 1rem; margin-bottom: 1rem; font-size: .9rem;
}

.legal-btn {
  border: none; border-radius: 10px; padding: .55rem 1rem; font-weight: 700;
  cursor: pointer; font-size: .9rem;
}
.legal-btn--primary { background: #0f766e; color: #fff; }
.legal-btn--ghost { background: #f8fafc; border: 1px solid #cbd5e1; color: #0f172a; }

.legal-sign-form h3 { margin: 0 0 .5rem; color: #134e4a; }
.legal-hint { color: #64748b; font-size: .88rem; margin: 0 0 1rem; }
.legal-check { display: flex; gap: .6rem; align-items: flex-start; margin-bottom: 1rem; font-size: .92rem; }
.legal-fields { display: grid; gap: .75rem; margin-bottom: 1rem; }
.legal-fields--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 700px) { .legal-fields--2 { grid-template-columns: 1fr; } }
.legal-fields label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; font-size: .85rem; color: #334155; }
.legal-fields input, .legal-fields textarea, .legal-fields select {
  font-weight: 400; border: 1px solid #cbd5e1; border-radius: 10px; padding: .55rem .65rem;
}
.legal-guardian { margin: 1rem 0; border: 1px dashed #cbd5e1; border-radius: 10px; padding: .75rem 1rem; }
.legal-guardian summary { cursor: pointer; font-weight: 700; color: #475569; }

.legal-status-card { font-size: .92rem; }
.legal-status { font-weight: 800; padding: .15rem .5rem; border-radius: 6px; }
.legal-status--pending { background: #fef3c7; color: #92400e; }
.legal-status--approved { background: #dcfce7; color: #166534; }
.legal-status--rejected { background: #fee2e2; color: #991b1b; }

@media print {
  .legal-sidebar, .legal-sign-form, .legal-card-actions, .legal-flash, .pub-header, .pub-footer, .pub-care-desk { display: none !important; }
  .legal-grid { display: block; }
  .legal-card { box-shadow: none; border: none; }
}
