:root{--g9:#003d33;--g8:#004c40;--g7:#006555;--g6:#0e7c5c;--g2:#cfe6dd;--g1:#eef6f3;--ink:#1f2937;--mut:#5b6472;--line:#e3e8e6;--bg:#f5f8f7;--red:#c0392b;--amber:#b7791f;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--g7)}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;background:var(--g7);color:#fff;font-weight:700;font-size:14px;padding:12px 18px;cursor:pointer;text-decoration:none;transition:background .15s}.btn:hover{background:var(--g8)}.btn:disabled{opacity:.55;cursor:wait}.btn.ghost{background:#fff;color:var(--g7);border:1.5px solid var(--g2)}.btn.ghost:hover{background:var(--g1)}.btn.danger{background:#fff;color:var(--red);border:1.5px solid #f1c7c2}.btn.sm{padding:7px 11px;font-size:12.5px;border-radius:7px}.input,select.input{width:100%;border:1.5px solid #d4dbd8;border-radius:9px;padding:11px 13px;font:500 14.5px Montserrat,system-ui,sans-serif;color:var(--ink);background:#fff;outline:none}.input:focus{border-color:var(--g7);box-shadow:0 0 0 3px rgba(0,101,85,.14)}.lbl{display:block;font-size:12.5px;font-weight:700;color:#374151;margin:0 0 6px}.err{color:var(--red);font-size:13px;min-height:18px;margin:8px 0}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--g7);letter-spacing:-.01em}.brand b{background:var(--g7);color:#fff;font-size:10px;padding:2px 5px;border-radius:4px;letter-spacing:.04em}.chip{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px}.chip.ativo{background:#e3f4ec;color:#1e7a4f}.chip.expirado{background:#fdf0dc;color:var(--amber)}.chip.revogado{background:#fbe6e3;color:var(--red)}.auth-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#004c40,#006555 55%,#0e7c5c)}.auth-card{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:34px 30px 26px;box-shadow:0 24px 60px rgba(0,0,0,.28)}.auth-card h1{font-size:21px;margin:18px 0 6px;text-align:center}.auth-card .sub{font-size:14px;line-height:1.55;color:var(--mut);text-align:center;margin:0 0 22px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#374151;margin:16px 0 4px;cursor:pointer}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--g7);flex-shrink:0}.foot{font-size:11.5px;color:#7a828e;text-align:center;margin:16px 0 0;line-height:1.5}.modal-bg{position:fixed;inset:0;background:rgba(10,25,22,.55);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modal{background:#fff;border-radius:14px;max-width:640px;width:100%;max-height:min(84vh,780px);display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.3)}.modal .mb{overflow:auto;padding:24px 26px;font-size:14px;line-height:1.65;color:#374151}.modal .mf{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}.modal h2{margin:0 0 8px;font-size:18px;color:var(--g7)}.modal h3{margin:18px 0 4px;font-size:14px}