/* SIGSH • Novo login institucional | G Infor | Base visual SysDec aprovado.
   Isolado nesta página: não modifica telas internas nem estilos globais do SIGSH. */
:root{--navy:#092650;--navy-deep:#071c40;--blue:#0668ee;--cyan:#03ace7;--green:#4bdf08;--line:#afc9e9;--muted:#536987;--white:#fff}
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;min-height:100%}
body.sigsh-login-body{margin:0;min-height:100vh;overflow-x:hidden;font:400 15px/1.52 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--navy);background:linear-gradient(126deg,#bfcee2 0%,#e3efff 31%,#f9fcff 62%,#d0e3fb 100%)}
.sigsh-login-body button,.sigsh-login-body input,.sigsh-login-body select{font:inherit}
.sigsh-login-body button{cursor:pointer}
.page-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.page-bg::before{content:"";position:absolute;width:128vw;height:46vh;left:-37vw;top:-22vh;border-radius:50%;transform:rotate(-24deg);background:linear-gradient(150deg,#8ca9cb 2%,#d5e5f9 65%,#ffffff99);box-shadow:0 2px 0 #f2bd5acc,0 5px 0 #ffffffdc,0 18px 70px #95b8d875}
.page-bg::after{content:"";position:absolute;left:21%;bottom:-28%;width:140%;height:43%;border-radius:50%;transform:rotate(-18deg);background:linear-gradient(#ffffffeb,#d0e5ff75);box-shadow:0 -2px 0 #2b9af0c9,0 -5px 0 #ffffffcc,0 -25px 75px #8fc5f33b}
.bg-sweep{position:absolute;display:block;pointer-events:none}
.bg-sweep-top{width:85vw;height:3px;left:-21vw;top:17vh;transform:rotate(-23deg);background:linear-gradient(90deg,transparent,#ffdc90,#fff,transparent);box-shadow:0 0 15px #ffd98b55}
.bg-sweep-bottom{width:70vw;height:3px;right:-16vw;bottom:12vh;transform:rotate(-23deg);background:linear-gradient(90deg,transparent,#38a0fc,#fff,transparent);box-shadow:0 0 12px #37a2f388}
.login-page{min-height:100vh;padding:24px clamp(14px,2vw,32px);display:flex;justify-content:center;align-items:center}
.app-frame{width:min(100%,1640px);min-width:0;overflow:hidden;border-radius:29px;background:#f8fbff;border:1px solid #ffffffee;box-shadow:0 26px 88px #245a9833,inset 0 1px #fff}
.frame-header{min-height:91px;padding:10px clamp(22px,2.7vw,44px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(130deg,#ffffff 0%,#f6faff 100%)}
.header-brand{display:flex;align-items:center;gap:24px;min-width:0}
.header-logo{width:clamp(172px,13vw,228px);height:75px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 5px #31588326)}
.header-divider,.footer-divider{width:1px;flex:none;background:#b0c6df}
.header-divider{height:43px}
.header-subtitle{font-size:14px;color:#203f69;line-height:1.45;font-weight:600}
.header-subtitle small{display:block;font-size:12px;font-weight:500;color:#6980a0}
.header-meta{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;color:#173565;white-space:nowrap}
.access-indicator{height:9px;width:9px;flex:none;background:#30cb65;border-radius:50%;box-shadow:0 0 0 4px #d8f8e4}
.version-pill{padding:5px 11px;border-radius:999px;border:1px solid #c3d9f4;background:#e9f3ff;color:#335782;font-weight:700}
.frame-stripe{height:4px;background:linear-gradient(90deg,#0867ee 0%,#089df3 38%,#12c7aa 69%,#6ae000 100%)}
.frame-main{display:grid;grid-template-columns:minmax(0,53%) minmax(0,47%);min-height:630px;background:linear-gradient(115deg,#dcecff 0%,#f0f7ff 55%,#cbdcf2 100%)}
.welcome-panel{position:relative;display:flex;align-items:center;min-width:0;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#bdd8f5 0%,#e7f2ff 55%,#f1f8ff 100%)}
.welcome-arc{position:absolute;left:-3%;right:-3%;top:0;height:260px;background-image:url('../img/sigsh-login-arc.webp');background-position:center top;background-size:100% 100%;background-repeat:no-repeat;opacity:.94;z-index:-1}
.welcome-sheen{position:absolute;inset:0;background:radial-gradient(ellipse at 36% 61%,#ffffffc4,transparent 56%);z-index:-1}
.welcome-content{position:relative;z-index:1;width:100%;padding:50px clamp(30px,5vw,84px) 169px clamp(30px,5vw,84px)}
.welcome-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.13em;font-weight:800;color:#2e5d92;margin-bottom:19px}
.kicker-dot{display:inline-block;width:8px;height:8px;background:#36c868;box-shadow:0 0 0 4px #33cf6a24;border-radius:100%}
.welcome-logo{display:block;width:min(100%,480px);max-height:265px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 10px #2064a51f);margin:0 0 4px -9px}
.welcome-content h1{margin:13px 0 12px;color:#08234e;letter-spacing:-.042em;font-size:clamp(27px,2.35vw,41px);line-height:1.14;font-weight:850}
.welcome-content p{margin:0;max-width:495px;color:#27456d;font-size:clamp(15px,1.2vw,20px);line-height:1.52}
.welcome-accent{display:block;margin-top:23px;width:190px;height:4px;border-radius:20px;background:linear-gradient(90deg,#0669f3 0%,#05b1d0 50%,#7ded00 100%)}
.welcome-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.welcome-highlights span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffffb2;border-radius:999px;background:#ffffffa8;box-shadow:0 3px 12px #12477e14;font-size:11px;color:#33577c;font-weight:700}
.welcome-highlights svg{height:16px;width:16px;fill:none;stroke:#0870ca;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.welcome-wave{position:absolute;bottom:0;left:0;width:100%;height:clamp(165px,13vw,226px);background:url('../img/sigsh-login-wave.webp') center bottom / 100% 100% no-repeat;pointer-events:none;z-index:0}
.signin-side{padding:28px clamp(22px,3.5vw,60px);display:flex;justify-content:center;align-items:center;background:linear-gradient(145deg,#eff7ff 5%,#d2e2f6 100%)}
.signin-card{width:100%;max-width:555px;min-width:0;padding:30px clamp(26px,2.3vw,39px) 31px;border-radius:29px;background:linear-gradient(145deg,#ffffff 0%,#f7faff 100%);box-shadow:0 18px 39px #305e9633,inset 0 1px #fff;border:1px solid #ffffff}
.user-symbol{height:68px;width:68px;margin:0 auto 12px;display:grid;place-items:center;border:2px solid #1788f5;border-bottom-color:#5ddd15;border-radius:17px;background:linear-gradient(145deg,#fff,#edf6ff);color:#115baf;box-shadow:0 6px 13px #2174b53c}
.user-symbol svg{width:42px;height:42px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.signin-card h2{margin:0;color:#071f46;text-align:center;font-size:clamp(25px,2vw,32px);font-weight:850;letter-spacing:-.047em;line-height:1.2}
.signin-help{margin:8px 0 22px;text-align:center;font-size:13px;color:#69809d}
.login-field{margin:0 0 15px}

/* ==========================================
   SIGSH - CORREÇÃO DAS CORES DOS SELECTS
   ========================================== */

/* Texto dos campos */
#sistema,
#consultorio {
    color: #111827 !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
}

/* Todas as opções em preto */
#sistema option,
#consultorio option {
    color: #000000 !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}

/* Somente o texto inicial fica cinza */
#sistema:invalid {
    color: #7a8699 !important;
}

/* Opção selecionada permanece preta */
#sistema:valid,
#consultorio:valid {
    color: #111827 !important;
}

/* Itens desabilitados */
#sistema option:disabled,
#consultorio option:disabled {
    color: #7a8699 !important;
}

.login-field label{display:block;font-size:13px;font-weight:750;color:#122b51;margin:0 0 7px}
.input-wrap{height:49px;display:flex;align-items:center;gap:11px;border:1.5px solid #acc5e4;border-radius:10px;background:#f9fbff;transition:box-shadow .18s,border-color .18s}
.input-wrap:focus-within{border-color:#1684ee;box-shadow:0 0 0 4px #1684ee1f}
.input-icon{margin-left:14px;display:grid;place-items:center;width:20px;height:22px;color:#5c7697;flex:none;font-size:15px;font-weight:700}
.input-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.input-wrap input,.input-wrap select{border:0;outline:0;box-shadow:none!important;min-width:0;flex:1;width:100%;height:100%;background:transparent;padding:0 11px 0 0;color:#153863;font-size:14px;line-height:1.5}
.input-wrap input::placeholder{color:#8292a8;opacity:1}
.input-wrap select{cursor:pointer;appearance:none;-webkit-appearance:none;overflow:hidden;text-overflow:ellipsis;padding-right:11px}
.input-wrap select:invalid{color:#7c8da3}
.select-chevron{flex:none;margin-right:17px;width:9px;height:9px;border-right:2px solid #5b7492;border-bottom:2px solid #5b7492;transform:rotate(45deg) translateY(-2px);pointer-events:none}
.password-toggle{height:40px;width:40px;flex:none;margin-right:4px;border:0;border-radius:8px;color:#60799b;background:transparent;display:grid;place-items:center}
.password-toggle svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.password-toggle:hover,.password-toggle.active{background:#e9f3ff;color:#086adb}
.consultorio-field[hidden]{display:none!important}
.form-extras{margin:6px 0 19px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px}
.remember-label{display:inline-flex!important;align-items:center;gap:9px;white-space:nowrap;cursor:pointer;color:#365377;font-size:12px;font-weight:600}
.remember-label input{appearance:none;display:grid;place-items:center;height:18px;width:18px;border:1.5px solid #a6bddc;border-radius:4px;background:#fff;flex:none;cursor:pointer}
.remember-label input:checked{background:#0875e2;border-color:#0875e2}
.remember-label input:checked::after{content:'✓';color:white;font-size:13px;font-weight:900;line-height:1}
.forgot-link{border:0;background:none;color:#0866e4;font-size:12px;font-weight:700;text-decoration:underline;padding:7px 0;white-space:nowrap}
.forgot-link:hover{color:#073f92}
.submit-login{width:100%;height:55px;display:flex;align-items:center;justify-content:center;gap:25px;padding:10px 17px;border:0;border-radius:15px;background:linear-gradient(100deg,#0059db 0%,#007de2 29%,#06a7b8 56%,#1dc867 77%,#60e000 100%);color:#fff!important;font-size:17px;font-weight:850;box-shadow:0 10px 24px #1d80c345,inset 0 2px 1px #ffffff80;transition:filter .18s,transform .18s}
.submit-login svg{height:22px;width:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.submit-login:hover{filter:brightness(1.04);transform:translateY(-1px)}
.submit-login:active{transform:none}
.secure-note{margin:16px 0 0;text-align:center;color:#7087a2;font-size:11px;display:flex;align-items:center;justify-content:center;gap:8px}
.secure-note svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.frame-footer{min-height:90px;padding:11px 22px;display:flex;align-items:center;justify-content:center;gap:28px;background:linear-gradient(105deg,#fdfefe,#e9f2fd);border-top:1px solid #fff;color:#355273;font-size:13px}
.ginfor-logo{width:clamp(162px,15.5vw,225px);height:64px;object-fit:contain;flex:none}
.footer-divider{height:40px}
.frame-footer strong{color:#082653}
.login-alert{display:flex;align-items:start;gap:10px;margin:-2px 0 15px;padding:10px 13px;border-radius:10px;font-size:12px;line-height:1.5}
.login-alert span{font-size:16px;font-weight:900}
.login-alert-error{background:#fff0f0;border:1px solid #ffd1d1;color:#9d2932}
.login-alert-success{background:#e8fbea;border:1px solid #b1e9c2;color:#206b38}
.sigsh-login-body :is(button,input,select,a):focus-visible{outline:3px solid #56a8f5;outline-offset:2px}
/* Recuperação de senha — aparência alinhada ao login. */
.sigsh-reset-modal .modal-dialog{width:min(92vw,475px);max-width:475px}
.sigsh-reset-modal .modal-content{border:1px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 70px #1b477a55;background:#fbfdff}
.sigsh-reset-modal .modal-header{padding:19px 23px;background:linear-gradient(120deg,#e8f3ff,#f9fcff);border-bottom:1px solid #d7e6f7}
.sigsh-reset-modal .modal-title{color:#092853;font-weight:800}
.sigsh-reset-modal .modal-body{padding:20px 23px 27px}
.sigsh-reset-modal .reset-instruction{font-size:13px;color:#526b89;line-height:1.6;margin:0 0 18px}
.sigsh-reset-modal .reset-submit{height:49px;margin-top:19px;font-size:15px}
.sigsh-reset-modal.sigsh-modal-fallback-open{display:flex!important;align-items:center;justify-content:center;position:fixed;inset:0;z-index:1056;background:#0624499a;padding:14px;opacity:1!important}
.sigsh-modal-fallback-open .modal-dialog{margin:auto;transform:none!important}
/* Responsividade: frame amplo no desktop e formulário utilizável em notebooks e celulares. */
@media(min-width:1500px){.frame-main{min-height:640px}.welcome-content{padding-bottom:170px}}
@media(max-width:1180px){.frame-main{grid-template-columns:49% 51%}.signin-side{padding:25px}.welcome-content{padding-left:45px;padding-right:32px}.welcome-logo{width:min(100%,420px)}.header-meta{font-size:11px}}
@media(max-width:900px){.login-page{padding:15px}.frame-header{min-height:80px;padding:9px 23px}.header-subtitle{font-size:12px}.header-logo{width:173px;height:62px}.header-meta span:not(.version-pill){display:none}.frame-main{grid-template-columns:47% 53%}.welcome-content{padding:25px 23px 150px}.welcome-logo{width:100%;max-height:188px}.welcome-content h1{font-size:26px}.welcome-content p{font-size:15px}.welcome-highlights{display:none}.signin-side{padding:22px 16px}.signin-card{padding:26px 23px}.frame-footer{min-height:76px}.ginfor-logo{height:56px}}
@media(max-width:720px){.login-page{padding:9px 9px 16px;align-items:start}.app-frame{border-radius:22px}.frame-header{min-height:67px;padding:7px 17px}.header-logo{width:150px;height:53px}.header-divider,.header-subtitle{display:none}.header-meta{gap:0}.version-pill{font-size:11px}.frame-main{display:flex;flex-direction:column}.welcome-panel{min-height:240px}.welcome-arc{height:135px}.welcome-content{padding:17px 25px 85px}.welcome-kicker{font-size:9px;margin-bottom:0}.welcome-logo{width:min(73%,276px);max-height:130px;margin:-7px 0 -6px -6px}.welcome-content h1{font-size:25px;margin:0 0 5px}.welcome-content p{max-width:410px;font-size:13px;line-height:1.4}.welcome-accent{width:129px;margin-top:13px;height:3px}.welcome-wave{height:94px}.signin-side{padding:14px 16px 20px}.signin-card{max-width:520px;padding:21px 20px 23px;border-radius:22px}.user-symbol{height:55px;width:55px;margin-bottom:10px}.user-symbol svg{width:34px;height:34px}.signin-card h2{font-size:25px}.signin-help{margin:6px 0 18px}.login-field{margin-bottom:12px}.input-wrap{height:46px}.form-extras{margin-bottom:15px}.submit-login{height:52px}.frame-footer{padding:12px 13px;gap:12px;min-height:72px}.ginfor-logo{width:145px;height:50px}.footer-divider{height:31px}.frame-footer>span:last-child{font-size:10px;max-width:190px;line-height:1.35}}
@media(max-width:395px){.welcome-panel{min-height:230px}.welcome-content{padding-left:19px;padding-right:15px}.welcome-logo{width:72%}.welcome-content h1{font-size:23px}.signin-side{padding:12px}.signin-card{padding:20px 16px}.form-extras{font-size:11px}.forgot-link{font-size:11px}.remember-label{font-size:11px}.frame-footer{gap:8px}.ginfor-logo{width:121px}.frame-footer>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){.sigsh-login-body *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Fallbacks de apresentação quando a CDN do Bootstrap estiver indisponível. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sigsh-reset-modal:not(.show):not(.sigsh-modal-fallback-open){display:none!important}
.sigsh-reset-modal.show{display:block}
