:root{--color-bg:#fbf1e7;--color-surface:#fff;--color-surface-muted:#f3ead9;--color-text:#1a1a1a;--color-text-muted:#6b6b6b;--color-primary:#1f9d55;--color-primary-hover:#18803f;--color-primary-soft:#e3f3e8;--color-border:#e7dac6;--color-border-strong:#d8c5a6;--color-danger:#c0392b;--color-danger-bg:#fdecea;--color-warning:#b8790f;--color-warning-bg:#fdf1dc;--radius-control:999px;--radius-card:16px;--radius-sm:10px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--shadow-sm:0 1px 3px #1a120612;--shadow-md:0 6px 20px #1a12061a;--shadow-lg:0 10px 30px #1a120629;--shadow-focus:0 0 0 3px var(--color-primary-soft);--transition-fast:.15s ease;--transition-base:.22s ease;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-display:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);background-image:radial-gradient(circle at 88% -8%,#1f9d551f,#0000 45%),radial-gradient(circle at -8% 108%,#1f9d5517,#0000 42%);background-attachment:fixed}h1,h2,h3{font-family:var(--font-family-display);letter-spacing:-.01em;margin:0}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page{max-width:400px;min-height:100vh;padding:var(--space-5) var(--space-4);flex-direction:column;justify-content:center;margin:0 auto;display:flex}.page-card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:var(--space-5) var(--space-4);position:relative}.page-title{margin-bottom:var(--space-4);font-size:1.5rem;font-weight:800;font-family:var(--font-family-display)}.page-link{text-align:center;margin-top:var(--space-4);color:var(--color-primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none;display:block}.page-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (width>=900px){.page{max-width:440px;padding:var(--space-4)}.page--wide{max-width:592px}.page-card{padding:var(--space-4) var(--space-5)}.page-title{font-size:1.4rem}.page-card .field-control,.page-card .btn{padding:var(--space-2) var(--space-3);font-size:.95rem}}.field{margin-bottom:var(--space-4)}.field-label{margin-bottom:var(--space-2);font-weight:700;display:block}.field-control{width:100%;padding:var(--space-3);border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:1rem}.field-control:hover{border-color:var(--color-border-strong)}.field-control:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.field-control-wrap{position:relative}.field-control-wrap.has-icon .field-control{padding-left:44px}.field-control-wrap.has-trailing .field-control{padding-right:44px}.field-icon{color:var(--color-text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field-trailing{display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.field-trailing button{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:6px;display:flex}.field-trailing button:hover{color:var(--color-text);background:var(--color-surface-muted)}@media (width<=480px){.field-control{padding:var(--space-2) var(--space-3);font-size:.95rem}}@media (width>=900px){.field-control{padding:var(--space-2) var(--space-3)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border-radius:var(--radius-control);cursor:pointer;text-align:center;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border:none;font-size:1rem;font-weight:600;display:flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:not(:disabled):hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:not(:disabled):active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-secondary:not(:disabled):hover{background:var(--color-primary-soft)}@media (width<=480px){.btn{padding:var(--space-2) var(--space-3);font-size:.95rem}}@media (width>=900px){.btn{padding:var(--space-2) var(--space-4)}.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-lg)}}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);border-left:3px solid var(--color-danger);padding:var(--space-3);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);font-size:.9rem}.auth-card{text-align:center}.auth-logo{width:52px;height:52px;margin:0 auto var(--space-3);background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-title{margin-bottom:var(--space-1)}.auth-subtitle{color:var(--color-text-muted);margin:0 0 var(--space-4);font-size:.9rem}.auth-card form{text-align:left}.auth-terms-link{color:var(--color-text-muted);margin-top:var(--space-2);font-size:.8rem;font-weight:500}@media (width>=900px){.auth-logo{width:48px;height:48px}.auth-logo svg{width:22px;height:22px}.auth-subtitle{font-size:.9rem}}.termos-card{text-align:left}.termos-card .auth-logo{margin-left:auto;margin-right:auto}.termos-card .page-title{text-align:center}.termos-atualizacao{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-4);font-size:.85rem}.termos-card h2{margin-top:var(--space-4);margin-bottom:var(--space-2);font-size:1rem}.termos-card p,.termos-card li{color:var(--color-text-muted);line-height:1.5}.termos-card ul{margin:0 0 var(--space-2);padding-left:var(--space-4)}.termos-card a{color:var(--color-primary)}
