.poo-fam-card{
  max-width: 980px;
  margin: 18px auto;
  padding: 18px 18px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,0.06);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.poo-fam-title{margin:0 0 8px;font-size:22px;font-weight:800}
.poo-fam-muted{margin:0 0 12px;color:#4b5563;line-height:1.4}
.poo-fam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.poo-fam-field span{display:block;font-weight:700;margin:0 0 6px}
.poo-fam-field input[type="text"],
.poo-fam-field input[type="email"],
.poo-fam-field input[type="number"],
.poo-fam-lookup input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #d1d5db;
}
.poo-fam-small{font-size:12px;color:#6b7280;margin-top:6px}
.poo-fam-section{margin:14px 0 0}
.poo-fam-label{font-weight:900;margin:0 0 8px}
.poo-fam-radio{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:center}
/* Force radios to render correctly even if the theme overrides form controls */
.poo-fam-radio input[type=radio]{
  -webkit-appearance: radio !important;
  appearance: auto !important;
  width:18px !important;
  height:18px !important;
  margin:0 8px 0 0 !important;
  vertical-align: middle !important;
}

.poo-fam-radio label{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:999px;white-space:nowrap}
.poo-fam-table{margin-top:10px;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}
.poo-fam-row{display:grid;grid-template-columns:1.1fr 1.1fr 1.2fr 1.1fr 0.8fr 44px;gap:8px;align-items:center;padding:10px 10px;border-bottom:1px solid #f3f4f6}
.poo-fam-row:last-child{border-bottom:none}
.poo-fam-head{background:#f9fafb;font-weight:800}
.poo-fam-row input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid #d1d5db}
.poo-fam-remove{width:38px;height:38px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}
.poo-fam-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:12px;flex-wrap:wrap}
.poo-fam-add{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:800}
.poo-fam-total{font-weight:900}
.poo-fam-check{display:flex;gap:10px;align-items:flex-start;margin-top:10px}
.poo-fam-submit{margin-top:14px;width:100%;padding:12px 14px;border-radius:14px;border:none;background:#111827;color:#fff;font-weight:900;cursor:pointer}
.poo-fam-error{margin:10px 0;padding:12px 14px;border-radius:14px;border:1px solid #fecaca;background:#fff1f2}
.poo-fam-success{margin:10px 0;padding:12px 14px;border-radius:14px;border:1px solid #bbf7d0;background:#f0fdf4}
.poo-fam-summarybox{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.poo-fam-addonly-note{margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.poo-fam-lookup{display:flex;gap:10px;margin:10px 0 14px}
.poo-fam-lookup button{padding:10px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#111827;color:#fff;font-weight:900;cursor:pointer}
.poo-fam-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.poo-fam-tile{position:relative;border-radius:16px;overflow:hidden;border:1px solid #e5e7eb}
.poo-fam-tile img{width:100%;height:140px;object-fit:cover;display:block}
.poo-fam-hover{position:absolute;inset:auto 0 0 0;background:rgba(17,24,39,0.85);color:#fff;padding:8px 10px;font-weight:800;opacity:0;transition:opacity .15s}
.poo-fam-tile:hover .poo-fam-hover{opacity:1}
@media (max-width:860px){
  .poo-fam-grid{grid-template-columns:1fr}
  .poo-fam-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .poo-fam-head{display:none}
  .poo-fam-row .poo-fam-remove{grid-column:2;justify-self:end}
  .poo-fam-lookup{flex-direction:column}
}

.poo-fam-row input[type="file"]{width:100%;padding:6px 8px;border-radius:10px;border:1px solid #d1d5db;background:#fff}
