:root{color-scheme:light;--navy:#132b61;--muted:#6a7892;--line:#dce4f2;--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px 24px;color:var(--navy);background:radial-gradient(ellipse at 10% 0,#dbe6f9,transparent 55%),radial-gradient(ellipse at 95% 90%,#e6e1d3,transparent 45%),#f1f5fb;line-height:1.6}
.recovery-shell{width:min(100%,1000px);display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #ffffffd9;border-radius:28px;background:#fff;box-shadow:0 28px 80px #132b6112,0 4px 14px #132b6106;overflow:hidden}
.recovery-identity{display:flex;flex-direction:column;position:relative;isolation:isolate;min-width:0;padding:34px;color:#fff;background:#112659}
.recovery-identity::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#102758e8 0%,#10275891 48%,#071738db 100%),url("fachada-reitoria-atual.jpg") center/cover}
.recovery-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.recovery-brand img{width:64px;height:72px;object-fit:contain;flex-shrink:0}
.recovery-brand>span{font:400 1.04rem/1.25 var(--serif);max-width:190px}
.recovery-brand small{display:block;font:700 .55rem/1.5 system-ui;letter-spacing:.15em;color:#ecca7b;text-transform:uppercase;margin-top:7px}
.recovery-identity-copy{margin:auto 0;padding:70px 0 55px}
.recovery-eyebrow{display:block;font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;font-weight:750;color:#a57825}
.recovery-identity-copy .recovery-eyebrow{color:#efce89}
.recovery-identity-copy h2{font:400 clamp(2rem,4vw,2.8rem)/1.13 var(--serif);letter-spacing:-.025em;margin:18px 0;color:#fff}
.recovery-identity-copy p{font-size:.82rem;line-height:1.9;max-width:30ch;color:#dce5f7}
.recovery-identity-foot{font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;color:#c4d0e9;padding-top:22px;border-top:1px solid #ffffff26}
.recovery-content{padding:36px clamp(28px,4.6vw,56px) 40px;min-width:0}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.recovery-back{display:inline-flex;align-items:center;gap:8px;color:#687b9b;font-size:.72rem;font-weight:650;text-decoration:none}
.recovery-back svg{width:16px;height:16px}
.recovery-back:hover{color:#193f93}
.recovery-heading-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #e2e9f6;background:linear-gradient(135deg,#edf3ff,#f7f9ff);border-radius:16px;color:#23469d;margin:30px 0 22px;box-shadow:0 3px 8px #152e6903}
.recovery-heading-icon svg{width:25px;height:25px}
h1{font-size:clamp(1.6rem,3vw,2rem);line-height:1.2;letter-spacing:-.045em;margin:10px 0 16px;font-weight:700;color:#142c64}
#intro{font-size:.85rem;line-height:1.85;color:var(--muted);margin:0 0 28px}
form{display:grid;gap:10px}
label{font-size:.75rem;font-weight:700;color:#344b72}
input{width:100%;min-width:0;min-height:48px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;font:400 .87rem/1.5 system-ui;background:#fbfcff;color:#203b6a;transition:border-color .18s,box-shadow .18s}
input::placeholder{color:#94a0b4}
input:focus{outline:0;border-color:#809bd0;box-shadow:0 0 0 3px #2750ad12;background:#fff}
.recovery-input{position:relative}
.recovery-input>svg{position:absolute;top:15px;left:14px;width:19px;height:19px;color:#8295b3;pointer-events:none}
.recovery-input input{padding-left:43px}
button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:13px 17px;margin-top:10px;border:1px solid #183780;border-radius:11px;background:linear-gradient(135deg,#153584,#2246ac);box-shadow:0 5px 13px #193b8e20,inset 0 1px #ffffff20;color:#fff;font:700 .8rem/1.5 system-ui;cursor:pointer;transition:box-shadow .18s,background .18s}
button svg{width:17px;height:17px}
button:hover:not(:disabled){background:linear-gradient(135deg,#102a6a,#1d3e98);box-shadow:0 8px 18px #193b8e29}
button:disabled{opacity:.55;cursor:wait}
#password-form label:not(:first-child){margin-top:8px}
.recovery-password-hint{font-size:.72rem;color:var(--muted)}
#feedback{white-space:pre-wrap;font-size:.8rem;line-height:1.8;padding:15px 17px;margin:20px 0 0;border:1px solid #dce6f8;border-radius:12px;color:#304d7e;background:#f2f6fd;overflow-wrap:anywhere}
#feedback:empty{display:none}
.recovery-help{display:grid;gap:4px;margin-top:30px;padding-top:22px;border-top:1px solid #e8edf5;font-size:.72rem;color:#8390a6}
.recovery-help a{display:inline-flex;gap:7px;width:fit-content;color:#34548a;text-decoration:none;font-weight:650}
.recovery-help a:hover{text-decoration:underline}
.recovery-page-footer{font-size:.65rem;color:#8896ac;margin:24px 0 0;text-align:center}
[hidden]{display:none!important}
:is(a,button):focus-visible{outline:3px solid #c9a152;outline-offset:4px}
@media(max-width:700px){body{padding:24px 16px;justify-content:flex-start}.recovery-shell{max-width:480px;grid-template-columns:1fr;border-radius:22px}.recovery-identity{padding:22px 25px}.recovery-brand img{width:45px;height:52px}.recovery-brand>span{font-size:1rem;max-width:230px}.recovery-brand small{font-size:.5rem}.recovery-identity-copy,.recovery-identity-foot{display:none}.recovery-content{padding:26px 25px 30px}.recovery-heading-icon{margin-top:24px}h1{font-size:1.8rem}#intro{font-size:.82rem}.recovery-page-footer{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){input,button{transition:none}}

/* A fotografia se dissolve no fundo branco do formulário. */
.recovery-identity{background:transparent}
.recovery-content{position:relative;z-index:1}
@media(min-width:701px){
 .recovery-identity::before{right:-100px;background-position:43% center;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 64%,#000d 73%,#0007 84%,#0002 93%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 64%,#000d 73%,#0007 84%,#0002 93%,transparent 100%)}
 .recovery-identity-copy,.recovery-identity-foot{max-width:275px}
}
@media(max-width:700px){
 .recovery-identity{padding-bottom:32px}
 .recovery-identity::before{bottom:-35px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,#000b 70%,#0003 86%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,#000b 70%,#0003 86%,transparent 100%)}
}
