:root{
    --sa-ink:#1f2937;
    --sa-muted:#6b7280;
    --sa-border:#d8dee6;
    --sa-panel:#ffffff;
    --sa-soft:#f7f8fa;
    --sa-brand:#0f766e;
    --sa-brand-dark:#115e59;
    --sa-accent:#c2410c;
    --sa-danger:#b91c1c;
    --sa-warning:#b45309;
    --sa-success:#15803d;
    --sa-shadow:0 18px 50px rgba(15,23,42,.08);
}

.sa-wrap{
    max-width:1440px;
    padding-right:24px;
}

.sa-topbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:20px;
    padding:24px 0 18px;
    border-bottom:1px solid var(--sa-border);
}

.sa-title{
    margin:0 0 6px;
    font-size:28px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
    color:var(--sa-ink);
}

.sa-sub{
    margin:0;
    font-size:13px;
    color:var(--sa-muted);
}

.sa-topbar-right{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.sa-btn-primary,
.sa-btn-secondary,
.sa-btn-ghost{
    border-radius:999px;
    padding:9px 16px;
    font-size:13px;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    transition:all .18s ease;
}

.sa-btn-primary{
    background:linear-gradient(135deg,var(--sa-brand),var(--sa-brand-dark));
    border:1px solid transparent;
    color:#fff;
    font-weight:700;
    box-shadow:0 8px 24px rgba(15,118,110,.18);
}

.sa-btn-primary:hover{
    filter:brightness(.97);
}

.sa-btn-primary:disabled{
    opacity:.65;
    cursor:not-allowed;
    box-shadow:none;
}

.sa-btn-secondary{
    background:#fff;
    border:1px solid var(--sa-border);
    color:var(--sa-ink);
    font-weight:600;
}

.sa-btn-secondary:hover,
.sa-btn-ghost:hover{
    border-color:#b6c0cd;
    background:#f9fafb;
}

.sa-btn-ghost{
    background:transparent;
    border:1px solid var(--sa-border);
    color:var(--sa-muted);
}

.sa-optimization-center{
    margin-bottom:20px;
}

.sa-mode-pill{
    display:inline-flex;
    align-items:center;
    padding:6px 12px;
    border-radius:999px;
    background:#ecfeff;
    color:#0f766e;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.sa-compare-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    padding:18px;
    border-bottom:1px solid #edf1f5;
}

.sa-compare-card{
    padding:18px;
    border:1px solid #e6edf5;
    border-radius:18px;
    background:linear-gradient(180deg,#fff,#f9fbfc);
}

.sa-compare-card--active{
    background:linear-gradient(135deg,rgba(15,118,110,.1),rgba(255,255,255,.95));
    border-color:rgba(15,118,110,.24);
}

.sa-compare-label{
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sa-muted);
    margin-bottom:10px;
}

.sa-compare-score{
    font-size:38px;
    line-height:1;
    font-weight:800;
    color:var(--sa-ink);
    letter-spacing:-.04em;
    margin-bottom:8px;
}

.sa-compare-text{
    font-size:20px;
    line-height:1.1;
    font-weight:800;
    color:var(--sa-ink);
    margin-bottom:8px;
}

.sa-compare-copy{
    font-size:13px;
    line-height:1.55;
    color:var(--sa-muted);
}

.sa-module-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    padding:18px;
}

.sa-module-card{
    min-height:142px;
    padding:18px;
    border-radius:18px;
    border:1px solid #e8edf3;
    background:#fff;
}

.sa-module-title{
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--sa-muted);
    margin-bottom:10px;
}

.sa-module-status{
    font-size:22px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
    margin-bottom:8px;
}

.sa-module-desc{
    font-size:13px;
    line-height:1.55;
    color:var(--sa-muted);
}

