:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#19332a;background:#f3f6f4;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dce5df;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}header strong{font-size:19px}header small{display:block;color:#64756c;margin-top:4px}main{max-width:1120px;margin:32px auto;padding:0 24px}.login{max-width:480px;margin:8vh auto}.card{background:#fff;border:1px solid #dce5df;border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 5px 22px #19332a06}h1{font-size:26px;margin:0 0 12px}h2{font-size:19px;margin:0 0 16px}p{line-height:1.6;color:#52655b}label{display:block;font-weight:600;font-size:14px;margin:15px 0 7px}input,select,textarea{width:100%;font:inherit;padding:11px;border:1px solid #bbcbbf;border-radius:7px;background:white;color:inherit}input[type=checkbox]{width:auto}select[multiple]{min-height:110px}textarea{min-height:80px}button,.button{display:inline-block;font:inherit;font-weight:600;padding:11px 17px;border:1px solid #c6d5ca;border-radius:8px;background:white;color:#225639;cursor:pointer;text-decoration:none}button.primary,.button.primary{background:#247044;color:white;border-color:#247044}button.danger{color:#a13434}button:disabled{opacity:.5;cursor:wait}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}.stat{background:#e4eee7;border-radius:10px;padding:16px;min-width:140px}.stat b{display:block;font-size:24px}.muted,small{color:#64756c}.status{padding:12px;border-radius:8px;background:#e9f1ec;white-space:pre-wrap;overflow-wrap:anywhere}.status.error{background:#fff0ed;color:#983327}.hidden,[hidden]{display:none!important}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:13px 9px;border-bottom:1px solid #e2e9e4}td button{padding:7px 10px;margin:3px}.pill{display:inline-block;padding:4px 8px;border-radius:5px;background:#e4eee7;white-space:nowrap}.pill.off{background:#f9e8e4;color:#983327}.secret{font:12px monospace;overflow-wrap:anywhere;background:#f5f7f5;padding:12px}.hint{font-size:13px}.company-choice{display:block;width:100%;margin:10px 0;text-align:left}a{color:#247044}.notice{border-left:3px solid #ed8e32;padding:8px 14px;background:#fff8ed}.brandline{border-left:4px solid #ff6b0a;padding-left:12px}@media(max-width:700px){.grid{grid-template-columns:1fr}main{padding:0 14px}header{padding:16px;align-items:flex-start}.card{padding:18px}}
.download-box{border:1px solid #dce5df;border-radius:10px;padding:16px;background:#fafcfb}.download-box>strong{font-size:16px}.logo-preview{min-height:76px;border:1px dashed #c6d5ca;border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:center;color:#64756c;background:#fff}.logo-preview.dark{background:#19332a}.logo-preview img{display:block;max-width:100%;max-height:80px;object-fit:contain}h3{font-size:15px;margin:0 0 8px;color:#2f4f40}

/* V2.2.5 — visualização segura de senha */
.password-field{position:relative;display:block;width:100%}.password-field>input{padding-right:48px}.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:6px;background:transparent;color:#52655b;display:flex;align-items:center;justify-content:center;cursor:pointer}.password-toggle:hover{background:#eef3ef;color:#225639}.password-toggle:focus-visible{outline:2px solid #247044;outline-offset:1px}.password-toggle svg{width:21px;height:21px;fill:currentColor;pointer-events:none}.password-toggle[aria-pressed="true"]{color:#225639}


/* V2.2.7 — suporte disponível também no acesso/suspensão */
.login-support{margin-top:18px;padding-top:14px;border-top:1px solid #e2e9e4;text-align:center;font-size:13px}
.login-support a{display:inline-flex;align-items:center;gap:7px;color:#247044;text-decoration:none;font-weight:700;padding:7px 10px;border-radius:8px}
.login-support a:hover{background:#eef5f0;text-decoration:none}
.login-support span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7f7ed;color:#188a47;font-size:12px}

/* v175 — espera limpa, sem alterar a autenticação. */
#access-wait{position:fixed;inset:0;z-index:9999;background:var(--bg,#f4f7f5);display:grid;place-items:center;padding:24px;color:var(--ink,#19332a)}#access-wait[hidden]{display:none!important}#access-wait p{font:600 18px/1.5 system-ui,sans-serif;color:inherit;text-align:center;margin:0}.finance-verifying>*:not(#access-wait):not(script){visibility:hidden}

.finance-login{max-width:820px;min-height:100dvh;margin:0 auto;display:flex;align-items:center;justify-content:center;padding:28px 20px}.finance-access-card{width:100%;text-align:center}.finance-access-card .brandline{border:0;padding:0}.finance-access-card .company-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.finance-access-card .company-choice{margin:0;min-height:88px;text-align:center;overflow-wrap:anywhere}.finance-access-card .finance-login-actions{justify-content:center}.finance-access-card .company-title{text-align:center;margin:28px 0 18px}@media(max-width:480px){.finance-access-card .company-choices{grid-template-columns:1fr}}

#access-wait{background:#fff;color:#19332a}.access-presentation{text-align:center;width:min(850px,100%)}.access-finance-logo{width:min(300px,75%);height:auto;display:block;margin:0 auto 28px}.access-companies{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:28px auto;opacity:0;transform:translateY(12px)}.access-companies.revealed{animation:access-reveal .4s ease forwards}.access-company{width:160px;padding:15px;border:1px solid #e2e9e4;border-radius:14px;display:flex;align-items:center;flex-direction:column;gap:12px}.access-company img{width:110px;height:56px;object-fit:contain}.access-company strong{font:600 14px/1.4 system-ui;overflow-wrap:anywhere}.access-company-initial{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eff5f1;font:700 25px system-ui}.access-maker{display:block;margin-top:36px;color:#52655b;font:700 15px system-ui;letter-spacing:2px}@keyframes access-reveal{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.access-companies.revealed{animation:none;opacity:1;transform:none}}

/* v176 — ícone original acima do nome, anel apenas durante verificação. */
.access-icon-shell{position:relative;width:220px;height:220px;margin:0 auto 12px}
.access-finance-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:270px;height:270px;max-width:none;object-fit:contain}
.access-loading-ring{position:absolute;inset:0;border-radius:50%;border:3px solid #e6f4f2;border-top-color:#04bca8;border-right-color:#1868c9;animation:finance-auth-spin 1.1s linear infinite}
.access-finance-name{font:700 34px/1.2 system-ui,sans-serif;letter-spacing:-.8px;color:#182027;margin:8px 0 20px}
#access-wait.access-confirmed .access-loading-ring{animation:none;opacity:0;transition:opacity .25s ease}
@keyframes finance-auth-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.access-loading-ring{animation:none}#access-wait.access-confirmed .access-loading-ring{transition:none}}
@media(max-height:620px){.access-icon-shell{width:160px;height:160px}.access-finance-icon{width:195px;height:195px}.access-finance-name{font-size:28px;margin-bottom:12px}.access-companies{margin:18px auto}.access-maker{margin-top:20px}}

