.family-page{background:#f4f6f9;color:#243c48}.family-page .online-nav{background:#fff;border-color:#e0e8eb;padding:20px 5%}.family-page main{max-width:1440px;padding:38px 5%;margin:auto}.family-page h1{font-size:clamp(36px,4vw,56px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 24px}.family-page.family-connected .family-intro{display:none}.family-page button,.family-page .family-link{font:600 14px/1.4 'Segoe UI',sans-serif;min-height:44px;border-radius:12px;padding:11px 17px;cursor:pointer;border:1px solid #d4e1e5;background:#fff;color:#24454c;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.family-page button:hover,.family-link:hover{background:#eef7f5}.family-page button:disabled{opacity:.5}.family-page :focus-visible{outline:3px solid #00999b;outline-offset:3px}.family-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 26px}.family-header h2{font-size:30px;letter-spacing:-.035em;margin:4px 0}.family-muted{color:#667b87;font-size:13px}.family-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#087e81}.family-children{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.family-children button[aria-pressed=true]{background:#174b53;color:white;border-color:#174b53}.family-shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}.family-nav{display:grid;gap:9px;position:sticky;top:22px}.family-nav button{justify-content:flex-start;text-align:left;background:transparent;border-color:transparent}.family-nav button[aria-current=page]{background:#e2f2ec;color:#096a6e;border-color:#c9e5dc}.family-nav small{margin-left:auto;background:white;border-radius:7px;padding:2px 7px}.family-hero{background:#123f49;color:white;border-radius:24px;padding:30px;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px}.family-hero h2{font-size:clamp(26px,3vw,36px);margin:8px 0;line-height:1.15;letter-spacing:-.035em}.family-hero p{margin:10px 0;max-width:620px}.family-hero .family-eyebrow{color:#b5e5ca}.family-orbit{flex:0 0 112px;height:112px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center;font-size:48px;background:radial-gradient(circle,#b4ecd829,transparent)}.family-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.family-kpi{background:white;border:1px solid #dfe7ec;border-radius:17px;padding:20px}.family-kpi strong{display:block;font-size:32px;line-height:1.2;color:#087d80;margin:8px 0}.family-kpi span{font-size:13px;font-weight:600}.family-kpi small{font-size:11px;color:#6a7b88;display:block}.family-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.family-panel{background:white;border:1px solid #dfe7ec;border-radius:20px;padding:24px;margin:0 0 20px;min-width:0;overflow-wrap:anywhere}.family-panel h3{font-size:20px;letter-spacing:-.02em;margin:0 0 15px}.family-panel h4{margin:8px 0}.family-panel p{font-size:14px;line-height:1.7;white-space:pre-wrap}.family-section-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}.family-section-head h2{font-size:26px;letter-spacing:-.03em;margin:0}.family-tag{display:inline-block;padding:5px 9px;border-radius:7px;background:#edf5f1;color:#246158;font-size:11px;font-weight:700}.family-tag.purple{background:#eee9f8;color:#69508d}.family-tag.amber{background:#fff4db;color:#8b631c}.family-report{border-left:3px solid #b8dfcd;padding:2px 0 2px 17px;margin:22px 0}.family-report h4{font-size:16px;margin:8px 0}.family-report p{margin:8px 0}.family-report .family-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.family-report-meta{font-size:12px;color:#6d8088;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.family-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.family-grade{display:inline-block;font-size:18px;font-weight:800;color:#156b6e;background:#e8f5ee;padding:8px 12px;border-radius:10px}.family-note{border-radius:12px;background:#f0f7f4;padding:15px;font-size:13px;line-height:1.7}.family-empty{padding:30px 20px;border:1px dashed #cbdadc;background:#f9fbfc;border-radius:14px;color:#617782;text-align:center}.family-filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.family-filters label{display:grid;gap:7px;flex:1 1 200px;font-size:13px}.family-page select,.family-page input{font:inherit;min-height:44px;padding:10px 12px;border:1px solid #ccdce0;border-radius:10px;width:100%;min-width:0;background:white}.family-skill{padding:15px 0;border-bottom:1px solid #edf1f3}.family-skill-head{display:flex;justify-content:space-between;gap:12px;font-size:14px}.family-skill meter,.family-panel progress{width:100%;height:12px;margin:10px 0;accent-color:#0c8586}.family-event{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #e7edef}.family-date{border-radius:12px;background:#eef1fa;min-width:58px;padding:10px;text-align:center;font-size:13px;font-weight:700;align-self:start;color:#5a4b7b}.family-event p{margin:5px 0}.family-modal{width:min(760px,calc(100vw - 28px));max-height:88vh;border:1px solid #d4e4e5;border-radius:22px;padding:28px;color:#243c48;box-sizing:border-box}.family-modal::backdrop{background:#153a4b80;backdrop-filter:blur(4px)}.family-modal .family-section-head{position:sticky;top:-28px;background:#fff;padding:14px 0}.family-modal p{white-space:pre-wrap;line-height:1.75}.family-modal h2{font-size:24px}.family-modal .family-panel{margin:15px 0}.family-page #family-status:empty{display:none}.family-page #family-status:not(:empty){padding:14px;background:#fff5df;border-radius:12px}.family-login-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:1050px;margin:20px auto}.family-login-art{padding:35px;border-radius:25px;background:#123f49;color:white}.family-login-art .family-eyebrow{color:#c8eab7}.family-login-art h2{font-size:34px;line-height:1.15;letter-spacing:-.04em}.family-login-art p{color:#d7e9e6;line-height:1.9}.family-page.family-connected .family-login-art{display:none}.family-page .business-login-form{max-width:none}.family-page .business-login-form button{background:#087d80;color:white;border-color:#087d80}.family-page #family-recover{margin-top:14px}.family-footnote{font-size:12px;color:#6d7e89;margin:24px 0}.family-attendance{display:flex;gap:10px;flex-wrap:wrap}.family-attendance span{padding:10px 14px;background:#f1f6f8;border-radius:10px;font-size:13px}@media(max-width:1000px){.family-shell{grid-template-columns:1fr}.family-nav{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:5px}.family-nav button{flex-shrink:0}.family-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.family-page main{padding:24px 5%}.family-header{align-items:flex-start}.family-header h2{font-size:25px}.family-grid,.family-login-wrap{grid-template-columns:1fr;gap:0}.family-login-art{padding:24px;margin-bottom:22px}.family-hero{padding:24px}.family-orbit{display:none}.family-panel{padding:20px}.family-kpi{padding:16px}.family-kpi strong{font-size:27px}.family-kpis{gap:10px}.family-page .online-nav nav{gap:12px}.family-modal{padding:20px}.family-section-head{align-items:flex-start}.family-page .online-footer{padding:25px 5%}}@media print{.family-page header,.family-page footer,.family-nav,.family-header button,.family-report-actions,.family-filters{display:none!important}.family-page main{padding:0}.family-shell{display:block}.family-hero{background:white;color:black;border:1px solid #aaa}.family-modal[open]{position:absolute;inset:0;width:100%;max-height:none;overflow:visible;border:0}.family-page:has(.family-modal[open]) main,.family-page:has(.family-modal[open]) footer{display:none}.family-modal .family-section-head button{display:none}.family-panel{break-inside:avoid;box-shadow:none}}
