.serp-checker-plugin { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; margin: 2rem 0; }
.serp-checker-plugin .card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,.03); padding: 1.5rem; }
.serp-checker-plugin h4 { color: #1a1a1a; font-weight: 600; margin: 0 0 1.25rem; font-size: 1.25rem; }
.serp-checker-plugin .field { margin-bottom: 1rem; }
.serp-checker-plugin .form-control, .serp-checker-plugin .form-select {
    border: 1px solid #e2e8f0; border-radius: 8px; padding: .5rem .75rem; font-size: 1rem; width: 100%; box-sizing: border-box; transition: border-color .2s, box-shadow .2s;
}
.serp-checker-plugin .form-control:focus, .serp-checker-plugin .form-select:focus {
    border-color: #000; box-shadow: 0 0 0 3px rgba(0,0,0,.15); outline: none;
}
.serp-checker-plugin .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px; appearance: none;
}
.serp-checker-plugin .input-group { display: flex; gap: .5rem; }
.serp-checker-plugin .input-group .form-control { flex: 1; }
.serp-checker-plugin .btn { border: none; border-radius: 8px; cursor: pointer; font-weight: 600; transition: all .2s; }
.serp-checker-plugin .btn-geocode { background: #fff; color: #000; border: 1px solid #000; padding: .5rem 1rem; white-space: nowrap; }
.serp-checker-plugin .btn-geocode:hover { background: #000; color: #fff; }
.serp-checker-plugin .btn-search { background: #6EE147; color: #000; padding: .75rem 1rem; width: 100%; margin-top: .25rem; font-size: 1rem; }
.serp-checker-plugin .btn-search:hover { background: #000; color: #6EE147; }
.serp-checker-plugin .btn:disabled { opacity: .6; cursor: not-allowed; }
.serp-checker-plugin .feedback { margin-top: .5rem; min-height: 1.25rem; font-size: .875rem; font-weight: 500; }
.serp-checker-plugin .feedback.success { color: #00C896; }
.serp-checker-plugin .feedback.error { color: #dc3545; }
.serp-checker-plugin .spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin .6s linear infinite; vertical-align: middle; margin-right: 6px; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 576px) { .serp-checker-plugin .input-group { flex-direction: column; } .serp-checker-plugin .btn-geocode { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .serp-checker-plugin * { transition: none !important; animation: none !important; } }