:root{font-family:system-ui,sans-serif;color:#16354a;background:#edf2f6;font-size:16px;--navy:#0b3650;--blue:#126584;--line:#d3dfe7}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;padding:24px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header a{color:white}h1{font-size:1.7rem;margin:6px 0}h2{font-size:1.3rem;margin:6px 0}h3{font-size:1rem;margin:24px 0 12px}.eyebrow{font-size:.875rem;letter-spacing:.06em}main{max-width:1290px;margin:auto;padding:24px}.notice{background:#fff3cf;border-left:4px solid #b88408;padding:14px 18px;line-height:1.6;margin:0 0 20px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);padding:18px}.metric strong{display:block;font-size:2rem;margin-top:6px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px}aside,article{background:white;border:1px solid var(--line);padding:22px;min-width:0}.sectionheading{display:flex;justify-content:space-between;align-items:center;gap:14px}label{display:block;font-size:.875rem;font-weight:600;margin:20px 0 8px}input,select{width:100%;padding:12px;border:1px solid #90a8b8;border-radius:5px;font:inherit;background:white;color:inherit}button{font:inherit;background:var(--blue);color:white;padding:10px 16px;border:1px solid transparent;border-radius:5px;cursor:pointer}button.secondary{color:var(--navy);background:#eff5f8;border-color:var(--line)}button:disabled{opacity:.5;cursor:wait}.student{width:100%;background:white;color:var(--navy);border:1px solid var(--line);text-align:left;margin-top:12px;padding:14px}.student.active{border-left:4px solid var(--blue);background:#edf7fb}.student span{display:block;font-size:.875rem;margin-top:5px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th,td{padding:12px;border-bottom:1px solid var(--line)}th{background:#eef4f7}.record{border-left:3px solid #67a5ba;background:#f4f8fa;padding:14px;margin:12px 0;line-height:1.6}.record small{display:block;font-size:.875rem;color:#456374}.actions{display:flex;gap:10px;flex-wrap:wrap}.task{display:flex;justify-content:space-between;gap:15px;align-items:center}details{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}details p{line-height:1.6}dialog{width:min(520px,calc(100% - 32px));border:1px solid var(--line);border-radius:12px;padding:24px;color:inherit}dialog::backdrop{background:#0b365080}#formError{color:#a12828}#message{margin-bottom:16px;line-height:1.5}#save{margin-top:18px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e5b733;outline-offset:3px}@media(max-width:760px){.workspace{grid-template-columns:1fr}header{padding:20px}main{padding:16px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:1.5rem}.sectionheading{flex-wrap:wrap}.task{align-items:flex-start;flex-direction:column}}
.header-description{margin:10px 0 0;max-width:780px;line-height:1.5;color:#dbeaf3;font-size:1rem}header h1{line-height:1.2}

textarea{width:100%;padding:12px;border:1px solid #90a8b8;border-radius:5px;font:inherit;color:inherit;resize:vertical}.record p{white-space:pre-wrap;overflow-wrap:anywhere}

/* Identidad visual de Bienestar Universitario */
:root{--navy:#16386f;--blue:#0c6187;--lime:#a7cb46;--sky:#74bfd4;--line:#dee7ef;color:#203b53;background:#f3f6fa;font-family:"Segoe UI",system-ui,sans-serif}
body{background:radial-gradient(ellipse at 5% 45%,#e5f2f5 0,transparent 48%),#f3f6fa;min-height:100vh}
header{position:relative;background:linear-gradient(115deg,#153465,#105c7f);padding:26px max(28px,calc((100vw - 1240px)/2));border-bottom:5px solid var(--lime);box-shadow:0 8px 28px #1836530d}
.brand{display:flex;align-items:center;gap:24px;min-width:0}.brand-logo{width:100px;height:100px;border-radius:50%;background:white;object-fit:contain;flex-shrink:0;border:4px solid white;box-shadow:0 4px 20px #001c3a30}.brand-copy{max-width:920px}header h1{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:700;letter-spacing:-.025em}.eyebrow{font-weight:600;letter-spacing:.1em;font-size:.74rem;color:inherit}.header-description{max-width:750px;font-size:.94rem;color:#dfedf5;line-height:1.65}#logout{padding:10px 18px;border:1px solid #ffffff60;border-radius:10px;text-decoration:none;font-size:.9rem}#logout:hover{background:#ffffff15}body:has(#workspaceMain[hidden]) #logout{display:none}
.section-kicker{color:var(--blue);font-size:.72rem;letter-spacing:.13em;font-weight:750}.login-layout{max-width:1080px;margin:64px auto 72px;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:84px;padding:0 28px}.login-intro h2{font-size:clamp(2.6rem,4.2vw,3.6rem);line-height:1.13;letter-spacing:-.045em;color:var(--navy);margin:20px 0 24px;font-weight:750}.login-intro h2 span{color:var(--blue)}.login-intro>p{max-width:430px;line-height:1.8;color:#526b80;font-size:1rem}.intro-rule{height:5px;width:64px;background:var(--lime);border-radius:4px;margin:28px 0}.login-intro .institution-label{font-size:.86rem;line-height:1.8}.institution-label strong{color:var(--navy);font-weight:600}.login-card{background:white;padding:34px;border:1px solid #e0e8ee;border-radius:22px;box-shadow:0 16px 55px #173e7010}.login-card h2{font-size:1.65rem;letter-spacing:-.025em;margin:14px 0 10px;color:var(--navy)}.login-card>p{font-size:.9rem;line-height:1.65;color:#61758a}.login-card label{margin-top:24px}.login-card #loginButton{width:100%;margin-top:28px;display:flex;justify-content:space-between;align-items:center;padding:14px 18px}.login-card #loginError:empty{display:none}#loginError,#activationError{color:#a12828;font-size:.9rem;line-height:1.6}
input,select,textarea{border-color:#c4d3df;border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:#2387a6;box-shadow:0 0 0 3px #74bfd42b}button{border-radius:10px;font-weight:600;font-size:.9rem;padding:11px 17px;transition:background .15s,transform .15s}button:not(:disabled):hover{background:#08496b;transform:translateY(-1px)}button.secondary{background:#f0f6f9;border-color:#dce7ef;color:var(--navy)}button.secondary:not(:disabled):hover{background:#e3eff5}button:disabled{cursor:not-allowed;opacity:.5}
main{padding:34px 26px 44px}.workspace-heading h2{font-size:1.7rem;margin:8px 0;color:var(--navy);letter-spacing:-.025em}.workspace-heading p{margin:0 0 28px;color:#62798d;font-size:.94rem}#dataset{max-width:440px;margin-bottom:24px}#message:empty{display:none}#message:not(:empty){border-radius:10px;padding:12px 16px;background:#e7f4f5;color:#185c70}.metrics{gap:20px}.metric{border-radius:16px;padding:22px 24px;box-shadow:0 5px 18px #213d6505;border-top:3px solid var(--sky)}.metric:first-child{border-top-color:var(--blue)}.metric:last-child{border-top-color:var(--lime)}.metric span{font-size:.85rem;color:#5c7286;font-weight:600}.metric strong{font-size:2.25rem;color:var(--navy);letter-spacing:-.05em}.workspace{grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}aside,article{border-radius:18px;padding:26px;box-shadow:0 7px 24px #193b6305}aside h2,article h2{color:var(--navy)}#studentList{max-height:640px;overflow-y:auto;padding:0 2px 2px}.student{border-radius:12px;padding:16px;transition:background .15s}.student span{color:#647d90;font-size:.8rem}.student strong{font-size:.92rem}.student:not(:disabled):hover{background:#f2f8fb;color:var(--navy);transform:none}.student.active{background:#eaf5f9;border-left-color:var(--blue)}h3{color:var(--navy);font-weight:650;letter-spacing:-.01em;margin-top:28px}.tablewrap{border:1px solid var(--line);border-radius:12px}th{font-weight:650;background:#f1f6f9;color:#426078}td,th{padding:14px}tbody tr:last-child td{border-bottom:0}.record{border-radius:10px;border-left-color:var(--sky);padding:16px 18px;background:#f4f8fb}.record strong{font-size:.94rem}.record p{margin:8px 0;font-size:.93rem}.record small{font-size:.8rem}#psychologyPanel{margin-top:28px;padding:0 20px 16px;border:1px solid #cadde7;border-radius:14px;background:#f2f8fa}#contactInfo{font-size:.94rem;line-height:1.7}#caseMeta{font-size:.85rem;color:#62788b;margin:12px 0 20px}details{font-size:.85rem;color:#667d90}summary{cursor:pointer;font-weight:600}dialog{border-radius:20px;box-shadow:0 24px 80px #0b365035;padding:28px}dialog::backdrop{background:#102c4b70;backdrop-filter:blur(3px)}#activationPanel{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 50px #193b6310}.site-footer{max-width:1240px;margin:0 auto;padding:22px 28px;border-top:1px solid #dbe5ed;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#718599}
@media(max-width:900px){.login-layout{gap:38px;grid-template-columns:1fr 400px;margin:44px auto}.brand{gap:18px}.brand-logo{width:80px;height:80px}.workspace{grid-template-columns:260px minmax(0,1fr)}aside,article{padding:20px}}
@media(max-width:720px){header{padding:22px 20px;align-items:flex-start;gap:12px}.brand{align-items:flex-start;gap:14px}.brand-logo{width:60px;height:60px;border-width:3px}header h1{font-size:1.18rem;line-height:1.35}.header-description{font-size:.82rem;margin-top:8px}.eyebrow{font-size:.62rem}.login-layout{grid-template-columns:1fr;gap:28px;max-width:510px;margin:32px auto 44px;padding:0 20px}.login-intro h2{font-size:2.45rem;margin:12px 0 18px}.login-intro>p{font-size:.94rem}.intro-rule,.institution-label{display:none}.login-card{padding:26px;border-radius:18px}.workspace{grid-template-columns:1fr}main{padding:26px 16px}.metrics{gap:9px}.metric{padding:15px 12px;border-radius:12px}.metric span{font-size:.75rem}.metric strong{font-size:1.8rem}#studentList{max-height:300px}.site-footer{flex-direction:column;gap:8px;padding:20px}#logout{font-size:.8rem;padding:8px 12px}.task{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

[hidden]{display:none!important}

.agenda-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin:0 0 26px;box-shadow:0 7px 24px #193b6305}.agenda-filters{display:flex;gap:18px;flex-wrap:wrap}.agenda-filters>div{flex:1;min-width:210px;max-width:360px}.agenda-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.agenda-item strong{display:block;margin:8px 0}.agenda-item p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.agenda-item small,.agenda-note,#agendaSummary{font-size:.82rem;color:#62798d}.due-badge{font-size:.73rem;background:#e8f3f8;color:#155578;padding:4px 8px;border-radius:6px;font-weight:650}.due-badge.overdue{background:#fff0ed;color:#a63728}.due-badge.today{background:#eef5d9;color:#426318}#caseOwner{font-size:.9rem;font-weight:600}#caseClosed{background:#edf3f5;border-radius:10px;padding:14px;white-space:pre-wrap}.actions{margin-top:20px}@media(max-width:720px){.agenda-panel{padding:20px}.agenda-item{align-items:flex-start;flex-direction:column}.agenda-filters>div{max-width:none}}
