/**
 * FSAS Software Review — Scorecard Styles v1.4.0
 *
 * All rules scoped under .fsas-sr-wrap with !important on properties
 * themes commonly override. Width is 100% so it fills the theme's content
 * column rather than fighting it with a fixed max-width.
 */

/* ── Reset scope ─────────────────────────────────────── */

.fsas-sr-wrap,
.fsas-sr-wrap *,
.fsas-sr-wrap *::before,
.fsas-sr-wrap *::after {
    box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
}

/* ── Wrapper ─────────────────────────────────────────── */

.fsas-sr-wrap {
    display: block !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    margin: 1.5rem 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    float: none !important;
    clear: both !important;
}

/* ── Header ──────────────────────────────────────────── */

.fsas-sr-header {
    display: flex !important;
    align-items: flex-start !important;
    gap: 2rem !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
    border: none !important;
    background: transparent !important;
}

.fsas-sr-grade-block {
    text-align: center !important;
    min-width: 100px !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.fsas-sr-grade {
    display: block !important;
    font-size: 52px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-shadow: none !important;
    letter-spacing: normal !important;
}

.fsas-sr-grade-label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #666666 !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}

.fsas-sr-grade-score {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #666666 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.4 !important;
}

/* ── Category bars ───────────────────────────────────── */

.fsas-sr-cats {
    flex: 1 1 200px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    min-width: 0 !important;
}

.fsas-sr-cat-row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.fsas-sr-cat-label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555555 !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}

.fsas-sr-cat-grade {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #222222 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.fsas-sr-cat-bar {
    display: block !important;
    height: 6px !important;
    border-radius: 3px !important;
    background: #e5e5e5 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.fsas-sr-cat-fill {
    display: block !important;
    height: 6px !important;
    border-radius: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ── Pros / Cons ─────────────────────────────────────── */

.fsas-sr-pc-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

@media (max-width: 560px) {
    .fsas-sr-pc-grid {
        grid-template-columns: 1fr !important;
    }
}

.fsas-sr-panel {
    display: block !important;
    background: #fafafa !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 10px !important;
    padding: 1rem 1.1rem !important;
    margin: 0 !important;
    box-shadow: none !important;
    float: none !important;
}

.fsas-sr-panel-title {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.4 !important;
}

.fsas-sr-panel-title--pro { color: #1D9E75 !important; }
.fsas-sr-panel-title--con { color: #D85A30 !important; }

.fsas-sr-list-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    list-style: none !important;
}

.fsas-sr-list-item:last-child { margin-bottom: 0 !important; }

.fsas-sr-dot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    margin-top: 5px !important;
    padding: 0 !important;
    border: none !important;
}

.fsas-sr-dot--pro { background: #1D9E75 !important; }
.fsas-sr-dot--con { background: #D85A30 !important; }

.fsas-sr-item-text {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555555 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
}

/* ── Summary ─────────────────────────────────────────── */

.fsas-sr-summary {
    display: block !important;
    background: #f7f7f5 !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 1rem 1.1rem !important;
    margin: 0 0 1rem 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #444444 !important;
    line-height: 1.7 !important;
    box-shadow: none !important;
}

.fsas-sr-summary strong {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #222222 !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
}


/* ── Error ───────────────────────────────────────────── */

.fsas-sr-error {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #a32d2d !important;
    background: #fcebeb !important;
    border: 1px solid #f7c1c1 !important;
    border-radius: 8px !important;
    padding: 0.75rem 1rem !important;
    margin: 1rem 0 !important;
    line-height: 1.5 !important;
}


.fsas-sr-generated {
    display: none !important;
}

/* ── Footer ──────────────────────────────────────────── */

.fsas-sr-footer {
    display: flex !important;
    align-items: center !important;
    margin: 0.75rem 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.fsas-sr-source--total {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #444444 !important;
    background: #e5e5e2 !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    margin: 0 !important;
    border: none !important;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
}

