/* Login & Register styles */
* { margin:0; padding:0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
        body { background: linear-gradient(135deg, #e0f2e9 0%, #d4e6f1 100%); min-height: 100vh; display: flex; justify-content: center; align-items: center; }
        .auth-card { max-width: 450px; width: 90%; background: white; border-radius: 32px; padding: 40px 32px; box-shadow: 0 20px 35px rgba(0,0,0,0.1); }
        .logo { font-size: 2rem; font-weight: 800; text-align: center; background: linear-gradient(135deg, #0f6e4a, #2c7da0); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 8px; }
        h2 { text-align: center; margin: 16px 0 24px; color: #1e2a3e; }
        .sub { text-align: center; color: #4b5563; margin-bottom: 24px; font-size: 0.9rem; }
        input, select { width: 100%; padding: 14px; border-radius: 28px; border: 1px solid #cbd5e1; margin-bottom: 20px; font-size: 1rem; background: white; }
        input { width: 100%; padding: 14px; border-radius: 28px; border: 1px solid #cbd5e1; margin-bottom: 20px; font-size: 1rem; }
        .btn { width: 100%; background: #0f6e4a; color: white; border: none; padding: 14px; border-radius: 40px; font-weight: 700; cursor: pointer; font-size: 1rem; transition: 0.2s; }
        .btn:hover { background: #0a4f35; }
        .info { margin-top: 20px; text-align: center; font-size: 0.85rem; color: #4b5563; }
        a { color: #0f6e4a; text-decoration: none; font-weight: 500; }
        .success { background: #e0f2e9; color: #0f6e4a; padding: 10px; border-radius: 24px; margin-bottom: 16px; text-align: center; display: none; }
        .error { background: #fee2e2; color: #b91c1c; padding: 10px; border-radius: 24px; margin-bottom: 16px; text-align: center; display: none; }
        .loading { display: none; text-align: center; margin-top: 12px; }