:root{--navy: #19258a;--navy-2: #121c68;--purple: #b541fa;--purple-hover: #9b2ae8;--cyan: #4fd2e9;--cyan-deep: #1bb8d4;--white: #ffffff;--stone: #74706d;--bg: #eef3fb;--paper: #ffffff;--ink: #141a4a;--muted: #74706d;--line: #dce3f4;--line-strong: #c3cce6;--accent: #b541fa;--accent-hover: #9b2ae8;--accent-soft: #f3e5ff;--ok: #128a9e;--ok-soft: #d7f6fb;--warn: #b541fa;--warn-soft: #f6e8ff;--side: #19258a;--side-2: #121c68;--shadow: 0 10px 40px rgba(25, 37, 138, .12);--shadow-lg: 0 24px 60px rgba(25, 37, 138, .18);--radius: 18px;--font: "Manrope", "Segoe UI", system-ui, sans-serif;--display: "Outfit", "Manrope", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);letter-spacing:-.01em;background:radial-gradient(1200px 500px at 90% -10%,rgba(181,65,250,.28),transparent 55%),radial-gradient(900px 480px at -10% 110%,rgba(79,210,233,.35),transparent 50%),linear-gradient(160deg,#dce9fb,#eef3fb 42%,#e7ddfb);background-attachment:fixed}button,input,select,textarea{font:inherit}button{transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}button:active:not(:disabled){transform:translateY(1px) scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:linear-gradient(185deg,#1d2c9c 0%,var(--navy) 48%,#0e1658 100%);color:#f4f7ff;padding:22px 14px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;box-shadow:12px 0 40px #19258a2e}.brand{display:flex;gap:12px;align-items:flex-start;padding:6px 8px 18px;border-bottom:1px solid rgba(79,210,233,.18);margin-bottom:10px}.brand-mark{width:44px;height:44px;border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,var(--purple),var(--cyan));overflow:hidden;display:grid;place-items:center;box-shadow:0 8px 18px #b541fa59}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.side h1{font-family:var(--display);font-size:14.5px;margin:0;font-weight:700;line-height:1.25}.side .tag{display:block;margin:4px 0 0;padding:0;border-radius:0;background:transparent;color:var(--cyan);font-size:11px;font-weight:650;letter-spacing:.02em}.nav-group{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#4fd2e9b3;padding:14px 12px 6px}.nav-btn{background:transparent;border:0;color:inherit;text-align:left;padding:11px 14px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;display:flex;justify-content:space-between;align-items:center;border-left:3px solid transparent}.nav-btn:hover{background:#4fd2e91a}.nav-btn.active{background:linear-gradient(90deg,#b541fa47,#4fd2e91f);border-left-color:var(--cyan);color:#fff}.side .who{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(79,210,233,.18);font-size:12px;color:#ffffffb8}.who strong{color:#fff;display:block;font-size:13.5px;margin-bottom:2px}.logout{margin-top:10px;width:100%;background:transparent;color:#fff;border:1px solid rgba(79,210,233,.35);border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:650}.logout:hover{background:#b541fa40;border-color:var(--purple)}.content{padding:28px 36px 72px;max-width:1240px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h2{margin:0;font-family:var(--display);font-size:32px;font-weight:750;letter-spacing:-.04em;color:var(--navy)}.page-head p{margin:8px 0 0;color:var(--muted);font-size:15px;max-width:58ch;line-height:1.45}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin:4px 0 20px}.card{background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.card .num{font-family:var(--display);font-size:30px;font-weight:750;letter-spacing:-.04em;color:var(--navy)}.kpis .card{border-top:3px solid var(--cyan)}.kpis .card:nth-child(2n){border-top-color:var(--purple)}.grid-2{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;padding:10px 8px;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);font-weight:700}td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}tr.clickable{cursor:pointer}tr.clickable:hover{background:#4fd2e91f}.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pill.ALTO,.pill.FRACASO,.pill.ABIERTA,.pill.AGRESOR{background:var(--accent-soft);color:#7a16c9}.pill.MODERADO,.pill.EN_RIESGO,.pill.EN_SEGUIMIENTO,.pill.PENDIENTE,.pill.EN_CURSO{background:#e7f9fd;color:#0f6f82}.pill.BAJO,.pill.EXITO,.pill.CERRADA,.pill.COMPLETADA,.pill.CERRADO{background:var(--ok-soft);color:var(--ok)}.pill.VICTIMA,.pill.OBSERVADOR,.pill.MIXTO{background:#ece9ff;color:var(--navy)}.pill.SÍ,.pill.SI{background:var(--ok-soft);color:var(--ok)}.pill.NO{background:#eeeaea;color:var(--stone)}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-hero{position:relative;color:#fff;padding:52px;display:flex;flex-direction:column;justify-content:flex-end;background:#19258a center/cover no-repeat;min-height:100vh}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#19258a26,#121c68c7 58%,#19258aeb),linear-gradient(120deg,#b541fa59,#4fd2e92e)}.hero-copy{position:relative;z-index:1;max-width:46ch}.portal-kicker{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:#4fd2e933;color:var(--cyan);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.login-hero h1{font-family:var(--display);font-size:42px;line-height:1.08;margin:10px 0 14px;font-weight:800;letter-spacing:-.04em}.login-hero p{color:#ffffffdb;line-height:1.55;margin:0;font-size:16px}.login-panel{display:grid;place-items:center;padding:36px;background:radial-gradient(520px 360px at 90% 10%,rgba(181,65,250,.18),transparent 55%),radial-gradient(480px 340px at 0% 100%,rgba(79,210,233,.22),transparent 50%),#f3f6ff}.login form,.panel-form{background:#fffffff5;border:1px solid rgba(255,255,255,.9);padding:32px;border-radius:24px;display:grid;gap:14px;box-shadow:var(--shadow-lg);position:relative}.login form:before{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,var(--purple),var(--cyan))}.login form{width:min(420px,100%)}.login form h2{font-family:var(--display);font-size:28px;color:var(--navy)}label{font-size:12px;color:var(--muted);display:grid;gap:6px;font-weight:650}input,select,textarea{border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--purple)}textarea{min-height:88px;resize:vertical}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.primary,.ghost,.si,.no,.ns{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:750}.primary{background:linear-gradient(135deg,#c15bff 0%,var(--purple) 55%,#8d24e6 100%);color:#fff;box-shadow:0 10px 24px #b541fa59}.primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px #b541fa73}.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.primary.wide{min-width:220px;min-height:50px}.login form .primary{width:100%;min-width:0}.ghost{background:#fff;border:1px solid var(--line-strong);color:var(--navy)}.ghost:hover{border-color:var(--purple);color:var(--purple);background:#faf5ff}.error{color:#9b2ae8;font-size:13px;margin:0}.muted{color:var(--muted);font-size:13px}h2{margin:0 0 4px;font-size:22px}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.toolbar .page-head{margin-bottom:0;flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 12px}.form-grid.two{grid-template-columns:1fr 1fr}.field-hint{font-size:12.5px;color:var(--muted);margin:4px 0 8px;line-height:1.4}.nav-hint{font-size:13px;color:var(--muted);align-self:center}.empty{text-align:center;padding:36px 16px;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}.consult{max-width:760px}.consult-wide{max-width:920px}.consult-card{background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.85);border-radius:24px;padding:28px 28px 0;box-shadow:var(--shadow-lg)}.start-photo{width:100%;height:190px;object-fit:cover;border-radius:18px;margin-bottom:16px;display:block}.how-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:0 0 16px;padding:0;list-style:none}.how-steps li{background:linear-gradient(180deg,#f4fbfe,#f7f2ff);border:1px solid var(--line);border-radius:16px;padding:14px;font-size:13.5px;line-height:1.4;color:var(--ink)}.how-steps strong{display:block;color:var(--navy);margin-bottom:4px;font-family:var(--display)}.progress-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;color:var(--muted);margin-bottom:12px}.stepper{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}.stepper li{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:5px 10px 5px 5px;border-radius:99px;background:#f3f5fb}.stepper li.done{color:#0f6f82;background:var(--ok-soft)}.stepper li.now{color:#7a16c9;background:var(--accent-soft);font-weight:800}.step-n{width:22px;height:22px;border-radius:99px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#fff;color:var(--navy)}.stepper li.now .step-n{background:var(--purple);color:#fff}.stepper li.done .step-n{background:var(--cyan);color:var(--navy)}.lead{margin:0 0 16px;color:var(--ink);font-size:16px;line-height:1.45}.item-list{display:grid;gap:12px}.item-row{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f8f9ff}.item-row.answered{border-color:#d5b6ff;background:#fff;box-shadow:0 8px 20px #b541fa14}.item-q{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.item-n{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--navy);background:#e7f9fd}.item-row p{margin:0;font-size:16.5px;font-weight:700;line-height:1.35}.hint-inline{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.4}.mini-ans{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-ans.three{grid-template-columns:1fr 1fr 1fr}.mini-ans .si,.mini-ans .no,.mini-ans .ns{min-height:48px;font-size:13.5px;padding:8px 10px}.ns{min-height:52px;font-size:14.5px;border:1px solid var(--line-strong);background:#f6f5f4;color:var(--ink)}.ns.on{background:var(--stone);border-color:var(--stone);color:#fff}.chip-grid{display:grid;gap:8px}.choice-card{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;text-align:left;border:1px solid var(--line-strong);background:#f8f9ff;color:var(--ink);border-radius:16px;padding:14px;cursor:pointer;font-size:14.5px}.choice-card:hover{border-color:var(--cyan)}.choice-card strong{display:block;font-size:15px;font-weight:700}.choice-mark{width:28px;height:28px;border-radius:9px;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:14px;background:#fff}.choice-card.on{background:#f6ecff;border-color:var(--purple)}.choice-card.on .choice-mark{background:var(--purple);color:#fff;border-color:var(--purple)}.si,.no{min-height:52px;font-size:15px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}.si{border-color:#4fd2e98c}.no{border-color:#19258a47}.si:hover{transform:translateY(-1px);background:#e7f9fd;border-color:var(--cyan);box-shadow:0 8px 18px #4fd2e940}.no:hover{transform:translateY(-1px);background:#eef0ff;border-color:var(--navy);box-shadow:0 8px 18px #19258a1f}.ns:hover{transform:translateY(-1px);background:#eceae8;box-shadow:0 8px 18px #74706d1f}.si.on,.si.on:hover,.si.on:focus,.si.on:active{background:var(--cyan);color:var(--navy);border-color:var(--cyan);box-shadow:0 8px 18px #4fd2e959}.no.on,.no.on:hover,.no.on:focus,.no.on:active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 8px 18px #19258a47}.ns.on,.ns.on:hover,.ns.on:focus,.ns.on:active{background:var(--stone);border-color:var(--stone);color:#fff}.consult-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px -28px 0;padding:16px 28px 18px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff6,#fff);border-radius:0 0 24px 24px}.consult-nav.sticky{position:sticky;bottom:0;z-index:4}.review-list{display:grid;gap:16px;max-height:48vh;overflow:auto;padding-right:4px}.review-group h4{margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--purple)}.review-item{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:8px}.review-item p{margin:0 0 8px;font-size:14.5px;font-weight:700}.review-verdict{border-radius:16px;padding:16px 18px;margin-bottom:16px;background:linear-gradient(135deg,#f6ecff,#e7f9fd);border:1px solid var(--line)}.review-verdict h3{margin:4px 0 6px;font-size:22px;font-family:var(--display);color:var(--navy)}.review-verdict.derivacion_grave,.review-verdict.acoso_ciber{background:#f6ecff;border-color:#e0b6ff}.verdict{background:#fffffff0;border:1px solid rgba(255,255,255,.9);border-left:7px solid var(--purple);border-radius:0 20px 20px 0;padding:24px 26px;margin-bottom:16px;box-shadow:var(--shadow)}.verdict.derivacion_grave{border-left-color:#b42318}.verdict.acoso_ciber{border-left-color:var(--purple)}.verdict.violencia_entre_estudiantes{border-left-color:var(--cyan)}.verdict-kicker{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}.verdict h2{font-family:var(--display);font-size:30px;line-height:1.18;margin:0 0 8px;color:var(--navy)}.verdict-meaning{margin:0 0 10px;font-size:16px;line-height:1.45}.verdict-now{margin:0;font-size:15px;line-height:1.5;color:#2a2f63}.summary-tiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}.tile{background:#ffffffe6;border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.tile h3{margin:0 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tile-v{margin:0 0 4px;font-size:18px;font-weight:800;line-height:1.25;color:var(--navy)}.tile p{margin:0;font-size:13px;color:var(--muted);line-height:1.4}.case-line{font-size:13px;color:var(--muted);margin:0 0 12px}.result-block{background:#ffffffe6;border:1px solid rgba(255,255,255,.85);border-radius:18px;padding:18px 20px;margin-bottom:14px;box-shadow:var(--shadow)}.result-block h3{margin:0 0 12px;font-size:17px;font-family:var(--display);color:var(--navy)}.criteria-grid{display:grid;gap:8px;margin-bottom:10px}.crit{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f8f9ff;font-size:14.5px}.crit-mark{width:40px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:800}.crit.yes{background:var(--ok-soft)}.crit.yes .crit-mark{background:var(--cyan);color:var(--navy)}.crit.no{background:#f3f4f4;color:var(--muted)}.crit.no .crit-mark{background:#d9e0e0;color:#4a5c60}.type-tags{margin:8px 0 0;font-size:14px}.type-tags .tag{display:inline-block;margin:0 6px 0 0;padding:3px 8px;border-radius:99px;background:var(--accent-soft);color:#7a16c9;font-size:12px;font-weight:700}.plan-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px;background:#fff}.plan-card.main{background:linear-gradient(180deg,#f6ecff,#fff);border-color:#e0b6ff}.plan-kicker{margin:0 0 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}.plan-card h4{margin:0 0 8px;font-size:16px;color:var(--navy)}.plan-card ol,.plan-card ul{margin:0;padding-left:18px}.plan-card li{margin:0 0 6px;font-size:14.5px;line-height:1.45}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 28px;gap:8px;align-items:center;font-size:12.5px}.bar-track{height:8px;background:#e4e9f6;border-radius:99px;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--cyan));border-radius:99px}.hint{font-size:14px;color:#2a2f63;background:#e7f9fd;border-left:3px solid var(--cyan);padding:10px 12px;margin:0 0 12px;line-height:1.45}.notice,.safety,.protocol{border-radius:14px;padding:14px 16px;margin:0 0 16px;font-size:14px;line-height:1.5}.notice{background:#fff4d6;color:#6b4a00;border:1px solid #f0d48a}.safety{background:#fde8e8;color:#9b1c1c;border:1px solid #f5c2c2}.protocol{background:#e7f9fd;color:#0f3d55;border:1px solid #b6ebf4}.protocol ol{margin:8px 0 0;padding-left:18px}.protocol-note{font-size:14px;color:var(--purple);font-weight:700;margin:8px 0 0}.disclaimer{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px;max-width:68ch}.student-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:14px 0 12px}.tabs{display:flex;gap:8px;margin:0 0 16px;padding:4px;background:#ffffffb3;border-radius:999px;width:fit-content;border:1px solid rgba(255,255,255,.9)}.tabs button{border:0;background:transparent;color:var(--navy);cursor:pointer;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px}.tabs button.on{background:var(--navy);color:#fff}.panel-form h3{margin:0 0 10px;font-size:16px;color:var(--navy);font-family:var(--display)}a.ghost{display:inline-flex;align-items:center;text-decoration:none}@media print{.side,.toolbar,.ghost,.primary,.consult-nav,.no-print{display:none!important}.layout{display:block}.content{padding:0;max-width:none}body{background:#fff}}@media(max-width:960px){.grid-2,.grid-3,.form-grid,.student-meta,.summary-tiles,.how-steps{grid-template-columns:1fr}}@media(max-width:720px){.layout{grid-template-columns:1fr}.side{height:auto;position:relative}.login{grid-template-columns:1fr}.login-hero{min-height:240px;padding:24px 20px}.content{padding:20px 16px 40px}.mini-ans.three{grid-template-columns:1fr}.consult-nav{flex-direction:column-reverse;align-items:stretch}.primary.wide{min-width:0;width:100%}}:root{--muted: #536174;--purple: #6941c6;--accent: #6941c6;--accent-hover: #5330a8;--shadow: 0 3px 16px rgba(26, 43, 74, .055)}body{background:#f4f6fa;line-height:1.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.58;transform:none}input,select,textarea{min-width:0;width:100%;min-height:44px;font-size:14px;border-color:#bac6d5}input[type=checkbox],input[type=radio]{width:19px;min-height:19px;height:19px;accent-color:#6941c6;flex-shrink:0}label{color:#465268;font-size:13px}input:disabled,select:disabled,textarea:disabled{background:#edf1f6}.layout{grid-template-columns:248px minmax(0,1fr)}.side{overflow-y:auto;background:#172654;box-shadow:none;padding-top:24px;z-index:30}.side .brand-mark{box-shadow:none}.side .nav-group{color:#afc1e1}.nav-btn{width:100%;justify-content:flex-start;gap:12px;min-height:46px;margin:2px 0}.nav-btn svg{flex-shrink:0;opacity:.85}.nav-btn.active{background:#2b3d70;border-left-color:#9ad8ff}.workspace{min-width:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:12px 32px;border-bottom:1px solid #e1e6ef;background:#fff}.breadcrumb{color:#64748b;font-size:13px;display:flex;gap:12px;align-items:center}.breadcrumb strong{color:#263652;font-weight:650}.header-user{text-align:right;font-weight:650;font-size:13px}.header-user small{display:block;color:var(--muted);font-weight:500;font-size:11px}.content{width:100%;max-width:1550px;padding:28px 32px 64px;margin:0 auto;outline:none}.content>.card,.grid-2>*,.grid-3>*,.form-grid>*{min-width:0}.page-head h2,.content h2{font-size:clamp(24px,3vw,30px);letter-spacing:-.035em;color:#172654}.page-head p{color:#536174}.card{background:#fff;border:1px solid #dfe5ee;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px;padding:20px}.card h3{font-size:13px;text-transform:none;letter-spacing:0;color:#34445d}.kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}.kpis .card{border-top:0;padding:18px}.kpis .num{font-size:34px;color:#172654;margin-top:10px}.quick-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef1ff;border:1px solid #dce1fa;border-radius:16px;padding:20px 24px;margin:0 0 24px}.quick-actions strong{font-size:16px;color:#263466}.quick-actions p{margin:5px 0 0;font-size:13px;color:#536174;max-width:58ch}.primary{background:#6941c6;box-shadow:0 2px 4px #6941c620;border-radius:10px;min-height:44px}.primary:hover{background:#5330a8;box-shadow:0 3px 9px #6941c630}.ghost{border-radius:10px;min-height:44px}.panel-form{border:1px solid #dfe5ee;border-radius:16px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:10px}table{font-size:13px}th{color:#536174;background:#f7f9fc;white-space:nowrap}td{overflow-wrap:anywhere;min-width:100px}.table-link{background:transparent;border:0;padding:5px 0;min-height:36px;text-align:left;color:#4338a1;text-decoration:underline;text-underline-offset:3px;font-weight:650;cursor:pointer}.pill{font-size:10px;line-height:1.6;padding:4px 10px;white-space:nowrap}.pill.ALTO,.pill.FRACASO,.pill.ABIERTA{background:#fef0ee;color:#b42318}.pill.MODERADO,.pill.EN_RIESGO,.pill.EN_SEGUIMIENTO,.pill.PENDIENTE,.pill.EN_CURSO{background:#fff5dd;color:#8a4b08}.pill.BAJO,.pill.EXITO,.pill.CERRADA,.pill.COMPLETADA,.pill.CERRADO{background:#eaf7ef;color:#21633e}.pill.CANCELADA{background:#edf0f5;color:#536174}.error,.notice-error{color:#a32323;background:#fff1f0;border:1px solid #f4c7c3;border-radius:10px;padding:12px 16px;font-size:14px;margin:12px 0;overflow-wrap:anywhere}.app-notice{display:flex;gap:16px;justify-content:space-between;align-items:center}.notice-info{color:#204c7a;background:#edf5ff;border:1px solid #c9def7;padding:12px 16px;border-radius:10px}[role=status]:not(.loading-state){color:#21633e}.loading-state{min-height:160px;display:flex;gap:12px;align-items:center;justify-content:center;color:#536174}.spinner{width:22px;height:22px;border:3px solid #dddff0;border-top-color:#6941c6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-button{background:none;border:0;padding:4px 0;color:#5330a8;text-align:left;cursor:pointer;min-height:36px;font-size:13px}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:#172654;padding:12px 20px;border:2px solid #2563eb;border-radius:8px}.skip-link:focus{top:12px}.menu-toggle,.menu-backdrop{display:none}.login-panel{background:#f4f6fa}.login-hero{background-color:#172654}.login form{border-color:#dfe5ee;box-shadow:var(--shadow)}.login form h2{margin:4px 0 0}.login form:before{background:#6941c6}@media(max-width:1150px){.grid-3{grid-template-columns:1fr}.content{padding:24px}.quick-actions{flex-wrap:wrap}}@media(max-width:960px){.layout{grid-template-columns:220px minmax(0,1fr)}.app-header{padding:12px 24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.layout{display:block}.side{position:fixed;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;transform:translate(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s}.side.is-open{transform:translate(0);visibility:visible}.menu-toggle{display:inline-flex;align-items:center;padding:8px 12px}.menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;background:#101b37a6}.app-header{padding:12px 16px;min-height:68px}.breadcrumb{font-size:12px;gap:8px}.breadcrumb>span,.header-user{display:none}.content{padding:20px 16px 48px}.toolbar,.page-head{flex-wrap:wrap}.form-grid,.form-grid.two{grid-template-columns:minmax(0,1fr)}.card,.panel-form{padding:16px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpis .card{padding:14px}.kpis .card h3{font-size:12px}.quick-actions{padding:18px;gap:16px}.quick-actions .row{width:100%}.quick-actions button{flex:1}.consult-card{padding:18px 16px 0}.login-hero{min-height:250px;padding:24px}.login-hero h1{font-size:30px}.login-panel{padding:20px 16px}.login form{padding:24px}.tabs{max-width:100%;border-radius:12px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.app-header,.menu-backdrop,.skip-link,.quick-actions{display:none!important}.layout{display:block}.card{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}}@media(min-width:1151px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:721px)and (max-width:1150px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}.side .nav-group{padding-top:10px;padding-bottom:4px}.side .nav-btn{padding-top:9px;padding-bottom:9px;min-height:42px}.menu-close{display:none}@media(max-width:720px){.menu-close{display:block;align-self:flex-end;border:1px solid #6c80ad;border-radius:8px;background:transparent;color:#fff;padding:8px 12px;min-height:40px;margin-bottom:10px;cursor:pointer}}.eyebrow{color:#61718b;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px}.page-head{align-items:flex-start}.page-head>.primary{flex-shrink:0}.attention-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-button{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px;background:#fff;color:#34445d;border:1px solid #dfe5ee;border-radius:14px;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.metric-button:hover{border-color:#b4a0df;background:#fcfbff}.metric-button.needs-attention{border-top:3px solid #c95c4c;padding-top:16px}.metric-button .metric-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:650;min-height:38px}.metric-label svg{flex-shrink:0;width:18px}.metric-button strong{color:#172654;font-size:34px;line-height:1.1}.metric-button>span:last-child{font-size:12px;line-height:1.5;margin-top:auto}.section-heading{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.section-heading h3,.followup-editor>h3,.workflow-guide>h3,.case-history>h3{margin:0;font-size:17px;font-weight:750;color:#223454}.section-heading p{margin:6px 0 0}.priority-panel{margin-bottom:22px}.priority-list{list-style:none;padding:0;margin:12px 0 0}.priority-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #e5eaf1}.priority-list li:last-child{border-bottom:0;padding-bottom:0}.priority-list li>div:first-child{display:grid;gap:4px}.home-secondary{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px}.home-secondary>*{min-width:0}.home-secondary .table-wrap{margin-top:16px}.workflow-guide>div{padding:18px 0;border-bottom:1px solid #e5eaf1}.workflow-guide>div:last-child{border-bottom:0;padding-bottom:0}.workflow-guide svg{vertical-align:middle;color:#6941c6;margin-right:8px}.workflow-guide p{color:#536174;margin:8px 0;font-size:13px}.summary-strip{display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid #dfe5ee;margin-top:24px;padding:18px 0 0;font-size:13px;color:#536174}.summary-strip strong{color:#263652}.help-toggle{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid #d5ddea;background:#fff;color:#34445d;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:650;cursor:pointer}.help-toggle>span{display:grid;place-items:center;width:19px;height:19px;border:1px solid #94a3b8;border-radius:50%}.page-help{padding:20px 24px;border-radius:14px;border:1px solid #c9def7;background:#edf5ff;margin-bottom:24px}.page-help h2{font-size:18px}.page-help ol{padding-left:22px;margin-bottom:0;font-size:14px;color:#34445d}.page-help li+li{margin-top:8px}.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,230px) auto;align-items:end;gap:14px;margin:20px 0}.filter-bar>.muted{padding-bottom:12px}.subline{display:block;color:#61718b;font-size:12px;margin-top:4px;overflow-wrap:anywhere}.context-banner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;background:#eef1ff;border:1px solid #dce1fa;border-radius:12px;margin-bottom:18px;font-size:14px}.context-banner>span{overflow-wrap:anywhere;min-width:0}.followup-list{display:grid;gap:16px}.followup-summary.is-editing{border-color:#6941c6}.followup-summary .plan-name{font-size:14px;color:#34445d}.note-preview{font-size:14px;color:#465268;line-height:1.65;white-space:pre-wrap;margin:14px 0;overflow-wrap:anywhere}.summary-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:1px solid #e5eaf1;padding-top:12px;margin-top:14px}.plan-actions{background:#f7f9fc;border-radius:10px;padding:0 14px;margin:12px 0;font-size:14px}.plan-actions summary{padding:12px 0;min-height:44px;cursor:pointer;font-weight:650;color:#4338a1}.plan-actions ol{padding:0 0 16px 22px;margin:0;color:#465268}.plan-actions li+li{margin-top:8px}.followup-editor{border:2px solid #bca5e7;margin-bottom:24px}fieldset{border:0;margin:0;padding:0;min-width:0}form fieldset{display:grid;gap:16px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px;border-top:1px solid #e5eaf1;padding-top:16px}.form-actions>.muted{margin-right:auto}.confirm-dialog{width:min(520px,calc(100vw - 32px));padding:28px;border:1px solid #dfe5ee;border-radius:18px;box-shadow:0 24px 80px #14204440;color:#172654}.confirm-dialog::backdrop{background:#101b3780}.confirm-dialog h2{font-size:23px;line-height:1.25;margin:0}.dialog-copy{color:#465268;font-size:14px;line-height:1.6}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.dialog-actions .primary{background:#a72b27}.app-notice.notice-success{color:#21633e;background:#eaf7ef;border:1px solid #bfe0ca;padding:12px 16px;border-radius:10px;margin:12px 0 18px}.app-notice.notice-info{color:#204c7a}.case-status{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.protocol-checklist{margin-bottom:22px}.protocol-checklist progress{width:100%;height:10px;accent-color:#6941c6;margin-top:14px}.checklist-item{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #e5eaf1;padding:14px 0;line-height:1.5}.checklist-item:last-of-type{border-bottom:0}.history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e5eaf1;font-size:13px}.history-row>div{display:grid;gap:4px}.result-next-step{padding:20px;background:#edf5ff;border:1px solid #c9def7;border-radius:14px;margin:18px 0}.result-next-step h3{margin:0;color:#223454}.result-next-step p{color:#465268}@media(max-width:1100px){.home-secondary{grid-template-columns:minmax(0,1fr)}}@media(max-width:960px){.attention-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:minmax(0,1fr) minmax(140px,220px)}.filter-bar>.muted{padding-bottom:0}}@media(max-width:720px){.page-head>.primary{width:100%}.attention-metrics{gap:10px}.metric-button{padding:14px}.metric-button.needs-attention{padding-top:12px}.metric-button .metric-label{font-size:12px;min-height:36px}.metric-button strong{font-size:30px}.metric-button>span:last-child{font-size:11px}.priority-list li{align-items:flex-start;flex-direction:column;gap:12px}.priority-list li>.row{width:100%;justify-content:space-between}.section-heading{flex-wrap:wrap}.filter-bar{grid-template-columns:minmax(0,1fr)}.form-actions>.muted{width:100%}.form-actions button{flex:1}.summary-actions>.row{width:100%}.summary-actions .ghost{width:100%}.confirm-dialog{padding:22px}.dialog-actions{flex-direction:column}.dialog-actions button{width:100%}.breadcrumb{font-size:11px}.page-help{padding:16px}}@media print{.metric-button,.help-toggle,.page-help,.summary-actions,.form-actions,.followup-editor,.confirm-dialog{display:none!important}.home-secondary{display:block}}.student-info,.student-academics{margin-bottom:20px}.student-info h3,.student-academics h3{font-size:17px;color:#223454}.student-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:18px 0 0}.student-facts dt{font-size:12px;color:#61718b}.student-facts dd{margin:4px 0 0;font-size:14px;color:#263652;overflow-wrap:anywhere}.inline-editor{padding-top:20px;margin-top:16px;border-top:1px solid #dfe5ee}.student-academics .table-wrap{margin-top:16px}.student-case-row{border-bottom:1px solid #e5eaf1;padding:16px 0}.student-case-row>div:first-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.student-case-row strong{font-size:14px;overflow-wrap:anywhere}@media(max-width:480px){.student-facts{grid-template-columns:minmax(0,1fr);gap:14px}}.activity-list{list-style:none;padding:0;margin:0}.activity-list li{display:grid;grid-template-columns:170px 1fr;gap:20px;border-left:3px solid #ddd5f5;padding:16px 20px;border-bottom:1px solid #eef0f5}.activity-list time{font-size:.85rem;color:#667085}.activity-list p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.student-activity{margin-top:24px}.priority-list li>div:first-child{min-width:0;overflow-wrap:anywhere}.activity-list strong{overflow-wrap:anywhere}@media(max-width:720px){.activity-list li{grid-template-columns:1fr;gap:8px;padding:14px}.student-activity .section-heading{align-items:stretch}}.saved-receipt{border:2px solid #b4dcc9;background:#f4fbf7;margin-bottom:24px}.saved-receipt h3{color:#155b3b}.saved-receipt .row{flex-wrap:wrap}.saved-receipt h3:focus{outline:2px solid #7146ce;outline-offset:5px}.evaluation-context{border:1px solid #d8d0ee;border-radius:16px;padding:20px;margin-bottom:24px;background:#faf8ff}.evaluation-context dd{overflow-wrap:anywhere}.evaluation-context h3{margin:0}.evaluation-context .student-facts{margin-top:16px}:root{--shadow: 0 3px 14px #17265408;--shadow-lg: 0 16px 42px #17265412;--radius: 16px}body{background:#f5f6fa;line-height:1.55}html{scrollbar-gutter:stable}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}button:not(:disabled),summary{touch-action:manipulation}button:disabled{cursor:not-allowed}img,svg,video,canvas{max-width:100%}input,select,textarea{max-width:100%}textarea{resize:vertical;min-height:104px}select{text-overflow:ellipsis;padding-right:30px}h1,h2,h3,h4,p,dd,li{overflow-wrap:anywhere}h2,h3{text-wrap:pretty}:where(.workspace,.content,.card,.consult,.consult-card,.panel-form,.row,.page-head,.toolbar,.section-heading,.filter-bar,.student-meta,.review-group,.plan-card){min-width:0;max-width:100%}:where(.row,.page-head,.toolbar,.section-heading,.form-grid,.filter-bar,.student-facts,.activity-list li)>*{min-width:0}.layout{grid-template-columns:244px minmax(0,1fr)}.content{max-width:1440px;padding:clamp(20px,2.5vw,36px);padding-bottom:64px}.content>div>.card+.card,.home-view>section+section{margin-top:20px}.side{height:100dvh;overflow-y:auto;scrollbar-width:thin;background:linear-gradient(175deg,#1e2d50,#17233f);box-shadow:none}.side .brand{border-bottom-color:#ffffff1c}.side .tag,.side .nav-group{color:#bdc8e5}.side .nav-btn{border-radius:10px;font-size:13px}.side .nav-btn.active{background:#ffffff15;box-shadow:inset 3px 0 #bca5fc;color:#fff}.side .nav-btn:hover{background:#ffffff10}.side .nav-btn svg{flex:0 0 19px}.side .who{flex-shrink:0}.app-header{position:sticky;top:0;z-index:20;min-height:68px;padding:12px clamp(16px,2.5vw,36px);background:#ffffffed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:12px}.app-header>.row{flex:1;flex-wrap:nowrap}.breadcrumb{overflow-wrap:anywhere}.help-toggle{flex-shrink:0}.page-head{gap:18px;margin-bottom:24px;flex-wrap:wrap}.page-head>div:first-child{flex:1 1 240px}.page-head h2,.content h2{font-size:clamp(23px,2.4vw,30px);line-height:1.22}.page-head p{font-size:14px;line-height:1.65}.card,.panel-form,.consult-card{border-color:#e2e6ef;border-radius:16px;box-shadow:var(--shadow)}.primary{background:#6745ba;border-color:#6745ba;box-shadow:0 3px 8px #6745ba18}.primary:hover:not(:disabled){background:#56389f;box-shadow:0 5px 12px #6745ba25}.ghost:hover:not(:disabled),.help-toggle:hover{background:#f4f1fb;border-color:#b8a5df}.primary,.ghost,.help-toggle{min-height:44px;font-size:13px;border-radius:10px}.text-button:hover,.table-link:hover{color:#44247e;text-decoration:underline;text-underline-offset:3px}:where(button,a,summary,input,select,textarea):focus-visible{outline:3px solid #8863cd;outline-offset:3px}.metric-button{border-radius:16px;padding:20px;transition:border-color .16s,box-shadow .16s}.metric-button:hover{box-shadow:0 5px 18px #6745ba12}.metric-button strong{font-size:clamp(28px,3vw,36px)}.metric-button .metric-label{min-height:42px}.attention-metrics{gap:16px}.grid-2{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}.grid-3,.form-grid,.summary-tiles,.how-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two,.student-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:minmax(0,1fr) minmax(0,230px) auto}.filter-bar label,.section-heading label{display:grid;gap:7px}.table-wrap{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a99bc3 #f1eef7}.table-wrap:focus-visible{outline:3px solid #8863cd;outline-offset:3px}.table-wrap[data-overflow=true]:before{content:"↔ Deslice la tabla para ver todas las columnas";display:block;position:sticky;left:0;padding:10px 12px;background:#f3f0fa;color:#594183;font-size:12px;line-height:1.5}:where(h2,h3,[tabindex="-1"]){scroll-margin-top:96px}td{max-width:360px;vertical-align:middle}th,td{padding:14px 16px}tbody tr:hover{background:#faf9fd}.section-heading{flex-wrap:wrap}.priority-list li>div:first-child{flex:1 1 200px}.priority-list li>.row{flex:0 1 auto}.summary-actions,.form-actions,.dialog-actions{gap:12px}.app-notice{flex-wrap:wrap}.consult-nav{flex-wrap:wrap;gap:12px}.consult-nav>*{min-width:0}.consult-nav .primary.wide{min-width:0;flex:1 1 220px}.consult-nav.sticky{bottom:12px;border-radius:14px;box-shadow:0 5px 24px #17265412}.confirm-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.mini-ans{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-ans.three{grid-template-columns:repeat(3,minmax(0,1fr))}.item-q,.review-item{min-width:0}.item-q{grid-template-columns:28px minmax(0,1fr)}.login{min-width:0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.login-hero,.login-panel,.login form{min-width:0;max-width:100%}@media(max-width:1100px){.attention-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.home-secondary{grid-template-columns:minmax(0,1fr)}}@media(min-width:721px)and (max-width:960px){.layout{grid-template-columns:208px minmax(0,1fr)}.content{padding:24px 20px 64px}.side{padding-inline:10px}.form-grid,.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.layout{display:block}.content{padding:22px 16px 40px}.app-header{padding:10px 16px}.breadcrumb{font-size:11px}.app-header>.row{gap:10px}.menu-toggle{flex-shrink:0}.help-toggle{padding:8px 10px}.page-head>div:first-child{flex-basis:100%}.page-head>.row{width:100%}.page-head>.row>button{flex:1 1 140px}.form-grid,.form-grid.two,.filter-bar,.student-meta,.summary-tiles,.how-steps,.login{grid-template-columns:minmax(0,1fr)}.priority-list li>div:first-child,.priority-list li>.row{flex-basis:auto}.priority-list li>.row{flex-wrap:wrap}.consult-nav.sticky{position:static;margin-top:20px}.consult-nav{flex-direction:column;align-items:stretch}.consult-nav>button,.consult-nav .primary.wide{flex:none;width:100%}.mini-ans.three{grid-template-columns:minmax(0,1fr)}.mini-ans button{min-height:44px}.metric-button{padding:16px}.metric-button.needs-attention{padding-top:14px}.metric-button .metric-label{font-size:12px}.attention-metrics{gap:12px}input,select,textarea{font-size:16px}.table-wrap table{min-width:560px}.login-hero h1{font-size:clamp(26px,7vw,36px)}}@media(max-width:380px){.content,.app-header{padding-inline:12px}.app-header .breadcrumb{display:none}.metric-button .metric-label{flex-direction:column;min-height:66px}.metric-button{padding:14px}.card,.consult-card,.evaluation-context{padding:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.app-header,.side{display:none!important}.layout{display:block}.content{max-width:none;padding:0}.card,.consult-card{box-shadow:none}.table-wrap table{min-width:0}.table-wrap:before{display:none!important}}
