*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;color:#102c49}body{background:#eef4f8}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(440px,46%) 1fr}.visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#062a4c 0%,#073b66 55%,#075e91 100%);padding:54px 58px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,#2fa5e82b 0,transparent 32%),linear-gradient(120deg,transparent 60%,#ffffff08)}.visual-glow{position:absolute;width:520px;height:520px;border:1px solid #ffffff17;border-radius:50%;right:-250px;bottom:-180px;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff03}.identity,.slogan,.api-monitor,.visual-foot{position:relative;z-index:1}.identity{display:flex;align-items:center;gap:19px}.identity img{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:18px;padding:7px;box-shadow:0 10px 30px #001a2d55}.identity span,.slogan>span{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#f1b632}.identity h1{font-size:40px;letter-spacing:.4px;margin:3px 0 0}.identity p{margin:3px 0 0;color:#d5e7f3}.slogan{max-width:570px}.slogan h2{font-size:42px;line-height:1.08;margin:10px 0 18px;letter-spacing:-1px}.slogan p{max-width:510px;font-size:17px;line-height:1.6;color:#d2e5f2}.api-monitor{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:13px 17px;border:1px solid #ffffff2c;border-radius:13px;background:#001b2e33;backdrop-filter:blur(8px)}.api-monitor i{width:12px;height:12px;border-radius:50%;background:#e8aa24;box-shadow:0 0 0 5px #e8aa2426}.api-monitor.online i{background:#35cf7c;box-shadow:0 0 0 5px #35cf7c25}.api-monitor.offline i{background:#ef6262;box-shadow:0 0 0 5px #ef626225}.api-monitor b,.api-monitor small{display:block}.api-monitor b{font-size:12px;letter-spacing:.7px}.api-monitor small{margin-top:3px;color:#cce0ed}.visual-foot{font-size:12px;color:#9fc3d9;letter-spacing:.5px}.access{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px}.card{width:min(500px,94vw);background:#fff;border:1px solid #d9e5ee;border-radius:22px;padding:38px 42px 32px;box-shadow:0 24px 70px #12345018;position:relative}.card:before{content:"";position:absolute;top:0;left:42px;width:54px;height:4px;background:#e7a91e;border-radius:0 0 4px 4px}.card-mark{display:none}.head>span,.modal-kicker{font-size:11px;font-weight:850;letter-spacing:1.5px;color:#c88400}.head h2{font-size:30px;margin:7px 0 8px;letter-spacing:-.4px}.head p{color:#6d8092;line-height:1.45;margin:0 0 25px}label{display:flex;flex-direction:column;gap:7px;margin:14px 0}label>span{font-size:13px;font-weight:750;color:#29455f}input,select{width:100%;height:47px;border:1px solid #c9d7e3;border-radius:10px;padding:0 13px;font:inherit;color:#102f4c;background:#fbfdff;outline:none;transition:.18s}input:focus,select:focus{border-color:#087bc9;box-shadow:0 0 0 3px #087bc916;background:#fff}.password{position:relative}.password input{padding-right:48px}.password button{position:absolute;right:4px;top:4px;width:39px;height:39px;border:0;background:transparent;color:#638096;cursor:pointer;font-size:17px}.primary,.secondary{border:0;border-radius:10px;min-height:47px;padding:0 17px;font-weight:800;cursor:pointer}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#075f9d,#087cc6);color:#fff;box-shadow:0 8px 18px #0877bb25}.primary:hover{filter:brightness(1.04)}.primary.small{width:auto;gap:25px}.secondary{background:#eaf0f5;color:#26455f}.links{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:19px}.links a,.link-button{color:#096ba9;font:inherit;font-size:13px;font-weight:750;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.message{margin-top:14px;min-height:20px;color:#b4433b;font-size:13px}.message.ok{color:#187b4d}.adm-note{display:flex;gap:10px;align-items:center;margin-top:14px;padding:10px 12px;background:#f3f8fc;border-radius:9px;font-size:12px;color:#667f93}.adm-note b{color:#234c6d}.access footer{margin-top:18px;color:#7890a5;font-size:11px}.modal{position:fixed;inset:0;background:#061b2eaa;display:grid;place-items:center;padding:20px;z-index:50}.modal[hidden]{display:none}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:32px;position:relative;box-shadow:0 30px 90px #0005}.modal-card h2{font-size:27px;margin:5px 0}.modal-card>p{margin:0 0 18px;color:#657b8f}.close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:30px;color:#718696;cursor:pointer}.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.register-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}@media(max-width:900px){.login-page{grid-template-columns:1fr}.visual{min-height:245px;padding:28px 32px}.slogan{display:none}.visual-foot{display:none}.api-monitor{margin-top:28px}.access{padding:24px}.card{padding:34px 28px}.register-grid{grid-template-columns:1fr}.register-grid .full{grid-column:auto}}#schoolField[hidden]{display:none!important}
/* v0.105.50: monitor API sempre visivel no primeiro quadro do notebook */
.visual{justify-content:flex-start;gap:26px;padding-top:34px;padding-bottom:30px}.api-monitor{order:2}.slogan{order:3;margin-top:4px}.visual-foot{order:4;margin-top:auto}.identity{order:1}@media(max-height:760px) and (min-width:901px){.visual{gap:18px;padding-top:24px}.identity img{width:72px;height:72px}.identity h1{font-size:35px}.slogan h2{font-size:34px;margin:6px 0 10px}.slogan p{font-size:15px;line-height:1.45}.card{padding-top:30px;padding-bottom:26px}.head p{margin-bottom:16px}}

/* v0.105.51: monitor API fixo no topo do painel de login */
@media(min-width:901px){.visual{padding-top:104px}.api-monitor{position:absolute!important;top:18px;right:22px;left:auto;margin:0!important;order:initial;z-index:5}.identity{order:1}.slogan{order:2}.visual-foot{order:3}}
