.psa-auditor-container { max-width: 500px; margin: 40px auto; padding: 40px 30px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.03); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; box-sizing: border-box; }
.psa-heading { font-size: 22px !important; font-weight: 700 !important; color: #0f172a !important; margin: 0 0 10px 0 !important; text-align: center !important; text-transform: uppercase !important; letter-spacing: 1px !important; line-height: 1.3 !important; }
.psa-subheading { font-size: 14px !important; color: #64748b !important; text-align: center !important; margin: 0 0 30px 0 !important; line-height: 1.5 !important; }
.psa-input-group { margin-bottom: 20px !important; }

/* FIX: Maximum Specificity using IDs and Webkit Appearance */
form#psa-audit-form input#psa_target_url, 
form#psa-audit-form input#psa_user_email { 
	width: 100% !important; 
	padding: 15px 20px !important; 
	font-size: 15px !important; 
	color: #1e293b !important; 
	background-color: #f8fafc !important; 
	border: 1px solid #cbd5e1 !important; 
	border-radius: 8px !important; 
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.02) !important; 
	transition: all 0.3s ease !important; 
	box-sizing: border-box !important; 
	margin: 0 !important;
	height: auto !important;
	line-height: normal !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

/* Dim Placeholder Styling */
form#psa-audit-form input::placeholder { color: #94a3b8 !important; opacity: 1 !important; }
form#psa-audit-form input:-ms-input-placeholder { color: #94a3b8 !important; }
form#psa-audit-form input::-ms-input-placeholder { color: #94a3b8 !important; }

form#psa-audit-form input:focus { background-color: #ffffff !important; border-color: #3b82f6 !important; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important; outline: none !important; }

/* Button Styling */
button#psa-submit-btn.psa-btn { width: 100% !important; padding: 16px !important; background: #0f172a !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 1px !important; cursor: pointer !important; transition: background 0.3s ease !important; line-height: normal !important; -webkit-appearance: none !important; }
button#psa-submit-btn.psa-btn:hover { background: #334155 !important; }
button#psa-submit-btn.psa-btn:disabled { background: #94a3b8 !important; cursor: not-allowed !important; }

.psa-success { color: #10b981 !important; font-size: 14px !important; margin: 20px 0 0 0 !important; text-align: center !important; font-weight: 500 !important; padding: 15px !important; background: #ecfdf5 !important; border-radius: 8px !important; }
.psa-error { color: #ef4444 !important; font-size: 14px !important; margin: 20px 0 0 0 !important; text-align: center !important; font-weight: 500 !important; padding: 15px !important; background: #fef2f2 !important; border-radius: 8px !important; }

/* Mobile Responsiveness - Ultra Specific */
@media screen and (max-width: 768px) {
	.psa-auditor-container { 
		padding: 25px 20px !important; 
		margin: 15px auto !important; 
	}
	h3.psa-heading { 
		font-size: 18px !important; 
		margin-bottom: 8px !important; 
	}
	p.psa-subheading { 
		font-size: 13px !important; 
		margin-bottom: 20px !important; 
	}
	
	/* Input Fields: Font size MUST be 16px on mobile to prevent iOS Safari auto-zooming */
	div.psa-auditor-container form#psa-audit-form input#psa_target_url, 
	div.psa-auditor-container form#psa-audit-form input#psa_user_email { 
		padding: 12px 15px !important; 
		font-size: 16px !important; 
		height: 48px !important;
	}
	
	/* Button: Noticeably smaller font and tighter padding for mobile */
	div.psa-auditor-container form#psa-audit-form button#psa-submit-btn.psa-btn { 
		padding: 14px !important; 
		font-size: 13px !important; 
		height: 48px !important;
		letter-spacing: 0.5px !important;
	}
	
	.psa-success, .psa-error {
		font-size: 13px !important;
		padding: 12px !important;
	}
}