/* WordPress bridge: prevents classic theme conversion container/header/footer issues. */
html{margin:0!important}body.sitepulse-theme{margin:0;min-height:100vh}.sitepulse-theme #wpadminbar{position:fixed}.admin-bar .site-header{top:32px}.sitepulse-theme .site-header,.sitepulse-theme .site-footer,.sitepulse-theme main,.sitepulse-theme section{box-sizing:border-box}.sitepulse-theme img{max-width:100%;height:auto}.sitepulse-theme a{text-decoration:none}.sitepulse-content-page{background-image:var(--theme-surface);background-size:cover;background-attachment:fixed}.sp-page-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:140px 0 80px}.sp-page-content{font-size:18px;line-height:1.75}.sp-page-content a{text-decoration:underline}.sp-admin-card{background:#fff;border:1px solid #ccd0d4;border-radius:12px;padding:14px;margin:10px 0;display:grid;gap:8px}.sp-admin-card.small{grid-template-columns:auto auto minmax(100px,150px) minmax(220px,1fr);align-items:start}.sp-admin-card textarea{grid-column:1/-1}.sitepulse-admin .form-table th{width:210px}@media(max-width:782px){.admin-bar .site-header{top:46px}.sp-admin-card.small{grid-template-columns:1fr}.sp-page-shell{width:min(100% - 24px,1180px);padding-top:120px}}@media(max-width:600px){.admin-bar .site-header{top:0}}

/* v1.1.0 timeout-safe analysis progress */
.analysis-progress{display:none;margin-top:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(8,13,24,.74);box-shadow:0 16px 42px rgba(7,11,20,.16);backdrop-filter:blur(14px);color:#f7f8fb;position:relative;z-index:5}
.analysis-progress.is-visible{display:block}.analysis-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;font-weight:700}.analysis-progress-head strong{font:700 11px/1.2 "DM Mono",monospace}.analysis-progress-track{height:5px;margin:10px 0 8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}.analysis-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7be4d2,#e5d089,#ffffff);transition:width .25s ease}.analysis-progress small{display:block;color:rgba(244,247,252,.72);font-size:10px;line-height:1.5}.analysis-progress.is-error{border-color:rgba(255,120,130,.38);background:rgba(64,13,22,.86)}.analysis-progress.is-error .analysis-progress-track i{background:#ff8792}
:is(.theme-porcelain,.theme-botanical,.theme-brutalist,.theme-liquid) .analysis-progress{background:rgba(25,28,31,.88);color:#fff}
@media(max-width:620px){.analysis-progress{padding:12px;margin-top:10px;border-radius:13px}.analysis-progress-head{font-size:11px}}

/* v1.2.0 — WordPress report canvas isolation / full-width guard. */
body.report-page{width:100%!important;max-width:none!important;overflow-x:hidden!important}
body.report-page main.report-shell{
  width:min(1440px,calc(100vw - 40px))!important;
  max-width:none!important;
  margin:24px auto 100px!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
  clear:both!important;
  box-sizing:border-box!important;
}
body.report-page main.report-shell>*{min-width:0;max-width:100%;box-sizing:border-box}
body.report-page .report-hero,body.report-page .report-overview,body.report-page .executive-grid,body.report-page .report-footnote{width:100%;min-width:0}
body.report-page .site-header,body.report-page .site-footer{width:min(1440px,calc(100vw - 40px));max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
body.report-page .engine-diagnostics{grid-column:1/-1;width:100%;margin:0;padding:18px 20px;border:1px solid rgba(202,154,55,.35);border-radius:16px;background:rgba(122,82,16,.10);color:inherit;display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:18px;align-items:start}
body.report-page .engine-diagnostics>div:first-child{display:flex;flex-direction:column;gap:5px}
body.report-page .engine-diagnostics small{font:600 9px DM Mono;letter-spacing:.12em}
body.report-page .engine-diagnostics strong{font-size:16px}
body.report-page .engine-error-list{display:grid;gap:8px}
body.report-page .engine-error-list article{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:9px 11px;border:1px solid rgba(128,128,128,.2);border-radius:10px;background:rgba(255,255,255,.06)}
body.report-page .engine-error-list b{font:700 9px DM Mono}
body.report-page .engine-error-list span{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body.report-page .engine-diagnostics>p{grid-column:1/-1;margin:0;font-size:11px;opacity:.72}
@media(max-width:900px){body.report-page main.report-shell,body.report-page .site-header,body.report-page .site-footer{width:min(100% - 24px,1440px)!important}.engine-diagnostics{grid-template-columns:1fr!important}}

/* v1.2.0 — every top-level report state must occupy the whole report canvas,
   including validation/API error states. Grid-based premium themes must never
   collapse an error/diagnostic into the first column only. */
body.report-page main.report-shell>.report-error,
body.report-page main.report-shell>.engine-diagnostics{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.report-page main.report-shell>.report-error{margin:0!important}

/* v1.3.0 — Google auth/fallback diagnostics remain readable in every report skin. */
body.report-page .engine-diagnostics.engine-warning{border-color:rgba(79,156,116,.42);background:rgba(44,118,80,.10)}
body.report-page .engine-diagnostics.engine-crux{border-color:rgba(74,122,191,.38);background:rgba(60,104,171,.09)}
:is(.report-theme-command,.report-theme-forensic,.report-theme-terminal,.report-theme-atlas,.report-theme-observatory) .engine-diagnostics.engine-warning,
:is(.report-theme-command,.report-theme-forensic,.report-theme-terminal,.report-theme-atlas,.report-theme-observatory) .engine-diagnostics.engine-crux{background:rgba(255,255,255,.06)}
