:root{--navy:#0a263d;--navy2:#122e47;--lime:#c8f500;--cyan:#03b9dc;--ink:#193247;--sub:#607286;--line:#d9e5ec;--surface:#fff;--bg:#f2f6f9;--radius:17px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#07659a}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.container{max-width:1280px;margin:auto;padding:0 18px}.brand{font-weight:800;letter-spacing:.02em}.sitebar{background:#071d31;color:#fff;padding:13px 0}.sitebar .container{display:flex;align-items:center;justify-content:space-between;gap:10px}.sitebar a{color:#fff;text-decoration:none}.sitebar small{color:#c5d7e2}.hero-art{position:relative;max-width:1672px;margin:auto;background:#031e31}.hero-art img{width:100%;height:auto;display:block}.hotspot{position:absolute;border:0;background:transparent;color:transparent;font-size:0;cursor:pointer;border-radius:12px}.hotspot:focus-visible{outline:4px solid #fff;outline-offset:-4px}.hotspot.register{left:3.4%;top:66.5%;width:20%;height:8.4%}.hotspot.login{left:24.8%;top:66.5%;width:19.2%;height:8.4%}.hotspot.nav{top:1.2%;height:8%;}.mobile-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:15px;background:#061d31}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:11px 16px;border-radius:10px;background:var(--navy);color:#fff;border:1px solid transparent;font-weight:700;text-decoration:none;line-height:1.2}.btn:hover{filter:brightness(1.12)}.btn.alt{background:#e8f5fa;color:#124663;border-color:#bdd7e4}.btn.lime{background:var(--lime);color:#071e31}.btn.warn{background:#fff1e8;color:#813b17;border-color:#ffd5b9}.btn.small{padding:7px 11px;font-size:13px}.section{padding:46px 0}.section h2{font-size:clamp(23px,3vw,34px);margin:0 0 12px}.muted{color:var(--sub)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:15px}.tile,.panel,.stat,.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:0 5px 18px #102e430b}.tile h3{margin:5px 0 8px}.tile p{font-size:14px;line-height:1.5;margin:0}.status{background:#ebf5f9;color:#0e5376;padding:10px 13px;border-radius:9px;line-height:1.45}.status.error{background:#fff0eb;color:#9c341e}.status.ok{background:#eff8e4;color:#3f641c}.label{display:block;font-weight:650;font-size:13px;color:#304a5f;margin:0 0 5px}.field{display:grid;gap:5px}.field input,.field select,.field textarea,select,input[type=date],input[type=number],input[type=text],input[type=email],input[type=password],textarea{width:100%;min-width:0;background:#fff;border:1px solid #c8d7e1;border-radius:10px;padding:10px;color:var(--ink)}textarea{min-height:88px}.field small{font-size:12px;color:var(--sub)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.authbackdrop{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;background:#00101bc9;padding:16px}.authbackdrop.open{display:flex}.authbox{position:relative;max-width:430px;width:100%;background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 70px #0006;max-height:93vh;overflow:auto}.authbox h2{margin-top:0}.close{position:absolute;top:12px;right:12px;background:#e9f0f3;border:0;border-radius:7px;padding:7px 11px;font-size:21px}.authbox form{display:grid;gap:12px}.hidden{display:none!important}.shell{min-height:100vh;display:flex}.side{width:255px;flex:none;background:#071f34;color:#fff;position:sticky;top:0;height:100vh;overflow-y:auto;padding:20px 10px}.side .logo{font-size:17px;line-height:1.25;font-weight:900;margin:6px 8px 23px}.side .logo em{color:var(--lime);font-style:normal}.navitem{border:0;background:transparent;color:#dce9f2;width:100%;text-align:left;display:flex;gap:9px;align-items:center;padding:10px 11px;border-radius:10px;font-size:14px}.navitem:hover,.navitem.current{background:#20435b;color:#fff}.navitem.current{border-left:3px solid var(--lime)}.main{flex:1;min-width:0}.top{background:#fff;border-bottom:1px solid #d7e3eb;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:5}.top strong{font-size:20px}.page{max-width:1250px;margin:0 auto;padding:26px 22px 60px}.page-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:0 0 20px}.page h1{font-size:clamp(23px,3vw,32px);margin:0 0 6px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.stat strong{display:block;font-size:34px}.stat span{color:var(--sub);font-size:13px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.panel{margin-bottom:16px}.panel h2{font-size:19px;margin:0 0 15px}.panel h3{margin-top:0}.data-table{width:100%;border-collapse:collapse;font-size:14px;min-width:500px}.data-table th,.data-table td{text-align:left;vertical-align:middle;padding:12px 9px;border-bottom:1px solid #e4edf3}.data-table th{color:#48687b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table td .mini{display:inline-flex;gap:8px;align-items:center}.scroll-x{overflow-x:auto}.avatar{width:43px;height:43px;border-radius:50%;object-fit:cover;background:#e5eff6;border:1px solid #cbdde7}.avatar.placeholder{display:grid;place-items:center;font-size:15px;font-weight:800;color:#496d81}.chip{display:inline-block;background:#eaf3f7;border-radius:100px;padding:4px 9px;font-size:12px;color:#29516d}.chip.demo{background:#fff1d6;color:#946500}.chip.good{background:#e5f5ea;color:#136b37}.empty{border:1px dashed #b7cbd8;background:#f8fbfd;color:#607c8f;padding:25px;text-align:center;border-radius:13px}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}.notice{background:#fef9e6;border:1px solid #f3d981;padding:13px 16px;border-radius:12px;color:#654f16;margin:0 0 18px;font-size:14px}.form-title{margin:0 0 14px}.tiny{font-size:12px}.card-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bar-track{height:10px;background:#eaf0f3;border-radius:20px;overflow:hidden}.bar-track div{height:100%;background:linear-gradient(90deg,#00b8d4,#a5cf19)}.demo-radar{width:100%;max-width:290px;margin:auto;display:block}.metric{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e1eaf0}.demo-watermark{letter-spacing:.14em;color:#ac6c1d;font-weight:900;font-size:13px}.mobile-nav{display:none;overflow-x:auto;gap:5px;padding:10px;background:#08273f}.mobile-nav button{flex:none;background:#1d4059;color:#fff;border:0;padding:9px 12px;border-radius:9px;white-space:nowrap}.footer{padding:30px 12px;color:#b5d0df;font-size:12px;text-align:center}.print-only{display:none}@media(max-width:920px){.side{display:none}.mobile-nav{display:flex}.top{padding:12px 15px}.page{padding:20px 14px 50px}.page-head{flex-direction:column}.shell{display:block}}@media(max-width:650px){.hero-art .hotspot{display:none}.hero-art img{width:100%}.mobile-actions{padding:16px;gap:8px}.mobile-actions .btn{flex:1;min-width:135px}.sitebar small{display:none}.grid2{grid-template-columns:1fr}.authbox{padding:24px 18px}}@media print{.side,.top,.mobile-nav,.actions,.no-print{display:none!important}.page{max-width:none}.panel,.tile{box-shadow:none;break-inside:avoid}.print-only{display:block}}

@media(max-width:650px){.hero-art img{height:370px;object-fit:cover;object-position:51% 40%}.hero-art{min-height:370px}.mobile-actions{position:relative;z-index:3}}

/* v1.2: public entry only, private technology demos */
.portada-notice{font-size:12px;background:#061d31;color:#bad0da;padding:12px 18px;text-align:center}
.tech-alert{border-radius:12px;background:#fef8e7;border:1px solid #f0d892;padding:14px 16px;color:#6f5414;margin:15px 0;font-size:14px}
.tech-intro{font-size:15px;line-height:1.55;color:var(--sub)}
.tech-tools{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.tech-tools select,.tech-tools button{width:auto;min-width:150px}
.tech-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:16px 0 24px}
.tech-kpi{border:1px solid #d9e5ec;border-radius:15px;background:white;padding:16px;min-height:112px}
.tech-kpi .kpi-val{font-size:clamp(20px,2.6vw,27px);font-weight:850;letter-spacing:-.02em;display:block;color:#10344e;margin:7px 0 3px}
.tech-kpi .kpi-label{font-size:13px;color:#546b7c}.tech-kpi small{display:block;color:#6b8090;font-size:11px}
.tech-area{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:15px;margin:14px 0}
.tech-panel{background:#fff;border-radius:16px;padding:18px;border:1px solid #d9e5ec}
.tech-panel h3{margin:0 0 12px}.tech-row{margin:13px 0}.tech-row-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.tech-progress{height:10px;background:#e8f0f5;border-radius:20px;overflow:hidden;margin-top:6px}.tech-progress i{display:block;height:100%;background:#146887;border-radius:20px}
.tech-chip{display:inline-block;padding:5px 9px;background:#edf5f8;color:#1b516b;border-radius:999px;font-size:12px;margin:4px 6px 4px 0}
.tech-demo{background:#fff2da;color:#714719;border-radius:999px;font-size:12px;font-weight:800;padding:5px 10px;display:inline-flex;align-items:center}
.tech-placeholder{border:1px dashed #b6ccd7;background:#f4f9fb;border-radius:14px;padding:16px;text-align:center;color:#5d7686;min-height:95px;display:flex;align-items:center;justify-content:center}
.tech-links{display:flex;gap:8px;flex-wrap:wrap}.tech-links button{font-size:13px}.tech-note{font-size:12px;color:#577080;line-height:1.55}
@media(max-width:740px){.tech-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-tools{display:block}.tech-tools select,.tech-tools button{width:100%;margin:5px 0}}

/* Formación, tareas y comunicación familiar */
.family-report{white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.7;background:#f4f9fb;border:1px solid #d0e3ec;border-radius:12px;padding:18px;color:#19374c;overflow-wrap:anywhere}.consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:#365168;font-size:14px}.consent input[type=checkbox]{width:auto;min-width:auto;margin:4px 0 0}.pilot-form select{max-width:100%}.goalStatus,.taskStatus{min-width:170px}.field input[type=checkbox]{width:auto}@media print{#familyPlayer,#familyWeek,#copyFamily,#waFamily,#printFamily{display:none!important}}

/* Escuela formativa: tareas individuales y cuadro de progreso privado */
.taskStatus{min-width:160px}.taskFeedback{margin-top:8px}.family-report{white-space:pre-wrap;overflow-wrap:anywhere}.status{min-height:24px}

/* Cuenta y privacidad v2.0 */
.danger-zone{border-color:#eeb49c;background:#fff8f5}.danger-zone h2{color:#8c321c}.danger-zone form{display:grid;gap:12px;max-width:480px}.danger-zone button.warn{font-weight:800}
@media(max-width:650px){.hero-art img{height:auto!important;object-fit:contain!important;object-position:center!important}.hero-art{min-height:0!important}.portada-notice{font-size:12px}.top .card-row{gap:6px}.top .card-row .btn{padding:7px 9px;font-size:12px}}

/* v2.1 bilingual + family portal */
.fii-lang-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.langlabel{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:inherit;white-space:nowrap}.langlabel select{width:auto;min-width:100px;max-width:160px;border-radius:9px;padding:6px;background:#fff;color:#143c52;border:1px solid #bcd5e2;font-weight:700}.family-wrap{max-width:1000px;margin:0 auto;padding:18px}.family-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}.family-hero{background:#0b2a41;color:#fff;border-radius:18px;padding:25px;margin:15px 0 22px}.family-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.family-card{background:white;border-radius:16px;border:1px solid #d8e4eb;padding:20px}.family-card h3{margin-top:0}.family-match{border-left:4px solid #c6ed00;margin:12px 0;padding:13px;background:#f5f9fb;border-radius:6px}.family-child{font-size:21px;font-weight:800}.family-form{display:grid;gap:10px;max-width:600px}.family-form input{max-width:100%}.family-muted{color:#607286;font-size:14px}.family-list{list-style:none;padding:0}.family-list li{border-bottom:1px solid #dfe9ef;padding:8px 0}.family-badge{display:inline-block;padding:3px 9px;background:#e5f2fa;border-radius:18px;font-size:12px}.family-actions{display:flex;gap:8px;flex-wrap:wrap}.family-notice{background:#fff5e6;color:#785019;padding:13px;border-radius:10px;margin:12px 0}.family-status{margin:9px 0}.family-status.error{color:#9e2916}.family-status.ok{color:#256a42}@media(max-width:700px){.fii-lang-line{justify-content:space-between;width:100%}.sitebar .container{flex-wrap:wrap}.langlabel span{display:none}.family-wrap{padding:12px}.top .card-row{flex-wrap:wrap}}

/* FII v2.4: identidad gráfica oficial y acceso único */
.fii-brandline{display:flex;align-items:center;gap:13px;min-width:0}.official-logo{width:74px;height:60px;object-fit:contain;flex:none}.sitebar .container{min-height:66px}.sitebar .brand{font-size:clamp(14px,2vw,20px)}
.official-cover{max-width:1600px;margin:0 auto;position:relative;background:#051f34}.official-cover>picture>img{width:100%;height:auto;display:block}
.cover-actions{position:absolute;left:4.3%;top:70%;z-index:2}.cover-login{min-width:240px;min-height:64px;font-size:21px;box-shadow:0 10px 35px #041828aa;border:2px solid #fff}
.cover-caption{max-width:1100px;text-align:center;margin:16px auto 34px;padding:0 20px;color:#284a5e}.cover-caption p{margin:8px 0}
.password-row{display:flex;align-items:stretch;gap:8px}.password-row input{flex:1;min-width:0}.remember-session{font-size:14px;display:flex;align-items:center;gap:8px}.remember-session input{width:18px;height:18px}
.side-logo{width:90px;height:70px;object-fit:contain;display:block;margin-bottom:3px}.side-title{font-size:14px;font-weight:900;line-height:1.35;display:block;color:#fff}.muted-side{margin-top:8px;color:#9bb9ca;font-weight:400}
.header-logo{height:49px;width:61px;object-fit:contain;vertical-align:middle;margin-right:8px}
@media(max-width:720px){.official-logo{width:49px;height:43px}.cover-actions{position:relative;left:auto;top:auto;padding:12px;background:#071d31;display:flex;justify-content:center}.cover-login{min-height:48px;min-width:70%;font-size:17px}.sitebar .brand{font-size:12px}}

/* v2.5 PWA installation actions. Keep single sign-in action on the cover. */
.install-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:18px auto 0;padding:0 14px}
.install-help{max-width:780px;margin:10px auto;text-align:center;padding:11px 14px;background:#e8f4fb;border:1px solid #c5dce9;border-radius:12px;color:#1a475f}

.metric{gap:10px}.metric b{flex-shrink:0}
