/* SCUBIS Family UI v2 — native SCUBIS dark workspace */
.sc-family-page{
  padding:24px 28px 28px!important;
  height:calc(100vh - 54px);
  min-height:680px;
  background:var(--app-bg,#0d111a);
}
.sc-family-shell{
  height:100%;
  display:flex;
  flex-direction:column;
  background:#111824;
  border:1px solid #263245;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.sc-family-toolbar{
  position:relative;
  z-index:30;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  min-height:62px;
  background:#141c29;
  border-bottom:1px solid #293548;
  flex-wrap:wrap;
}
.sc-family-toolbar .text-input{
  background:#0f1622!important;
  border:1px solid #2d3b50!important;
  color:#e9eff8!important;
  min-height:40px;
}
.sc-family-toolbar input::placeholder{color:#8291a7!important}
.sc-family-toolbar>input[type=search]{width:min(330px,34vw);flex:0 1 330px}
.sc-family-toolbar label{
  display:flex;align-items:center;gap:7px;color:#9eacc1;font-size:13px;white-space:nowrap
}
.sc-family-toolbar select{width:76px;min-width:76px}
.sc-family-toolbar .secondary-button{
  min-height:40px;background:#1c2636!important;border-color:#324158!important;color:#e7edf7!important
}
.sc-family-toolbar .secondary-button:hover{background:#253247!important}
.sc-family-toolbar .primary-button{
  min-height:40px;background:#7595f5!important;color:white!important;border-color:#7595f5!important
}
#familyStatus{color:#8e9db3!important;margin-left:2px;white-space:nowrap}
.sc-family-stage{
  position:relative;
  flex:1;
  min-height:560px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 35%,rgba(54,74,100,.28),transparent 42%),
    radial-gradient(rgba(94,116,143,.18) 1px,transparent 1px),
    #0f1621;
  background-size:auto,24px 24px,auto;
}
.sc-family-stage:focus{outline:none}
.sc-family-world{position:absolute;z-index:2;transform-origin:0 0}
.sc-family-links{position:absolute;overflow:visible}
.sc-family-line{fill:none;stroke:#5f8296;stroke-width:2}
.sc-family-marriage{stroke:#d89a4a;stroke-width:2}
.sc-family-node{
  position:absolute;
  width:184px;
  height:88px;
  padding:9px 10px;
  background:#f9fbfc;
  color:#18364a;
  border:2px solid #cddde3;
  border-radius:14px;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:10px;
  align-items:center;
  text-align:left;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.sc-family-node:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.sc-family-node.m{border-color:#83bff0}
.sc-family-node.f{border-color:#eca5c8}
.sc-family-node.focus{
  border-color:#86c343;
  box-shadow:0 0 0 3px rgba(134,195,67,.2),0 10px 28px rgba(0,0,0,.3)
}
.sc-family-avatar{
  width:54px;height:54px;border-radius:50%;overflow:hidden;
  background:#e7efe9;display:grid;place-items:center;font-weight:800;color:#244452
}
.sc-family-avatar img{width:100%;height:100%;object-fit:cover}
.sc-family-name{font-size:12px;font-weight:800;line-height:1.17;color:#17364a}
.sc-family-dates{font-size:11px;color:#71828e;margin-top:5px}
.sc-family-panel{
  position:absolute;z-index:12;right:16px;top:16px;width:360px;
  max-height:calc(100% - 32px);overflow:auto;
  background:#151e2b;color:#e7edf7;border:1px solid #314056;border-radius:17px;
  padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.34)
}
.sc-family-panel .modal-close{
  float:right;background:#202c3c!important;color:#dbe4f1!important;border:1px solid #34455d!important
}
.sc-family-panel h2{margin:0 38px 3px 0;font-size:21px;line-height:1.2;color:#f2f5fb}
.sc-family-panel .page-subtitle{color:#8fa0b6!important;margin-bottom:14px}
#familyPersonInfo>p{
  padding:10px 0;margin:0;border-bottom:1px solid #263448;color:#cbd5e4;line-height:1.45
}
#familyPersonInfo>p b{color:#f0f4fa}
#familyPersonInfo h4{
  margin:15px 0 7px;color:#8fa0b6;font-size:11px;text-transform:uppercase;letter-spacing:.04em
}
.sc-family-panel .rel{
  display:block;width:100%;margin:5px 0;padding:9px 11px;
  background:#1b2635;color:#e4ebf5;border:1px solid #304057;border-radius:9px;text-align:left
}
.sc-family-panel .rel:hover{background:#243247;border-color:#435773}
.sc-family-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}
.sc-family-actions button{
  min-height:38px;background:#202b3b!important;border-color:#34455d!important;color:#e8eef8!important;font-size:12px
}
#familyCenter{min-height:42px!important;margin-top:9px!important;background:#7899f5!important;color:white!important}
.sc-family-empty{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#8494aa
}
.sc-family-empty.hidden{display:none!important}
.sc-family-empty strong{display:block;font-size:23px;color:#e6edf7;margin-bottom:7px}
.sc-family-search-results{
  position:absolute;z-index:40;left:14px;top:58px;width:340px;max-height:390px;overflow:auto;
  background:#151e2b;border:1px solid #314056;border-radius:11px;padding:6px;box-shadow:0 15px 35px rgba(0,0,0,.35)
}
.sc-family-search-results.hidden{display:none!important}
.sc-family-search-results .rel{display:block;width:100%;padding:9px;background:transparent;color:#e5ecf6;border:0;border-radius:7px;text-align:left}
.sc-family-search-results .rel:hover{background:#202c3d}
.sc-family-search-results small{color:#8495aa;margin-left:6px}
.sc-family-modal{
  position:fixed;z-index:4000;inset:0;background:rgba(5,10,17,.72);
  display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)
}
.sc-family-modal.hidden{display:none!important}
.sc-family-form{
  width:min(650px,100%);background:#151e2b;color:#e9eff8;border:1px solid #334158;
  padding:20px;border-radius:17px;box-shadow:0 24px 70px rgba(0,0,0,.5)
}
.sc-family-form .modal-head h2{color:#f2f5fa}
.sc-family-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.sc-family-form label{font-size:12px;color:#98a8bc}
.sc-family-form .text-input{
  display:block;width:100%;margin-top:5px;background:#0f1622!important;border:1px solid #34435a!important;color:#eef3fa!important
}
.sc-family-form .modal-actions{margin-top:18px}
@media(max-width:1100px){
  .sc-family-page{padding:16px!important}
  .sc-family-panel{width:330px}
  .sc-family-toolbar>input[type=search]{width:240px}
}
@media(max-width:760px){
  .sc-family-page{height:760px;padding:8px!important}
  .sc-family-toolbar>input[type=search]{width:100%;max-width:none;flex:1 1 100%}
  .sc-family-panel{left:8px;right:8px;width:auto}
  .sc-family-form-grid{grid-template-columns:1fr}
}

/* SCUBIS Family collaboration v1 */
.sc-family-collab-controls{display:flex;align-items:center;gap:7px;min-width:0}
#familyTreeSelect{min-width:190px;max-width:260px}
.sc-family-role{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#233247;color:#b9cae2;font-size:11px;white-space:nowrap}
.sc-family-members-card{max-height:min(720px,90vh);overflow:auto}
.sc-family-member{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #29374a}
.sc-family-member strong,.sc-family-member small{display:block}.sc-family-member small{margin-top:2px;color:#8fa0b6}
.sc-family-member select{min-width:130px}.sc-family-member-add{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #29374a}
.sc-family-member-add.hidden{display:none!important}
@media(max-width:900px){.sc-family-collab-controls{flex:1 1 100%;order:-1}.sc-family-member-add{grid-template-columns:1fr}.sc-family-member{grid-template-columns:1fr auto}.sc-family-member button{grid-column:1/-1}}
