.auth-page{min-height:80vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:1rem;width:100%}.auth-card{background:#fff;border-radius:12px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 4px 24px #0000001a}.auth-card h1{text-align:center;color:var(--green-dark);margin-bottom:1.5rem;font-size:1.6rem}.auth-tabs{display:flex;border-radius:8px;overflow:hidden;border:2px solid var(--green-dark);margin-bottom:1.5rem}.auth-tabs button{flex:1;padding:.6rem 1rem;border:none;background:#fff;color:var(--green-dark);font-size:1rem;cursor:pointer}.auth-tabs button.active{background:var(--green-dark);color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form input{padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;outline:none;width:100%}.auth-form input:focus{border-color:var(--green-dark)}.auth-error{color:#c0392b;font-size:.9rem;text-align:center}.auth-submit{padding:.75rem 1rem;background:var(--green-dark);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;width:100%}.auth-submit:hover{background:var(--green-mid)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-info{margin-top:1rem;font-size:.85rem;color:var(--gray);text-align:center;line-height:1.8}.auth-info a{color:var(--green-dark);text-decoration:underline}.auth-info a:hover{color:var(--green-mid)}@media(max-width:960px){.auth-card{max-width:380px;padding:2rem}}@media(max-width:640px){.auth-card{max-width:100%;padding:1.5rem}.auth-card h1{font-size:1.3rem}}@media(max-width:420px){.auth-page{padding:2rem .5rem .5rem;align-items:flex-start}.auth-card{padding:1.2rem;border-radius:8px}}.require-online-screen{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#f5f0e8}.require-online-card{background:#fff;border-radius:16px;padding:2.5rem 2rem;max-width:380px;width:100%;text-align:center;box-shadow:0 4px 24px #00000014}.require-online-icon{font-size:2.5rem;margin-bottom:1rem}.require-online-title{color:#2d5a1b;margin-bottom:1rem;font-size:1.3rem}.require-online-desc{color:#555;line-height:1.6}@media(max-width:768px){.require-online-card{padding:2rem 1.5rem;max-width:340px}.require-online-title{font-size:1.15rem}}@media(max-width:480px){.require-online-screen{min-height:50vh;padding:1.5rem 1rem}.require-online-card{padding:1.75rem 1.25rem;max-width:100%;border-radius:12px}.require-online-icon{font-size:2rem;margin-bottom:.75rem}.require-online-title{font-size:1.05rem}.require-online-desc{font-size:.9rem}}
