.seo-wrapper {
    font-family: system-ui, -apple-system, sans-serif; max-width: 1200px; margin: 0 auto;
    background: #f8f9fa; padding: 25px; border-radius: 12px; border: 1px solid #dee2e6;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); color: #212529;
}
.seo-wrapper * { box-sizing: border-box; }
.seo-header { text-align: center; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid #e9ecef; }
.seo-header h2 { color: #2563eb; margin: 0 0 8px 0; font-weight: 900; }
.seo-header p { margin: 0; color: #6c757d; font-weight: 500; }

.seo-config-panel { background: #fff; padding: 20px; border-radius: 8px; border: 1px solid #e9ecef; margin-bottom: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.02);}
.seo-form-group { margin-bottom: 15px; }
.seo-form-group label { display: block; font-weight: 700; margin-bottom: 8px; font-size: 0.95rem; }
.seo-input, .seo-textarea { width: 100%; padding: 12px; border: 2px solid #dee2e6; border-radius: 6px; font-family: inherit; font-size: 0.95rem; outline: none; transition: 0.2s;}
.seo-input:focus, .seo-textarea:focus { border-color: #2563eb; }

.seo-actions { display: flex; gap: 15px; }
.seo-btn-primary, .seo-btn-danger, .seo-btn-success { flex: 1; padding: 14px; border: none; border-radius: 6px; font-weight: 800; font-size: 1rem; cursor: pointer; color: #fff; transition: 0.2s; }
.seo-btn-primary { background: #2563eb; } .seo-btn-primary:hover { background: #1d4ed8; }
.seo-btn-danger { background: #dc3545; } .seo-btn-danger:hover { background: #b02a37; }
.seo-btn-danger:disabled { background: #e9ecef; color: #adb5bd; cursor: not-allowed; }
.seo-btn-success { background: #198754; } .seo-btn-success:hover { background: #157347; } .seo-btn-success:active { transform: scale(0.98); }

.seo-status-board { display: flex; gap: 15px; margin-bottom: 20px; }
.seo-stat-card { flex: 1; background: #fff; padding: 15px; border-radius: 8px; border: 1px solid #e9ecef; display: flex; justify-content: space-between; font-size: 1.1rem; font-weight: 700; }

.seo-table-container { background: #fff; border-radius: 8px; border: 1px solid #e9ecef; overflow-x: auto; max-height: 600px; overflow-y: auto;}
.seo-table { width: 100%; border-collapse: collapse; text-align: left; }
.seo-table th { background: #f1f3f5; padding: 12px 15px; font-weight: 800; border-bottom: 2px solid #dee2e6; position: sticky; top: 0; z-index: 2;}
.seo-table td { padding: 12px 15px; border-bottom: 1px solid #e9ecef; font-size: 0.95rem; vertical-align: middle; }
.seo-table tr:hover { background: #f8f9fa; }
.rank-top { color: #fff; background: #198754; padding: 4px 8px; border-radius: 4px; font-weight: 800; text-align: center; display: inline-block; min-width: 50px;}
.rank-out { color: #fff; background: #6c757d; padding: 4px 8px; border-radius: 4px; font-weight: 800; text-align: center; display: inline-block; min-width: 50px;}
.seo-btn-success { background: #198754; color: #fff; border: none; border-radius: 6px; font-weight: 800; padding: 14px; cursor: pointer; transition: 0.2s; flex: 1; font-size: 1rem;}
.seo-btn-success:hover { background: #157347; }
.seo-btn-success:active { transform: scale(0.98); }
.seo-btn-resume { background: #dc3545; color: #fff; border: none; border-radius: 4px; font-weight: 800; padding: 5px 12px; cursor: pointer; margin-left: 15px; font-size: 0.85rem; box-shadow: 0 2px 5px rgba(0,0,0,0.2); animation: pulse 1.5s infinite;}
.seo-btn-resume:hover { background: #b02a37; }
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }