.report-brand p { color:var(--muted); margin:0; }
.score-ring { width:150px; height:150px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--blue) 0 46%, #ececf0 46%); position:relative; }
.score-ring:after { content:""; position:absolute; width:118px; height:118px; border-radius:50%; background:#fff; }
.score-value { position:relative; z-index:1; text-align:center; }
.score-value strong { display:block; font-size:42px; letter-spacing:-.05em; }
.score-value span { color:var(--muted); font-size:11px; }
.report-body { padding:30px 24px 80px; }
.report-grid { width:min(1040px,100%); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.report-card { background:#fff; border:1px solid var(--line-soft); border-radius:17px; padding:22px; }
.report-card.full { grid-column:1/-1; }
.report-card h2 { margin:0 0 16px; font-size:18px; letter-spacing:-.03em; }
.metric-list { display:grid; gap:14px; }
.metric { display:grid; grid-template-columns:1fr 1.4fr 50px; align-items:center; gap:14px; font-size:13px; }
.answer-item { border-top:1px solid var(--line-soft); padding:18px 0; }
.answer-item:first-child { border-top:0; padding-top:0; }
.answer-q { font-weight:650; }
.answer-meta { display:flex; gap:8px; margin-top:9px; flex-wrap:wrap; }
.answer-copy { margin-top:12px; color:#515154; line-height:1.55; font-size:13px; }

.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.32); backdrop-filter:blur(12px); display:none; align-items:center; justify-content:center; padding:20px; }
.modal-backdrop.open { display:flex; }
.modal { width:min(620px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:22px; box-shadow:0 30px 100px rgba(0,0,0,.22); }
.modal-head { padding:23px 24px 16px; display:flex; justify-content:space-between; align-items:center; }
.modal-head h2 { margin:0; font-size:22px; letter-spacing:-.035em; }
.icon-btn { width:32px; height:32px; border-radius:50%; border:0; background:#f0f0f2; }
.modal-actions { padding:16px 24px 24px; display:flex; justify-content:flex-end; gap:10px; }
.loading { display:none; padding:38px 24px; text-align:center; }
.loading.active { display:block; }
.spinner { width:32px; height:32px; margin:0 auto 16px; border:3px solid #e5e5e8; border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.toast { position:fixed; right:22px; bottom:22px; z-index:110; background:#1d1d1f; color:#fff; padding:13px 16px; border-radius:12px; box-shadow:var(--shadow); transform:translateY(20px); opacity:0; pointer-events:none; transition:.22s ease; font-size:13px; }
.toast.show { transform:translateY(0); opacity:1; }

@media (max-width: 1000px) {
  .preview-cards,.stats { grid-template-columns:repeat(2,1fr); }
  .preview-panels,.grid-2,.lower-grid,.report-grid { grid-template-columns:1fr; }
  .report-card.full { grid-column:auto; }
  .feature-list { grid-template-columns:1fr; }
  .feature,.feature + .feature { padding:28px 0; border-left:0; }
}
@media (max-width: 760px) {
  .public-nav a:not(.nav-button) { display:none; }
  .hero h1 { font-size:48px; }
  .window-preview { grid-template-columns:1fr; }
  .preview-sidebar { display:none; }
  .preview-main { padding:20px; }
  .preview-cards { grid-template-columns:1fr 1fr; }
  .app-shell { grid-template-columns:1fr; }
  .sidebar { position:fixed; z-index:40; width:252px; transform:translateX(-105%); transition:.25s ease; box-shadow:30px 0 80px rgba(0,0,0,.14); }
  .sidebar.open { transform:translateX(0); }
  .topbar { justify-content:space-between; padding:0 18px; }
  .mobile-menu { display:block !important; }
  .content { padding:26px 16px 50px; }
  .page-head { align-items:flex-start; flex-direction:column; }
  .stats { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .report-header { flex-direction:column; }
  .score-ring { width:124px; height:124px; }
  .score-ring:after { width:98px; height:98px; }
  .public-footer .inner { flex-direction:column; }
}
@media (max-width: 480px) {
  .stats,.preview-cards { grid-template-columns:1fr; }
  .hero { padding-left:18px; padding-right:18px; }
  .section { padding:88px 18px; }
  .report-hero { padding-top:34px; }
}