.sa-tone-success .sa-module-status{color:var(--sa-success)}
.sa-tone-warning .sa-module-status{color:var(--sa-warning)}
.sa-tone-danger .sa-module-status{color:var(--sa-danger)}
.sa-tone-brand .sa-module-status{color:var(--sa-brand-dark)}
.sa-tone-neutral .sa-module-status{color:#475569}

.sa-summary-band{
    display:grid;
    grid-template-columns:minmax(260px,1.15fr) repeat(3,minmax(190px,1fr));
    gap:16px;
    margin-bottom:22px;
}

.sa-summary-item{
    background:
        radial-gradient(circle at top right, rgba(15,118,110,.12), transparent 38%),
        linear-gradient(180deg, #fff, #fbfcfd);
    border:1px solid var(--sa-border);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--sa-shadow);
}

.sa-summary-score{
    display:flex;
    align-items:center;
    gap:16px;
}

.sa-summary-score-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.sa-kpi-label{
    margin-bottom:10px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sa-muted);
}

.sa-kpi-val{
    margin-bottom:4px;
    font-size:34px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.04em;
    color:var(--sa-ink);
}

.sa-kpi-sub{
    font-size:13px;
    color:var(--sa-muted);
}

.sa-kpi-green{color:var(--sa-success)}
.sa-kpi-amber{color:var(--sa-warning)}
.sa-kpi-red{color:var(--sa-danger)}

.sa-kpi-trend{
    margin-top:8px;
    font-size:12px;
    font-weight:700;
}

.sa-trend-up{color:var(--sa-success)}
.sa-trend-down{color:var(--sa-danger)}

.sa-score-circle{
    width:88px;
    height:88px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border:6px solid rgba(255,255,255,.75);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}

.sa-score-num{
    font-size:30px;
    font-weight:800;
    line-height:1;
}

.sa-score-label{
    font-size:11px;
    font-weight:700;
    opacity:.8;
}

.sa-grade-a{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}
.sa-grade-b{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}
.sa-grade-c{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}
.sa-grade-d{background:linear-gradient(135deg,#ffedd5,#fdba74);color:#c2410c}
.sa-grade-f{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}

.sa-grade-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    padding:5px 12px;
    border-radius:999px;
    font-size:14px;
    font-weight:800;
}

.sa-score-summary{
    margin:0;
    font-size:13px;
    color:var(--sa-muted);
    line-height:1.55;
}

.sa-card{
    background:var(--sa-panel);
    border:1px solid var(--sa-border);
    border-radius:18px;
    overflow:hidden;
    margin-bottom:18px;
    box-shadow:var(--sa-shadow);
}

.sa-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid #edf1f5;
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
    color:var(--sa-ink);
}

