:root{
  --eemseo-black:#050505;
  --eemseo-navy:#151e2b;
  --eemseo-navy-2:#1f2a3a;
  --eemseo-gold:#E39002;
  --eemseo-gold-hover:#F9C04D;
  --eemseo-white:#ffffff;
  --eemseo-soft:#f5f6f8;
  --eemseo-border:#e8eaee;
  --eemseo-text:#26303d;
  --eemseo-muted:#697386;
}

.eemseo-public-dashboard{
  max-width:1180px;
  margin:48px auto;
  padding:18px;
  color:var(--eemseo-text);
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.eemseo-dashboard-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:34px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--eemseo-navy),#111827);
  color:var(--eemseo-white);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}

.eemseo-kicker{
  margin:0 0 8px;
  color:var(--eemseo-gold-hover);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.eemseo-dashboard-hero h2{
  margin:0;
  color:var(--eemseo-white);
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.eemseo-site-url{
  display:inline-flex;
  margin-top:10px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:14px;
}

.eemseo-site-url:hover{color:var(--eemseo-gold-hover)}

.eemseo-progress-card{
  min-width:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.08);
}

.eemseo-progress-number{
  color:var(--eemseo-gold-hover);
  font-size:44px;
  font-weight:900;
  line-height:1;
}

.eemseo-progress-label{
  margin-top:8px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  text-align:center;
}

.eemseo-progress-bar{
  height:8px;
  margin:18px 0 18px;
  overflow:hidden;
  border-radius:999px;
  background:#eef1f5;
}

.eemseo-progress-bar span,
.eemseo-small-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--eemseo-gold),var(--eemseo-gold-hover));
}

.eemseo-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

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

.eemseo-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}

.eemseo-card,
.eemseo-summary-card{
  border:1px solid var(--eemseo-border);
  border-radius:18px;
  background:var(--eemseo-white);
  box-shadow:0 12px 34px rgba(17,24,39,.07);
}

.eemseo-card{padding:22px; min-height:220px}
.eemseo-card-compact{min-height:auto}

.eemseo-card h3{
  margin:0 0 14px;
  color:#121826;
  font-size:18px;
  line-height:1.2;
}

.eemseo-card h4{
  margin:0 0 8px;
  font-size:15px;
  color:#121826;
}

