/*
 * Core SEO Premium — the SEO dashboard (health, scores, plan, to-do, issues, review dialog).
 * Status colours (good / ok / bad) only ever mean status and always come with a text label;
 * charts use one neutral series colour.
 */

.cseod{ --good:#0e9f6e; --ok:#e8910c; --bad:#d63638; --none:#c3c4c7; --series:#3d6bb3; --ink:#1d2327; --muted:#646970; margin-top:18px; }
.cseod-row{ display:grid; gap:18px; margin-bottom:18px; }
.cseod-row--top{ grid-template-columns:1.25fr 1fr; }
.cseod-row--main{ grid-template-columns:1.35fr 1fr; align-items:start; }
.cseod-side{ display:grid; gap:18px; min-width:0; }
.cseod-card{ min-width:0; padding:18px 20px; border:1px solid #e3e4e6; border-radius:10px; background:#fff; }
.cseod-card h3{ margin:0 0 4px; font-size:14px; }
.cseod-card h4{ margin:18px 0 8px; color:var(--muted); font-size:12px; font-weight:600; }
.cseod-muted{ margin:0; color:var(--muted); }
.cseod-err{ color:#b32d2e; }
.cseod-count{ display:inline-grid; place-items:center; min-width:22px; height:20px; margin-left:6px; padding:0 6px; border-radius:99px; background:#f0f0f1; color:var(--muted); font-size:11px; vertical-align:middle; }

/* Health */
.cseod-health__head{ display:flex; justify-content:space-between; gap:16px; }
.cseod-big{ flex:0 0 auto; text-align:right; }
.cseod-big b{ font-size:44px; line-height:1; font-variant-numeric:tabular-nums; }
.cseod-big span{ color:var(--muted); font-size:15px; }
.cseod-big.is-good b{ color:#0a7a54; }
.cseod-big.is-ok b{ color:#9a5d00; }
.cseod-big.is-bad b{ color:#b32d2e; }
.cseod-big em{ display:block; margin-top:4px; color:var(--muted); font-size:12px; font-style:normal; }
.cseod-big em.is-up{ color:#0a7a54; }
.cseod-big em.is-down{ color:#b32d2e; }
.cseod-line{ min-height:150px; margin:14px 0 6px; }
.cseod-line svg{ display:block; width:100%; overflow:visible; }
.cseod-line__empty{ display:grid; place-items:center; min-height:150px; padding:0 20px; border:1px dashed #dcdcde; border-radius:8px; text-align:center; }
.cseod-grid{ stroke:#f0f0f1; stroke-width:1; }
.cseod-axis{ fill:#8c8f94; font-size:11px; }
.cseod-path{ fill:none; stroke:var(--series); stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.cseod-area{ fill:var(--series); opacity:.08; }
.cseod-dot{ fill:var(--series); stroke:#fff; stroke-width:2; }
.cseod-cross{ stroke:#8c8f94; stroke-width:1; stroke-dasharray:3 3; }
.cseod-parts{ display:grid; grid-template-columns:1fr 1fr; gap:6px 22px; margin:12px 0 0; }
.cseod-parts li{ display:grid; grid-template-columns:1fr 70px 38px; align-items:center; gap:8px; margin:0; font-size:12px; }
.cseod-parts b{ text-align:right; font-variant-numeric:tabular-nums; }
.cseod-meter{ height:6px; overflow:hidden; border-radius:99px; background:#f0f0f1; }
.cseod-meter i{ display:block; height:100%; border-radius:99px; }
.cseod-meter i.is-good{ background:var(--good); }
.cseod-meter i.is-ok{ background:var(--ok); }
.cseod-meter i.is-bad{ background:var(--bad); }

/* Pages */
.cseod-card__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cseod-total{ display:inline-flex; align-items:baseline; gap:6px; padding:5px 12px; border:1px solid #dcdcde; border-radius:99px; color:var(--ink); text-decoration:none; }
.cseod-total:hover{ border-color:#8c8f94; }
.cseod-total b{ font-size:16px; font-variant-numeric:tabular-nums; }
.cseod-total span{ color:var(--muted); font-size:12px; }
.cseod-rings{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 4px; text-align:center; }
.cseod-rings li{ display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; }
.cseod-rings li > span{ color:var(--muted); font-size:12px; line-height:1.35; }
.cseod-ring{ --c:var(--none); display:grid; place-items:center; width:96px; height:96px; border-radius:50%; background:conic-gradient(var(--c) calc(var(--p, 0) * 1%), #f0f0f1 0); text-decoration:none; transition:transform .15s; }
.cseod-ring:hover{ transform:scale(1.04); }
.cseod-ring b{ display:flex; align-items:center; justify-content:center; width:76px; height:76px; border-radius:50%; background:#fff; color:var(--ink); font-size:22px; font-variant-numeric:tabular-nums; }
.cseod-ring b small{ margin-left:1px; color:var(--muted); font-size:12px; font-weight:600; }
.cseod-ring.is-good{ --c:var(--good); }
.cseod-ring.is-ok{ --c:var(--ok); }
.cseod-ring.is-bad{ --c:var(--bad); }
.cseod-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0 0; }
.cseod-tiles li{ display:flex; flex-direction:column; margin:0; padding:12px; border-radius:8px; background:#f6f7f7; }
.cseod-tiles b{ font-size:22px; line-height:1.15; font-variant-numeric:tabular-nums; }
.cseod-tiles span{ color:var(--muted); font-size:12px; }
.cseod-stack__bar{ display:flex; gap:2px; height:18px; }
.cseod-stack__bar a{ min-width:4px; border-radius:4px; }
.cseod-stack__bar .is-good,
.cseod-legend .is-good{ background:var(--good); }
.cseod-stack__bar .is-ok,
.cseod-legend .is-ok{ background:var(--ok); }
.cseod-stack__bar .is-bad,
.cseod-legend .is-bad{ background:var(--bad); }
.cseod-stack__bar .is-none,
.cseod-legend .is-none{ background:var(--none); }
.cseod-stack__bar a:hover{ opacity:.8; }
.cseod-legend{ display:flex; flex-wrap:wrap; gap:6px 16px; margin:10px 0 0; }
.cseod-legend li{ display:flex; align-items:center; gap:6px; margin:0; color:var(--muted); font-size:12px; }
.cseod-legend i{ width:10px; height:10px; border-radius:3px; }
.cseod-legend b{ color:var(--ink); }
.cseod-note{ margin-top:10px; font-size:12px; }

/* Plan + to-do */
.cseod-plan{ margin:-2px 0 20px; padding:14px 16px; border:1px solid #e9dcfd; border-radius:10px; background:linear-gradient(180deg,#faf7ff,#fff); }
.cseod-plan__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cseod-plan__head h3{ color:#5b21b6; }
.cseod-plan__body p{ margin:8px 0 0; }
.cseod-plan__body ol{ margin:10px 0 0 18px; }
.cseod-plan__body li{ margin-bottom:6px; }
.cseod-todo__title{ display:flex; align-items:center; }
.cseod-tasks{ margin:10px 0 0; }
.cseod-tasks li{ display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:12px; align-items:center; margin:0; padding:12px 0; border-top:1px solid #f0f0f1; }
.cseod-tasks__text{ display:flex; flex-direction:column; min-width:0; }
.cseod-tasks__text span{ color:var(--muted); font-size:12px; }
.cseod-tasks__do{ display:flex; align-items:center; gap:10px; white-space:nowrap; }
.cseod-tasks__do a:not(.button){ font-size:12px; text-decoration:none; }
.cseod-level{ justify-self:start; padding:2px 8px; border-radius:99px; font-size:11px; font-weight:700; }
.is-high > .cseod-level{ background:#fcf0f1; color:#b32d2e; }
.is-medium > .cseod-level{ background:#fcf0e1; color:#9a5d00; }
.is-low > .cseod-level{ background:#f0f0f1; color:#50575e; }

/* Issues bars */
.cseod-bars{ margin:12px 0 0; }
.cseod-bars li{ margin:0; }
.cseod-bars a{ display:grid; grid-template-columns:130px minmax(0,1fr) 44px; align-items:center; gap:10px; padding:5px 4px; border-radius:6px; color:var(--ink); text-decoration:none; }
.cseod-bars a:hover{ background:#f6f7f7; }
.cseod-bars__label{ overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.cseod-bars__track{ height:10px; }
.cseod-bars__track i{ display:block; height:100%; border-radius:0 4px 4px 0; background:var(--series); }
.cseod-bars b{ font-size:12px; text-align:right; font-variant-numeric:tabular-nums; }
.cseod .cseo-list code{ flex:1; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }

/* Tooltip */
.cseod-tip{ position:absolute; z-index:100000; padding:6px 9px; border-radius:6px; background:#1d2327; color:#fff; font-size:12px; line-height:1.4; pointer-events:none; box-shadow:0 4px 14px rgba(0,0,0,.2); }
.cseod-tip[hidden]{ display:none; }

/* Review dialog */
.cseod-review{ width:min(1000px,94vw); max-height:88vh; padding:0; border:0; border-radius:12px; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.cseod-review::backdrop{ background:rgba(0,0,0,.45); }
.cseod-review form{ display:flex; flex-direction:column; max-height:88vh; }
.cseod-review header{ padding:18px 22px 10px; }
.cseod-review header h3{ margin:0 0 4px; font-size:16px; }
.cseod-review__progress{ display:flex; align-items:center; gap:10px; padding:0 22px 10px; color:var(--muted); font-size:12px; }
.cseod-review__progress progress{ flex:0 0 160px; height:8px; }
.cseod-review__table{ display:block; overflow:auto; border-width:1px 0; }
.cseod-review__table td,
.cseod-review__table th{ vertical-align:top; }
.cseod-review__table small{ display:block; color:var(--muted); font-size:11px; }
.cseod-review__before{ width:32%; color:var(--muted); }
.cseod-review__after{ width:100%; }
.cseod-review__table tr.is-saved{ background:#edfaf4; }
.cseod-review__table tr.is-failed{ background:#fcf0f1; }
.cseod-review footer{ display:flex; justify-content:flex-end; gap:8px; padding:14px 22px; border-top:1px solid #f0f0f1; }

@media (max-width:1100px){
	.cseod-row--top,
	.cseod-row--main{ grid-template-columns:1fr; }
}
@media (max-width:700px){
	.cseod-tiles{ grid-template-columns:repeat(2,1fr); }
	.cseod-parts{ grid-template-columns:1fr; }
	.cseod-tasks li{ grid-template-columns:1fr; }
}
