:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#182c3b;background:#fbfcfd;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;grid-template-columns:46% 54%}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}.brand-panel{background:#132b3b;color:#fff;padding:48px 56px;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff0c;border-radius:50%;bottom:-400px;left:-60px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-size:24px;letter-spacing:3px;width:fit-content}.brand small{font-size:12px;letter-spacing:0;color:#c7df91;border:1px solid #71826b;border-radius:5px;padding:3px 5px;vertical-align:middle}.brand-symbol{display:grid;place-items:center;border:1px solid #c7df91;border-radius:9px;color:#c7df91;width:39px;height:42px;font-size:27px;font-weight:400;letter-spacing:-3px;padding-right:3px}.brand-copy{margin:auto 0;padding:80px 0}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;color:#c7df91}h1{font-size:clamp(32px,3.2vw,52px);font-weight:500;letter-spacing:-1.7px;line-height:1.24;margin:26px 0}h1 em{font-style:normal;color:#c7df91}.brand-copy p{font-size:16px;line-height:1.8;color:#b3c2cc}.brand-footer{display:flex;align-items:center;gap:13px;font-size:13px;color:#b3c2cc}.line{width:30px;height:1px;background:#c7df91}main{display:flex;flex-direction:column;padding:48px 48px 28px;min-width:0}.top-label{text-align:right;letter-spacing:1.5px;color:#667581;font-size:12px}.login{width:100%;max-width:400px;margin:auto;padding:55px 0}.welcome-icon{display:grid;place-items:center;width:48px;height:48px;background:#edf2e6;border:1px solid #dce5cf;border-radius:14px;margin-bottom:26px;color:#405d35}.welcome-icon svg{width:24px;height:24px}h2{font-size:30px;letter-spacing:-1px;line-height:1.2;font-weight:600;margin:0 0 12px}.intro{font-size:16px;color:#687781;margin:0 0 34px}label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}input{width:100%;height:52px;padding:0 15px;border:1px solid #cfd7dd;border-radius:8px;background:#fff;color:#182c3b;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#87929a}input:focus{border-color:#c7df91;box-shadow:0 0 0 3px #e6eddc}.password-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:24px}.text-button{border:0;background:none;color:#52683e;font-size:14px;padding:0}.text-button:hover{text-decoration:underline}.password-field{position:relative}.password-field input{padding-right:54px}.password-field button{position:absolute;right:5px;top:4px;width:44px;height:44px;border:0;background:none;color:#687781;display:grid;place-items:center;border-radius:5px}.password-field svg{width:21px;height:21px}.submit{width:100%;height:52px;border:0;background:#193749;color:#fff;border-radius:8px;margin-top:26px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:15px;transition:background .15s}.submit:hover{background:#254b60}.submit span{font-size:23px;font-weight:400}.account-note{display:flex;align-items:center;gap:13px;border-top:1px solid #e3e8eb;margin-top:32px;padding-top:24px;color:#5e6d77}.account-note svg{width:25px;height:25px;flex-shrink:0}.account-note p{font-size:14px;line-height:1.6;margin:0}.account-note span{color:#75818a}footer{display:flex;justify-content:space-between;gap:16px;color:#76838c;font-size:12px;line-height:1.6}.feedback{font-size:14px;line-height:1.6;background:#eef2f5;border-radius:8px;padding:12px 14px;margin:16px 0 0}.caps-warning{font-size:13px;color:#865512;margin:9px 0 0}:focus-visible{outline:2px solid #c7df91;outline-offset:2px}input:focus-visible{outline:none}@media(min-width:1500px){.brand-panel{padding:60px 80px}}@media(max-width:1000px){.brand-panel{padding:36px 30px}main{padding:36px 30px 24px}h2{font-size:26px}footer{flex-direction:column;gap:4px}}@media(max-width:720px){body{display:block}.brand-panel{padding:24px;background:#132b3b}.brand-copy,.brand-footer{display:none}.brand{font-size:21px}.brand-symbol{height:35px;width:33px;font-size:23px}main{padding:28px 24px 22px;min-height:calc(100svh - 83px)}.top-label{display:none}.login{padding:18px 0 40px}h2{font-size:28px}footer{text-align:center}.welcome-icon{margin-bottom:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.process-office-picker{margin:0;padding:12px;border:1px solid #d9e2e9;border-radius:8px;display:grid;gap:10px}.process-office-picker label{display:flex;align-items:center;gap:10px;font-weight:400}.process-office-picker input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0}.process-office-picker span{overflow-wrap:anywhere}
/* Date inputs always allow continuous typing; native pickers are auxiliary. */
input.free-date-input[aria-invalid=true]{border-color:#b42318!important}
input.free-date-input {
  padding-right: 34px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23446073' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 11h18M7 15h2M12 15h2M7 18h2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 9px center !important;
  min-width: 135px;
}
/* Keep native dropdown arrows while matching editable field surfaces. */
body select:not(:disabled){background-color:var(--surface,#fff);color:var(--text,#193749)}
body select:disabled{background-color:#e9edf0;color:#74818b;cursor:not-allowed}
body[data-theme=dark] select:not(:disabled){background-color:var(--surface,#1b2e3a);color:var(--text,#e5edf3)}
body[data-theme=dark] select:disabled{background-color:#34434e;color:#a1afb8}
/* Never paint the login or placeholder dashboard during protected navigation. */
html.nomos-booting{background:#f4f7f9;}
html.nomos-booting body{visibility:hidden!important;}
html.nomos-booting::after{content:'Carregando Nomos…';position:fixed;inset:0;display:grid;place-items:center;font:500 15px/1.5 system-ui,sans-serif;color:#365565;}
.nomos-startup-error{margin:10vh auto;padding:32px;max-width:560px;display:block;}
