/* ERP Maison — module Famille (préfixe .fam-) */

/* ---------- Sous-onglets ---------- */
.fam-seg{margin-bottom:16px;}
.fam-seg .segmented{display:flex;width:100%;max-width:420px;}
.fam-seg .seg-btn{flex:1;min-height:34px;}

/* ---------- Membres ---------- */
.fam-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px,1fr));gap:12px;}
.fam-grid > .clip-toggle{grid-column:1 / -1;}
.fam-member{gap:8px;padding:14px;position:relative;overflow:hidden;}
.fam-member::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mc, var(--line));}
.fam-member:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.fam-m-top{display:flex;align-items:center;gap:12px;}
.fam-m-info{flex:1;min-width:0;}
.fam-m-info h3{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fam-m-top .icon-btn{min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}
.fam-m-line{font-size:13.5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;}
.fam-m-ic{display:inline-flex;color:var(--ink-faint);}
.fam-m-notes{color:var(--ink-soft);white-space:pre-line;}
.fam-faint{color:var(--ink-faint);}
.fam-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;}
.fam-empty-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}

.fam-bdays{display:flex;flex-direction:column;gap:8px;margin-bottom:6px;}
.fam-bday{align-items:center;}
.fam-bday-main{flex:1;min-width:0;}
.fam-bday .icon-btn{color:inherit;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}

/* ---------- Formulaire membre ---------- */
.fam-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.fam-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--card);box-shadow:var(--shadow);cursor:pointer;padding:0;}
.fam-swatch.on{box-shadow:0 0 0 2px var(--ink);}

/* ---------- Assistant ---------- */
.fam-wiz .alert{margin-bottom:14px;}
.fam-wiz .section-title{margin:16px 0 8px;}
.fam-wiz-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}
.fam-wiz-row{display:flex;align-items:center;gap:8px;}
.fam-wiz-row .input{width:auto;min-width:0;}
.fam-wiz-name{flex:1 1 0;}
.fam-wiz-date{flex:0 1 150px;}
.fam-wiz-del{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;}
@media (max-width:420px){
  .fam-wiz-row{display:grid;grid-template-columns:1fr 36px;row-gap:6px;column-gap:8px;}
  .fam-wiz-name{grid-column:1;grid-row:1;}
  .fam-wiz-del{grid-column:2;grid-row:1;}
  .fam-wiz-date{grid-column:1;grid-row:2;width:100%;}
  .fam-wiz-row + .fam-wiz-row{padding-top:8px;border-top:1px solid var(--line-fine);}
}

/* ---------- Annuaire ---------- */
.fam-toolbar{margin-bottom:10px;}
.fam-search{max-width:420px;min-height:40px;}
.fam-search input[type=search]{-webkit-appearance:none;appearance:none;}
.fam-chips, .fam-suggest{display:flex;gap:6px;}
.fam-chips{overflow-x:auto;padding-bottom:2px;margin-bottom:4px;scrollbar-width:none;}
.fam-chips::-webkit-scrollbar{display:none;}
.fam-suggest{flex-wrap:wrap;}
.fam-chip{
  flex-shrink:0;display:inline-flex;align-items:center;gap:5px;border:none;background:var(--card);box-shadow:var(--shadow);
  border-radius:var(--radius-btn);padding:7px 11px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap;min-height:36px;
}
.fam-chip span{font-weight:500;color:var(--ink-faint);}
.fam-chip.on{background:var(--accent);color:#fff;box-shadow:none;}
.fam-chip.on span{color:rgba(255,255,255,0.8);}
.fam-cat-title{display:flex;align-items:center;gap:6px;}
.fam-cat-ic{display:inline-flex;color:var(--tc, var(--ink-soft));}
.fam-contact .li-main{display:flex;flex-direction:column;gap:2px;}
.fam-contact .li-sub{margin-top:0;overflow-wrap:anywhere;}
.fam-addr .ic{color:var(--ink-faint);}
.fam-c-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.fam-contact .li-side{gap:2px;}
.fam-contact .icon-btn{min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}
.fam-call{
  width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--accent-soft);color:var(--accent);text-decoration:none;
}
.fam-call:hover{text-decoration:none;background:var(--accent);color:#fff;}
.fam-call.is-off{background:var(--muted-bg);color:var(--ink-faint);cursor:default;}
.fam-suggest-box{margin-top:4px;}

/* ---------- Urgences ---------- */
.fam-sos-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px,1fr));gap:10px;margin-bottom:6px;}
.fam-sos{
  display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius);text-decoration:none;
  background:var(--card);box-shadow:var(--shadow);color:var(--ink);min-height:96px;
}
.fam-sos:hover{text-decoration:none;background:var(--accent-voile);}
.fam-sos:active{opacity:.85;}
.fam-sos-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--accent);}
.fam-sos-num{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);}
.fam-sos-lbl{font-size:14px;font-weight:600;}
.fam-sos-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.3;}
.fam-sos-vital{background:var(--danger-soft);box-shadow:none;}
.fam-sos-vital:hover{background:var(--danger-soft);filter:brightness(0.98);}
.fam-sos-vital .fam-sos-top, .fam-sos-vital .fam-sos-num, .fam-sos-vital .fam-sos-lbl{color:var(--danger-dark);}
@media (max-width:560px){
  .fam-sos-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .fam-sos{padding:10px 12px;min-height:92px;}
  .fam-sos-num{font-size:25px;}
}

/* ---------- Carte du tableau de bord ---------- */
.fam-dash .list-item{padding:9px 12px;}
