:root{--bg:#f5f7fb;--panel:#fff;--text:#14213d;--muted:#667085;--line:#e5e7eb;--blue:#2557d6;--blue2:#1d4ed8;--good:#0f9d58;--warn:#d97706;--critical:#dc2626}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.site-wrap{max-width:1180px;margin:0 auto;padding:32px 20px 48px}.home-main{max-width:860px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 6px 24px rgba(16,24,40,.05);margin-bottom:22px}.eyebrow{margin:0 0 10px;color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hero-simple{text-align:center;padding:42px 32px}.hero-simple h1{margin:0 0 12px;font-size:40px;line-height:1.15}.hero__text{margin:0 auto 22px;max-width:620px;color:var(--muted);font-size:17px}.hero-form{display:grid;gap:14px;max-width:700px;margin:0 auto}.hero-form label,.grid-2 label{display:grid;gap:8px;text-align:left}.hero-form span,.grid-2 span{font-size:14px;font-weight:700}.hero-form input,.grid-2 input,.grid-2 select,textarea{width:100%;padding:14px 15px;border:1px solid #d0d5dd;border-radius:12px;font-size:15px;background:#fff}.btn-primary,.btn-secondary{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border-radius:12px;border:none;font-weight:700;text-decoration:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn-secondary{background:#eef2ff;color:var(--blue);border:1px solid #c7d2fe}.capability-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.capability-list li{padding-left:28px;position:relative;font-weight:600}.capability-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--good);font-weight:700}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.report-header h1{margin:6px 0 8px}.muted{color:var(--muted)}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.score-card__label{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}.score-card__value{font-size:28px}.progress{height:10px;background:#e5edff;border-radius:999px;overflow:hidden;margin-top:16px}.progress span{display:block;height:100%;background:linear-gradient(135deg,var(--blue),#60a5fa)}.panel__head{margin-bottom:14px}.panel__head h2{margin:0 0 6px}.panel__head p{margin:0;color:var(--muted)}.table-wrap{overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;min-width:980px}.audit-table th,.audit-table td{padding:14px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}.audit-table thead th{background:#f8fafc;border-top:none;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.compact-table{min-width:760px}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-good{background:#ecfdf3;color:var(--good)}.badge-warning,.badge-needs-improvement{background:#fffbeb;color:var(--warn)}.badge-critical{background:#fef2f2;color:var(--critical)}.error-panel{text-align:center;max-width:680px;margin:60px auto}.seo-copy-panel p{line-height:1.7;color:#344054}.report-site-footer{margin:12px 0 0;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.report-site-footer__inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.report-site-footer strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;color:var(--text)}.report-site-footer span{display:block;color:var(--muted);font-size:14px;word-break:break-word}.schema-highlight{margin-top:16px;padding:16px;border:1px solid #dbe7ff;background:#f7faff;border-radius:14px}.schema-highlight strong{display:block;margin-bottom:10px}.schema-tags{display:flex;flex-wrap:wrap;gap:10px}.schema-tags span{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef4ff;color:var(--blue);font-weight:700;font-size:13px}.loading-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);display:none;align-items:center;justify-content:center;z-index:9999}.loading-overlay.active{display:flex}.loading-box{background:#fff;padding:22px 26px;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.15);text-align:center;max-width:360px}.loader{width:42px;height:42px;border:4px solid #dbe7ff;border-top-color:var(--blue);border-radius:50%;margin:0 auto 14px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media print{body{background:#fff}.site-wrap{max-width:none;padding:0}.panel{box-shadow:none;border:1px solid #ddd;border-radius:0;page-break-inside:avoid}.no-print,.loading-overlay{display:none!important}.score-grid{grid-template-columns:repeat(4,1fr)}.audit-table{min-width:0;width:100%;font-size:12px}.audit-table th,.audit-table td{padding:8px 6px}.hero-simple,.capability-panel,.seo-copy-panel{display:none}.report-site-footer{margin-top:12px;border:1px solid #ddd;border-radius:0}.report-site-footer__inner{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-header{flex-direction:column}.capability-list{grid-template-columns:1fr}.hero-simple h1{font-size:32px}}
@media (max-width:640px){.site-wrap{padding:18px 14px 28px}.panel{padding:18px}.score-grid{grid-template-columns:1fr}.hero-simple h1{font-size:28px}.report-site-footer__inner{grid-template-columns:1fr}}
.loading-overlay{
  position:fixed;
  inset:0;
  background:rgba(255,255,255,0.92);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.loading-overlay.active{
  display:flex;
}

.loading-box{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:28px 24px;
  width:min(92vw,420px);
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.loading-box h3{
  margin:14px 0 8px;
  font-size:24px;
  color:#14213d;
}

.loading-box p{
  margin:0;
  color:#667085;
  font-size:15px;
}

.loading-spinner{
  width:54px;
  height:54px;
  margin:0 auto;
  border:5px solid #dbeafe;
  border-top-color:#2557d6;
  border-radius:50%;
  animation:spinLoader 0.9s linear infinite;
}

@keyframes spinLoader{
  to{transform:rotate(360deg);}
}