.eemseo-card-label{
  display:block;
  margin-bottom:8px;
  color:var(--eemseo-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.eemseo-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.eemseo-card-head h3{margin:0}

.eemseo-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#f1f4f8;
  color:#344054;
  font-size:12px;
  font-weight:800;
}

.eemseo-summary-card{
  padding:16px;
}

.eemseo-summary-card span{
  display:block;
  color:var(--eemseo-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.eemseo-summary-card strong{
  display:block;
  margin-top:8px;
  color:var(--eemseo-navy);
  font-size:24px;
  line-height:1;
}

.eemseo-list{
  margin:0;
  padding:0;
  list-style:none;
}

.eemseo-list li{
  position:relative;
  margin:0 0 12px;
  padding-left:18px;
  line-height:1.45;
}

.eemseo-list li:before{
  content:"";
  position:absolute;
  top:.58em;
  left:0;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--eemseo-gold);
}

.eemseo-item-title{
  display:block;
  font-size:14px;
  color:var(--eemseo-text);
}

.eemseo-item-meta{
  display:block;
  margin-top:2px;
  color:var(--eemseo-muted);
  font-size:12px;
}

.eemseo-empty{
  color:var(--eemseo-muted);
  font-size:14px;
}

.eemseo-details{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--eemseo-border);
}

.eemseo-details summary{
  cursor:pointer;
  color:#995f00;
  font-weight:800;
  font-size:13px;
}

.eemseo-details summary:hover{color:var(--eemseo-gold)}

.eemseo-table-wrap{
  width:100%;
  overflow-x:auto;
}

.eemseo-mini-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.eemseo-mini-table th,
.eemseo-mini-table td{
  padding:10px 0;
  border-bottom:1px solid var(--eemseo-border);
  text-align:left;
  vertical-align:top;
}

.eemseo-mini-table th{
  color:var(--eemseo-muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.eemseo-mini-table strong{display:block;color:#111827;font-size:13px}
.eemseo-mini-table small{display:block;margin-top:3px;color:var(--eemseo-muted);font-size:11px}

.eemseo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#eef1f5;
  color:#344054;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.eemseo-badge-completed,
.eemseo-badge-improved,
.eemseo-badge-optimized{
  background:#ecfdf3;
  color:#027a48;
}

.eemseo-badge-in-progress,
.eemseo-badge-needs-review,
.eemseo-badge-recommended{
  background:#fff7e6;
  color:#9a5f00;
}

.eemseo-badge-dropped,
.eemseo-badge-not-ranking,
.eemseo-badge-not-started{
  background:#fff1f3;
  color:#b42318;
}

.eemseo-badge-no-change{
  background:#f2f4f7;
  color:#475467;
}

.eemseo-page-list{
  display:grid;
  gap:14px;
}

.eemseo-page-item{
  padding:14px;
  border:1px solid var(--eemseo-border);
  border-radius:14px;
  background:#fbfcfd;
}

.eemseo-page-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.eemseo-page-topline strong{
  color:#111827;
  font-size:14px;
}

.eemseo-page-item p{
  margin:8px 0 10px;
  color:var(--eemseo-muted);
  font-size:12px;
}

.eemseo-small-progress{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#edf0f4;
}

.eemseo-page-item small{
  display:block;
  margin-top:8px;
  color:var(--eemseo-muted);
  font-size:11px;
}

.eemseo-report-week{
  display:inline-flex;
  margin-bottom:10px;
  color:var(--eemseo-muted);
  font-size:12px;
  font-weight:700;
}

.eemseo-card-report p,
.eemseo-report-full{
  color:#344054;
  font-size:14px;
  line-height:1.6;
}

.eemseo-private-message{
  max-width:680px;
  margin:40px auto;
  padding:20px 24px;
  border:1px solid #f3d19e;
  border-radius:16px;
  background:#fff8ec;
  color:#7a4b00;
  font-weight:800;
  text-align:center;
}

@media (max-width:1100px){
  .eemseo-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eemseo-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:760px){
  .eemseo-public-dashboard{margin:28px auto;padding:12px}
  .eemseo-dashboard-hero{flex-direction:column;align-items:flex-start;padding:24px}
  .eemseo-dashboard-hero h2{font-size:28px}
  .eemseo-progress-card{width:100%;min-width:0}
  .eemseo-dashboard-grid,
  .eemseo-dashboard-grid-two,
  .eemseo-summary-grid{grid-template-columns:1fr}
  .eemseo-card{padding:18px;min-height:auto}
  .eemseo-mini-table{font-size:12px}
}

/* ============================================================
 * v1.2.0 Detailed SEO Score Reporting Upgrade
 * ============================================================ */
.eemseo-health-summary{
  margin:18px 0;
  padding:22px 24px;
  border:1px solid rgba(227,144,2,.28);
  border-radius:18px;
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  box-shadow:0 12px 34px rgba(17,24,39,.06);
}

.eemseo-health-summary p{
  margin:0;
  color:#26303d;
  font-size:15px;
  line-height:1.7;
}

.eemseo-section-head{
  margin:24px 0 12px;
}

.eemseo-section-head h3{
  margin:0;
  color:#111827;
  font-size:22px;
  letter-spacing:-.02em;
}

.eemseo-section-head p{
  margin:6px 0 0;
  color:var(--eemseo-muted);
  font-size:14px;
}

.eemseo-score-grid{
  margin-top:12px;
}

.eemseo-score-card strong{
  color:#111827;
}

.eemseo-card-wide{
  grid-column:1 / -1;
  min-height:auto;
}

.eemseo-score-breakdown{
  margin-top:18px;
}

.eemseo-card-head p{
  margin:6px 0 0;
  color:var(--eemseo-muted);
  font-size:13px;
  line-height:1.45;
}

.eemseo-page-score-list{
  display:grid;
  gap:14px;
}

.eemseo-page-score{
  padding:18px;
  border:1px solid var(--eemseo-border);
  border-radius:16px;
  background:#fbfcfd;
}

.eemseo-page-score-critical{
  border-color:#ffd6dc;
  background:linear-gradient(135deg,#fff7f8,#ffffff);
}

.eemseo-page-score-needs-work{
  border-color:#ffe3a8;
  background:linear-gradient(135deg,#fffaf0,#ffffff);
}

.eemseo-page-score-good{
  border-color:#bfe9d1;
  background:linear-gradient(135deg,#f4fff8,#ffffff);
}

.eemseo-page-score-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:18px;
  align-items:center;
}

.eemseo-page-score-titleline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.eemseo-page-score h4{
  margin:0;
  color:#111827;
  font-size:17px;
}

.eemseo-page-score a{
  display:inline-flex;
  margin-top:6px;
  color:#9a5f00;
  font-size:13px;
  text-decoration:none;
}

.eemseo-page-score a:hover{
  color:var(--eemseo-gold);
}

.eemseo-page-score p{
  margin:8px 0 0;
  color:#475467;
  font-size:13px;
}

.eemseo-score-meter{
  padding:14px;
  border:1px solid var(--eemseo-border);
  border-radius:14px;
  background:#fff;
}

.eemseo-score-meter strong{
  display:block;
  color:#111827;
  font-size:30px;
  line-height:1;
}

.eemseo-score-meter strong small{
  color:var(--eemseo-muted);
  font-size:13px;
}

.eemseo-score-meter .eemseo-small-progress{
  margin:10px 0 8px;
}

.eemseo-score-meter > span{
  display:block;
  color:var(--eemseo-muted);
  font-size:11px;
  line-height:1.4;
}

.eemseo-page-detail-panel{
  margin-top:16px;
}

.eemseo-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.eemseo-detail-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--eemseo-border);
  border-radius:12px;
  background:#fff;
}

.eemseo-detail-row span:first-child{
  color:#344054;
  font-size:13px;
  font-weight:800;
}

.eemseo-issue-block{
  margin-top:16px;
}

.eemseo-issue-block h5{
  margin:0 0 10px;
  color:#111827;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.eemseo-report-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}

.eemseo-report-metrics span{
  display:inline-flex;
  gap:4px;
  padding:6px 9px;
  border-radius:999px;
  background:#f4f6f8;
  color:#475467;
  font-size:11px;
  font-weight:800;
}

.eemseo-report-metrics strong{
  color:#111827;
}

.eemseo-badge-good{
  background:#ecfdf3;
  color:#027a48;
}

.eemseo-badge-needs-work,
.eemseo-badge-warning,
.eemseo-badge-needs-work,
.eemseo-badge-needs-review{
  background:#fff7e6;
  color:#9a5f00;
}

.eemseo-badge-critical,
.eemseo-badge-failed{
  background:#fff1f3;
  color:#b42318;
}

.eemseo-card-priority{
  border-color:rgba(227,144,2,.3);
  background:linear-gradient(180deg,#fffaf0,#fff);
}

@media (max-width:900px){
  .eemseo-page-score-main{grid-template-columns:1fr}
  .eemseo-detail-grid{grid-template-columns:1fr}
}

/* ============================================================
 * v1.2.1 Keyword Readability Upgrade
 * ============================================================ */
.eemseo-card-keywords-readable{
  grid-column:span 2;
  min-height:auto;
}

.eemseo-keyword-readable-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.eemseo-keyword-readable-list-hidden{
  margin-top:14px;
}

.eemseo-keyword-item{
  padding:14px;
  border:1px solid var(--eemseo-border);
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#fbfcfd);
}

.eemseo-keyword-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.eemseo-keyword-title-row strong{
  color:#111827;
  font-size:15px;
  line-height:1.35;
  word-break:normal;
  overflow-wrap:anywhere;
}

.eemseo-keyword-title-row .eemseo-badge{
  flex:0 0 auto;
}

.eemseo-keyword-meta-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(72px,.6fr) minmax(72px,.6fr);
  gap:8px;
}

.eemseo-keyword-meta-grid span{
  display:block;
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  background:#f4f6f8;
}

.eemseo-keyword-meta-grid small{
  display:block;
  margin-bottom:4px;
  color:var(--eemseo-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1;
  text-transform:uppercase;
}

.eemseo-keyword-meta-grid b{
  display:block;
  color:#1f2937;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

@media (max-width:1100px){
  .eemseo-card-keywords-readable{grid-column:1 / -1}
}

@media (max-width:760px){
  .eemseo-keyword-readable-list{grid-template-columns:1fr}
  .eemseo-keyword-meta-grid{grid-template-columns:1fr 1fr}
  .eemseo-keyword-meta-grid span:first-child{grid-column:1 / -1}
}

/* v1.3.1 additive monitoring features */
.eemseo-public-dashboard .eemseo-card-report{
  align-self:start;
}

.eemseo-public-dashboard .eemseo-view-badge{
  display:inline-flex;
  align-items:center;
  margin:0 0 12px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:var(--eemseo-gold-hover);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.2;
  text-transform:uppercase;
}

.eemseo-public-dashboard .eemseo-growth-section{
  display:block;
  margin-top:18px;
  padding:24px;
  border:1px solid var(--eemseo-border);
  border-radius:18px;
  background:var(--eemseo-white);
  color:var(--eemseo-text);
  box-shadow:0 12px 34px rgba(17,24,39,.07);
}

.eemseo-public-dashboard .eemseo-growth-section h3{
  margin:0;
  color:#121826;
  font-size:20px;
  line-height:1.25;
}

.eemseo-public-dashboard .eemseo-growth-intro{
  margin:0 0 18px;
  color:var(--eemseo-muted);
  font-size:14px;
  line-height:1.6;
}

.eemseo-public-dashboard .eemseo-roadmap-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.eemseo-public-dashboard .eemseo-roadmap-item{
  position:relative;
  min-height:132px;
  padding:16px;
  border:1px solid var(--eemseo-border);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  color:var(--eemseo-text);
}

.eemseo-public-dashboard .eemseo-roadmap-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin-bottom:12px;
  border-radius:999px;
  background:var(--eemseo-navy);
  color:var(--eemseo-gold-hover);
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.eemseo-public-dashboard .eemseo-roadmap-item strong,
.eemseo-public-dashboard .eemseo-roadmap-item small{
  display:block;
}

.eemseo-public-dashboard .eemseo-roadmap-item strong{
  color:#1f2937;
  font-size:14px;
  line-height:1.35;
}

.eemseo-public-dashboard .eemseo-roadmap-item small{
  margin-top:8px;
  color:#995f00;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}

.eemseo-public-dashboard .eemseo-protected-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:14px 16px;
  border-radius:12px;
  background:#f4f6f8;
  color:var(--eemseo-text);
}

.eemseo-public-dashboard .eemseo-protected-note strong{
  color:#121826;
  font-size:14px;
}

.eemseo-public-dashboard .eemseo-protected-note span{
  color:var(--eemseo-muted);
  font-size:13px;
  line-height:1.45;
  text-align:right;
}

@media (max-width:900px){
  .eemseo-public-dashboard .eemseo-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  .eemseo-public-dashboard .eemseo-roadmap-grid{grid-template-columns:1fr}
  .eemseo-public-dashboard .eemseo-protected-note{align-items:flex-start;flex-direction:column}
  .eemseo-public-dashboard .eemseo-protected-note span{text-align:left}
}
