/* EduSmart360 V4.25 — Family governance launcher domain layout.
   Embedded governance keeps its interaction geometry while all appearance resolves
   through the canonical EducaSmart Design Language. No alternate palette/theme. */
html.family-scroll-authority,body.family-scroll-authority{overflow:hidden;overscroll-behavior:none}
body.family-scroll-authority .main{height:calc(100dvh - var(--es360-topbar-height,var(--edl-topbar)) - var(--es360-safe-top,0px));min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable}
body.family-scroll-authority #p-familias{min-height:0;overflow:visible}
.family-governance-nav{width:calc(100% - 10px);border:0;background:transparent;color:var(--edl-muted);font-family:inherit;text-align:left;text-decoration:none;appearance:none;cursor:pointer}.family-governance-nav:hover{color:var(--edl-ink)}.family-governance-nav.on{color:var(--edl-ocean-2)}.family-governance-nav:focus-visible{outline:3px solid color-mix(in srgb,var(--edl-focus) 52%,transparent);outline-offset:-3px;color:var(--edl-ocean-2)}
.family-native-page{padding-bottom:24px}.family-native-page [hidden],.family-native-host [hidden],body:has(#p-familias.page.on) #btn-nuevo[hidden]{display:none}.family-native-host{display:block;min-width:0}.family-native-content{width:100%;min-width:0}.family-native-heading{margin:0 0 22px}.family-native-title{margin-bottom:5px}.family-native-description{max-width:860px;margin-bottom:0}
.family-native-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}.family-native-kpi{min-height:104px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface);box-shadow:var(--edl-shadow-1)}.family-native-kpi span{font-size:11px;line-height:1.25;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--edl-muted)}.family-native-kpi strong{font-family:var(--edl-title);font-size:28px;line-height:1;font-weight:760;color:var(--edl-ink)}
.family-native-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;align-items:start}.family-native-sidebar{min-width:0;display:grid;gap:18px}.family-native-card{padding:22px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface);box-shadow:var(--edl-shadow-1);min-width:0}.family-native-sidebar>.family-native-card{position:static}.family-native-directory-card{margin-top:0}.family-native-layout>.family-native-card{position:sticky;top:12px;align-self:start}
.family-native-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--edl-line)}.family-native-section .es-card-header{margin-bottom:14px}.family-native-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 16px;margin:0 0 22px;border-bottom:1px solid var(--edl-line)}.family-native-tab{min-height:44px;padding:10px 16px;border:1px solid var(--edl-line);border-radius:var(--edl-r-1);background:var(--edl-surface);color:var(--edl-muted);font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:background var(--edl-fast) var(--edl-ease),border-color var(--edl-fast) var(--edl-ease),color var(--edl-fast) var(--edl-ease),box-shadow var(--edl-fast) var(--edl-ease)}.family-native-tab:hover{background:var(--edl-surface-2);border-color:var(--edl-line-strong);color:var(--edl-ink)}.family-native-tab[aria-selected="true"]{background:var(--edl-ocean);border-color:var(--edl-ocean);color:var(--edl-surface);box-shadow:var(--edl-shadow-1)}
.family-native-form{display:grid;gap:16px;padding:18px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface-2);margin-top:12px}.family-native-list{display:grid;gap:10px;padding-right:0;overflow:visible}#student-results.family-native-student-list{max-height:430px;overflow-y:auto;overflow-x:hidden;padding-right:6px;padding-bottom:8px;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-gutter:stable}#student-results.family-native-student-list .es-governance-result{scroll-snap-align:start}
.family-native-list .es-governance-result{width:100%;min-height:66px;padding:12px 14px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--edl-ink-2);cursor:pointer}.family-native-list .es-governance-result:hover{border-color:var(--edl-line-strong);background:var(--edl-surface-2)}.family-native-list .es-governance-result[aria-current="true"]{border-color:var(--edl-jade);box-shadow:0 0 0 2px color-mix(in srgb,var(--edl-jade) 18%,transparent)}.family-native-list .es-governance-result>span:first-child{display:grid;gap:3px;min-width:0}.family-native-list .es-governance-result strong{font-size:13px;line-height:1.3}.family-native-list .es-governance-result span span{font-size:11px;line-height:1.3;color:var(--edl-muted)}
.family-native-host .es-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.family-native-host .ct,.family-native-host .es-card-title,.family-native-host .es-governance-section-title{font-family:var(--edl-title);font-size:15px;line-height:1.25;font-weight:700;color:var(--edl-ink);margin:0 0 5px}.family-native-host .ps,.family-native-host .es-card-description{font-size:12px;line-height:1.5;color:var(--edl-muted);margin:0}.family-native-host .es-field{display:grid;gap:7px;min-width:0}.family-native-host .es-field-label{font-size:12px;font-weight:700;color:var(--edl-ink-2)}
.family-native-host .fi,.family-native-host .es-input,.family-native-host .es-select,.family-native-host .es-textarea{width:100%;min-height:44px;border:1px solid var(--edl-line-strong);border-radius:var(--edl-r-1);background:var(--edl-surface);color:var(--edl-ink);font:inherit;font-size:13px;padding:10px 12px;outline:none}.family-native-host .es-textarea{min-height:110px;resize:vertical}.family-native-host .fi:focus,.family-native-host .es-input:focus,.family-native-host .es-select:focus,.family-native-host .es-textarea:focus{border-color:var(--edl-ocean);box-shadow:0 0 0 3px color-mix(in srgb,var(--edl-focus) 28%,transparent)}
.family-native-host .es-search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.family-native-host .btn,.family-native-host .es-button{min-height:44px;border-radius:var(--edl-r-1);padding:10px 16px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}.family-native-host .es-button-secondary{background:var(--edl-surface);border:1px solid var(--edl-line-strong);color:var(--edl-ink-2)}.family-native-host .es-button-primary{background:var(--edl-ocean);border:1px solid var(--edl-ocean);color:var(--edl-surface)}.family-native-host .es-button-danger{background:color-mix(in srgb,var(--edl-danger) 7%,var(--edl-surface));border:1px solid color-mix(in srgb,var(--edl-danger) 30%,var(--edl-line));color:var(--edl-danger)}
.family-native-host .es-governance-form-actions,.family-native-host .es-governance-link-actions,.family-native-host .es-actions-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px}.family-native-host .es-grid{display:grid;gap:14px}.family-native-host .es-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.family-native-host .es-governance-view{min-width:0}
.family-native-host .es-governance-empty{min-height:118px;padding:24px;border:1px dashed var(--edl-line-strong);border-radius:12px;background:var(--edl-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:var(--edl-muted)}.family-native-host .es-governance-empty strong{font-size:13px;color:var(--edl-ink-2)}.family-native-host .es-governance-empty span{font-size:11px;line-height:1.45}
.family-native-host .es-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;background:var(--edl-surface-3);color:var(--edl-muted)}.family-native-host .es-status-success{background:color-mix(in srgb,var(--edl-success) 8%,var(--edl-surface));color:var(--edl-success);border:1px solid color-mix(in srgb,var(--edl-success) 25%,var(--edl-line))}.family-native-host .es-status-warning{background:color-mix(in srgb,var(--edl-warning) 8%,var(--edl-surface));color:var(--edl-warning);border:1px solid color-mix(in srgb,var(--edl-warning) 25%,var(--edl-line))}.family-native-host .es-status-danger{background:color-mix(in srgb,var(--edl-danger) 7%,var(--edl-surface));color:var(--edl-danger);border:1px solid color-mix(in srgb,var(--edl-danger) 25%,var(--edl-line))}
.family-native-host .es-alert{display:flex;gap:10px;padding:13px 15px;border-radius:11px;margin:0 0 16px;border:1px solid color-mix(in srgb,var(--edl-danger) 25%,var(--edl-line));background:color-mix(in srgb,var(--edl-danger) 7%,var(--edl-surface));color:var(--edl-danger)}.family-native-host .es-alert-info{border-color:color-mix(in srgb,var(--edl-ocean) 25%,var(--edl-line));background:color-mix(in srgb,var(--edl-ocean) 6%,var(--edl-surface));color:var(--edl-ocean-2)}
.family-native-host .es-governance-link,.family-native-host .es-communication-item{padding:15px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface);margin-bottom:10px}.family-native-host .es-governance-link-head,.family-native-host .es-item-side{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.family-native-host .es-governance-link-meta,.family-native-host .es-item-meta{font-size:11px;line-height:1.45;color:var(--edl-muted);margin-top:4px}.family-native-host .es-choice{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--edl-ink-2)}
.family-native-loading,.family-native-error{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px;text-align:center}.family-native-loading strong,.family-native-error strong{font-size:15px;font-weight:750;color:var(--edl-ink)}.family-native-loading span,.family-native-error span{font-size:12px;color:var(--edl-muted)}.family-native-error{border-color:color-mix(in srgb,var(--edl-danger) 28%,var(--edl-line));background:color-mix(in srgb,var(--edl-danger) 6%,var(--edl-surface))}.family-native-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.family-native-host .es-modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--edl-ink) 45%,transparent);z-index:9998}.family-native-host .es-modal{position:fixed;z-index:9999;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--edl-surface);border:1px solid var(--edl-line);border-radius:var(--edl-r-3);padding:22px;box-shadow:var(--edl-shadow-3)}.family-native-host .es-stack{display:grid;gap:14px}.family-native-host .es-mt-2{margin-top:8px}.family-native-host .es-mt-3{margin-top:12px}.family-native-host .es-mt-5{margin-top:22px}
@media(max-width:1100px){.family-native-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.family-native-layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:16px}.family-native-card{padding:18px}}
@media(max-width:900px){.family-native-layout{grid-template-columns:1fr}.family-native-layout>.family-native-card,.family-native-sidebar>.family-native-card{position:static}.family-native-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}#student-results.family-native-student-list{max-height:360px}}
@media(max-width:680px){.family-native-kpis{grid-template-columns:1fr}.family-native-host .es-grid-2,.family-native-host .es-search-bar{grid-template-columns:1fr}.family-native-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.family-native-tab{flex:0 0 auto}.family-native-card{padding:15px}.family-governance-nav{width:calc(100% - 10px)}#student-results.family-native-student-list{max-height:320px}}
@media(prefers-reduced-motion:reduce){.family-governance-nav,.family-native-tab{transition:none}}
