body{margin:0;font:16px system-ui;color:#183047;background:#f2f5f8}header{padding:32px 6%;background:#13324b;color:white}header p:first-child{letter-spacing:3px;color:#73d4c2}main{padding:24px 6%;max-width:1200px;margin:auto}input{padding:12px;width:min(90%,550px);border:1px solid #aabaca;border-radius:6px}#forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:12px;margin:24px 0}button{padding:16px;text-align:left;background:white;border:1px solid #d8e1e8;border-radius:8px;cursor:pointer;color:inherit}button:hover{border-color:#158573}button strong,button span{display:block}button span{font-size:13px;margin-top:6px}section{background:white;padding:24px;border-radius:8px}
.login-page{background:#edf3f6}.login-layout{min-height:100vh;box-sizing:border-box;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:70px;max-width:1180px}.login-intro{background:none;padding:0}.brand{font-size:24px;font-weight:800;letter-spacing:2px}.brand span{font-size:12px;background:#c9e9e1;padding:7px;border-radius:5px;color:#176c5b}.login-intro h1{font-size:clamp(36px,5vw,62px);line-height:1.12;letter-spacing:-2px;margin:60px 0 24px}.login-intro small{display:block;margin-top:60px;color:#617586}.login-card{padding:40px;box-shadow:0 18px 60px #17375012}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#158573}.login-card h2{font-size:30px;margin-bottom:8px}.login-card>p{color:#617586}.login-card label{display:block;margin:22px 0 8px;font-weight:600;font-size:14px}.login-card input{box-sizing:border-box;width:100%;background:#f9fbfc}.password-field{position:relative}.password-field input{padding-right:85px}.password-field button{position:absolute;right:3px;top:3px;border:0;background:transparent;font-size:12px;padding:10px}.primary{display:block;width:100%;text-align:center;background:#167d6b;color:white;font-weight:700;border:0}.primary:disabled{opacity:.6}.cancel{display:block;margin:10px auto 0;border:0;background:none;text-align:center}.login-note{font-size:11px;text-align:center;margin-top:25px}#message{min-height:36px;font-size:13px;color:#9b3a25}input:focus-visible,button:focus-visible{outline:3px solid #57bca7;outline-offset:2px}@media(max-width:800px){.login-layout{grid-template-columns:1fr;gap:20px;padding:24px}.login-intro h1{font-size:34px;margin:20px 0}.login-intro small{margin-top:20px}.login-card{padding:24px}}

.login-card fieldset{border:0;padding:0;margin:0;min-width:0}.login-card fieldset:disabled{opacity:.55}#main-status{font-size:12px;background:#f3f7fa;padding:12px;border-radius:6px;margin-top:18px}#main-status ul{padding-left:18px;max-height:165px;overflow:auto}#main-status li{margin:6px 0}.check-error{color:#a12c20}.check-warning{color:#805b0c}.check-ok{color:#216553}#main-retry{font-size:12px;padding:8px;margin-top:8px}

.registration-link{display:block;text-align:center;margin-top:18px;color:#176e60;font-size:14px}

.registration-link{padding:12px;border:1px solid #98bdb4;border-radius:6px;text-decoration:none;font-weight:600;background:#f1f8f5}
/* Lista de formatos de impressão do orçamento: seleção única, opções visíveis. */
#gerar label:has(#modelo){display:block;margin:16px 0}#gerar #modelo{display:block;box-sizing:border-box;width:100%;max-width:480px;margin-top:6px;padding:4px;border:1px solid #afc5d5;border-radius:6px;font:inherit;background:white}#gerar #modelo option{padding:7px 12px}#gerar label:has(#emitente){display:block;margin:16px 0}#gerar #emitente{display:block;width:100%;max-width:720px;margin-top:6px;padding:8px;font:inherit}
/* Ações da impressão de orçamento. */
#gerar .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
#gerar #pdf,#gerar #salvar-pdf{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;padding:12px 20px;border:1px solid #167d6b;border-radius:8px;background:#167d6b;color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
#gerar #pdf:hover:not(:disabled),#gerar #salvar-pdf:hover{background:#116554;border-color:#116554}
#gerar #pdf:disabled{opacity:.55;cursor:not-allowed}
#gerar #salvar-pdf[hidden]{display:none}
#gerar #salvar-pdf:focus-visible{outline:3px solid #57bca7;outline-offset:2px}
/* Cada campo da impressão tem sua própria linha e o rótulo acima do controle. */
#gerar.impressao-orcamento>label{display:block;margin:0 0 16px}
#gerar.impressao-orcamento>label>input,#gerar.impressao-orcamento>label>select{display:block;box-sizing:border-box;width:100%;max-width:720px;margin-top:6px}
#gerar.impressao-orcamento>label>#codigo{max-width:320px}
#gerar.impressao-orcamento>label>#modelo{max-width:480px}
#gerar.impressao-orcamento>label[hidden]{display:none}
#gerar #salvar-pdf:disabled{opacity:.55;cursor:not-allowed}
