:root{font-family:Inter,ui-sans-serif,system-ui;color:#f7fafc;background:#07131f}*{box-sizing:border-box}body{margin:0;min-height:100vh}.portal-body{position:relative;overflow-x:hidden}.backdrop{position:fixed;inset:0;background:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,18,30,.68) 50%,rgba(4,13,23,.83)),url('/portal-bg-v2.png') center/cover;z-index:-1}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:42px;background:rgba(10,25,39,.88);border:1px solid rgba(255,255,255,.15);border-radius:24px;box-shadow:0 30px 80px #0008;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px}.brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#13b8a6;color:#04201d;font-weight:900}.brand b,.brand small{display:block}.brand small{color:#9fb1c3}.kicker{font-size:12px;letter-spacing:.18em;color:#5ce1d0;margin-top:42px}.login-card h1,.welcome h1{font-size:clamp(38px,6vw,68px);margin:8px 0}.login-card>p{color:#aebdca}.login-card label{display:grid;gap:7px;margin:18px 0;font-size:14px;color:#cbd6df}.login-card input{padding:14px 15px;border:1px solid #415568;border-radius:10px;background:#0c2031;color:#fff;font-size:16px}.login-card button,.choice b{display:block;width:100%;padding:14px;border:0;border-radius:10px;background:#13b8a6;color:#04201d;font-weight:800}.error{padding:11px;background:#5c1c27;border-radius:8px}.secure{display:block;text-align:center;color:#8295a8;margin-top:18px}.choice-wrap{min-height:100vh;padding:34px max(28px,6vw) 70px}.choice-wrap header{display:flex;justify-content:space-between}.logout{background:transparent;color:#fff;border:1px solid #ffffff40;border-radius:9px;padding:9px 18px}.welcome{margin:9vh 0 5vh}.welcome p{color:#a7bac9}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px}.choice{position:relative;display:block;min-height:330px;padding:32px;color:#fff;text-decoration:none;border:1px solid #ffffff24;border-radius:22px;background:rgba(11,29,45,.82);backdrop-filter:blur(16px);transition:.25s}.choice:hover{transform:translateY(-5px);border-color:#5ce1d0}.choice.presence{background:rgba(31,35,48,.86)}.choice .num{position:absolute;right:28px;color:#6f8597}.choice .icon{font-size:38px;color:#5ce1d0}.choice small{display:block;margin-top:38px;color:#6edacb;letter-spacing:.15em}.choice h2{font-size:34px;margin:8px 0}.choice p{color:#b6c5d0;max-width:380px;line-height:1.6}.choice b{position:absolute;left:32px;right:32px;bottom:30px;width:auto;background:transparent;color:#fff;padding:0}.choice i{float:right}@media(max-width:720px){.choices{grid-template-columns:1fr}.choice-wrap{padding:24px}.welcome{margin-top:7vh}.login-card{padding:28px}}

/* Portal MITJAVILA: entrada para a plataforma de Qualidade. */
.choices{max-width:1440px}
.choice.quality{background:rgba(12,43,46,.88)}
.choice:focus-visible{outline:3px solid #5ce1d0;outline-offset:5px}
@media(min-width:1100px){.choices{grid-template-columns:repeat(3,minmax(0,1fr))}}