:root{--verde-escuro-floresta: #17341b;--verde-musgo: #2a5e31;--verde-folha: #286f32;--verde-vibrante: #20792c;--verde-floresta: #233a26;--verde-profundo: #1a271c;--verde-mato: #337c3d;--verde-claro: #31983e;--branco: #ffffff;--preto: #000000;--bege-claro: #e3cfcf;--font-family: "Raleway", sans-serif;--card-bg: rgba(255, 255, 255, .95);--text-color: #333;--border-radius: 12px;--box-shadow: 0 15px 35px rgba(0, 0, 0, .2);--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-family);line-height:1.6}.login-page,.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--verde-profundo) 0%,var(--verde-floresta) 100%);position:relative;overflow:hidden}.auth-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.758 10.365L50.595 6.2 44.422 12.375l4.163 4.163-4.163 4.163-4.164-4.163-4.162 4.163 4.162 4.163-4.162 4.163-4.163-4.163-4.163 4.163 4.163 4.163-4.163 4.163-4.163-4.163-4.163 4.163 4.163 4.163-4.163 4.163-4.163-4.163-4.163 4.163 4.163 4.163-4.163 4.163-4.163-4.163-4.163 4.163 4.163 4.163-4.163 4.163-4.163-4.163L6.2 50.595l4.163 4.163L6.2 58.922l4.163 4.163 4.163-4.163 4.163 4.163 4.163-4.163-4.163-4.163 4.163-4.163 4.163 4.163 4.163-4.163-4.163-4.163 4.163-4.163 4.163 4.163 4.163-4.163-4.163-4.163 4.163-4.163 4.163 4.163 4.163-4.163-4.163-4.163 4.163-4.163 4.163 4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163-4.163 4.163-4.163-4.163z' fill='%23333' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E")}.auth-container{position:relative;z-index:1;width:100%;max-width:480px;margin:0 auto}.auth-card{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.auth-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00000040}.auth-header{padding:2.5rem 2.5rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--verde-folha),var(--verde-musgo));color:#fff;position:relative;overflow:hidden}.auth-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,#ffffff1a,#fff0 70%);transform:rotate(30deg);pointer-events:none}.logo-container{width:100px;height:100px;margin:0 auto 1rem;border:1px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:.5rem;box-shadow:0 5px 15px #0000001a;position:relative;z-index:1}.logo-container img{max-width:80%;max-height:80%;border-radius:50%}.auth-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;position:relative;z-index:1}.auth-subtitle{font-size:1rem;opacity:.9;font-weight:400;position:relative;z-index:1}.auth-body{padding:2.5rem}.form-group{margin-bottom:1.5rem;position:relative}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--verde-escuro-floresta);transition:var(--transition)}.input-group{position:relative;display:flex;align-items:center;border:1px solid #e0e0e0;border-radius:var(--border-radius);overflow:hidden;transition:var(--transition)}.input-group:focus-within{border-color:var(--verde-folha);box-shadow:0 0 0 3px #31983e33}.input-group-text{color:var(--verde-folha);border:none;padding:0 1rem;height:100%;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.form-control{flex:1;height:50px;border:none;padding:.75rem 1rem;font-size:1rem;background:transparent;transition:var(--transition)}.form-control:focus{outline:none;box-shadow:none}.btn-auth{display:block;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;text-align:center;color:#fff;background:linear-gradient(135deg,var(--verde-folha),var(--verde-musgo));border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;z-index:1}.btn-auth:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--verde-musgo),var(--verde-folha));opacity:0;transition:var(--transition);z-index:-1}.btn-auth:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.btn-auth:hover:before{opacity:1}.btn-auth:active{transform:translateY(0)}.auth-links{text-align:center;margin-top:1.5rem;font-size:.9rem}.auth-link{color:var(--verde-folha);text-decoration:none;font-weight:500;transition:var(--transition);display:inline-block;margin:0 .5rem;position:relative}.auth-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--verde-folha);transition:var(--transition)}.auth-link:hover{color:var(--verde-musgo);text-decoration:none}.auth-link:hover:after{width:100%}.form-check{display:flex;align-items:center;margin-bottom:1.5rem}.form-check-input{width:1.2em;height:1.2em;margin-right:.5rem;border:2px solid #ced4da;border-radius:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;position:relative;transition:var(--transition)}.form-check-input:checked{background-color:var(--verde-folha);border-color:var(--verde-folha)}.form-check-input:checked:after{content:"✓";position:absolute;color:#fff;font-size:.8em;top:50%;left:50%;transform:translate(-50%,-50%)}.form-check-label{color:var(--text-color);font-size:.9rem;cursor:pointer}.invalid-feedback{color:#dc3545;font-size:.8rem;margin-top:.25rem;display:block}.auth-footer{text-align:center;padding:1.5rem 0 0;color:#fffc;font-size:.85rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-container{animation:fadeIn .6s ease-out}@media (max-width: 576px){.login-page,.register-page{padding:1rem}.auth-body{padding:1.5rem}.auth-header{padding:2rem 1.5rem 1rem}.auth-title{font-size:1.5rem}.logo-container{width:80px;height:80px}}input:focus,button:focus,a:focus{outline:none;box-shadow:0 0 0 3px #31983e4d;transition:box-shadow .2s ease}a,button,.form-check-input,.input-group-text{transition:var(--transition)}
