:root{--ink:#17252b;--brand:#087f8c;--bg:#f4f7f8;--line:#d9e2e5;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font:14px Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--brand);text-decoration:none}.admin-side{position:fixed;inset:0 auto 0 0;width:230px;background:#10242b;color:#fff;padding:22px}.admin-brand{font-size:20px;font-weight:800;color:#fff;display:block;margin-bottom:28px}.admin-side nav a{display:block;color:#d5e4e7;padding:10px 8px;border-radius:7px}.admin-side nav a:hover{background:#1b3941}.admin-main{margin-left:230px;min-height:100vh}.admin-top{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 28px}.admin-content{padding:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:22px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-grid>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.stat-grid span{display:block;color:#65757b}.stat-grid strong{font-size:28px}.toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.toolbar form{display:flex;gap:8px}.toolbar input,.toolbar select,input,textarea,select{padding:10px;border:1px solid var(--line);border-radius:7px;font:inherit}.button,button{display:inline-block;border:0;background:var(--brand);color:#fff;padding:10px 14px;border-radius:7px;font-weight:700;cursor:pointer}.button.secondary{background:#53656b}.danger{background:var(--danger);color:#fff}.danger-outline{background:#fff;color:var(--danger);border:1px solid var(--danger)}.full{width:100%;margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}td small{display:block;color:#6b7c82;margin-top:4px}.admin-pager{display:flex;justify-content:space-between}.flash{margin:18px 28px 0;padding:12px;border-radius:8px}.flash.success{background:#dcfce7}.flash.error{background:#fee2e2}.form-card{display:grid;gap:18px}.form-card label,.editor-form label{display:grid;gap:7px;font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.sticky{position:sticky;top:80px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.editor-toolbar button{background:#eef4f5;color:#17252b;padding:7px 10px}.rich-editor{min-height:560px;border:1px solid var(--line);border-radius:8px;padding:18px;font:16px/1.65 Georgia,serif;background:#fff}.rich-editor img{max-width:100%;height:auto}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.code-area{width:100%;font-family:monospace;font-size:13px}.help{color:#677}.login-page{display:grid;place-items:center;min-height:100vh}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;gap:18px}.login-card label{display:grid;gap:7px;font-weight:700}.login-card input{width:100%}@media(max-width:900px){.admin-side{position:static;width:auto}.admin-side nav{display:flex;flex-wrap:wrap}.admin-main{margin-left:0}.stat-grid{grid-template-columns:repeat(2,1fr)}.editor-grid{grid-template-columns:1fr}.sticky{position:static}}@media(max-width:600px){.admin-content{padding:16px}.admin-top{padding:0 16px}.stat-grid,.two{grid-template-columns:1fr}.toolbar{flex-direction:column}.toolbar form{flex-wrap:wrap}}

.source-editor{display:block;width:100%;min-height:560px;padding:18px;border:1px solid var(--line);border-radius:8px;font:14px/1.55 monospace;white-space:pre;overflow:auto}

/* Legacy publication flags */
.publication-status{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:8px;margin:0 0 16px;border:1px solid var(--line)}
.publication-status span{font-size:12px;color:#66777d}.publication-status.is-published{background:#ecfdf3;border-color:#a7f3d0}.publication-status.is-draft{background:#f8fafc;border-color:#cbd5e1}.flag-option{align-items:flex-start!important;padding:12px;border:1px solid var(--line);border-radius:8px;margin:12px 0}.flag-option input{margin-top:3px}.flag-option span{display:grid;gap:3px}.flag-option small{font-weight:400;color:#66777d;line-height:1.45}.publish-button{background:#087f5b}.status-pill,.type-pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status-pill.published{background:#dcfce7;color:#166534}.status-pill.draft{background:#e2e8f0;color:#475569}.type-pill{background:#eef2f6;color:#425466;margin:0 4px 4px 0}.type-pill.featured{background:#e0f2fe;color:#075985}.type-pill.sponsor{background:#fff7ed;color:#9a3412}.row-actions{white-space:nowrap}.row-actions form{display:inline}.link-button{background:none!important;color:var(--brand)!important;padding:0!important;margin-left:10px;font-weight:700}.danger-text{color:var(--danger)!important}

/* v1.5 SEO file generator */
.seo-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.seo-stat-grid>div{border:1px solid var(--line);border-radius:10px;padding:14px;background:#f8fbfb}.seo-stat-grid span{display:block;color:#65757b;font-size:12px}.seo-stat-grid strong{display:block;margin-top:4px;font-size:24px}.robots-editor{min-height:260px;line-height:1.55}.seo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.seo-file-list{display:grid;gap:8px;margin:16px 0}.seo-file-list>div{display:flex;justify-content:space-between;gap:20px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fafcfc}.seo-file-list span{color:#65757b;font-size:12px;text-align:right}@media(max-width:800px){.seo-stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.seo-stat-grid{grid-template-columns:1fr}.seo-file-list>div{align-items:flex-start;flex-direction:column;gap:3px}.seo-file-list span{text-align:left}}

/* v1.6 SEO Health / Index Quality */
.seo-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.seo-gate{min-width:150px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#f8fafc}.seo-gate span{display:block;color:#65757b;font-size:12px}.seo-gate strong{font-size:22px}.seo-gate.is-on{background:#ecfdf3;border-color:#a7f3d0;color:#166534}.seo-health-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.small-stat{font-size:17px!important}.admin-command{background:#10242b;color:#d8f3f5;border-radius:9px;padding:14px 16px;overflow:auto;line-height:1.6}.seo-actions button:disabled{opacity:.45;cursor:not-allowed}.seo-issue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.seo-issue-card{display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fbfdfd;color:var(--ink)}.seo-issue-card strong{font-size:24px}.seo-issue-card em{font-style:normal;color:#65757b;font-size:11px}.seo-issue-card.hard{border-left:4px solid #dc2626}.seo-issue-card.warning{border-left:4px solid #d97706}.seo-issue-card.active{outline:2px solid var(--brand);background:#f0fbfc}.seo-score{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;font-weight:800}.seo-score.score-good{background:#dcfce7;color:#166534}.seo-score.score-mid{background:#fef3c7;color:#92400e}.seo-score.score-low{background:#fee2e2;color:#991b1b}@media(max-width:1100px){.seo-health-stats,.seo-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.seo-health-head{flex-direction:column}.seo-gate{width:100%}.seo-health-stats,.seo-issue-grid{grid-template-columns:1fr}}

/* v1.6.2 Duplicate URL cleanup */
.duplicate-confirm-form{align-items:end}.duplicate-confirm-form label{display:grid;gap:6px;font-weight:700}.duplicate-confirm-form input{min-width:180px}.duplicate-safety{border-left:4px solid var(--brand)}
@media(max-width:650px){.duplicate-confirm-form{align-items:stretch}.duplicate-confirm-form label,.duplicate-confirm-form input,.duplicate-confirm-form button{width:100%}}

/* v1.8.0 Editorial Quality + Internal Linking */
.editorial-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.editorial-issue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-assist h3{margin:20px 0 10px}.editorial-audit-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.editorial-audit-row span{display:block;border:1px solid var(--line);border-radius:9px;padding:11px;background:#f8fbfb;color:#65757b}.editorial-audit-row strong{display:block;color:var(--ink);margin-top:4px}.editorial-warning{border-left:4px solid #d97706;background:#fffbeb;padding:10px 12px;border-radius:7px}.link-suggestion-list{display:grid;gap:10px}.link-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px}.link-suggestion small,.link-suggestion code{display:block;margin-top:5px}.link-suggestion small{color:#65757b}.link-suggestion code{white-space:normal;overflow-wrap:anywhere;color:#334155;background:#f8fafc;padding:6px;border-radius:6px}.link-suggestion button{white-space:nowrap}@media(max-width:900px){.editorial-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-audit-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.editorial-head{flex-direction:column}.editorial-issue-grid,.editorial-audit-row{grid-template-columns:1fr}.link-suggestion{grid-template-columns:1fr}.link-suggestion button{width:100%}}
.editorial-status-stack{display:grid;gap:8px;min-width:170px}.editorial-status-stack .seo-gate{margin:0}@media(max-width:650px){.editorial-status-stack{width:100%}}
/* v1.9.0 — controlled internal-link plan */
.link-plan-tabs{display:flex;flex-wrap:wrap;gap:6px}.link-plan-tabs .active{box-shadow:inset 0 0 0 2px var(--ink)}.link-plan-list{display:grid;gap:14px;margin-top:16px}.link-plan-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}.link-plan-source,.link-plan-target{display:grid;align-content:start;gap:7px;min-width:0}.link-plan-source small,.link-plan-target small{color:#65757b}.link-plan-source blockquote{margin:5px 0 0;padding:10px 12px;border-left:3px solid #94a3b8;background:#f8fafc;color:#475569;border-radius:6px}.link-plan-target code{white-space:normal;overflow-wrap:anywhere;background:#f8fafc;border-radius:7px;padding:8px;color:#334155}.link-plan-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:5px}.link-plan-actions form{margin:0}.plan-status,.relevance-badge{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}.plan-status{background:#f1f5f9;color:#475569}.plan-status.status-pending{background:#fff7ed;color:#9a3412}.plan-status.status-applied{background:#ecfdf5;color:#047857}.plan-status.status-dismissed{background:#f8fafc;color:#64748b}.relevance-badge{background:#eef2ff;color:#4338ca}@media(max-width:900px){.link-plan-card{grid-template-columns:1fr}}

/* v1.10.9 — AJAX exhaustive-term working-set runner */
.fullsite-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fullsite-progress{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:16px 0 8px}
.fullsite-progress span{display:block;height:100%;background:var(--brand);transition:width .25s ease}
.fullsite-controls{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.6fr) auto auto;gap:12px;align-items:end}
.fullsite-controls label{display:grid;gap:6px;font-weight:700}.fullsite-controls select,.fullsite-controls input{width:100%}
.fullsite-log{min-height:220px;max-height:420px;overflow:auto;white-space:pre-wrap}
@media(max-width:1000px){.fullsite-controls{grid-template-columns:1fr 1fr}.fullsite-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fullsite-controls,.fullsite-stat-grid{grid-template-columns:1fr}}

/* v1.10.10 — explicit Full-Site runner state + clearer controls */
.fullsite-runner-state{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px 14px;margin-bottom:14px;background:#f8fafc}
.fullsite-runner-dot{width:12px;height:12px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.16);flex:0 0 auto}
.fullsite-runner-state>div{display:grid;gap:2px}.fullsite-runner-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}.fullsite-runner-state strong{font-size:18px}.fullsite-runner-state small{color:#64748b;line-height:1.4}
.fullsite-runner-state.is-starting,.fullsite-runner-state.is-waiting{background:#fffbeb;border-color:#fde68a}.fullsite-runner-state.is-starting .fullsite-runner-dot,.fullsite-runner-state.is-waiting .fullsite-runner-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.14)}
.fullsite-runner-state.is-running{background:#ecfdf3;border-color:#a7f3d0}.fullsite-runner-state.is-running .fullsite-runner-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.14);animation:fullsitePulse 1.3s ease-in-out infinite}
.fullsite-runner-state.is-pausing,.fullsite-runner-state.is-paused{background:#f1f5f9;border-color:#cbd5e1}.fullsite-runner-state.is-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.fullsite-runner-state.is-error .fullsite-runner-dot{background:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.14)}
.fullsite-runner-state.is-complete{background:#ecfdf3;border-color:#86efac}.fullsite-runner-state.is-complete .fullsite-runner-dot{background:#15803d;box-shadow:0 0 0 4px rgba(21,128,61,.14)}
.fullsite-start-button{min-width:170px;font-size:15px;padding:12px 16px}.fullsite-pause-button{min-width:100px;padding:12px 16px}.fullsite-start-button:disabled,.fullsite-pause-button:disabled{opacity:.55;cursor:not-allowed}
@keyframes fullsitePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.55}}

/* v1.10.11 — dedicated Continue control; hidden must win over button display rules */
.fullsite-start-button[hidden],.fullsite-continue-button[hidden]{display:none!important}
.fullsite-continue-button{min-width:190px;font-size:15px;padding:12px 16px}
.fullsite-continue-button:not(:disabled){box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.fullsite-runner-state.is-continuing{background:#fffbeb;border-color:#fde68a}.fullsite-runner-state.is-continuing .fullsite-runner-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.14)}
