/* ══ Programmatic SEO Admin Styles ══════════════════════════ */

.pseo-wrap { max-width: 1200px; }

/* Cards */
.pseo-card { background:#fff; border:1px solid #c3c4c7; border-radius:4px; margin-top:20px; padding:20px 24px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.pseo-card__title { margin:0 0 16px; font-size:.95rem; font-weight:600; border-bottom:1px solid #e2e4e7; padding-bottom:10px; display:flex; align-items:center; gap:6px; }
.pseo-card__title .dashicons { color:#2271b1; }

/* Form */
.pseo-form .form-table th { width:220px; vertical-align:top; padding-top:14px; }
.pseo-url-preview-wrap { display:flex; align-items:center; }
.pseo-url-base { background:#f6f7f7; border:1px solid #8c8f94; border-right:none; padding:4px 8px; border-radius:3px 0 0 3px; font-size:13px; color:#646970; white-space:nowrap; }
.pseo-url-preview-wrap input { border-radius:0 3px 3px 0 !important; flex:1; }

/* Submit bar */
.pseo-submit-bar { background:#fff; border:1px solid #c3c4c7; border-radius:4px; margin-top:20px; padding:16px 24px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.pseo-submit-bar .button-link-delete { margin-left:auto; }

/* Badges */
.pseo-badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
.pseo-badge--source { background:#e8f0fe; color:#1a56db; }
.pseo-badge--schema { background:#fef3c7; color:#92400e; }

/* Table */
.pseo-table td { vertical-align:middle; }
.pseo-actions { display:flex; flex-wrap:wrap; gap:4px; max-width:220px; }
.pseo-actions .button { flex:0 0 calc(50% - 2px); box-sizing:border-box; text-align:center; }

/* Empty state */
.pseo-empty-state { text-align:center; padding:80px 20px; color:#646970; }
.pseo-empty-state .dashicons { font-size:64px; width:64px; height:64px; display:block; margin:0 auto 16px; color:#c3c4c7; }

/* Modal */
.pseo-modal { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99999; display:flex; align-items:center; justify-content:center; }
.pseo-modal-inner { background:#fff; border-radius:6px; max-width:860px; width:92%; max-height:82vh; overflow-y:auto; box-shadow:0 8px 32px rgba(0,0,0,.25); }
.pseo-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid #e2e4e7; position:sticky; top:0; background:#fff; z-index:1; }
.pseo-modal-header h2 { margin:0; font-size:1rem; }
.pseo-modal-close { background:none; border:none; font-size:22px; cursor:pointer; color:#646970; padding:4px 8px; }
.pseo-modal-close:hover { color:#d63638; }
#pseo-preview-content { padding:20px 24px; }

/* Preview table */
.pseo-preview-table { border-collapse:collapse; width:100%; font-size:12.5px; }
.pseo-preview-table th,.pseo-preview-table td { border:1px solid #e2e4e7; padding:6px 10px; text-align:left; max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pseo-preview-table th { background:#f6f7f7; font-weight:600; position:sticky; top:0; }
.pseo-preview-table tr:hover td { background:#f6f7f7; }

/* Progress bar */
.pseo-progress-bar { position:fixed; top:0; left:0; right:0; height:3px; background:#f0f0f1; z-index:999999; }
.pseo-progress-inner { height:100%; background:#2271b1; animation:pseo-indeterminate 1.4s infinite linear; }
@keyframes pseo-indeterminate { 0%{left:-30%;width:30%} 100%{left:100%;width:30%} }

/* Toast */
.pseo-notice { position:fixed; bottom:30px; right:30px; background:#00a32a; color:#fff; padding:13px 20px; border-radius:4px; font-size:13.5px; font-weight:500; z-index:99999; box-shadow:0 3px 12px rgba(0,0,0,.22); max-width:380px; }
.pseo-notice.is-error { background:#d63638; }

/* Schema hint */
.pseo-schema-hint { margin-top:8px; padding:10px 14px; background:#f0f6fc; border-left:3px solid #2271b1; border-radius:0 3px 3px 0; font-size:12.5px; }

/* Settings grid */
.pseo-settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:900px){ .pseo-settings-grid{grid-template-columns:1fr} }
.pseo-settings-grid .pseo-card { margin-top:0; }
.pseo-stats { display:flex; gap:30px; flex-wrap:wrap; }
.pseo-stat { display:flex; flex-direction:column; align-items:center; min-width:80px; }
.pseo-stat__num { font-size:2rem; font-weight:700; color:#2271b1; line-height:1; }
.pseo-stat__label { font-size:11px; color:#646970; margin-top:4px; text-transform:uppercase; letter-spacing:.5px; }

/* Source panel visibility */
.pseo-source-panel { display:none; }
