@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
@import url('pattern.css');
@import url('uploader.css');
@import url('matricula.css');
@import url('toast.css');
@import url('promo.css');
@import url('public-layout.css');
@import url('send-button.css');
@import url('identity.css');
@import url('unified-form.css');
:root{--blue:#148fe5;--navy:#172333;--muted:#77808b;--bg:#f4f5f7;--line:#e7e9ed;--green:#21a76a;--shadow:0 18px 45px rgba(25,39,57,.10),0 2px 8px rgba(25,39,57,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:14px/1.55 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.split{min-height:100vh;display:grid;grid-template-columns:minmax(280px,480px) minmax(320px,440px);align-items:center;justify-content:center;gap:9vw;padding:50px}.intro{max-width:480px}.eyebrow{display:block;color:#949ba4;font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:16px}.intro h1,.welcome h1,.admin-title h1,.import-card h1,.narrow h1{font-size:46px;line-height:1.08;letter-spacing:-.045em;margin:0 0 20px}.intro h1 em{font-style:normal;color:var(--blue)}.intro>p,.welcome>p{font-size:15px;color:var(--muted);max-width:450px;margin-bottom:38px}.feature{display:flex;gap:14px;align-items:center}.feature>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e1f2ff;color:var(--blue);font-weight:800}.feature small,.feature strong{display:block}.feature small{color:var(--muted);margin-top:2px}.card{background:white;border:1px solid rgba(0,0,0,.03);border-radius:18px;box-shadow:var(--shadow);padding:38px}.login-card{width:100%;max-width:440px}.mark{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--blue);color:#fff;font-weight:800;margin-bottom:24px}.card h2{font-size:23px;letter-spacing:-.025em;margin:0 0 5px}.card>p{color:var(--muted);margin:0 0 27px}form{display:grid;gap:18px}label{display:grid;gap:7px;color:#4e5660;font-size:12px;font-weight:600}input,select{width:100%;border:1px solid transparent;border-radius:7px;background:#f3f4f6;color:var(--navy);font:inherit;padding:12px 13px;outline:0;transition:.2s}input:focus,select:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,143,229,.11)}button{border:0;border-radius:999px;background:var(--blue);color:#fff;font:600 13px Inter;padding:12px 19px;cursor:pointer;box-shadow:0 5px 12px rgba(20,143,229,.22);justify-self:start}button span{margin-left:8px}.admin-link{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:25px}.alert,.success{padding:11px 13px;border-radius:8px;margin:0 0 18px;font-size:12px}.alert{background:#fff0f0;color:#a84141}.success{background:#eaf9f1;color:#187b50}.optional{float:right;color:#a7adb4;font-weight:400}header{height:70px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,25px);border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:19px;color:var(--blue)}.brand span{color:var(--navy);font-weight:500}.user,nav{display:flex;gap:24px;align-items:center;font-size:12px}.user a,nav a{color:var(--blue)}.dashboard{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(280px,500px) minmax(340px,480px);gap:8vw;align-items:center;justify-content:center;padding:55px}.stats{display:flex;gap:14px}.stats>div{min-width:125px;padding:18px;background:#fff;border-radius:12px;border:1px solid var(--line)}.stats b,.stats span{display:block}.stats b{font-size:27px;color:var(--blue)}.stats span{font-size:11px;color:var(--muted)}.center{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:35px}.admin-bg{background:#f5f6f8}.admin-main{max-width:1180px;margin:auto;padding:45px 25px}.admin-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.admin-title h1,.narrow h1{font-size:32px;margin:0}.search{display:flex;grid-template-columns:260px auto;gap:8px}.search button{border-radius:7px}.empty{background:#fff;border-radius:12px;padding:30px;text-align:center}.student-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.student-head{display:grid;grid-template-columns:48px 1fr auto auto;gap:18px;align-items:center;padding:20px 24px}.avatar{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#e3f3fe;color:var(--blue);font-size:20px;font-weight:800}.student-data h2{font-size:15px;margin:0}.student-data p,.student-data small{margin:2px 0;color:var(--muted);font-size:11px}.mini-stat{text-align:center;padding:0 18px;border-left:1px solid var(--line)}.mini-stat b,.mini-stat span{display:block}.mini-stat b{font-size:20px;color:var(--blue)}.mini-stat span{font-size:10px;color:var(--muted)}.mini-stat.green b{color:var(--green)}.ref-list{border-top:1px solid var(--line);padding:5px 24px}.ref-row{display:grid;grid-template-columns:minmax(200px,1fr) 145px minmax(150px,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.ref-row:last-child{border:0}.ref-row strong,.ref-row span,.ref-row small{display:block}.ref-row span,.ref-row small,.muted{color:var(--muted);font-size:11px}.ref-row button{padding:9px 13px}.status{font-size:11px}.narrow{max-width:900px}.inline{grid-template-columns:1fr 1fr auto;align-items:end}.program-list{margin-top:25px}.program-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.danger{background:#e65b5b;box-shadow:none;padding:8px 13px}.import-card{max-width:600px}.import-card h1{font-size:32px}
@media(max-width:800px){.split,.dashboard{grid-template-columns:1fr;gap:35px;padding:35px 20px}.split{align-content:center}.intro h1,.welcome h1{font-size:37px}.login-card{justify-self:center}.dashboard .welcome{padding-top:20px}.student-head{grid-template-columns:45px 1fr}.mini-stat{display:none}.ref-row{grid-template-columns:1fr}.admin-title{display:block}.search{margin-top:15px}.inline{grid-template-columns:1fr}.user{max-width:55%;text-align:right}.ref-list{padding:5px 15px}}

/* Portal público: identidad Universidad Potosina */
.public-page{--blue:#00214b;--navy:#101e30;background:#f4f5f7;min-height:100vh}
.referral-layout{width:min(1180px,calc(100% - 48px));min-height:100vh;margin:auto;display:grid;grid-template-columns:minmax(360px,1fr) minmax(440px,510px);gap:clamp(55px,8vw,115px);align-items:center;padding:55px 0}
.referral-copy{max-width:530px}.upo-logo{display:block;width:210px;height:auto;margin-bottom:52px}.referral-copy .eyebrow{color:#758397;margin-bottom:17px}.referral-copy h1{font-size:52px;line-height:1.06;letter-spacing:-.05em;margin:0 0 22px}.referral-copy h1 em{display:block;color:var(--blue);font-style:normal}.referral-copy>p{max-width:510px;color:#687587;font-size:15px;margin:0 0 31px}.student-lookup{gap:8px;max-width:455px;margin-bottom:25px}.student-lookup>label{font-size:12px;color:var(--navy)}.lookup-control{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:4px;box-shadow:0 4px 14px rgba(0,33,75,.05)}.lookup-control input{border:0;background:transparent;padding:11px 12px}.lookup-control input:focus{box-shadow:none}.lookup-control button{border-radius:7px;box-shadow:none;padding:10px 18px}.field-error{color:#a83f3f;font-size:12px;margin:2px 0}.privacy-note{display:flex;align-items:center;gap:12px}.privacy-note>span,.student-check{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e6edf5;color:var(--blue);font-weight:800}.privacy-note strong,.privacy-note small{display:block}.privacy-note strong{font-size:12px}.privacy-note small{font-size:11px;color:#7f8996;margin-top:2px}.quiet-admin{display:inline-block;color:#87919e;font-size:10px;margin-top:38px;border-bottom:1px solid #cfd4da}.referral-panel{position:relative;background:#fff;border:1px solid #e2e5e9;border-radius:11px;padding:39px 40px 40px;box-shadow:0 16px 40px rgba(18,35,56,.08);overflow:hidden}.panel-accent{position:absolute;inset:0 0 auto;height:4px;background:var(--blue)}.panel-heading>span{display:block;color:#8a95a3;font-size:9px;font-weight:800;letter-spacing:.15em;margin-bottom:9px}.panel-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:0 0 7px}.panel-heading p{font-size:12px;color:#87919e;margin:0 0 26px}.identified-student{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;background:#f4f6f8;border:1px solid #e5e8ec;border-radius:8px;padding:11px 13px;margin-bottom:27px}.identified-student .student-check{width:30px;height:30px}.identified-student small,.identified-student strong{display:block}.identified-student small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8b95a1}.identified-student strong{font-size:12px}.identified-student a{font-size:10px;color:var(--blue);font-weight:700}.referral-form{gap:16px}.referral-form label{position:relative}.referral-form label>small{position:absolute;right:0;top:0;color:#9ba3ad;font-weight:400}.referral-form input,.referral-form select{border:1px solid #edf0f2;background:#f4f5f6;border-radius:6px;padding:11px 12px}.referral-form input:disabled,.referral-form select:disabled{opacity:.48;cursor:not-allowed}.referral-form button{background:var(--blue);border-radius:7px;box-shadow:none;margin-top:3px}.referral-form button:disabled{opacity:.38;cursor:not-allowed}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.referral-panel .alert,.referral-panel .success{margin-top:-8px}
@media(max-width:880px){.referral-layout{grid-template-columns:1fr;gap:38px;align-items:start;padding:32px 0 48px}.referral-copy{max-width:none}.upo-logo{width:175px;margin-bottom:37px}.referral-copy h1{font-size:43px}.referral-panel{width:100%}}
@media(max-width:520px){.referral-layout{width:min(100% - 28px,500px)}.referral-copy h1{font-size:36px}.referral-panel{padding:31px 22px}.lookup-control{grid-template-columns:1fr}.lookup-control button{width:100%}.form-pair{grid-template-columns:1fr}.upo-logo{width:155px}}

.card-lookup{max-width:none;margin:2px 0 28px}.card-lookup .lookup-control{background:#f4f5f6;box-shadow:none}.card-lookup .lookup-control input{background:transparent}.step-label{display:flex;align-items:center;gap:9px;margin-bottom:17px}.step-label b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}.step-label span{font-size:9px;font-weight:800;letter-spacing:.14em;color:#7c8795}.step-divider{display:flex;align-items:center;gap:10px;border-top:1px solid #e6e9ed;padding-top:22px;margin-bottom:18px;color:#a0a8b2}.step-divider span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cdd3da;border-radius:50%;font-size:10px;font-weight:700}.step-divider p{margin:0;font-size:11px;font-weight:600}.step-divider.is-enabled{color:var(--navy)}.step-divider.is-enabled span{background:var(--blue);border-color:var(--blue);color:#fff}.referral-panel:not(.is-active) .referral-form{opacity:.48}.referral-panel:not(.is-active) .panel-accent{opacity:.7}

.referral-copy .upo-logo{margin-bottom:27px}.referral-copy .eyebrow{margin-bottom:13px}.referral-copy h1{margin-bottom:18px}.referral-copy>p{margin-bottom:25px}
.referral-layout{align-items:start}.referral-copy,.referral-panel{margin-top:0}
.upo-logo{cursor:default;user-select:none}.hidden-admin-access{display:none;width:max-content;margin:-13px 0 18px;padding:9px 15px;border-radius:6px;background:#c62828;color:#fff;font-size:11px;font-weight:700;box-shadow:0 5px 12px rgba(198,40,40,.2)}.hidden-admin-access.is-visible{display:block}.referral-copy h1 em{white-space:nowrap}
.legal-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-top:27px}.legal-divider{flex-basis:100%;height:1px;background:#dce1e6;margin-bottom:3px}.legal-footer a{color:#758397;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.legal-footer a:hover{color:var(--blue)}
.privacy-menu{position:relative;width:max-content;color:#758397;text-align:left}.privacy-menu summary{display:block;list-style:none;cursor:pointer}.privacy-menu summary:hover{color:var(--blue)}.privacy-menu summary::-webkit-details-marker{display:none}.privacy-links{position:absolute;top:100%;left:0;display:grid;width:max-content;gap:8px;padding:9px 0 0;text-align:left}.legal-footer .privacy-links a{color:#758397;font-size:9px;font-weight:700;line-height:1.35;letter-spacing:.13em;text-transform:uppercase}.legal-footer .privacy-links a:hover{color:var(--blue)}.referral-copy .legal-footer{display:flex;width:auto;align-items:flex-start;justify-content:center;gap:10px 20px;margin-left:0;margin-right:0}.referral-copy .legal-footer>a,.referral-copy .privacy-menu summary{color:#758397;font-family:Inter,Arial,sans-serif;font-size:9px;font-weight:700;line-height:1.55;letter-spacing:.13em;text-transform:uppercase}

/* Resumen y acordeones del panel administrativo */
.status-filter{min-width:210px}.status-filter label{font-size:10px;letter-spacing:.06em;text-transform:uppercase}.status-filter select{background:#fff;border-color:#dfe4e9;padding:10px 12px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:35px}.summary-card{position:relative;background:#fff;border:1px solid #e3e7eb;border-radius:12px;padding:21px 23px;overflow:hidden}.summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px}.summary-card span,.summary-card strong,.summary-card small{display:block}.summary-card span{font-size:10px;color:#748091;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.summary-card strong{font-size:34px;line-height:1.1;margin:8px 0 4px;letter-spacing:-.04em}.summary-card small{color:#929ba6;font-size:10px}.summary-card.total:before{background:#1769aa}.summary-card.total strong{color:#1769aa}.summary-card.enrolled:before{background:#20a56b}.summary-card.enrolled strong{color:#16845a}.summary-card.conversion:before{background:#d58b22}.summary-card.conversion strong{color:#bc7412}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:18px;margin:0}.section-heading p{color:#8a94a0;font-size:11px;margin:3px 0 0}.section-heading>span{font-size:10px;color:#7b8795;background:#e9edf1;border-radius:999px;padding:6px 10px}.student-card>summary{list-style:none;cursor:pointer}.student-card>summary::-webkit-details-marker{display:none}.student-card .student-head{grid-template-columns:48px 1fr auto auto 25px}.student-card[open]{box-shadow:0 12px 30px rgba(15,35,58,.07);border-color:#d7dde4}.student-card[open] .expand-icon{transform:rotate(180deg)}.expand-icon{display:grid;place-items:center;color:#7c8794;font-size:18px;transition:.2s}.student-card .mini-stat.total b{color:#1769aa}.student-card .mini-stat.green b{color:#16845a}.ref-row{grid-template-columns:minmax(200px,1fr) 150px minmax(180px,1fr) auto}.compact-label{position:relative;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.compact-label i{position:absolute;right:0;font-style:normal;font-size:8px;color:#a0a8b2;text-transform:none;letter-spacing:0}.compact-label input,.compact-label select{font-size:11px;padding:10px}.ref-person small{margin-top:3px}
@media(max-width:800px){.summary-grid{grid-template-columns:1fr}.admin-title{display:grid;gap:18px}.status-filter{width:100%}.student-card .student-head{grid-template-columns:45px 1fr 22px}.student-card .mini-stat{display:none}.section-heading{align-items:start}.ref-row{grid-template-columns:1fr}.compact-label{font-size:9px}}

.summary-card{padding:14px 20px;text-align:center}.summary-card span{font-size:9px}.summary-card small{margin-top:2px}.summary-card strong{font-size:30px;line-height:1;margin:7px 0 0}
.dashboard-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:18px;align-items:end;margin-bottom:30px}.dashboard-toolbar .summary-grid{grid-template-columns:repeat(3,minmax(135px,1fr));gap:10px;margin:0}.dashboard-toolbar .summary-card{min-height:76px;padding:10px 13px}.dashboard-toolbar .summary-card span{font-size:8px}.dashboard-toolbar .summary-card small{font-size:8px}.dashboard-toolbar .summary-card strong{font-size:24px;margin-top:5px}.dashboard-toolbar .status-filter{min-width:0}.dashboard-toolbar .status-filter select{padding:9px 10px}
@media(max-width:900px){.dashboard-toolbar{grid-template-columns:1fr}.dashboard-toolbar .status-filter{width:100%}}@media(max-width:600px){.dashboard-toolbar .summary-grid{grid-template-columns:1fr}.dashboard-toolbar .summary-card{min-height:auto}}

/* Barra ejecutiva compacta */
.admin-main>.admin-title{margin-bottom:18px}.dashboard-toolbar{grid-template-columns:minmax(0,1fr) 220px;gap:0;align-items:stretch;background:#fff;border:1px solid #e0e5ea;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 5px 18px rgba(15,35,58,.035)}.dashboard-toolbar .summary-grid{gap:0}.dashboard-toolbar .summary-card{display:flex;flex-direction:column;justify-content:center;min-height:92px;border:0;border-radius:0;padding:14px 22px;background:transparent}.dashboard-toolbar .summary-card+ .summary-card{border-left:1px solid #e7eaee}.dashboard-toolbar .summary-card:before{inset:25px auto 25px 0;width:3px;border-radius:0 3px 3px 0}.dashboard-toolbar .summary-card span{font-size:8px;letter-spacing:.11em}.dashboard-toolbar .summary-card small{font-size:9px;margin-top:1px}.dashboard-toolbar .summary-card strong{font-size:27px;margin-top:5px}.dashboard-toolbar .status-filter{display:flex;align-items:center;padding:15px 18px;border-left:1px solid #e3e7eb;background:#fafbfc}.dashboard-toolbar .status-filter label{width:100%;gap:5px;color:#657283;font-size:8px;font-weight:800;letter-spacing:.1em}.dashboard-toolbar .status-filter select{border:1px solid #dbe1e7;border-radius:7px;background:#fff;font-size:10px;font-weight:600;padding:9px 10px}
@media(max-width:900px){.dashboard-toolbar{grid-template-columns:1fr}.dashboard-toolbar .status-filter{border-left:0;border-top:1px solid #e3e7eb}.dashboard-toolbar .status-filter label{max-width:260px}}@media(max-width:600px){.dashboard-toolbar{overflow:visible;background:transparent;border:0;box-shadow:none;gap:10px}.dashboard-toolbar .summary-grid{gap:8px}.dashboard-toolbar .summary-card{border:1px solid #e0e5ea!important;border-radius:10px;background:#fff;min-height:75px}.dashboard-toolbar .status-filter{border:1px solid #e0e5ea;border-radius:10px;background:#fff}}
.admin-main>.admin-title .eyebrow{margin-bottom:5px}
.admin-navbar{height:76px;padding:0;background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 3px 12px rgba(15,35,58,.035)}.admin-nav-inner{width:min(1180px,calc(100% - 50px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.admin-brand{display:flex;align-items:center;padding:7px 0}.admin-navbar .admin-header-logo{width:154px}.admin-navbar nav{gap:8px}.admin-navbar nav>a:not(.logout-icon){padding:9px 13px;border-radius:7px;color:#33445a;font-size:11px;font-weight:600;transition:.18s}.admin-navbar nav>a:not(.logout-icon):hover{background:#eef2f6;color:#00214b}.logout-icon{display:grid;place-items:center;width:36px;height:36px;margin-left:7px;border-radius:8px;background:#fff0f0;color:#c62828!important;border:1px solid #f3d4d4;transition:.18s}.logout-icon:hover{background:#c62828!important;color:#fff!important;border-color:#c62828}.logout-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.admin-nav-inner{width:calc(100% - 28px)}.admin-navbar .admin-header-logo{width:125px}.admin-navbar nav{gap:2px}.admin-navbar nav>a:not(.logout-icon){padding:8px 7px;font-size:9px}.logout-icon{width:33px;height:33px;margin-left:3px}}
.admin-navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.76);border-bottom-color:rgba(255,255,255,.72);box-shadow:0 5px 22px rgba(15,35,58,.07);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.admin-navbar .admin-brand{margin-left:25px}@media(max-width:600px){.admin-navbar .admin-brand{margin-left:0}}
.admin-navbar nav{margin-right:25px}@media(max-width:600px){.admin-navbar nav{margin-right:0}}
.conversion-formula{text-align:right}.conversion-formula>span{display:block;color:#7b8795;font-size:8px;font-weight:800;letter-spacing:.12em;margin-bottom:6px}.conversion-formula>div{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;color:#677486}.conversion-formula b{color:#17283d;font-size:13px}.conversion-formula i{font-style:normal;font-size:9px}.conversion-formula em{font-style:normal;font-size:11px;margin:0 2px}.conversion-formula strong{color:#bc7412;font-size:17px;margin-left:3px}.admin-main>.admin-title{align-items:end}@media(max-width:800px){.conversion-formula{text-align:left}.conversion-formula>div{justify-content:flex-start}}

/* Fondo estelar inspirado en el patrón de Uiverse.io por jaykdoe */
html{min-height:100%;background:#090a0f}body,.public-page,.admin-bg,.admin-login{position:relative;min-height:100vh;background:radial-gradient(ellipse at bottom,#1b2735 0%,#090a0f 100%);background-attachment:fixed}body:before,body:after{content:"";position:fixed;inset:-100vh 0 0;pointer-events:none;z-index:0;background-repeat:repeat;will-change:transform}body:before{opacity:.7;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.3px);background-size:137px 149px,211px 227px,83px 97px;background-position:17px 31px,91px 63px,42px 78px;animation:starDrift 70s linear infinite}body:after{opacity:.5;background-image:radial-gradient(circle,#fff 0 1.7px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.75) 0 1.2px,transparent 1.7px);background-size:317px 293px,191px 251px;background-position:53px 117px,131px 29px;animation:starDrift 125s linear infinite reverse}@keyframes starDrift{from{transform:translateY(0)}to{transform:translateY(-100vh)}}body>*,body main,body header{position:relative;z-index:1}.public-page .referral-copy,.admin-login .intro{color:#fff}.public-page .referral-copy>p,.admin-login .intro>p{color:#bdc7d4}.public-page .referral-copy .eyebrow,.admin-login .eyebrow{color:#9dabbc}.public-page .privacy-note small{color:#aeb9c7}.public-page .privacy-note>span{background:rgba(255,255,255,.12);color:#fff}.public-page .legal-divider{background:rgba(255,255,255,.18)}.public-page .legal-footer a{color:#aeb9c7}.public-page .upo-logo,.admin-login .admin-logo{background:rgba(255,255,255,.94);border-radius:8px;padding:9px 12px;box-shadow:0 8px 25px rgba(0,0,0,.15)}.admin-main>.admin-title h1,.admin-main>.admin-title .eyebrow,.admin-main .section-heading h2,.admin-main .section-heading p,.admin-main .conversion-formula>*{color:#fff}.admin-main .conversion-formula b{color:#fff}.admin-main .conversion-formula strong{color:#ffc15a}.admin-main .section-heading>span{background:rgba(255,255,255,.12);color:#d5dce5}.admin-navbar{background:rgba(255,255,255,.78)}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}}
.admin-bg,.admin-login{--blue:#00214b;--navy:#101e30}.admin-logo{display:block;width:190px;height:auto}.admin-login .admin-logo{width:210px;margin-bottom:30px}.admin-header-logo{width:145px;height:auto;display:block}.admin-login-copy .eyebrow{margin-top:28px}.admin-login-copy h1 em{color:#00214b}.admin-login-card{border-top:4px solid #00214b;border-radius:11px}.admin-main .eyebrow{color:#65758a}.admin-bg header{border-bottom-color:#dfe4e9}.admin-bg button,.admin-login button{background:#00214b;box-shadow:none}.admin-bg .avatar{background:#e7edf4;color:#00214b}.admin-bg .mini-stat b,.admin-bg nav a{color:#00214b}

/* Patrón global solicitado */
html{background:#ebf8e1}body,.public-page,.admin-bg,.admin-login{background:linear-gradient(#3f87a6 10%,#ebf8e1a2 10%),linear-gradient(to right,#ebf8e100 10%,#c73030 10% 10.2%,#ebf8e100 10.5%);background-size:100% 25px,100% 100%;background-repeat:repeat,no-repeat;background-attachment:fixed}body:before,body:after{content:none;display:none}.public-page .referral-copy,.admin-login .intro{color:var(--navy)}.public-page .referral-copy>p,.admin-login .intro>p{color:var(--muted)}.public-page .referral-copy .eyebrow,.admin-login .eyebrow{color:#758397}.public-page .privacy-note small{color:#7f8996}.public-page .privacy-note>span{background:#e6edf5;color:var(--blue)}.public-page .legal-divider{background:#dce1e6}.public-page .legal-footer a{color:#758397}.public-page .upo-logo,.admin-login .admin-logo{background:transparent;border-radius:0;padding:0;box-shadow:none}.admin-main>.admin-title h1{color:var(--navy)}.admin-main>.admin-title .eyebrow,.admin-main .section-heading p{color:#65758a}.admin-main .section-heading h2{color:var(--navy)}.admin-main .conversion-formula>span{color:#7b8795}.admin-main .conversion-formula>div{color:#677486}.admin-main .conversion-formula b{color:#17283d}.admin-main .conversion-formula strong{color:#bc7412}.admin-main .section-heading>span{background:#e9edf1;color:#7b8795}
.upo-institutional-footer{position:relative;z-index:1;width:100%;padding:16px 20px 17px;background:transparent;border:0;color:#26364a;text-align:center}.upo-institutional-footer p{max-width:980px;margin:0 auto 3px;font-size:8px;line-height:1.45}.upo-institutional-footer p:last-child{margin-bottom:0;color:#65758a}@media(max-width:620px){.upo-institutional-footer{padding:14px 16px}.upo-institutional-footer p{font-size:7px}}

/* Sistema visual institucional del área administrativa */
.admin-bg{--admin-blue:#00214b;--admin-cyan:#35a8e0;--admin-ink:#172333;--admin-muted:#687587;--admin-line:#cdd6df;--admin-paper:#f7f8f5;color:var(--admin-ink)}
.admin-bg .admin-navbar{height:76px;background:rgba(255,255,255,.92);border-bottom:3px solid var(--admin-blue);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.admin-bg .admin-nav-inner{width:min(1180px,calc(100% - 40px))}
.admin-bg .admin-navbar .admin-brand{margin-left:0}
.admin-bg .admin-navbar nav{margin-right:0;gap:6px}
.admin-bg .admin-navbar nav>a:not(.logout-icon){padding:9px 12px;border:2px solid transparent;border-radius:0;color:var(--admin-blue);font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;transition:none}
.admin-bg .admin-navbar nav>a:not(.logout-icon):hover{border-color:var(--admin-blue);background:transparent;color:var(--admin-blue)}
.admin-bg .logout-icon{width:38px;height:38px;margin-left:5px;border:0;border-radius:50%;background:var(--admin-blue);color:#fff!important;transition:none}
.admin-bg .logout-icon:hover{background:var(--admin-blue)!important;color:#fff!important;transform:none}
.admin-bg .admin-main{width:min(1180px,calc(100% - 40px));max-width:none;padding:42px 0 48px}
.admin-bg .admin-title{align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:3px solid var(--admin-blue)}
.admin-bg .admin-title .eyebrow{margin:0 0 4px;color:#65758a;font-size:9px;font-weight:800;letter-spacing:.14em}
.admin-bg .admin-title h1{color:var(--admin-blue);font-size:34px;letter-spacing:-.04em}
.admin-bg .conversion-formula>span{color:#65758a}
.admin-bg .conversion-formula>div{color:#5e6d80}
.admin-bg .conversion-formula b{color:var(--admin-ink)}
.admin-bg .conversion-formula strong{color:var(--admin-blue);font-size:19px}
.admin-bg .dashboard-toolbar{margin-bottom:34px;overflow:visible;border:4px solid var(--admin-blue);border-radius:0;background:var(--admin-paper);box-shadow:8px 8px 0 var(--admin-blue)}
.admin-bg .dashboard-toolbar .summary-card{min-height:104px;padding:17px 22px;text-align:left}
.admin-bg .dashboard-toolbar .summary-card+.summary-card{border-left:2px solid #d9e0e7}
.admin-bg .dashboard-toolbar .summary-card:before{inset:0 auto 0 0;width:6px;border-radius:0}
.admin-bg .dashboard-toolbar .summary-card span{color:#65758a;font-size:9px}
.admin-bg .dashboard-toolbar .summary-card small{color:#8793a1;font-size:9px}
.admin-bg .dashboard-toolbar .summary-card strong{color:var(--admin-blue);font-size:31px}
.admin-bg .dashboard-toolbar .summary-card.total:before{background:var(--admin-blue)}
.admin-bg .dashboard-toolbar .summary-card.enrolled:before{background:#16845a}
.admin-bg .dashboard-toolbar .summary-card.conversion:before{background:var(--admin-cyan)}
.admin-bg .dashboard-toolbar .status-filter{border-left:3px solid var(--admin-blue);background:#eef2f4}
.admin-bg .dashboard-toolbar .status-filter label{color:var(--admin-blue);font-size:9px}
.admin-bg .dashboard-toolbar .status-filter select{height:42px;border:2px solid var(--admin-blue);border-radius:0;background:#fff;color:var(--admin-ink);box-shadow:none}
.admin-bg .section-heading{margin:0 0 14px;padding:0 2px}
.admin-bg .section-heading h2{color:var(--admin-blue);font-size:20px}
.admin-bg .section-heading p{color:#65758a;font-size:11px}
.admin-bg .section-heading>span{border-radius:0;background:var(--admin-blue);color:#fff;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.admin-bg .student-card{margin:16px 0;border:3px solid var(--admin-blue);border-radius:0;background:#fff;box-shadow:6px 6px 0 rgba(0,33,75,.22);transition:none}
.admin-bg .student-card[open]{border-color:var(--admin-blue);box-shadow:6px 6px 0 var(--admin-blue)}
.admin-bg .student-head{min-height:88px;padding:17px 20px}
.admin-bg .avatar{border:2px solid var(--admin-blue);border-radius:50%;background:var(--admin-blue);color:#fff;font-weight:800}
.admin-bg .student-data h2{color:var(--admin-ink);font-size:14px}
.admin-bg .student-data p{color:#718094;font-size:10px}
.admin-bg .mini-stat{border-left:2px solid #e1e6eb}
.admin-bg .mini-stat b{color:var(--admin-blue)!important}
.admin-bg .mini-stat.green b{color:#16845a!important}
.admin-bg .expand-icon{color:var(--admin-blue);transition:none}
.admin-bg .ref-list{border-top:3px solid var(--admin-blue);padding:4px 20px;background:#f7f8f9}
.admin-bg .ref-row{gap:14px;padding:16px 0;border-bottom:1px solid #d7dee5}
.admin-bg .ref-person strong{color:var(--admin-ink)}
.admin-bg .ref-person span,.admin-bg .ref-person small{color:#687587}
.admin-bg .compact-label{color:#536174;font-weight:800}
.admin-bg .compact-label input,.admin-bg .compact-label select{height:40px;border:2px solid var(--admin-blue);border-radius:0;background:#fff;box-shadow:none}
.admin-bg .ref-row>button,.admin-bg .import-card>form>button,.admin-bg .inline>button{padding:11px 17px;border:0;border-radius:0;background:var(--admin-blue);box-shadow:none;font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.admin-bg .empty{border:3px solid var(--admin-blue);border-radius:0;background:#fff;box-shadow:6px 6px 0 var(--admin-blue);color:#65758a}
.admin-bg>.center{min-height:calc(100vh - 76px);padding:48px 20px}
.admin-bg .import-card,.admin-bg .narrow>.card{border:4px solid var(--admin-blue);border-radius:0;background:var(--admin-paper);box-shadow:8px 8px 0 var(--admin-blue)}
.admin-bg .import-card .eyebrow{margin-bottom:7px;color:#65758a;font-size:9px;font-weight:800}
.admin-bg .import-card h1,.admin-bg .narrow>h1{color:var(--admin-blue);font-size:31px}
.admin-bg .custum-file-upload{border:3px dashed var(--admin-blue);border-radius:0;background:#fff;box-shadow:none;transition:none}
.admin-bg .custum-file-upload:hover{border-color:var(--admin-blue);background:#fff}
.admin-bg>header:not(.admin-navbar){height:76px;padding:0 max(20px,calc((100% - 1180px)/2));border-bottom:3px solid var(--admin-blue);background:rgba(255,255,255,.92);box-shadow:none}
.admin-bg>header:not(.admin-navbar) .brand{padding:9px 12px;border:2px solid var(--admin-blue);color:var(--admin-blue);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.admin-bg .narrow{width:min(900px,calc(100% - 40px));padding-top:42px}
.admin-bg .narrow>h1{margin-bottom:22px;padding-bottom:16px;border-bottom:3px solid var(--admin-blue)}
.admin-bg .inline input{height:44px;border:2px solid var(--admin-blue);border-radius:0;background:#fff;box-shadow:none}
.admin-bg .program-list>div{border-top:2px solid #d7dee5;padding:14px 2px}
.admin-bg .program-list .danger{border-radius:0;background:#9f2525;box-shadow:none;font-size:9px;font-weight:800;text-transform:uppercase}
.admin-bg+.upo-institutional-footer,.admin-bg .upo-institutional-footer{color:#34465c}
@media(max-width:900px){.admin-bg .dashboard-toolbar{box-shadow:6px 6px 0 var(--admin-blue)}.admin-bg .dashboard-toolbar .status-filter{border-top:3px solid var(--admin-blue);border-left:0}.admin-bg .dashboard-toolbar .status-filter label{max-width:none}.admin-bg .ref-row{grid-template-columns:1fr 1fr}.admin-bg .ref-person{grid-column:1/-1}.admin-bg .ref-row>button{align-self:end}}
@media(max-width:600px){.admin-bg .admin-nav-inner,.admin-bg .admin-main{width:calc(100% - 28px)}.admin-bg .admin-navbar nav>a:not(.logout-icon){padding:7px 5px;border:0;font-size:8px}.admin-bg .admin-title{align-items:start}.admin-bg .admin-title h1{font-size:27px}.admin-bg .dashboard-toolbar{overflow:hidden;gap:0;border:3px solid var(--admin-blue);background:var(--admin-paper);box-shadow:5px 5px 0 var(--admin-blue)}.admin-bg .dashboard-toolbar .summary-grid{gap:0}.admin-bg .dashboard-toolbar .summary-card{min-height:76px;border:0!important;border-bottom:1px solid #d7dee5!important;border-radius:0;background:transparent}.admin-bg .dashboard-toolbar .status-filter{border:0;border-top:3px solid var(--admin-blue);border-radius:0}.admin-bg .student-card{box-shadow:4px 4px 0 rgba(0,33,75,.35)}.admin-bg .student-head{padding:14px 13px}.admin-bg .ref-list{padding:3px 13px}.admin-bg .ref-row{grid-template-columns:1fr}.admin-bg .ref-person{grid-column:auto}.admin-bg .ref-row>button{width:100%}.admin-bg .import-card,.admin-bg .narrow>.card{padding:28px 19px;box-shadow:5px 5px 0 var(--admin-blue)}.admin-bg .inline{grid-template-columns:1fr}.admin-bg .inline>button{width:100%}.admin-bg .program-list>div{align-items:flex-start;gap:12px}}

/* Vista de alumnos y referidos */
.admin-bg .admin-title{border-bottom:0}
.admin-bg .student-summary{display:block;overflow:hidden;border:1px solid #dce3e9;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 32px rgba(0,33,75,.08)}
.admin-bg .student-summary .summary-grid{grid-template-columns:repeat(2,1fr)}
.admin-bg .student-summary .summary-card{min-height:96px;text-align:center}
.admin-bg .student-summary .summary-card:before{inset:auto 22px 0;width:auto;height:4px;border-radius:4px 4px 0 0}
.student-section-heading{margin-top:39px!important}
.student-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;margin:0 0 40px}
.dashboard-empty{display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;color:#65758a}
.dashboard-empty-icon{display:grid;width:48px;height:48px;place-items:center;color:#929ca8}
.dashboard-empty-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dashboard-empty p{margin:0;font-size:14px}
.admin-bg .student-profile-card{position:relative;display:flex;min-height:202px;flex-direction:column;align-items:center;justify-content:center;padding:19px 13px 16px;border:2px solid transparent;border-radius:18px;background:rgba(255,255,255,.92);color:var(--admin-ink);box-shadow:0 8px 24px rgba(24,48,75,.09);text-align:center;transition:border-color .18s,box-shadow .18s,transform .18s}
.admin-bg .student-profile-card:hover{border-color:#b9ccdd;background:#fff;box-shadow:0 13px 28px rgba(24,48,75,.14);transform:translateY(-3px)}
.admin-bg .student-profile-card.is-selected{border-color:var(--admin-blue);background:#fff;box-shadow:0 0 0 4px rgba(0,33,75,.09),0 13px 28px rgba(24,48,75,.15);transform:translateY(-2px)}
.student-avatar{display:grid;place-items:center;width:84px;height:84px;margin-bottom:12px;border:5px solid #fff;border-radius:50%;background:linear-gradient(145deg,#00214b,#1769aa);color:#fff;box-shadow:0 0 0 2px #d7e0e8,0 7px 15px rgba(0,33,75,.2);font-size:25px;font-weight:800;letter-spacing:-.03em}
.student-profile-card.is-selected .student-avatar{box-shadow:0 0 0 3px var(--admin-cyan),0 8px 18px rgba(0,33,75,.24)}
.student-profile-card>strong{display:-webkit-box;min-height:37px;overflow:hidden;color:#172333;font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.student-profile-card>small{margin:3px 0 9px;color:#7b8795;font-size:9px;font-weight:700;letter-spacing:.06em}
.student-card-count{padding:5px 9px;border-radius:999px;background:#eef3f7;color:#647386;font-size:8px;font-weight:600}
.student-card-count b{color:var(--admin-blue)}
.student-status-panel[hidden]{display:none}
.student-status-panel{scroll-margin-top:95px;margin-bottom:22px;border:1px solid #dce3e9;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 15px 38px rgba(0,33,75,.1);overflow:hidden}
.student-panel-header{display:flex;height:auto;min-height:94px;align-items:center;justify-content:space-between;padding:21px 25px;border:0;border-bottom:1px solid #e1e7ec;background:#fff}
.student-panel-header span{display:block;margin-bottom:4px;color:#7b8795;font-size:8px;font-weight:800;letter-spacing:.14em}
.student-panel-header h2{margin:0;color:var(--admin-blue);font-size:22px;letter-spacing:-.03em}
.student-panel-header p{margin:0;color:#718094;font-size:10px;font-weight:600}
.status-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px;background:#f6f8fa}
.status-table-card{min-width:0;overflow:hidden;border:1px solid #dce3e9;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(21,43,68,.05)}
.status-table-title{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #e4e9ed}
.status-table-title h3{margin:0;color:#25364a;font-size:11px;letter-spacing:.02em}
.status-table-title span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#e9eef3;color:#526174;font-size:9px;font-weight:800}
.status-pendiente .status-table-title{border-top:4px solid #d69a2d}.status-informes .status-table-title{border-top:4px solid #35a8e0}.status-inscrito .status-table-title{border-top:4px solid #25a66a}.status-no_interesado .status-table-title{border-top:4px solid #8a96a3}
.status-pendiente .status-table-title span{background:#fff4da;color:#9b6710}.status-informes .status-table-title span{background:#e5f6fd;color:#176b91}.status-inscrito .status-table-title span{background:#e4f7ed;color:#17794f}.status-no_interesado .status-table-title span{background:#edf0f3;color:#5f6a75}
.status-empty{margin:0;padding:25px 15px;color:#98a2ad;font-size:10px;text-align:center}
.status-table-wrap{max-width:100%;overflow-x:auto}
.status-table{width:100%;border-collapse:collapse;table-layout:fixed}
.status-table th{padding:9px 10px;background:#f8fafb;color:#8793a1;font-size:7px;letter-spacing:.08em;text-align:left;text-transform:uppercase}
.status-table th:nth-child(1){width:24%}.status-table th:nth-child(2){width:22%}.status-table th:nth-child(3){width:38%}.status-table th:nth-child(4){width:16%}
.status-table td{padding:11px 10px;border-top:1px solid #edf0f3;vertical-align:middle}
.status-table td strong,.status-table td span,.status-table td small{display:block;overflow-wrap:anywhere}
.status-table td strong{color:#243448;font-size:9px}.status-table td span{color:#536174;font-size:8px}.status-table td small{margin-top:3px;color:#8b96a2;font-size:7px}
.status-table td:nth-child(3){display:grid;gap:6px}
.status-table select,.status-table input{height:31px;padding:5px 7px;border:1px solid #ccd5de;border-radius:6px;background:#fff;color:#344357;box-shadow:none;font-size:8px}
.admin-bg .status-table button{width:100%;padding:8px 7px;border:0;border-radius:7px;background:var(--admin-blue);box-shadow:none;font-size:8px;font-weight:800;text-transform:uppercase}
@media(max-width:1050px){.status-table-grid{grid-template-columns:1fr}.status-table th:nth-child(1){width:25%}.status-table th:nth-child(2){width:24%}.status-table th:nth-child(3){width:35%}}
@media(max-width:700px){.admin-bg .student-summary{border-radius:14px;box-shadow:0 8px 22px rgba(0,33,75,.08)}.admin-bg .student-summary .summary-grid{grid-template-columns:1fr}.admin-bg .student-summary .summary-card{min-height:72px;border-bottom:1px solid #e2e7eb!important}.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:28px}.admin-bg .student-profile-card{min-height:184px;padding:15px 9px;border-radius:15px}.student-avatar{width:72px;height:72px;font-size:21px}.student-panel-header{display:block;padding:18px}.student-panel-header p{margin-top:7px}.status-table-grid{padding:12px;gap:12px}.status-table-card{border-radius:11px}.status-table{min-width:570px}}
@media(max-width:390px){.student-card-grid{grid-template-columns:1fr}.admin-bg .student-profile-card{min-height:180px}}
.student-window-main{padding-top:34px!important}
.student-window-profile{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:24px;padding:22px 26px;border:1px solid #dce3e9;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(0,33,75,.08)}
.student-window-profile .student-avatar{width:78px;height:78px;margin:0;font-size:22px}
.student-window-profile .eyebrow{margin:0 0 3px;color:#758397;font-size:8px}
.student-window-profile h1{margin:0;color:#00214b;font-size:28px;line-height:1.15;letter-spacing:-.035em}
.student-window-profile h1{white-space:nowrap}
.student-window-profile p{margin:5px 0 0;color:#718094;font-size:10px}
.student-window-stats{display:flex;gap:9px}
.student-window-stats span{min-width:82px;padding:10px 12px;border-radius:11px;background:#eef3f7;color:#6a7889;font-size:8px;text-align:center}
.student-window-stats b{display:block;color:#00214b;font-size:20px;line-height:1.1}
.student-window-tables{padding:0;background:transparent}
.student-window .upo-institutional-footer{margin-top:16px}
@media(max-width:700px){.student-window-profile{grid-template-columns:auto 1fr;padding:18px}.student-window-profile h1{font-size:21px}.student-window-stats{grid-column:1/-1;width:100%}.student-window-stats span{flex:1}.student-window-profile .student-avatar{width:66px;height:66px}.student-window-tables{padding:0}}
.admin-bg .admin-title>.student-summary{width:min(600px,62%);margin:0;box-shadow:0 7px 20px rgba(0,33,75,.07)}
.admin-bg .admin-title>.student-summary .summary-card{min-height:78px;padding:10px 20px}
.admin-bg .admin-title>.student-summary .summary-card strong{font-size:25px;margin-top:5px}
.admin-bg .admin-title>.student-summary .summary-card:before{inset:auto 20px 0}
.admin-bg .student-section-heading{margin-top:25px!important}
@media(max-width:800px){.admin-bg .admin-title>.student-summary{width:100%;margin-top:5px}.admin-bg .admin-title>.student-summary .summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.admin-bg .admin-title>.student-summary .summary-card{min-height:70px;padding:9px}.admin-bg .admin-title>.student-summary .summary-card span{font-size:7px}.admin-bg .admin-title>.student-summary .summary-card small{font-size:7px}.admin-bg .admin-title>.student-summary .summary-card strong{font-size:21px}}
.header-stats{display:flex;align-items:center;justify-content:flex-end;gap:20px;text-align:right}
.header-stats>div{display:grid;gap:1px;min-width:125px}
.header-stats span{color:#6f7e90;font-size:8px;font-weight:800;letter-spacing:.12em}
.header-stats strong{color:#00214b;font-size:25px;line-height:1.05;letter-spacing:-.035em}
.header-stats small{color:#8793a1;font-size:8px}
.header-stats>i{width:1px;height:45px;background:#cad3dc}
.student-card-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px}
.admin-bg .student-profile-card{min-height:242px;padding:24px 17px 20px}
.student-avatar{width:104px;height:104px;margin-bottom:16px;font-size:30px}
.student-profile-card>strong{min-height:41px;font-size:14px}
.student-profile-card>small{font-size:10px}
.student-card-count{padding:6px 11px;font-size:9px}
@media(max-width:800px){.header-stats{justify-content:flex-start;text-align:left}.header-stats>div{min-width:115px}}
@media(max-width:600px){.header-stats{width:100%;justify-content:space-between;gap:10px}.header-stats>div{min-width:0}.header-stats>div:last-child{text-align:right}.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-bg .student-profile-card{min-height:218px;padding:18px 10px}.student-avatar{width:86px;height:86px;font-size:25px}.student-profile-card>strong{font-size:12px}}
@media(max-width:390px){.student-card-grid{grid-template-columns:1fr}}
.student-window .student-window-tables{grid-template-columns:1fr;gap:20px}
.student-window .status-table-card{border-radius:16px;box-shadow:0 8px 22px rgba(21,43,68,.07)}
.student-window .status-table-title{padding:17px 20px}
.student-window .status-table-title h3{font-size:15px}
.student-window .status-table-title span{min-width:30px;height:30px;font-size:11px}
.student-window .status-table{min-width:1080px;table-layout:auto}
.student-window .status-table th{padding:13px 14px;font-size:10px;white-space:nowrap}
.student-window .status-table th:nth-child(1){width:15%}.student-window .status-table th:nth-child(2){width:16%}.student-window .status-table th:nth-child(3){width:18%}.student-window .status-table th:nth-child(4){width:9%}.student-window .status-table th:nth-child(5){width:15%}.student-window .status-table th:nth-child(6){width:19%}.student-window .status-table th:nth-child(7){width:8%}
.student-window .status-table td{padding:16px 14px}
.student-window .status-table td:nth-child(3){display:table-cell}
.student-window .status-table td strong{font-size:13px;line-height:1.35}.student-window .status-table td span{font-size:12px;line-height:1.4}.student-window .status-table td small{margin-top:5px;font-size:10px;line-height:1.35}
.student-window .status-table select,.student-window .status-table input{width:100%;height:42px;padding:8px 10px;font-size:11px}
.student-window .status-table textarea{display:block;width:100%;height:68px;min-height:68px;max-height:68px;padding:9px 10px;resize:none;overflow-y:auto;border:1px solid #ccd5de;border-radius:6px;background:#fff;color:#344357;box-shadow:none;font:11px/1.4 Inter,Arial,sans-serif;outline:0}
.student-window .status-table textarea:focus{border-color:#00214b;box-shadow:0 0 0 3px rgba(0,33,75,.08)}
.student-window .status-table button{min-width:86px;padding:12px 11px;font-size:9px}
.student-window .status-table tbody tr:hover{background:#f8fafb}

/* Navbar administrativo original */
.admin-bg .admin-navbar{height:76px;background:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.72);box-shadow:0 5px 22px rgba(15,35,58,.07);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.admin-bg .admin-nav-inner{width:min(1180px,calc(100% - 50px))}
.admin-bg .admin-navbar .admin-brand{margin-left:25px}
.admin-bg .admin-navbar nav{margin-right:25px;gap:8px}
.admin-bg .admin-navbar nav>a:not(.logout-icon){padding:9px 13px;border:0;border-radius:7px;color:#33445a;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;transition:.18s}
.admin-bg .admin-navbar nav>a:not(.logout-icon):hover{border:0;background:#eef2f6;color:#00214b}
.admin-bg .logout-icon{width:36px;height:36px;margin-left:7px;border:1px solid #f3d4d4;border-radius:8px;background:#fff0f0;color:#c62828!important;transition:.18s}
.admin-bg .logout-icon:hover{border-color:#c62828;background:#c62828!important;color:#fff!important}
@media(max-width:600px){.admin-bg .admin-nav-inner{width:calc(100% - 28px)}.admin-bg .admin-navbar .admin-brand{margin-left:0}.admin-bg .admin-navbar nav{margin-right:0;gap:2px}.admin-bg .admin-navbar nav>a:not(.logout-icon){padding:8px 7px;font-size:9px}.admin-bg .logout-icon{width:33px;height:33px;margin-left:3px}}
.student-window details.status-table-card>summary{list-style:none;cursor:pointer;user-select:none}
.student-window details.status-table-card>summary::-webkit-details-marker{display:none}
.student-window .status-table-title h3{flex:1}
.student-window details.status-table-card:not([open]) .status-table-title{border-bottom:0}
.student-window details.status-table-card:not([open]):hover .status-table-title{background:#f8fafb}
.admin-bg .legal-back-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#00214b;color:#fff;box-shadow:none;cursor:pointer;transition:none}
.admin-bg .legal-back-button:hover{background:#00214b;color:#fff;transform:none}
.admin-bg .legal-back-button:focus-visible{outline:3px solid rgba(0,33,75,.22);outline-offset:2px}
.admin-bg .legal-back-button svg{width:21px;height:21px;stroke-width:2}
.name-pairs>span{display:block}
.admin-bg .admin-nav-inner{width:min(1180px,calc(100% - 40px))}
.admin-bg .admin-navbar .admin-brand{margin-left:0}
.admin-bg .admin-navbar nav{margin-right:0}
@media(max-width:600px){.admin-bg .admin-nav-inner{width:calc(100% - 28px)}}

/* Estados consistentes sin alterar la geometría propia de cada botón */
button:focus-visible,.logout-icon:focus-visible{outline:3px solid rgba(0,33,75,.18);outline-offset:2px}
button:disabled{opacity:.45;cursor:not-allowed}
.admin-bg .status-table button,.admin-bg .import-card>form>button,.admin-bg .inline>button{border:1px solid #00214b;background:#00214b;color:#fff;transition:background-color .18s,color .18s,border-color .18s}
.admin-bg .status-table button:hover,.admin-bg .import-card>form>button:hover,.admin-bg .inline>button:hover{border-color:#0b477e;background:#0b477e;color:#fff}
.student-window .status-table button{min-height:42px;border-radius:8px;font-size:11px;letter-spacing:.03em}
.admin-bg .import-card>form>button,.admin-bg .inline>button{min-height:42px;border-radius:8px;font-size:11px}
.admin-bg button.danger{border:1px solid #f3d4d4;background:#fff0f0;color:#c62828;transition:background-color .18s,color .18s,border-color .18s}
.admin-bg button.danger:hover{border-color:#c62828;background:#c62828;color:#fff}
.whatsapp-contact{display:inline-flex!important;align-items:center;gap:5px;color:#087a4b!important;font-size:12px!important;font-weight:800;text-decoration:none}
.whatsapp-contact:hover{text-decoration:underline;text-underline-offset:2px}
.whatsapp-contact>span{display:inline!important;font-size:10px!important}
.advisor-label{display:block!important;margin-top:6px!important;color:#758397!important;font-size:9px!important;font-weight:600}
.advisor-label .advisor-name{display:inline!important;color:var(--advisor-color,#1769aa)!important;font-family:inherit!important;font-size:9px!important;line-height:inherit!important;font-weight:800!important}
.status-table select:disabled,.status-table textarea:disabled{opacity:.62;cursor:not-allowed;background:#eef1f4;color:#687587}.referral-locked{display:inline-grid;place-items:center;min-height:30px;width:100%;padding:4px 3px;border:1px solid #d8dde3;border-radius:7px;background:#eef1f4;color:#758397;font-size:7px;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}.assignment-notice{margin:0 0 18px;padding:11px 14px;border-radius:8px;font-size:12px;font-weight:600}.assignment-notice.success{background:#eaf9f1;color:#187b50}.assignment-notice.error{background:#fff0f0;color:#a84141}
.admin-bg .logout-icon{width:42px;height:42px;margin-left:7px;border:1px solid #c62828;border-radius:50%;background:#c62828;color:#fff!important;box-shadow:none;transition:none}
.admin-bg .logout-icon:hover,.admin-bg .logout-icon:focus{border-color:#c62828;background:#c62828!important;color:#fff!important;transform:none}
@media(max-width:600px){.admin-bg .logout-icon{width:38px;height:38px;margin-left:3px}}
.admin-bg .admin-navbar nav>a.import-icon{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #00214b;border-radius:50%;background:#00214b;color:#fff;box-shadow:none;transition:none}
.admin-bg .admin-navbar nav>a.import-icon:hover{border-color:#00214b;background:#00214b;color:#fff;transform:none}
.import-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.admin-bg .admin-navbar nav>a.import-icon{width:38px;height:38px;padding:0}}
.admin-bg .admin-navbar nav>a.my-cases-icon{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #b9c9d8;border-radius:50%;background:#fff;color:#00214b;box-shadow:none;transition:none}
.admin-bg .admin-navbar nav>a.my-cases-icon:hover,.admin-bg .admin-navbar nav>a.my-cases-icon.is-active{border-color:#00214b;background:#00214b;color:#fff}
.my-cases-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.admin-bg .admin-navbar nav>a.my-cases-icon{width:38px;height:38px;padding:0}}
