/* Base visual compartilhada; controles e eventos continuam nos módulos originais. */
:root{--module-surface:#fff;--module-ink:#163966;--module-muted:#627ea4;--module-line:#d8e5f6;--module-blue:#245bea;--module-green:#16835b;--module-violet:#7945ca;--module-orange:#c87814}
body.dark-mode{--module-surface:#142235;--module-ink:#e4edf8;--module-muted:#a5bad4;--module-line:#324961;--module-blue:#83b6ff;--module-green:#66d4a5;--module-violet:#bb9aff;--module-orange:#fac378}
#appContainer .modal-overlay{padding:18px;background:rgba(9,23,48,.54);backdrop-filter:blur(7px)}
#appContainer .modal{background:var(--module-surface);color:var(--module-ink);border-color:var(--module-line);border-radius:18px;box-shadow:0 24px 72px rgba(4,19,47,.25)}
#appContainer .modal label{color:var(--module-ink)}
#appContainer .modal h1,#appContainer .modal h2,#appContainer .modal h3{color:var(--module-ink);white-space:normal}
#appContainer .modal input:not([type=checkbox]):not([type=radio]),#appContainer .modal select,#appContainer .modal textarea{color:var(--module-ink);background:transparent;border:1px solid var(--module-line);border-radius:9px;font-family:inherit}
#appContainer .modal input::placeholder,#appContainer .modal textarea::placeholder{color:var(--module-muted);opacity:1}
#appContainer .modal .btn-cancel{background:transparent;border:1px solid var(--module-line);color:var(--module-ink)}
#appContainer .modal .btn-save,#appContainer .modal .btn-blue{color:white;background:linear-gradient(110deg,#2566ed,#3446dc)}
#appContainer .modal .modal-actions{gap:10px;padding-top:16px;border-top:1px solid var(--module-line)}
body.dark-mode #appContainer .modal select option{background:var(--module-surface);color:var(--module-ink)}
#loginScreen{padding:32px;overflow-y:auto;background:radial-gradient(ellipse at -10% -20%,#4966d0 0,transparent 46%),radial-gradient(ellipse at 115% 10%,#20458d 0,transparent 52%),linear-gradient(135deg,#1d2b66,#0a1a42 60%,#1e2b69)}
#loginScreen:before,#loginScreen:after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;width:140vw;height:50vw;transform:rotate(-38deg);border:70px solid rgba(72,90,200,.14)}
#loginScreen:before{left:-90vw;top:-45vw}#loginScreen:after{right:-75vw;bottom:-35vw}
#loginScreen .login-layout{display:grid;grid-template-columns:.96fr 1.04fr;width:min(1080px,100%);min-height:620px;max-width:100%;border-radius:24px;overflow:hidden;box-shadow:0 25px 80px rgba(1,10,32,.4);flex-shrink:0}
#loginScreen .login-intro{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(15,46,101,.96),#091b48 68%,#142fb0);color:#fff;padding:50px 44px 24px;border:1px solid #3956b9;border-radius:24px 0 0 24px}
#loginScreen .login-intro:after{content:"";position:absolute;left:-50%;bottom:-60px;width:160%;height:140px;background:linear-gradient(115deg,#0b99ff,#382ade);transform:rotate(35deg);opacity:.5}
#loginScreen .login-intro-brand{display:flex;align-items:center;gap:18px;position:relative;z-index:1}
#loginScreen .login-intro-icon{display:grid;place-items:center;width:66px;height:66px;flex:none;border-radius:19px;background:linear-gradient(140deg,#22b0f2,#3435ed);font-size:32px;box-shadow:inset 0 1px rgba(255,255,255,.3)}
#loginScreen .login-intro-brand strong{font:800 27px/1.2 Manrope,Inter,sans-serif;white-space:nowrap}
#loginScreen .login-intro-brand small{display:block;font-size:10px;letter-spacing:1.8px;margin-top:9px;color:#cadcfd}
#loginScreen .login-intro-copy{position:relative;z-index:1;margin-top:46px}
#loginScreen .login-intro-copy h2{font:800 34px/1.16 Manrope,Inter,sans-serif;margin:0 0 17px;color:white}
#loginScreen .login-intro-copy p{font-size:15px;line-height:1.6;color:#dbe8ff;margin:0}
#loginScreen .login-illustration{position:relative;margin:30px 0 0;height:220px;z-index:1}
#loginScreen .login-laptop{position:absolute;left:60px;top:15px;width:285px;transform:rotate(-9deg) skewY(9deg);filter:drop-shadow(0 18px 14px rgba(0,5,35,.4))}
#loginScreen .laptop-display{height:175px;border:5px solid #2675db;border-bottom-width:12px;border-radius:9px;background:#081b49;padding:9px;box-shadow:inset 0 0 0 3px #051334,0 0 0 1px #73bfff}
#loginScreen .laptop-topline{display:flex;gap:8px;align-items:center;height:15px;margin-bottom:8px;background:#103b81;padding:3px}
#loginScreen .laptop-topline b{width:5px;height:5px;background:#27bdf9;border-radius:50%}#loginScreen .laptop-topline span{height:3px;width:55px;background:#5d8edc}
#loginScreen .laptop-dashboard{display:grid;grid-template-columns:1.1fr 1fr;gap:8px;height:110px}
#loginScreen .laptop-bars{display:flex;gap:5px;align-items:end;padding:7px;background:#153674;border-radius:4px}
#loginScreen .laptop-bars i{background:linear-gradient(#46dbff,#365de3);width:12px;height:80%}#loginScreen .laptop-bars i:nth-child(2n){height:45%}#loginScreen .laptop-bars i:nth-child(3n){height:65%}
#loginScreen .laptop-metrics,#loginScreen .laptop-lines{display:flex;flex-direction:column;justify-content:space-around;padding:7px;background:#13316b;border-radius:4px}
#loginScreen .laptop-metrics span,#loginScreen .laptop-lines span{height:4px;background:linear-gradient(90deg,#28b7f6 18%,transparent 18%,transparent 25%,#3156ac 25%)}
#loginScreen .laptop-ring{width:37px;height:37px;border:9px solid #326cee;border-right-color:#23cce9;border-radius:50%;margin:auto}
#loginScreen .laptop-keyboard{height:45px;margin:-1px -22px 0;background:repeating-linear-gradient(0deg,transparent 0 5px,#174690 5px 7px),repeating-linear-gradient(90deg,#2d65cb 0 12px,#16458e 12px 14px);transform:perspective(110px) rotateX(30deg);border:7px solid #3573da;border-bottom:12px solid #5489ee;border-radius:0 0 14px 14px}
#loginScreen .login-float{position:absolute;display:grid;place-items:center;width:56px;height:70px;border-radius:14px;background:linear-gradient(145deg,#1c499c,#0c2066);border:1px solid #427cef;color:#42c5ff;font-size:29px;transform:skewY(-12deg);box-shadow:0 10px 24px #061538}
#loginScreen .float-chart{left:-2px;top:27px}#loginScreen .float-file{right:-5px;top:-6px;color:#689eff}#loginScreen .float-shield{right:-12px;bottom:12px;color:#67a9ff}
#loginScreen .login-card{width:100%;max-width:none;min-width:0;border-radius:0;background:#fff;padding:38px 44px 32px;box-shadow:none;animation:none;color:#14284e}
#loginScreen .login-logo{gap:16px;margin-bottom:30px}
#loginScreen .login-logo .mark-wrap{width:66px;height:66px;border-radius:18px;background:#081943}
#loginScreen .login-logo .mark{width:35px;height:26px}
#loginScreen .login-logo .main{font-size:23px;color:#101f4e}
#loginScreen .login-logo .sub{font-size:10px;color:#687faf;letter-spacing:3.2px}
#loginScreen .login-card h1{font-size:24px;margin:0 0 8px;color:#101f4e}
#loginScreen .login-sub-text{font-size:13px;line-height:1.5;margin-bottom:25px;color:#6e84af}
#loginScreen .login-card label{color:#516995;font-size:11px;letter-spacing:0;margin-bottom:9px}
#loginScreen .login-input-wrap{position:relative;margin-bottom:21px}
#loginScreen .login-card input{height:51px;margin:0;padding:12px 47px 12px 55px;background:transparent;border:1px solid #bdcff2;color:#183260;border-radius:12px;font-size:14px}
#loginScreen .login-card input::placeholder{color:#7c91b6}
#loginScreen .login-input-icon{position:absolute;top:9px;left:10px;display:grid;place-items:center;width:32px;height:33px;background:#e9f0ff;border-radius:9px;color:#193c94;font-size:17px;pointer-events:none}
#loginScreen .login-eye{top:8px;bottom:8px;right:8px;color:#667fa7}
#loginScreen .login-btn{height:55px;border-radius:12px;background:linear-gradient(105deg,#2367ff,#3435ea);box-shadow:none;font-size:15px;letter-spacing:1px;color:white}
#loginScreen .login-security{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#697fa5;margin-top:25px}
#loginScreen .login-security:before,#loginScreen .login-security:after{content:"";height:1px;background:#d2ddf0;flex:1;margin:0 8px}
@media(max-width:1100px){#loginScreen .login-intro{padding:40px 28px}#loginScreen .login-intro-brand strong{font-size:23px}#loginScreen .login-intro-icon{width:54px;height:54px}#loginScreen .login-card{padding:34px 30px}#loginScreen .login-laptop{left:35px;width:250px}#loginScreen .login-float{width:46px}}
@media(max-width:760px){#loginScreen{padding:20px;align-items:flex-start}#loginScreen .login-layout{display:block;max-width:480px;min-height:0;margin:auto}#loginScreen .login-intro{display:none}#loginScreen .login-card{padding:32px 24px;border-radius:20px}#loginScreen .login-logo .main{font-size:21px}#loginScreen .login-logo .sub{font-size:8px;letter-spacing:2.5px}}
@media(min-width:761px) and (max-height:700px){#loginScreen{align-items:flex-start;padding:20px}#loginScreen .login-layout{min-height:580px;margin:auto}#loginScreen .login-intro-copy{margin-top:28px}#loginScreen .login-card{padding-top:25px;padding-bottom:22px}#loginScreen .login-logo{margin-bottom:20px}}
body.dark-mode #appContainer .modal input:is([type=date],[type=month],[type=number]){color-scheme:dark}
