*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8fafc,#eef3f7);color:#18283a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.page{width:min(1180px,94vw);margin:auto;padding:28px 0 34px}.brand{text-align:center;margin-bottom:24px}.brand img{width:min(390px,68vw);height:auto}.identity{display:grid;grid-template-columns:1fr 1fr;gap:16px}.identity label,.drop-card,.info,.selected{background:rgba(255,255,255,.86);border:1px solid #d7e0e8;box-shadow:0 10px 28px rgba(27,48,73,.045)}.identity label{border-radius:14px;padding:14px 18px}.identity span{display:block;font-size:13px;font-weight:700;color:#23486d}.identity input{width:100%;border:0;outline:0;background:transparent;font-size:15px;padding:6px 0 0;color:#18283a}.drop-card{margin-top:16px;border-radius:16px;padding:12px}.drop{min-height:220px;border:1.5px dashed #6796c6;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:.2s}.drop.drag{background:#f1f6fb;border-style:solid}.cloud{width:48px;height:48px;border:2px solid #1f67a9;border-radius:50%;display:grid;place-items:center;font-size:27px;color:#1f67a9;margin-bottom:12px}.drop h1{font-size:22px;margin:4px 0 6px;font-weight:650}.drop p{margin:0 0 17px;color:#637286}.drop button,.send{border:0;border-radius:11px;background:linear-gradient(135deg,#174f88,#2578bd);color:white;padding:13px 24px;font-size:15px;font-weight:650;cursor:pointer}.info{margin-top:14px;border-radius:15px;display:grid;grid-template-columns:1.2fr .8fr 1.25fr;padding:17px 22px}.info div{padding:0 22px;border-right:1px solid #dbe3ea}.info div:first-child{padding-left:0}.info div:last-child{border:0;padding-right:0}.info b,.info span{display:block}.info b{font-size:14px;color:#1d4f7b}.info span{font-size:13px;color:#697887;margin-top:4px}.selected{margin-top:14px;border-radius:15px;padding:15px}.selected-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;border-bottom:1px solid #e0e6ec;padding:0 3px 12px}.selected-head b{color:#183d60}.selected-head span{font-size:13px}.selected-head button{border:1px solid #d4dee7;background:#f7f9fb;border-radius:9px;padding:8px 11px;color:#42576b;cursor:pointer}.list{padding-top:12px}.empty{min-height:105px;border:1px solid #dce4eb;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#36516c}.empty small{color:#7d8995;margin-top:5px}.file{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border-bottom:1px solid #e7ecf0;font-size:13px}.file b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file em{font-style:normal;color:#718091}.send{width:100%;margin-top:14px}.send:disabled{opacity:.38;cursor:not-allowed}.status{text-align:center;min-height:22px;margin-top:10px;font-size:14px}.ok{color:#17633a}.error{color:#9c2531}footer{text-align:center;color:#657689;font-size:11px;letter-spacing:2px;margin-top:25px} @media(max-width:700px){.page{padding-top:18px}.brand{margin-bottom:14px}.identity{grid-template-columns:1fr}.drop{min-height:205px;padding:22px}.drop h1{font-size:20px}.info{grid-template-columns:1fr;gap:12px}.info div,.info div:first-child,.info div:last-child{padding:0 0 12px;border-right:0;border-bottom:1px solid #e1e7ec}.info div:last-child{border-bottom:0;padding-bottom:0}.selected-head{grid-template-columns:1fr auto}.selected-head button{grid-column:1/-1}.brand img{width:min(360px,78vw)}}
.modal{position:fixed;inset:0;background:rgba(18,31,45,.46);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal.show{display:flex}.modal-card{width:min(500px,94vw);background:#fff;border:1px solid #d9e2ea;border-radius:20px;padding:30px;box-shadow:0 28px 80px rgba(18,40,65,.22);text-align:center;animation:pop .22s ease-out}.check{width:62px;height:62px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#edf5fb;border:1px solid #bfd7eb;color:#1765a5;font-size:32px;font-weight:700}.modal-card h2{margin:0;color:#173b5d;font-size:22px}.confirm-sub{color:#68798a;margin:8px 0 20px}.receipt{border:1px solid #dde5ec;border-radius:13px;overflow:hidden;text-align:left}.receipt div{display:flex;justify-content:space-between;gap:20px;padding:11px 14px;border-bottom:1px solid #e7ecf0}.receipt div:last-child{border-bottom:0}.receipt span{font-size:13px;color:#718091}.receipt b{font-size:13px;color:#263b50;text-align:right}.confirm-note{font-size:12px;line-height:1.45;color:#788694;margin:16px 8px}.modal-card button{width:100%;border:0;border-radius:11px;padding:12px;background:linear-gradient(135deg,#174f88,#2578bd);color:#fff;font-size:14px;font-weight:700;cursor:pointer}@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

body{position:relative;overflow-x:hidden;background:linear-gradient(145deg,#f8fbfd,#fff 48%,#edf5fa)}
main,.wrap,.container{position:relative;z-index:2}
.bg-art{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.wave{position:absolute;left:-10%;width:120%;height:330px;border-radius:50%}
.wave.top{top:-245px;transform:rotate(-5deg);background:linear-gradient(180deg,rgba(30,101,158,.18),rgba(94,154,197,.04));box-shadow:0 45px 0 rgba(40,112,168,.035),0 88px 0 rgba(80,145,190,.02)}
.wave.bottom{bottom:-270px;transform:rotate(4deg);background:linear-gradient(180deg,rgba(80,145,190,.04),rgba(25,94,150,.19));box-shadow:0 -45px 0 rgba(42,115,170,.045),0 -88px 0 rgba(80,145,190,.025)}
.academic-title{text-align:center;margin:2px auto 24px}
.academic-title .title-line{display:block;width:42px;height:4px;margin:0 auto 13px;border-radius:99px;background:linear-gradient(90deg,#174d82,#2580c3)}
.academic-title h1{margin:0;font-family:Georgia,"Times New Roman",serif;color:#173f65;font-size:16px;font-weight:500;letter-spacing:.24em;line-height:1.35}
.academic-title p{margin:8px 0 0;color:#73869a;font-size:10.5px;font-weight:600;letter-spacing:.34em}
@media(max-width:650px){.academic-title h1{font-size:13px;letter-spacing:.12em}.academic-title p{font-size:9px;letter-spacing:.18em}}

/* v16 — logo original aportado por el usuario, sin línea azul inferior */
.brand img{width:min(430px,74vw);height:auto;object-fit:contain}
@media(max-width:650px){.brand img{width:min(330px,82vw)}}

.drop-card{position:relative;overflow:hidden}
.drop-success{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(248,252,255,.98);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.drop-success.show{opacity:1;visibility:visible;transform:scale(1)}
.upload-check{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin-bottom:13px;background:#edf6fc;border:2px solid #86b7dc;box-shadow:0 8px 25px rgba(30,104,163,.13);animation:successPop .42s cubic-bezier(.2,.85,.3,1.25)}
.upload-check span{font-size:35px;color:#1767a7;font-weight:800}
.drop-success strong{color:#17466f;font-size:19px}
.drop-success small{margin-top:6px;color:#74879a;font-size:12px}
@keyframes successPop{0%{transform:scale(.55);opacity:0}65%{transform:scale(1.09);opacity:1}100%{transform:scale(1)}}
