/* Identidad UPA · Edición local 1.3 */
body{font-family:'Segoe UI',Arial,sans-serif;color:#173b4e}h1{font-weight:500;letter-spacing:-.6px}h2{font-weight:500}.primary{background:linear-gradient(110deg,#005a8a,#003145);border-radius:8px;box-shadow:0 5px 13px #00314512}.primary:hover{background:#003145}.panel{box-shadow:0 3px 15px #00314504;border-radius:10px}.eyebrow{font-weight:650}.login-shell{padding:38px 28px 25px;background:radial-gradient(ellipse at 90% 85%,#005a8a 0,transparent 55%),linear-gradient(125deg,#003145,#005a8a);position:relative}.login-card{max-width:1180px;grid-template-columns:1fr 1fr;border-radius:22px;border:1px solid #ffffff70;box-shadow:0 28px 90px #001e3850;position:relative}.identity-panel{min-height:610px;padding:36px 48px 40px;background:linear-gradient(155deg,#f6fbfc,#e8f1f5);border-top:6px solid #fbd100;color:#003145;align-items:center;text-align:center;gap:22px}.identity-emblem{width:100%;display:flex;justify-content:center;align-items:center;flex:1}.identity-panel .identity-emblem img{width:210px;height:333px;max-width:100%;object-fit:contain;background:transparent;padding:0;border-radius:0;filter:drop-shadow(0 8px 10px #00314512)}.identity-panel>div:last-child{width:100%;border-top:1px solid #005a8a25;padding-top:22px}.identity-panel .eyebrow{font-size:11px;color:#005a8a;letter-spacing:2px;margin-bottom:10px}.identity-panel h1{font-size:34px;line-height:1.2;font-weight:400;margin:0 0 12px}.identity-panel h1 strong{font-weight:600;font-size:44px}.identity-panel p{color:#526e7e;font-size:12px;margin-bottom:0}.login-form{padding:88px 46px 34px;position:relative;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(165deg,#fff,#fafdff)}.access-seal{position:absolute;right:32px;top:26px;border:1px solid #d7e5ec;border-radius:30px;padding:7px 13px;color:#557484;font-size:9px;font-weight:600;letter-spacing:1.4px}.login-form .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:15px}.login-form h2{font-size:32px;line-height:1.2;color:#003145;font-weight:600;letter-spacing:-.8px;margin-bottom:15px}.login-form>p{font-size:14px;line-height:1.7;max-width:400px;margin-bottom:28px}.login-form label{font-size:12px;color:#003145;font-weight:600;margin-bottom:20px}.login-form input{height:49px;border-radius:9px;padding:12px 15px;border-color:#cedee8;font-size:14px}.login-form .primary{justify-content:center;height:50px;margin-top:5px;font-weight:600;font-size:14px}.login-form .primary span{margin-left:auto}.login-form small{font-size:10px;line-height:1.7;color:#768d99}.login-form #loginError{margin:0 0 14px}.public-footer{max-width:1180px;width:100%;position:relative}.public-links{display:flex;justify-content:center;gap:18px;padding:22px 0 18px;font-size:13px}.public-links .public-button{display:flex;align-items:center;gap:15px;min-width:290px;padding:14px 23px;border-radius:10px;border:1px solid #ffffff50;background:#ffffff10;color:white;text-decoration:none;box-shadow:0 6px 16px #00243618;transition:background .15s}.public-links .public-button:hover{background:#ffffff22;border-color:#fbd100}.public-button>span:nth-child(2){font-weight:600;letter-spacing:.6px;font-size:11px}.public-button small{display:block;color:#d0e7f0;font-weight:400;font-size:11px;letter-spacing:0;margin-top:3px}.public-button b{font-weight:400;color:#fbd100;margin-left:auto}.public-icon{font-size:29px;color:#fbd100;line-height:1}.facebook-icon{font-family:Arial,sans-serif;font-weight:700;font-size:30px}.public-contact{display:flex;justify-content:center;gap:45px;flex-wrap:wrap}.public-contact a{font-size:13px;color:#fff;text-decoration:none}.public-contact a span{font-size:8px;letter-spacing:1.5px;color:#93c8db;display:block;margin-bottom:3px}.public-footer>p{text-align:center;color:#95bacb;font-size:9px;margin:19px 0 0;letter-spacing:.7px}.side-brand{gap:13px;padding-bottom:24px}.side-brand img{width:66px;height:105px;padding:0;background:transparent;object-fit:contain}.side-brand{background:#eef5f8;color:#003145;margin:-12px -5px 0;padding:18px 12px;border-radius:9px}.side-brand div{font-size:13px;font-weight:600}.side-brand small{font-size:11px;line-height:1.4;color:#005a8a;font-weight:650;margin-top:8px}.sidebar{background:linear-gradient(170deg,#003145,#005078)}.topbar>span{font-size:10px;letter-spacing:.8px;color:#315469}.app-footer{font-size:10px}.credential-value{text-transform:none!important;font-family:monospace;letter-spacing:.5px}.teacher-header{display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;background:#fff;border-top:5px solid #fbd100;border-bottom:1px solid #dce7ed;gap:24px}.teacher-brand{display:flex;align-items:center;gap:18px;color:#005a8a;text-decoration:none;font-size:11px;letter-spacing:1px}.teacher-brand img{width:57px;height:91px;object-fit:contain}.teacher-brand strong{display:block;font-size:17px;color:#003145;margin:5px 0}.teacher-brand small{letter-spacing:2px;font-size:9px}.teacher-header .header-actions>span{max-width:220px;font-size:11px;color:#496675}.teacher-main{margin:0 auto;max-width:1300px;min-height:70vh;padding:0 30px 30px}.teacher-main .page-head{padding:35px 0 25px}.teacher-main #teacherContent{padding:0}.teacher-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.teacher-course{margin:0;display:flex;flex-direction:column}.teacher-course h2{font-size:20px}.teacher-course .primary{margin-top:22px;align-self:start}.teacher-course .summary-line{margin-top:auto}.grade-input{max-width:105px;min-width:80px;font-variant-numeric:tabular-nums}.teacher-footer{padding:20px;text-align:center;color:#718894;border-top:1px solid #dce7ed;font-size:11px}#teacherDialogBody{padding:25px}#dialogError{padding:0 25px}#draftMessage{color:#25745c;margin-top:20px;font-size:12px}
@media(min-width:1600px){.login-card{max-width:1280px}.identity-panel{min-height:660px}.identity-panel .identity-emblem img{width:230px;height:365px}.login-form{padding-left:64px;padding-right:64px}.login-form h2{font-size:36px}.identity-panel h1{font-size:36px}.identity-panel h1 strong{font-size:46px}}
@media(max-width:1000px){.login-form{padding:82px 30px 30px}.identity-panel{padding:30px;min-height:580px}.identity-panel .identity-emblem img{width:190px;height:301px}.identity-panel h1{font-size:28px}.identity-panel h1 strong{font-size:36px}.login-form h2{font-size:28px}.side-brand img{width:48px;height:76px}.side-brand{padding:13px 9px}.side-brand div{font-size:11px}.side-brand small{font-size:10px}.teacher-header{flex-wrap:wrap}.teacher-main{padding:0 20px 25px}}
@media(max-width:700px){.login-shell{padding:20px 14px}.login-card{grid-template-columns:1fr;border-radius:16px}.identity-panel{min-height:0;flex-direction:row;text-align:left;padding:24px;gap:22px}.identity-emblem{flex:0 0 auto;width:85px}.identity-panel .identity-emblem img{width:85px;height:135px}.identity-panel>div:last-child{border:0;padding:0}.identity-panel .eyebrow{font-size:8px;letter-spacing:1px}.identity-panel h1{font-size:22px}.identity-panel h1 strong{font-size:28px}.identity-panel p{font-size:10px}.login-form{padding:65px 25px 28px}.access-seal{top:20px;right:24px;font-size:8px}.login-form h2{font-size:27px}.login-form>p{font-size:12px;margin-bottom:22px}.public-links{flex-direction:column;gap:10px;padding:17px 0}.public-links .public-button{min-width:0;width:100%;padding:14px 20px}.public-contact{gap:20px;justify-content:space-around}.public-contact a{font-size:12px}.public-contact a span{font-size:7px}.side-brand{margin:0;display:flex;gap:15px}.side-brand img{width:38px;height:60px}.side-brand div{font-size:13px}.side-brand small{font-size:11px}.teacher-cards{grid-template-columns:1fr}.teacher-header{padding:15px 20px}.teacher-brand strong{font-size:13px}.teacher-brand{font-size:9px}.teacher-header .header-actions{flex-wrap:wrap}.teacher-header .header-actions>span{width:100%;max-width:none}.teacher-main .page-head h1{font-size:25px}.teacher-main .page-head{gap:15px}.teacher-course h2{font-size:18px}}
