.report-chart-dashboard { margin:24px 0; }
.ui-emoji { display:inline-block;width:22px;height:22px;vertical-align:middle;object-fit:contain; }
.travel-stage-guide .ui-emoji { width:28px;height:28px; }
.travel-stage-tag .ui-emoji { width:20px;height:20px; }
.report-chart-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#42453a;border:1px solid #42453a;color:#efeee8; }
.report-chart-summary > div { background:#1b1e16;padding:22px 24px; }
.report-chart-summary span { font-size:13px;color:#c5c9b9; }
.report-chart-summary strong { display:block;font-size:34px;line-height:1.4;letter-spacing:-1px;color:#dbff48;font-weight:600; }
.report-chart-summary small { font-size:14px;margin-left:5px;letter-spacing:0; }
.report-chart-summary p { font-size:12px;color:#c5c9b9;margin:5px 0 0;line-height:1.6; }
.report-visual-grid { display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-top:18px; }
.report-chart-card { min-width:0;border:1px solid var(--border);background:#faf9f3;padding:24px; }
.report-chart-heading { display:flex;justify-content:space-between;gap:12px;align-items:flex-start; }
.report-chart-heading h3 { font-size:19px;line-height:1.5;letter-spacing:-.5px;margin:7px 0 18px;word-break:keep-all; }
.report-chart-switch { display:flex;gap:6px;margin:0 0 22px; }
.report-chart-switch button { border:1px solid #b6b8aa;background:transparent;font:inherit;font-size:13px;padding:9px 12px;min-height:40px;cursor:pointer; }
.report-chart-switch button[aria-pressed="true"] { background:#20231b;border-color:#20231b;color:#f5f5e8; }
.report-chart-axis { display:flex;justify-content:space-between;color:#64685a;font-size:11px;padding-bottom:8px;border-bottom:1px solid #dedfd3; }
.report-comparison-row { display:block;width:100%;padding:12px 7px;border:0;background:transparent;cursor:pointer;text-align:left; }
.report-comparison-row[aria-pressed="true"] { background:#e8eccc;outline:1px solid #a1ae64; }
.report-bar-label { display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:9px; }
.report-bar-label strong { white-space:nowrap;font-weight:600; }
.report-comparison-track { display:block;height:12px;background:#e5e5d9;overflow:hidden; }
.report-comparison-track i { display:block;width:var(--bar-width);height:100%;background:var(--channel-color);transform-origin:left;animation:report-bar-reveal .75s ease both; }
.report-donut-wrap { position:relative;width:210px;max-width:100%;margin:5px auto 14px; }
.report-donut { display:block;width:100%;height:auto;overflow:visible; }
.report-donut circle { transition:opacity .3s,stroke-width .3s; }
.report-donut-center { position:absolute;inset:28%;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;text-align:center; }
.report-donut-center > span { font-size:12px;color:#666b5b; }
.report-donut-center strong { font-size:30px;line-height:1.4;letter-spacing:-1px; }
.report-donut-center small { display:block;font-size:12px;letter-spacing:0;font-weight:400; }
.report-donut-legend { display:grid;gap:2px; }
.report-donut-legend button { display:flex;align-items:center;gap:8px;min-height:34px;width:100%;background:transparent;border:0;padding:6px;text-align:left;font-size:12px;cursor:pointer; }
.report-donut-legend button[aria-pressed="true"] { background:#e8eccc;outline:1px solid #a1ae64; }
.report-donut-legend i { width:8px;height:8px;flex-shrink:0;border-radius:50%; }
.report-donut-legend span { flex:1; }
.report-donut-legend strong { font-variant-numeric:tabular-nums; }
.report-chart-foot { display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 0; }
.report-chart-foot p { color:var(--muted);font-size:12px;line-height:1.7;margin:0; }
.report-chart-empty { display:flex;gap:14px;align-items:center;padding:24px;border:1px dashed #c0c0b5;margin:20px 0; }
.report-chart-empty p { font-size:14px;line-height:1.8; }
.report-chart-dashboard button:focus-visible { outline:3px solid #66733e;outline-offset:3px; }
@keyframes report-bar-reveal { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:1100px) { .report-visual-grid { grid-template-columns:1fr; }.report-chart-summary > div { padding:18px; } }
@media(max-width:600px) { .report-chart-summary { grid-template-columns:1fr; }.report-chart-summary > div { display:grid;grid-template-columns:1fr auto;gap:0 14px;align-items:center; }.report-chart-summary p { grid-column:1/-1; }.report-chart-summary strong { font-size:28px; }.report-chart-card { padding:18px 14px; }.report-chart-foot { align-items:flex-start;flex-direction:column;gap:6px; }.report-bar-label { font-size:12px; }.report-chart-heading { flex-wrap:wrap; }.report-chart-heading .tag { margin-bottom:14px; } }
@media(prefers-reduced-motion:reduce) { .report-comparison-track i { animation:none; }.report-donut circle { transition:none; } }
.travel-stage-guide { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0; }
.travel-stage-guide > div { display:flex;gap:12px;padding:19px 15px;border:1px solid #d7dbc9;background:#f4f5eb;min-width:0; }
.travel-stage-guide > div > span { font-size:25px;flex-shrink:0; }
.travel-stage-guide strong { font-size:15px; }
.travel-stage-guide p { margin:7px 0;font-size:13px;line-height:1.7;word-break:keep-all; }
.travel-stage-guide small { color:#697153;font-size:12px;line-height:1.6; }
.travel-stage-tag { gap:6px;white-space:nowrap; }
.travel-stage-tag > span { font-size:16px; }
.travel-stage-description { display:block;line-height:1.6;margin-top:6px;min-width:115px;color:var(--muted);font-size:12px; }
.evidence-travel-stage { margin:16px 0 24px; }
.nav-item > span[aria-hidden] { font-size:19px; }
@media(max-width:760px) { .travel-stage-guide { grid-template-columns:1fr; }.travel-stage-guide > div { padding:16px; }.travel-stage-guide p { margin:5px 0; } }
.ai-report-grid > * { min-width:0; }
@media(max-width:360px) {
  .ai-report-grid { grid-template-columns:minmax(0,1fr); }
  .ai-report-metrics { grid-template-columns:1fr; }
  .ai-report-metrics > div { padding:12px 0;border-bottom:1px solid var(--border); }
  .report-week-bars small { white-space:normal;overflow-wrap:anywhere;text-align:center; }
}
