/* «Семейный кабинет»: presentation only, no storage or auth changes. */
:root{
  --bg:#f5f7f3;--surface:#fff;--surface-2:#edf2e9;
  --ink:#253329;--muted:#566459;--line:#dce4d9;
  --accent:#35694d;--accent-ink:#fff;--accent-soft:#e7eee3;
  --radius:22px;--shadow:none;--serif:'Lora',Georgia,serif;
}
body{background:var(--bg)}
button,input,select,textarea{font-family:var(--font)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
button,input,select{min-height:44px}
.top{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--line);gap:var(--space-4);padding:var(--space-5) max(var(--space-6),calc((100vw - 1280px)/2))}
.brand{font-size:var(--text-sm)}
.tabs{gap:var(--space-1)}
.tabs button{border-radius:999px;white-space:nowrap}
.tabs button.on{background:var(--accent-soft);color:#254b35}
.search input{background:#fff;border-radius:999px;width:min(265px,100%)}
.icon-btn,.me-btn{border-radius:999px;background:var(--surface)}
.demo-bar{background:#edf2e9;color:#4c5e4d;padding:var(--space-2) var(--space-6);border-bottom:1px solid var(--line);line-height:1.6}
.view{max-width:1240px;padding:var(--space-8) var(--space-8) var(--space-12)}
h1{font-weight:500;letter-spacing:-.025em}
h2{font-family:var(--font);font-size:var(--text-base);font-weight:600}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--accent);font-size:var(--text-xs);margin-bottom:var(--space-2)}
.page-h{gap:var(--space-5)}
.family-heading{margin-bottom:var(--space-8);align-items:center}
.family-heading p{font-size:var(--text-sm);margin:var(--space-3) 0 0}
.btn{border-radius:999px;min-height:44px}
.btn.primary{background:#263f30;border-color:#263f30;color:#fff;padding:var(--space-3) var(--space-5)}
.btn.primary:hover{background:#35694d}
.family-section-head{margin-bottom:var(--space-4)}
.family-section-head>span{font-size:var(--text-xs)}
.people{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:0}
.person{border:1px solid transparent;border-radius:24px;padding:var(--space-5);gap:var(--space-3);background:#fff;box-shadow:none;min-width:0;align-content:start}
.person:hover{border-color:#aabd9f;transform:none;box-shadow:0 4px 16px #25332908}
.person-top{gap:var(--space-3);min-height:52px}
.person-name{font-size:var(--text-base);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);line-height:1.35}
.person-sub{margin-top:var(--space-1)}
.person .ava{width:46px;height:46px;background:var(--accent-soft)!important;color:var(--accent);font-size:var(--text-base);font-weight:500}
.person:nth-child(2) .ava{background:#f0e6e7!important;color:#825463}
.person:nth-child(3) .ava{background:#e8ecdf!important;color:#596743}
.person:nth-child(4) .ava{background:#f1ecdf!important;color:#77613d}
.person:nth-child(5) .ava{background:#e3ecec!important;color:#42666a}
.person:nth-child(6) .ava{background:#e9e9ed!important;color:#565c76}
.stats{gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid #f0f3ee;border-bottom:1px solid #f0f3ee}
.stat{padding:0;background:none;border-radius:0;display:flex;gap:var(--space-1);align-items:baseline;flex-wrap:wrap}
.stat b{font-size:var(--text-sm);font-weight:600;display:inline}
.stat.alert{background:none}
.stat.alert span{color:var(--high)}
.body-line{gap:var(--space-2);font-size:var(--text-xs);line-height:1.5}
.body-line b{font-size:var(--text-xs);font-weight:600}
.last{line-height:1.55;overflow-wrap:anywhere}
.gl-badge{background:var(--accent-soft);color:var(--accent);font-weight:500}
.person-footer{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);padding-top:var(--space-1)}
.person-footer>span:last-child{color:var(--accent)}
.person-footer>span:last-child>span{margin-left:var(--space-2)}
.family-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-4);align-items:start;margin-top:var(--space-5)}
.family-panel{background:#eaf0e7;border-radius:24px;padding:var(--space-5);min-width:0}
.family-panel .sec-h{align-items:center;margin-bottom:var(--space-3);gap:var(--space-2)}
.family-panel .sec-h>span{font-size:var(--text-xs)}
.family-panel .chip{background:transparent;white-space:nowrap}
.family-record{display:flex;align-items:center;gap:var(--space-4);text-align:left;background:none;border:0;border-top:1px solid #dce4d9;padding:var(--space-4) 0;width:100%;color:var(--ink)}
.family-record:first-child{border-top:0}
.family-record:hover .record-title{text-decoration:underline;text-underline-offset:3px}
.family-record time{width:38px;text-align:center;flex:none;color:var(--muted);font-size:var(--text-xs)}
.family-record time b{display:block;font-size:var(--text-lg);font-weight:500;color:var(--ink)}
.family-record .grow{min-width:0;flex:1}
.record-title{display:block;font-size:var(--text-sm);font-weight:500;line-height:1.5}
.record-meta{display:block;font-size:var(--text-xs);color:var(--muted);line-height:1.6;margin-top:var(--space-1);overflow-wrap:anywhere}
.record-arrow{color:var(--muted)}
.family-plan .row{padding:var(--space-4) 0;flex-wrap:wrap}
.family-plan .row .grow{flex-basis:75%}
.family-plan .row .t{font-size:var(--text-sm);line-height:1.55}
.family-plan .row .s{margin-top:var(--space-1)}
.family-plan .row>.pill{margin-left:22px}
.panel-note{font-size:var(--text-xs);line-height:1.6;color:var(--muted);margin:var(--space-3) 0 0}
.family-updated{text-align:center;font-size:var(--text-xs);margin-top:var(--space-8)}
.card{box-shadow:none}
.facts .fact,.addform{background:#fff}
.subtabs button{min-height:48px}
.modal{grid-template-columns:minmax(0,1fr)}
.modal-card{border-radius:24px;min-width:0;max-width:100%;justify-self:center}
.modal-card h2{overflow-wrap:anywhere}
.lock-card{border-radius:28px;box-shadow:none;border-color:var(--line)}
.lock-mark{color:var(--accent);background:var(--accent-soft)}
.lock-card .hint{line-height:1.65}
.measures-table,.vtable,.labs-table{font-size:var(--text-sm)}
.row,.ev,.fact{min-width:0}
.ev>div{min-width:0}
.ev .pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ev-title,.ev-meta,.ev-body{overflow-wrap:anywhere}
.kv dd{overflow-wrap:anywhere}
@media(min-width:1000px) and (max-width:1250px){
  .top{flex-wrap:wrap}
  .search{min-width:180px}
}
@media(max-width:999px){
  .top{flex-wrap:wrap;padding:var(--space-3) var(--space-5);gap:var(--space-2)}
  .brand{order:0}.brand span{display:inline}
  .search{order:1;flex:1;min-width:170px}
  .me-btn{order:2}#lockBtn{order:3}
  .tabs{order:4;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-1)}
  .tabs button{flex:none}
  .view{padding:var(--space-6)}
  .family-overview{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .view{padding:var(--space-5) var(--space-4) var(--space-10)}
  .top{padding:var(--space-3) var(--space-4)}
  .search{order:5;width:100%;flex-basis:100%}.search input{width:100%;max-width:none}
  .brand{margin-right:auto}.brand span{display:inline}
  .tabs{order:4}.me-btn{margin-left:auto}
  .family-heading{align-items:flex-start;flex-direction:column;margin-bottom:var(--space-6)}
  .family-heading .btn{align-self:stretch}
  .family-heading h1{font-size:var(--text-xl)}
  .people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .family-overview{grid-template-columns:1fr}
  .person{padding:var(--space-4)}
  .demo-bar{text-align:left;padding:var(--space-2) var(--space-4)}
  .family-section-head{align-items:baseline;flex-wrap:wrap;gap:var(--space-1)}
}
@media(max-width:480px){
  .people{grid-template-columns:1fr}
  .person{padding:var(--space-5)}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .family-panel{padding:var(--space-4);border-radius:22px}
  .family-record{gap:var(--space-3)}
  .family-panel .sec-h{flex-wrap:wrap}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact .v{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
