/* Identidade de acesso Mile Ótica: isolada dos estilos das telas internas. */
body.bg-gradient-primary { margin: 0; background: #07152d; }
.mo-login-shell { min-height: 100vh; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(430px, .82fr); background: #07152d; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.mo-login-visual { position: relative; overflow: hidden; isolation: isolate; min-height: 100svh; background: #06152f; }
.mo-login-visual-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.08) contrast(1.04); transform: scale(1.025); animation: mo-login-image-breathe 12s ease-in-out infinite alternate; }
.mo-login-visual::before, .mo-login-visual::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.mo-login-visual::before { z-index: 1; background: linear-gradient(112deg, rgba(2,14,35,.93) 0%, rgba(3,20,47,.62) 39%, rgba(4,23,50,.15) 74%), linear-gradient(0deg, rgba(3,13,31,.55), transparent 48%); }
.mo-login-visual::after { z-index: 2; opacity: .24; background-image: linear-gradient(rgba(120,220,255,.28) 1px, transparent 1px), linear-gradient(90deg, rgba(120,220,255,.28) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.4) 62%, transparent 100%); animation: mo-login-grid 20s linear infinite; }
.mo-login-orbit { position: absolute; z-index: 3; border: 1px solid rgba(100,226,255,.35); border-radius: 50%; pointer-events: none; }
.mo-login-orbit--one { width: 37rem; height: 37rem; right: -18rem; top: -13rem; box-shadow: 0 0 80px rgba(38,203,255,.14), inset 0 0 42px rgba(38,203,255,.08); animation: mo-login-orbit 18s linear infinite; }
.mo-login-orbit--two { width: 19rem; height: 19rem; left: -8rem; bottom: -10rem; border-color: rgba(131,104,255,.36); animation: mo-login-orbit 12s linear infinite reverse; }
.mo-login-visual-content { position: relative; z-index: 4; display: flex; min-height: 100svh; max-width: 680px; padding: clamp(48px,8vw,116px); padding-right: clamp(42px,6vw,96px); flex-direction: column; justify-content: center; color: #fff; }
.mo-login-kicker, .mo-login-signal { display: inline-flex; align-items: center; gap: 9px; width: fit-content; border: 1px solid rgba(162,237,255,.24); border-radius: 999px; background: rgba(3,17,39,.36); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.mo-login-kicker { padding: 9px 14px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #b6efff; }.mo-login-kicker i { color: #45d9ff; }
.mo-login-visual h1 { margin: 26px 0 18px; font-size: clamp(46px,5.35vw,82px); font-weight: 650; line-height: .98; letter-spacing: -.06em; }.mo-login-visual h1 em { font-style: normal; background: linear-gradient(100deg,#79edff 0%,#6da7ff 46%,#c0a3ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mo-login-visual p { max-width: 425px; margin: 0; font-size: 17px; line-height: 1.6; color: rgba(235,248,255,.76); }.mo-login-signal { margin-top: 40px; padding: 10px 14px; font-size: 12px; font-weight: 600; color: #e8fbff; }.mo-login-signal-dot { width: 8px; height: 8px; border-radius: 50%; background: #4ee9aa; box-shadow: 0 0 0 0 rgba(78,233,170,.7); animation: mo-login-pulse 2s infinite; }
.mo-login-panel { display: flex; align-items: center; justify-content: center; padding: clamp(34px,6vw,86px); background: radial-gradient(circle at 96% 0%,rgba(43,179,255,.11),transparent 28rem), #f8fbff; }.mo-login-card { width: min(100%,430px); }
.mo-login-brand { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(45px,8vh,84px); color: #102b51; font-size: 20px; font-weight: 500; letter-spacing: -.04em; }.mo-login-brand-mark { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 12px; background: linear-gradient(135deg,#e7faff,#d6f1ff); box-shadow: 0 10px 25px rgba(34,151,211,.16); overflow: hidden; }.mo-login-brand-mark img { width: 32px; height: 32px; object-fit: contain; }.mo-login-brand-name strong { color: #00a7db; font-weight: 750; }
.mo-login-heading { margin-bottom: 31px; }.mo-login-eyebrow { margin: 0 0 10px; color: #009dd3; font-size: 10px; font-weight: 800; letter-spacing: .17em; }.mo-login-heading h2 { margin: 0; color: #102b51; font-size: clamp(32px,3vw,42px); font-weight: 720; letter-spacing: -.055em; line-height: 1.06; }.mo-login-heading > p:last-child { margin: 13px 0 0; color: #6e819c; font-size: 15px; line-height: 1.55; }
.mo-login-alert { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 22px; padding: 12px 14px; border: 1px solid #ffd2d8; border-radius: 12px; background: #fff6f7; color: #a02d3e; font-size: 13px; line-height: 1.45; }.mo-login-alert i { margin-top: 3px; }
.mo-login-form { display: grid; gap: 20px; }.mo-login-field label { display: block; margin: 0 0 8px; color: #274260; font-size: 13px; font-weight: 700; }.mo-login-input-wrap { position: relative; }.mo-login-input-wrap > i { position: absolute; z-index: 1; top: 50%; left: 16px; color: #7f93ae; font-size: 14px; transform: translateY(-50%); pointer-events: none; }.mo-login-input-wrap input { width: 100%; height: 52px; padding: 0 16px 0 43px; border: 1px solid #dce5ef; border-radius: 13px; outline: none; background: #fff; box-shadow: 0 2px 5px rgba(24,51,87,.015); color: #183958; font-size: 15px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }.mo-login-input-wrap input::placeholder { color: #a0adbd; }.mo-login-input-wrap input:hover { border-color: #b9cbe0; }.mo-login-input-wrap input:focus { border-color: #1bbbe9; box-shadow: 0 0 0 4px rgba(27,187,233,.12); }.mo-login-input-wrap:focus-within > i { color: #009fd5; }
.mo-login-submit { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 54px; margin-top: 5px; border: 0; border-radius: 13px; background: linear-gradient(100deg,#008dc5,#08bfe8); box-shadow: 0 14px 28px rgba(0,157,211,.23); color: #fff; font-size: 15px; font-weight: 750; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }.mo-login-submit:hover { filter: brightness(1.04); box-shadow: 0 18px 34px rgba(0,157,211,.31); transform: translateY(-2px); }.mo-login-submit:active { transform: translateY(0); }.mo-login-submit:focus-visible, .mo-login-help a:focus-visible { outline: 3px solid rgba(0,166,218,.3); outline-offset: 3px; }.mo-login-submit:disabled { cursor: wait; filter: saturate(.75); transform: none; }
.mo-login-help { margin-top: 25px; text-align: center; }.mo-login-help a { color: #087eaf; font-size: 13px; font-weight: 700; text-decoration: none; }.mo-login-help a:hover { color: #005c8a; text-decoration: underline; }.mo-login-help i { margin-left: 4px; font-size: 10px; }.mo-login-footer { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: clamp(38px,8vh,74px); color: #8998aa; font-size: 11px; text-align: center; }.mo-login-footer i { color: #1caed7; }
@keyframes mo-login-image-breathe { to { transform: scale(1.075) translate(-.5%,-.5%); } }@keyframes mo-login-grid { to { background-position: 54px 54px; } }@keyframes mo-login-orbit { to { transform: rotate(360deg); } }@keyframes mo-login-pulse { 70% { box-shadow: 0 0 0 8px rgba(78,233,170,0); } 100% { box-shadow: 0 0 0 0 rgba(78,233,170,0); } }
@media (max-width: 920px) { .mo-login-shell { display: block; }.mo-login-visual { display: none; }.mo-login-panel { min-height: 100vh; min-height: 100svh; padding: 32px 24px; }.mo-login-brand { margin-bottom: clamp(48px,13vh,92px); } }
@media (max-width: 420px) { .mo-login-panel { align-items: flex-start; padding: 28px 20px; }.mo-login-brand { margin-bottom: 54px; }.mo-login-heading h2 { font-size: 34px; }.mo-login-footer { margin-top: 45px; } }
@media (prefers-reduced-motion: reduce) { .mo-login-visual-image, .mo-login-visual::after, .mo-login-orbit, .mo-login-signal-dot { animation: none; }.mo-login-submit { transition: none; } }
