.wsa-container { max-width: 800px; margin: 20px auto; padding: 30px; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.07); }
.wsa-container h2 { text-align: center; margin-top: 0; }
.wsa-subheading { text-align: center; color: #555; margin-top: -10px; margin-bottom: 30px; }
.wsa-form-grid { display: grid; grid-template-columns: 1fr; gap: 15px; margin-bottom: 20px; }
.wsa-input-group label { display: block; font-weight: 500; margin-bottom: 5px; }
#wsa-url-input, #wsa-keyword-input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; }
#wsa-submit-btn { width: 100%; padding: 12px 25px; background-color: #0073aa; color: white; border: none; border-radius: 6px; font-size: 16px; cursor: pointer; }
#wsa-submit-btn:disabled { background-color: #aaa; cursor: not-allowed; }
#wsa-results-container { margin-top: 30px; border-top: 1px solid #eee; padding-top: 20px; }
.wsa-loader { border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid #0073aa; width: 40px; height: 40px; animation: wsa-spin 1s linear infinite; margin: 20px auto; }
@keyframes wsa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.wsa-error-message { background-color: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; border-radius: 6px; text-align: center; }

/* ------------------- ENHANCED REPORT CARD STYLES ------------------- */
.wsa-report-header { padding-bottom: 20px; border-bottom: 1px solid #eee; }
.wsa-report-title { font-size: 24px; text-align: center; margin-bottom: 15px; }

/* Score Summary */
.wsa-score-summary { display: flex; align-items: center; margin: 0; padding: 20px; background-color: #f7f7f7; border-radius: 8px; }
.wsa-score-circle { width: 80px; height: 80px; line-height: 80px; border-radius: 50%; text-align: center; font-size: 30px; font-weight: bold; color: #fff; margin-right: 20px; flex-shrink: 0; }
.wsa-score-good { background-color: #28a745; }
.wsa-score-warn { background-color: #ffc107; }
.wsa-score-bad { background-color: #dc3545; }
.wsa-score-text h3 { margin: 0 0 5px 0; font-size: 20px; }
.wsa-score-text p { margin: 0; font-size: 14px; color: #555; }

/* Audit Sections */
.wsa-audit-h3 { border-bottom: 2px solid #0073aa; padding-bottom: 5px; margin-top: 40px; }
.wsa-category-section { border: 1px solid #ddd; border-radius: 8px; margin-bottom: 20px; overflow: hidden; }
.wsa-category-section h4 { background-color: #eee; padding: 10px 15px; margin: 0; font-size: 16px; border-bottom: 1px solid #ddd; }

/* Individual Audit Item */
.wsa-audit-item { border-bottom: 1px solid #eee; }
.wsa-audit-item:last-child { border-bottom: none; }
.wsa-audit-summary { display: flex; align-items: center; justify-content: space-between; padding: 15px; cursor: pointer; background-color: #fff; }
.wsa-summary-icon { width: 20px; height: 20px; border-radius: 50%; margin-right: 15px; flex-shrink: 0; }
.wsa-icon-passed { background-color: #28a745; } /* Good */
.wsa-icon-warning { background-color: #ffc107; } /* Warn */
.wsa-icon-error { background-color: #dc3545; } /* Bad */
.wsa-icon-info { background-color: #0073aa; } /* Neutral/Info */

.wsa-summary-text { flex-grow: 1; display: flex; align-items: center; }
.wsa-audit-title { font-weight: bold; }
.wsa-audit-value { font-size: 14px; color: #555; margin-left: 10px; }

.wsa-status-tag { padding: 4px 10px; border-radius: 4px; font-size: 13px; font-weight: 500; color: #fff; flex-shrink: 0; margin-right: 10px; }
.wsa-status-passed { background-color: #28a745; }
.wsa-status-warning { background-color: #ffc107; }
.wsa-status-error { background-color: #dc3545; }
.wsa-status-info { background-color: #0073aa; }

.wsa-toggle-details-btn { background: #0073aa; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; font-size: 13px; flex-shrink: 0; }
.wsa-toggle-details-btn:hover { opacity: 0.9; }

/* Details Panel */
.wsa-audit-details-panel { 
    display: none; /* Hidden by default */
    padding: 15px; 
    border-top: 1px solid #f0f0f0; 
    background-color: #fafafa;
}
.wsa-difficulty-badge { 
    display: inline-block; 
    padding: 5px 10px; 
    border-radius: 4px; 
    font-size: 12px; 
    font-weight: bold; 
    margin-bottom: 10px;
}
.wsa-difficulty-hard-to-solve { background-color: #fcebeb; border: 1px solid #dc3545; color: #dc3545; }
.wsa-difficulty-little-tough-to-solve { background-color: #fff8e8; border: 1px solid #ffc107; color: #ffc107; }
.wsa-difficulty-easy-to-solve, .wsa-difficulty-informative { background-color: #e8f5e9; border: 1px solid #28a745; color: #28a745; }
.wsa-difficulty-no-action-necessary { background-color: #f7f7f7; border: 1px solid #ccc; color: #555; }

.wsa-fix-instructions h5 { margin-top: 0; margin-bottom: 5px; color: #333; font-size: 15px; }
.wsa-fix-instructions p { margin-bottom: 10px; font-size: 14px; line-height: 1.5; }

/* Headings Structure Styles */
.wsa-hierarchy-list-wrapper h5, .wsa-broken-links-list-wrapper h5 { margin-top: 15px; margin-bottom: 5px; font-size: 14px; color: #333; }
.wsa-hierarchy-list, .wsa-broken-links-list { list-style-type: none; padding-left: 0; font-family: monospace; font-size: 13px; margin-top: 0; }
.wsa-hierarchy-list li { margin-bottom: 4px; line-height: 1.5; }
.wsa-hierarchy-list .h-tag { font-weight: bold; color: #fff; padding: 2px 6px; border-radius: 4px; margin-right: 10px; display: inline-block; min-width: 30px; text-align: center; }
.h-tag-h1 { background-color: #d63600; } 
.h-tag-h2 { background-color: #0073aa; margin-left: 15px; }
.h-tag-h3 { background-color: #666; margin-left: 30px; } 
.h-tag-h4 { background-color: #888; margin-left: 45px; }
.h-tag-h5 { background-color: #aaa; margin-left: 60px; } 
.h-tag-h6 { background-color: #ccc; margin-left: 75px; }

/* Broken Links List Styles */
.wsa-broken-links-list li { display: flex; align-items: center; margin-bottom: 6px; line-height: 1.3; font-family: sans-serif; }
.wsa-broken-links-list .status-tag { background-color: #dc3545; color: white; padding: 2px 5px; border-radius: 3px; font-weight: normal; font-size: 12px; margin-right: 10px; flex-shrink: 0; }
.wsa-broken-links-list .link-url { word-break: break-all; font-family: monospace; }


/* Media Query for larger screens */
@media (min-width: 600px) {
    .wsa-form-grid { grid-template-columns: 2fr 1fr; }
}