/* AMPRO Portal Familias 0.2.0 · interfaz de aplicación independiente */
html{background:#f4f6f9}
body.ampro-family-app-page{margin:0!important;min-height:100vh;background:#f4f6f9!important;color:#182234;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:15px!important;line-height:1.5!important;-webkit-font-smoothing:antialiased}
body.ampro-family-app-page *,body.ampro-family-app-page *:before,body.ampro-family-app-page *:after{box-sizing:border-box}
body.ampro-family-app-page h1,body.ampro-family-app-page h2,body.ampro-family-app-page h3,body.ampro-family-app-page h4,body.ampro-family-app-page p,body.ampro-family-app-page dl,body.ampro-family-app-page dd{font-family:inherit!important}
.ampro-family-app-root{min-height:100vh;padding:14px}
.ampro-family-shell{--ampro-family-primary:#2563eb;--ampro-family-ink:#172033;--ampro-family-muted:#657184;--ampro-family-border:#dce3eb;--ampro-family-soft:#f6f8fb;max-width:1780px;margin:0 auto;color:var(--ampro-family-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}
.ampro-family-shell *{box-sizing:border-box;min-width:0}.ampro-family-shell a{color:var(--ampro-family-primary)}

/* Marca de la escuela */
.ampro-family-brand{display:flex;align-items:center;gap:11px;min-width:0}.ampro-family-brand-logo{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ampro-family-border);border-radius:12px;background:#fff;overflow:hidden;flex:0 0 auto}.ampro-family-brand-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.ampro-family-brand-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:color-mix(in srgb,var(--ampro-family-primary) 10%,#fff);color:var(--ampro-family-primary);font-size:23px;font-weight:700;flex:0 0 auto}.ampro-family-brand-copy{display:flex;flex-direction:column;min-width:0}.ampro-family-brand-copy strong{font-size:14px!important;line-height:1.25!important;color:var(--ampro-family-ink);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ampro-family-brand-copy small{font-size:10px!important;line-height:1.3!important;text-transform:uppercase;letter-spacing:.075em;color:var(--ampro-family-muted);font-weight:750;margin-top:2px}.ampro-family-brand.is-compact .ampro-family-brand-logo{width:40px;height:40px;border-radius:10px}.ampro-family-brand.is-compact .ampro-family-brand-symbol{width:40px;height:40px;border-radius:10px;font-size:19px}.ampro-family-brand.is-compact .ampro-family-brand-copy strong{font-size:15px!important}

/* Cabecera app */
.ampro-family-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:11px 15px;background:#fff;border:1px solid var(--ampro-family-border);border-radius:15px;box-shadow:0 3px 14px rgba(20,35,55,.035)}
.ampro-family-user{display:flex;align-items:center;gap:10px;justify-content:flex-end}.ampro-family-user-copy{display:flex;flex-direction:column;text-align:right}.ampro-family-user-copy strong{font-size:12px!important;line-height:1.25!important;color:var(--ampro-family-ink);font-weight:700}.ampro-family-user-copy span{font-size:10px!important;color:var(--ampro-family-muted);margin-top:2px}.ampro-family-logout{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid var(--ampro-family-border);border-radius:8px;text-decoration:none!important;color:#3b4759!important;font-size:11px!important;font-weight:700;background:#fff;white-space:nowrap}.ampro-family-logout:hover{border-color:#bdc9d7;background:#f8fafc}

/* Selector de hijos */
.ampro-family-switcher{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 13px;margin-top:12px;background:#fff;border:1px solid var(--ampro-family-border);border-radius:12px}.ampro-family-switcher>span{font-size:11px!important;font-weight:750;color:var(--ampro-family-muted);margin-right:3px;text-transform:uppercase;letter-spacing:.05em}.ampro-family-switcher a{padding:6px 10px;border-radius:8px;text-decoration:none!important;color:#46556a!important;font-size:13px!important;background:#f8fafc;border:1px solid var(--ampro-family-border)}.ampro-family-switcher a.is-active{background:var(--ampro-family-primary);color:#fff!important;border-color:var(--ampro-family-primary)}

/* Navegación y contenido */
.ampro-family-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:15px;margin-top:15px;align-items:start}.ampro-family-nav{background:#fff;border:1px solid var(--ampro-family-border);border-radius:15px;padding:10px;height:max-content;position:sticky;top:14px;box-shadow:0 3px 14px rgba(20,35,55,.03)}.ampro-family-nav a{display:block;padding:8px 9px;margin:1px 0;border-radius:8px;text-decoration:none!important;color:#435167!important;font-size:12px!important;line-height:1.25!important;font-weight:620}.ampro-family-nav a:hover{background:#f4f7fb;color:#24334a!important}.ampro-family-nav a.is-active{background:color-mix(in srgb,var(--ampro-family-primary) 9%,#fff);color:var(--ampro-family-primary)!important;font-weight:750}.ampro-family-main{min-width:0}.ampro-family-title{padding:7px 2px 15px}.ampro-family-title h2{margin:1px 0 3px!important;font-size:25px!important;line-height:1.2!important;letter-spacing:-.02em!important;font-weight:700!important;color:var(--ampro-family-ink)!important}.ampro-family-title>p:not(.ampro-family-kicker){margin:0!important;color:var(--ampro-family-muted)!important;font-size:14px!important;line-height:1.45!important}.ampro-family-kicker{font-size:10px!important;line-height:1.3!important;letter-spacing:.12em!important;font-weight:800!important;color:var(--ampro-family-primary)!important;margin:0 0 4px!important;text-transform:uppercase}

/* Tarjetas y datos */
.ampro-family-card{background:#fff;border:1px solid var(--ampro-family-border);border-radius:12px;padding:17px 18px;margin-bottom:14px;box-shadow:0 2px 10px rgba(21,35,54,.025)}.ampro-family-card h3{margin:0 0 12px!important;font-size:18px!important;line-height:1.3!important;font-weight:700!important;color:var(--ampro-family-ink)!important}.ampro-family-card h4{margin:17px 0 7px!important;font-size:11px!important;line-height:1.35!important;text-transform:uppercase;letter-spacing:.07em;color:var(--ampro-family-muted)!important;font-weight:750!important}.ampro-family-card p{font-size:14px!important}
.ampro-family-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:8px}.ampro-family-stat{background:#fff;border:1px solid var(--ampro-family-border);border-radius:13px;padding:15px 17px;box-shadow:0 4px 14px rgba(27,42,65,.025)}.ampro-family-stat strong{display:block;font-size:21px!important;line-height:1.2!important;color:var(--ampro-family-primary);font-weight:700}.ampro-family-stat span{display:block;color:var(--ampro-family-muted);font-size:12px!important;line-height:1.4!important;margin-top:4px}.ampro-family-fineprint{color:#7a8596!important;font-size:11px!important;line-height:1.45!important;margin:7px 2px 15px!important}
.ampro-family-list{display:flex;flex-direction:column}.ampro-family-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f4}.ampro-family-row:last-child{border-bottom:0}.ampro-family-row>div{min-width:0}.ampro-family-row strong{display:block;font-size:15px!important;line-height:1.35!important;font-weight:650!important;color:var(--ampro-family-ink)!important}.ampro-family-row span:not(.ampro-family-badge){display:block;color:var(--ampro-family-muted)!important;font-size:12px!important;line-height:1.4!important;margin-top:2px;overflow-wrap:anywhere}.ampro-family-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.ampro-family-badge{display:inline-flex!important;align-items:center;background:#e9f2fb;color:#235486!important;border-radius:999px;padding:4px 8px;font-size:10px!important;line-height:1.25!important;font-weight:750;white-space:nowrap}.ampro-family-badge.is-soft{background:#f2f4f7;color:#566174!important}.ampro-family-pay{text-align:right;flex:0 0 auto}.ampro-family-pay strong{font-size:15px!important}
.ampro-family-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}.ampro-family-card-head h3{margin-bottom:2px!important}.ampro-family-card-head p{margin:0!important;color:var(--ampro-family-muted)!important;font-size:13px!important}.ampro-family-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;margin:0}.ampro-family-details div{padding:10px 0;border-top:1px solid #edf0f4;min-width:0}.ampro-family-details dt{font-size:10px!important;line-height:1.3!important;text-transform:uppercase;letter-spacing:.06em;color:var(--ampro-family-muted)!important;font-weight:750;margin-bottom:3px}.ampro-family-details dd{margin:0!important;font-size:15px!important;line-height:1.4!important;font-weight:600;color:var(--ampro-family-ink)!important;overflow-wrap:anywhere;word-break:break-word}.ampro-family-empty{color:var(--ampro-family-muted)!important;margin:0!important;font-size:14px!important}

/* Login */
.ampro-family-login{max-width:460px;min-height:calc(100vh - 48px);display:grid;place-items:center}.ampro-family-login-card{width:100%;padding:26px}.ampro-family-login-card .ampro-family-brand{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #edf0f4}.ampro-family-login-intro{margin-bottom:18px}.ampro-family-login-intro h1{font-size:25px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin:2px 0 7px!important;color:var(--ampro-family-ink)!important;font-weight:700!important}.ampro-family-login-intro>p:not(.ampro-family-kicker){margin:0!important;color:var(--ampro-family-muted)!important;font-size:14px!important}.ampro-family-login-card form p{margin:0 0 14px!important}.ampro-family-login-card label{display:block;font-size:13px!important;line-height:1.35!important;font-weight:650!important;color:var(--ampro-family-ink)!important;margin-bottom:5px}.ampro-family-login-card input[type=text],.ampro-family-login-card input[type=password]{display:block;width:100%!important;min-height:42px;padding:9px 11px!important;border:1px solid var(--ampro-family-border)!important;border-radius:8px!important;background:#fff!important;color:var(--ampro-family-ink)!important;font:inherit!important;font-size:15px!important;box-shadow:none!important}.ampro-family-login-card .login-remember label{display:flex;align-items:center;gap:7px;font-weight:500!important}.ampro-family-login-card input[type=submit]{background:var(--ampro-family-primary)!important;border:1px solid var(--ampro-family-primary)!important;border-radius:8px!important;color:#fff!important;min-height:40px;padding:8px 16px!important;font-size:13px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important}.ampro-family-help{margin:4px 0 0!important}.ampro-family-help a{font-size:13px!important;color:var(--ampro-family-muted)!important}.ampro-family-notice{background:#fff6df;border:1px solid #f1d58f;border-radius:10px;padding:14px 16px}.ampro-family-error{background:#fff0f0;border-color:#efb5b5}

/* Firma discreta */
.ampro-family-powered{margin:22px 0 0;text-align:center;color:#8b95a4;font-size:10px!important;letter-spacing:.02em}.ampro-family-powered a{color:inherit!important;text-decoration:none!important}

/* Tablet */
@media(max-width:1100px){.ampro-family-app-root{padding:14px}.ampro-family-layout{grid-template-columns:195px minmax(0,1fr);gap:14px}.ampro-family-details{grid-template-columns:repeat(2,minmax(0,1fr))}.ampro-family-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Móvil: navegación inferior con sensación de app */
@media(max-width:700px){body.ampro-family-app-page{padding-bottom:76px!important}.ampro-family-app-root{padding:10px 10px 0}.ampro-family-shell{max-width:none}.ampro-family-header{padding:10px 12px;border-radius:12px}.ampro-family-brand.is-compact .ampro-family-brand-logo,.ampro-family-brand.is-compact .ampro-family-brand-symbol{width:36px;height:36px}.ampro-family-brand.is-compact .ampro-family-brand-copy strong{font-size:13px!important;max-width:145px}.ampro-family-brand.is-compact .ampro-family-brand-copy small{font-size:10px!important}.ampro-family-user-copy{display:none}.ampro-family-logout{font-size:12px!important;min-height:34px;padding:6px 9px}.ampro-family-switcher{margin-top:8px;padding:8px 10px;overflow-x:auto;flex-wrap:nowrap}.ampro-family-switcher a{white-space:nowrap}.ampro-family-layout{display:block;margin-top:10px}.ampro-family-main{padding-bottom:8px}.ampro-family-nav{position:fixed;z-index:9999;left:8px;right:8px;bottom:8px;top:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:6px;border-radius:14px;box-shadow:0 10px 32px rgba(18,31,50,.18)}.ampro-family-nav a{padding:8px 2px;margin:0;text-align:center;font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ampro-family-title{padding:8px 2px 12px}.ampro-family-title h2{font-size:22px!important}.ampro-family-card{padding:16px;margin-bottom:12px;border-radius:12px}.ampro-family-card h3{font-size:17px!important}.ampro-family-stats{grid-template-columns:1fr}.ampro-family-stat{padding:13px 15px}.ampro-family-details{grid-template-columns:1fr}.ampro-family-row{align-items:flex-start;flex-direction:column;gap:7px}.ampro-family-badges{justify-content:flex-start}.ampro-family-pay{text-align:left}.ampro-family-card-head{gap:10px}.ampro-family-login{min-height:calc(100vh - 20px)}.ampro-family-login-card{padding:20px}.ampro-family-login-intro h1{font-size:23px!important}}

/* 0.2.0 · Evaluaciones y documentos */
.ampro-family-card-eyebrow{margin:0 0 3px!important;font-size:10px!important;line-height:1.3!important;text-transform:uppercase;letter-spacing:.08em;color:var(--ampro-family-primary)!important;font-weight:800!important}.ampro-family-grade{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:8px 11px;border-radius:10px;background:#edf4fb;color:var(--ampro-family-primary)!important;font-size:14px!important;line-height:1.2!important;font-weight:750!important;white-space:nowrap}.ampro-family-details--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.ampro-family-public-comment{margin-top:14px;padding:13px 14px;border-radius:10px;background:#f7f9fc;border:1px solid #e7ecf2}.ampro-family-public-comment>strong{display:block;margin-bottom:4px;font-size:11px!important;line-height:1.3!important;text-transform:uppercase;letter-spacing:.06em;color:var(--ampro-family-muted)!important}.ampro-family-public-comment p{margin:0!important;color:#38465a!important;font-size:14px!important;line-height:1.5!important}.ampro-family-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #edf0f4}.ampro-family-action{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid var(--ampro-family-border);border-radius:8px;background:#fff;text-decoration:none!important;color:var(--ampro-family-primary)!important;font-size:12px!important;line-height:1.25!important;font-weight:700!important;white-space:nowrap}.ampro-family-action:hover{background:#f7f9fc;border-color:#c6d1de}.ampro-family-document-row p{margin:5px 0 0!important;color:#59677a!important;font-size:12px!important;line-height:1.45!important;max-width:760px}

@media(max-width:900px){.ampro-family-details--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ampro-family-nav{display:flex;overflow-x:auto;gap:3px;padding:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ampro-family-nav::-webkit-scrollbar{display:none}.ampro-family-nav a{flex:0 0 auto;min-width:68px;padding:8px 7px}.ampro-family-details--compact{grid-template-columns:1fr}.ampro-family-grade{min-width:72px;font-size:12px!important}.ampro-family-action{width:auto}.ampro-family-document-row .ampro-family-action{align-self:flex-start}}

/* 1.0.7 — escala tipográfica alineada con Secretaría/Profesor y priorizando legibilidad. */
.ampro-family-brand-copy strong{font-size:14px!important}
.ampro-family-brand-copy small{font-size:10px!important}
.ampro-family-user-copy strong{font-size:13px!important}
.ampro-family-user-copy span{font-size:11px!important}
.ampro-family-logout{font-size:12px!important}
.ampro-family-switcher>span{font-size:11px!important}
.ampro-family-switcher a{font-size:13px!important}
.ampro-family-nav a{font-size:13px!important}
.ampro-family-title h2{font-size:25px!important}
.ampro-family-title>p:not(.ampro-family-kicker){font-size:14px!important}
.ampro-family-kicker{font-size:10px!important}
.ampro-family-card h3{font-size:17px!important}
.ampro-family-card h4{font-size:12px!important}
.ampro-family-card p{font-size:14px!important;line-height:1.55!important}
.ampro-family-stat span{font-size:13px!important}
.ampro-family-fineprint{font-size:12px!important}
.ampro-family-row strong{font-size:15px!important}
.ampro-family-row span:not(.ampro-family-badge){font-size:13px!important}
.ampro-family-details dt{font-size:11px!important}
.ampro-family-details dd{font-size:15px!important}
.ampro-family-empty{font-size:14px!important}
.ampro-family-card-head p{font-size:13px!important}
.ampro-family-badge{font-size:10px!important}
.ampro-family-action{font-size:12px!important}
.ampro-family-public-comment>strong{font-size:11px!important}
.ampro-family-public-comment p{font-size:14px!important}
.ampro-family-document-row p{font-size:13px!important}
