.family-site{background:var(--paper);min-height:100vh}.family-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px clamp(18px,4vw,60px);background:#191817;color:#fff;flex-wrap:wrap}.family-brand{display:flex;align-items:center;gap:12px;color:#fff}.family-brand span:last-child{display:grid;gap:3px}.family-brand strong{font-family:"Libre Baskerville",Georgia,serif;letter-spacing:2px}.family-brand small{font-size:10px;letter-spacing:1.5px;color:#b8a79a}.family-mark{font-family:Georgia,serif;color:var(--gold);border:1px solid var(--gold);width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.family-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.family-header-actions .secondary-btn{color:var(--ink)}.family-main{max-width:1320px;margin:auto;padding:clamp(20px,4vw,56px)}.family-main h1{font:700 clamp(28px,3vw,42px) "Libre Baskerville",Georgia,serif;color:var(--burgundyDeep);line-height:1.35}.family-main h2{font:700 24px "Libre Baskerville",Georgia,serif;color:var(--burgundyDeep)}.family-auth-panel{max-width:610px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:var(--shadow)}.family-auth-panel p{line-height:1.7}.family-auth-tabs,.family-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0;padding-bottom:12px;border-bottom:1px solid var(--line)}.family-auth-tabs button,.family-tabs button{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:12px 16px}.family-auth-tabs button.selected,.family-tabs button.selected{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.family-auth-panel form{display:grid;gap:16px}.family-auth-panel label{display:grid;gap:8px;font-weight:600}.family-auth-panel input{width:100%;padding:13px;border:1px solid var(--lineDark);border-radius:8px}.family-message{margin:14px 0;color:var(--burgundy)}.family-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:20px;margin-top:28px}.family-sidebar,.family-content{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.family-student{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:13px;border:1px solid var(--line);border-radius:8px;margin-bottom:9px;background:var(--paper)}.family-student.selected{border-color:var(--burgundy);background:var(--paper2)}.family-student small,.family-note{color:var(--slate);font-size:12px;line-height:1.6}.family-record{display:flex;flex-direction:column;gap:7px;padding:17px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.family-record span{font-size:13px;color:var(--slate)}.family-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.family-metrics div{padding:18px;border:1px solid var(--line);background:var(--paper2);border-radius:8px}.family-metrics strong{font-size:25px;color:var(--burgundyDeep);display:block}.family-metrics span{font-size:12px;color:var(--slate)}.family-empty,.family-warning{padding:20px;border:1px solid var(--line);border-radius:8px}.family-warning{margin-top:18px}.family-footer{max-width:1320px;margin:auto;padding:20px 4vw 40px;font-size:12px;color:var(--slate)}@media(max-width:760px){.family-layout{grid-template-columns:1fr}.family-auth-panel{padding:20px;margin:10px auto}.family-metrics{grid-template-columns:1fr}.family-header{align-items:flex-start}}