.analytics-section { max-width:none; }
.analytics-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:13px; border-bottom:1px solid #e5e9ef; }
.analytics-header h2 { margin:0; color:#20314a; font-size:20px; }
.analytics-header p:not(.eyebrow) { margin:5px 0 0; color:#7d8897; font-size:12px; }
.analytics-badge { padding:6px 9px; border-radius:7px; color:#2867bd; background:#edf5ff; font-size:11px; white-space:nowrap; }
.analytics-upload-card,.analytics-dashboard-card { margin-top:11px; padding:14px; border:1px solid #e2e7ee; border-radius:10px; background:#fff; }
.analytics-card-heading,.analytics-dashboard-heading { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.analytics-card-heading h3,.analytics-dashboard-heading h3 { margin:0; color:#20314a; font-size:15px; }
.analytics-card-heading p,.analytics-dashboard-heading p:not(.eyebrow) { margin:4px 0 0; color:#7d8897; font-size:11px; }
.analytics-status { padding:5px 8px; border-radius:6px; color:#77869a; background:#f3f6fa; font-size:11px; white-space:nowrap; }
.analytics-status.loading { color:#2867bd; background:#edf5ff; }.analytics-status.success { color:#23734a; background:#e5f6ec; }.analytics-status.error { color:#a33f48; background:#fde9ea; }
.analytics-date-row { display:flex; align-items:end; gap:10px; margin-top:12px; }
.analytics-date-row label,.analytics-dashboard-actions label { display:grid; gap:5px; color:#65758a; font-size:11px; font-weight:700; }
.analytics-date-row input,.analytics-dashboard-actions select { min-height:32px; padding:6px 9px; border:1px solid #dbe3ec; border-radius:7px; color:#2b405b; background:#fafbfd; font-size:12px; }
.analytics-date-row small { color:#8a98a9; font-size:11px; font-weight:400; }
.analytics-smart-drop { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; margin-top:11px; padding:14px; border:1px dashed #94b8e8; border-radius:10px; background:#f7fbff; cursor:pointer; transition:.18s ease; }
.analytics-smart-drop:hover,.analytics-smart-drop:focus-visible,.analytics-smart-drop.dragging { border-color:#2867bd; background:#eef6ff; box-shadow:0 0 0 3px rgba(40,103,189,.08); outline:none; }
.analytics-smart-drop.locked { opacity:.68; cursor:not-allowed; }.analytics-smart-drop.locked:hover { border-color:#cbd8e8; background:#f7fbff; box-shadow:none; }
.analytics-smart-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:11px; color:#fff; background:#2867bd; font-size:23px; font-weight:800; }
.analytics-smart-copy strong { display:block; color:#28445f; font-size:13px; }.analytics-smart-copy p { margin:4px 0 0; color:#7d8b9b; font-size:11px; }
.analytics-smart-buttons { display:flex; gap:7px; }.analytics-smart-buttons .secondary-button { min-height:34px; padding:7px 10px; font-size:11px; white-space:nowrap; }
.analytics-recognition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:9px; }
.analytics-recognition-grid article { display:flex; align-items:center; justify-content:space-between; min-width:0; padding:8px 10px; border:1px solid #e1e7ef; border-radius:8px; background:#fafbfd; }
.analytics-recognition-grid span { color:#697b90; font-size:11px; font-weight:700; white-space:nowrap; }.analytics-recognition-grid strong { overflow:hidden; margin-left:8px; color:#929dac; font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.analytics-recognition-grid article.detected { border-color:#bad7c7; background:#f3fbf6; }.analytics-recognition-grid article.detected strong { color:#23734a; }.analytics-recognition-grid article.pending { border-color:#f0d9a2; background:#fffaf0; }.analytics-recognition-grid article.pending strong { color:#9a6d19; }
.analytics-selected-summary { display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding:0 2px; color:#738297; font-size:11px; }.analytics-selected-summary button { border:0; color:#2867bd; background:transparent; cursor:pointer; font:inherit; font-weight:700; }
.analytics-upload-actions { display:flex; align-items:center; gap:10px; margin-top:11px; }.analytics-upload-actions span { color:#8a98a9; font-size:11px; }
.analytics-dashboard-heading { align-items:end; }.analytics-dashboard-actions { display:flex; align-items:end; gap:8px; }.analytics-dashboard-actions label { min-width:180px; }.analytics-dashboard-actions button:disabled { opacity:.55; cursor:not-allowed; }
.analytics-legend { display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin:11px 0 9px; padding:8px 10px; border-radius:7px; color:#6f7d8f; background:#f7f9fc; font-size:11px; }.legend-dot { display:inline-block; width:8px; height:8px; margin-right:4px; border-radius:2px; vertical-align:-1px; }.legend-dot.good { background:#ccebd7; }.legend-dot.middle { background:#f7e6a9; }.legend-dot.weak { background:#f5cfd1; }.analytics-legend-note { margin-left:auto; color:#8b98a8; }
.analytics-preview-wrap { overflow:auto; min-height:240px; padding:10px; border:1px solid #e9edf2; border-radius:8px; background:#f7f9fc; }.analytics-preview-wrap img { display:block; max-width:none; height:auto; margin:0 auto; box-shadow:0 5px 18px rgba(31,54,82,.09); }.analytics-empty { display:grid; min-height:230px; place-content:center; justify-items:center; color:#8795a7; text-align:center; }.analytics-empty span { display:grid; place-items:center; width:48px; height:48px; margin-bottom:10px; border-radius:14px; color:#4a7fc4; background:#eaf3ff; font-size:22px; }.analytics-empty strong { color:#52657c; font-size:13px; }.analytics-empty p { margin:6px 0 0; font-size:11px; }
@media (max-width:700px) { .analytics-header,.analytics-card-heading,.analytics-dashboard-heading { display:block; }.analytics-badge,.analytics-status { display:inline-block; margin-top:8px; }.analytics-date-row,.analytics-upload-actions,.analytics-dashboard-actions { align-items:stretch; flex-direction:column; }.analytics-date-row label,.analytics-dashboard-actions label { width:100%; }.analytics-smart-drop { grid-template-columns:38px minmax(0,1fr); padding:11px; }.analytics-smart-icon { width:38px; height:38px; }.analytics-smart-buttons { grid-column:1 / -1; }.analytics-smart-buttons .secondary-button { flex:1; }.analytics-recognition-grid { grid-template-columns:1fr; }.analytics-dashboard-actions { margin-top:10px; }.analytics-dashboard-actions label { min-width:0; }.analytics-legend-note { width:100%; margin-left:0; }.analytics-preview-wrap { margin-inline:-4px; padding:5px; } }
.analytics-personal-diagnosis { margin: 12px 0; padding: 15px; border: 1px solid #dce7f2; border-radius: 10px; background: #fff; color: #415675; }
.analytics-personal-diagnosis h3 { margin: 0; font-size: 16px; color: #244463; }
.analytics-personal-diagnosis h3 small { margin-left: 8px; font-weight: 400; font-size: 12px; color: #7b8aa0; }
.analytics-personal-diagnosis p { margin: 6px 0; font-size: 12px; line-height: 1.6; }
.personal-diagnosis-changes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; padding: 0; list-style: none; }
.personal-diagnosis-changes li { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border-radius: 7px; background: #f6f8fc; font-size: 12px; overflow-wrap: anywhere; }
.personal-diagnosis-changes b { flex-shrink: 0; font-size: 11px; color: #946519; }
.personal-diagnosis-changes .severe { background: #fff4f3; }
.personal-diagnosis-changes .severe b { color: #b54b4b; }
.personal-diagnosis-changes .improved b { color: #28765d; }
.personal-diagnosis-changes small, .personal-diagnosis-peers small { display: block; margin-top: 4px; font-size: 11px; color: #7a899b; }
.personal-diagnosis-peers { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding-top: 10px; border-top: 1px solid #edf1f6; font-size: 12px; }
.personal-diagnosis-peers > strong { font-size: 12px; }
.analytics-personal-diagnosis details { margin-top: 10px; color: #7e8ba0; font-size: 11px; }
.analytics-personal-diagnosis summary { cursor: pointer; }
@media (max-width: 760px) {
  .analytics-personal-diagnosis { padding: 11px; }
  .analytics-personal-diagnosis h3 { font-size: 14px; }
  .analytics-personal-diagnosis h3 small { display: block; margin: 5px 0 0; font-size: 11px; }
  .personal-diagnosis-changes { grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 8px 0; }
  .personal-diagnosis-changes li { padding: 8px; }
  .personal-diagnosis-peers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