.sa-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.sa-badge.critical{background:#fee2e2;color:#b91c1c}
.sa-badge.warning{background:#fef3c7;color:#b45309}
.sa-badge.info{background:#dbeafe;color:#1d4ed8}

.sa-score-pills-card .sa-pills-wrap{
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.sa-pill{
    display:grid;
    grid-template-columns:110px 1fr 36px;
    gap:12px;
    align-items:center;
    font-size:13px;
}

.sa-pill-label{
    color:var(--sa-muted);
    font-weight:700;
}

.sa-pill-bar{
    height:10px;
    background:#eef2f7;
    border-radius:999px;
    overflow:hidden;
}

.sa-pill-fill{
    display:block;
    height:100%;
    border-radius:999px;
    transition:width .5s ease;
}

.sa-pill-green{background:linear-gradient(90deg,#16a34a,#4ade80)}
.sa-pill-amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.sa-pill-red{background:linear-gradient(90deg,#ef4444,#f87171)}

.sa-pill-num{
    text-align:right;
    font-weight:800;
    color:var(--sa-ink);
}

.sa-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:18px;
}

.sa-grid--two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.sa-issue-list{
    padding:8px 0;
}

.sa-issue{
    padding:12px 18px;
    border-bottom:1px solid #f1f5f9;
}

.sa-issue:last-child{
    border-bottom:none;
}

.sa-issue-title{
    margin-bottom:4px;
    font-size:14px;
    font-weight:700;
    color:var(--sa-ink);
}

.sa-issue-desc{
    font-size:13px;
    color:var(--sa-muted);
    line-height:1.55;
}

.sa-issue-action{
    margin-top:8px;
    font-size:12px;
    font-weight:700;
}

.sa-issue-action a{
    color:var(--sa-brand-dark);
    text-decoration:none;
}

.sa-empty{
    margin:0;
    padding:18px;
    color:#94a3b8;
    font-size:13px;
    font-style:italic;
}

.sa-text-red{
    color:var(--sa-danger);
}

.sa-security-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.sa-sec-item{
    padding:0;
    border-right:1px solid #edf1f5;
}

.sa-sec-item:last-child{
    border-right:none;
}

.sa-sec-title{
    padding:16px 18px 6px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sa-muted);
}

.sa-stats-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
}

.sa-stat-item{
    padding:16px 18px;
    border-right:1px solid #edf1f5;
    border-bottom:1px solid #edf1f5;
}

.sa-stat-item:nth-child(5n){
    border-right:none;
}

.sa-stat-val{
    font-size:24px;
    font-weight:800;
    color:var(--sa-brand-dark);
    letter-spacing:-.03em;
}

.sa-stat-lbl{
    margin-top:5px;
    font-size:11px;
    color:var(--sa-muted);
    text-transform:uppercase;
    letter-spacing:.08em;
}

.sa-chat-card{
    margin-top:0;
}

.sa-embed-card{
    overflow:hidden;
}

.sa-embed-frame{
    display:block;
    width:100%;
    min-height:1180px;
    border:0;
    background:#f8fafc;
}

.sa-chat-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid #edf1f5;
    font-size:13px;
    font-weight:800;
    color:var(--sa-ink);
}

.sa-messages{
    height:340px;
    overflow-y:auto;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    background:
        radial-gradient(circle at top right, rgba(15,118,110,.08), transparent 30%),
        #fcfcfd;
}

.sa-msg{
    max-width:88%;
}

.sa-msg--user{
    align-self:flex-end;
}

.sa-msg--ai{
    align-self:flex-start;
}

.sa-msg-body{
    padding:12px 14px;
    border-radius:16px;
    font-size:13px;
    line-height:1.65;
    color:var(--sa-ink);
}

.sa-msg--user .sa-msg-body{
    background:linear-gradient(135deg,var(--sa-brand),var(--sa-brand-dark));
    color:#fff;
    border-bottom-right-radius:4px;
}

.sa-msg--ai .sa-msg-body{
    background:#fff;
    border:1px solid var(--sa-border);
    border-bottom-left-radius:4px;
}

.sa-msg--ai .sa-msg-body h1,
.sa-msg--ai .sa-msg-body h2,
.sa-msg--ai .sa-msg-body h3{
    margin:10px 0 5px;
    font-size:13px;
    font-weight:800;
}

.sa-msg--ai .sa-msg-body p{
    margin:0 0 8px;
}

.sa-msg--ai .sa-msg-body ul{
    margin:8px 0;
    padding-left:18px;
}

.sa-msg--ai .sa-msg-body code{
    background:#eef2f7;
    padding:2px 5px;
    border-radius:6px;
    font-size:11px;
}

.sa-typing .sa-msg-body{
    color:#94a3b8;
    font-style:italic;
}

.sa-chat-input-row{
    display:flex;
    gap:10px;
    padding:14px 18px;
    border-top:1px solid #edf1f5;
    background:#fff;
}

#sa-input{
    flex:1;
    min-height:48px;
    border:1px solid var(--sa-border);
    border-radius:14px;
    padding:11px 14px;
    font-size:13px;
    line-height:1.5;
    resize:none;
    font-family:inherit;
}

#sa-input:focus{
    outline:none;
    border-color:#8fd3cf;
    box-shadow:0 0 0 3px rgba(15,118,110,.12);
}

.sa-btn-spin{
    letter-spacing:3px;
    animation:sa-pulse 1s ease-in-out infinite;
}

@keyframes sa-pulse{
    0%,100%{opacity:1}
    50%{opacity:.35}
}

.sa-quick-prompts{
    display:flex;
    gap:8px;
    padding:0 18px 18px;
    flex-wrap:wrap;
    background:#fff;
}

.sa-qp{
    border:none;
    border-radius:999px;
    padding:7px 12px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.sa-qp:hover{
    background:#dbeafe;
}

@media (max-width: 1100px){
    .sa-compare-grid,
    .sa-module-grid,
    .sa-summary-band,
    .sa-grid,
    .sa-grid--two,
    .sa-security-grid{
        grid-template-columns:1fr 1fr;
    }

    .sa-stats-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .sa-stat-item:nth-child(5n){
        border-right:1px solid #edf1f5;
    }

    .sa-stat-item:nth-child(3n){
        border-right:none;
    }
}

@media (max-width: 782px){
    .sa-wrap{
        padding-right:12px;
    }

    .sa-topbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .sa-compare-grid,
    .sa-module-grid,
    .sa-summary-band,
    .sa-grid,
    .sa-grid--two,
    .sa-security-grid,
    .sa-stats-grid{
        grid-template-columns:1fr;
    }

    .sa-summary-score{
        align-items:flex-start;
    }

    .sa-sec-item,
    .sa-stat-item{
        border-right:none;
    }

    .sa-pill{
        grid-template-columns:1fr;
        gap:6px;
    }

    .sa-pill-num{
        text-align:left;
    }

    .sa-chat-input-row{
        flex-direction:column;
    }

    .sa-msg{
        max-width:100%;
    }
}

/* Dark Theme (added from class-admin.php inline) */
body.ta-dark-theme .sa-wrap, body.ta-dark-theme .wrap.sa-wrap { background:#0f172a!important;color:#f8fafc!important; }
body.ta-dark-theme .sa-card, body.ta-dark-theme .sa-summary-item, body.ta-dark-theme .sa-module-card, body.ta-dark-theme .sa-compare-card { background:#1e293b!important;border-color:#334155!important;color:#f8fafc!important; }
body.ta-dark-theme .sa-card-head { background:#1e293b!important;border-color:#334155!important;color:#f8fafc!important; }
body.ta-dark-theme .sa-kpi-val, body.ta-dark-theme .sa-score-num, body.ta-dark-theme .sa-stat-val, body.ta-dark-theme .sa-title { color:#f8fafc!important; }
body.ta-dark-theme .sa-kpi-sub, body.ta-dark-theme .sa-module-desc, body.ta-dark-theme .sa-issue-desc, body.ta-dark-theme .sa-muted, body.ta-dark-theme .sa-sub { color:#94a3b8!important; }
body.ta-dark-theme .sa-issue, body.ta-dark-theme .sa-topbar { border-color:#334155!important; }
body.ta-dark-theme .sa-issue-title { color:#f8fafc!important; }
body.ta-dark-theme table.widefat { background:#1e293b!important;color:#f8fafc!important; }
body.ta-dark-theme table.widefat th, body.ta-dark-theme table.widefat td { border-color:#334155!important;color:#f8fafc!important; }
body.ta-dark-theme table.striped tr:nth-child(even) td { background:#1e293b!important; }
body.ta-dark-theme table.striped tr:nth-child(odd) td { background:#0f172a!important; }
body.ta-dark-theme a { color:#38bdf8!important; }
body.ta-dark-theme input, body.ta-dark-theme select, body.ta-dark-theme textarea { background:#0f172a!important; color:#f8fafc!important; border:1px solid #334155!important; }
