/* TravelSpy public industry reports (also used by the superadmin review screen). */

.ts-report { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.ts-report__main { min-width: 0; }
.ts-report__aside { position: sticky; top: calc(var(--ts-header-h) + 24px); display: grid; gap: 20px; }

.ts-report__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; font-size: .9375rem; color: rgba(255, 255, 255, .78); }
.ts-report__meta strong { color: var(--ts-bright); font-weight: 600; }

.ts-report__summary { font-size: 1.15rem; line-height: 1.65; color: var(--ts-ink); background: var(--ts-cream); border-radius: var(--ts-radius); padding: 24px 28px; margin: 0 0 40px; }

.ts-report__headlines { list-style: none; padding: 0; margin: 0 0 48px; display: grid; gap: 14px; }
.ts-report__headlines li { position: relative; padding-left: 30px; line-height: 1.6; color: var(--ts-ink); }
.ts-report__headlines li::before { content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 14px; border-radius: 50%; background: var(--ts-bright); box-shadow: inset 0 0 0 4px var(--ts-forest); }

.ts-report__figures { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; margin: 0 0 56px; }
.ts-report__figure { background: var(--ts-white); border: 1px solid var(--ts-line); border-radius: var(--ts-radius); padding: 20px; }
.ts-report__figure-value { font-family: var(--ts-font-display); font-size: 1.85rem; font-weight: 800; color: var(--ts-forest); line-height: 1.1; }
.ts-report__figure-label { font-weight: 600; color: var(--ts-ink); margin-top: 8px; }
.ts-report__figure-meta { font-size: .875rem; color: var(--ts-muted); margin-top: 4px; }

.ts-report__section { margin: 0 0 48px; scroll-margin-top: calc(var(--ts-header-h) + 16px); }
.ts-report__section h2 { font-size: 1.6rem; margin: 0 0 16px; }
.ts-report__section p, .ts-report__section li { line-height: 1.75; color: var(--ts-body); }
.ts-report__section p { margin: 0 0 16px; }
.ts-report__section ul { margin: 0 0 16px; padding-left: 22px; }
.ts-report__section li { margin-bottom: 8px; }
.ts-report__section strong { color: var(--ts-ink); }

.ts-cite { font-size: .7em; line-height: 0; margin-left: 1px; }
.ts-body .ts-cite a { text-decoration: none; color: var(--ts-forest); background: var(--ts-mint); border-radius: 4px; padding: 0 4px; font-weight: 600; }
.ts-body .ts-cite a:hover { background: var(--ts-bright); }

.ts-report__refs { font-size: .9rem; padding-left: 24px; color: var(--ts-body); }
.ts-report__refs li { margin-bottom: 10px; word-break: break-word; scroll-margin-top: calc(var(--ts-header-h) + 16px); }
.ts-report__refs li:target { background: var(--ts-mint); border-radius: 6px; }

.ts-report__note { font-size: .9375rem; color: var(--ts-body); line-height: 1.7; }
.ts-report__note ul { padding-left: 20px; }

.ts-report__toc { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .9375rem; }
.ts-body .ts-report__toc a { text-decoration: none; color: var(--ts-body); }
.ts-body .ts-report__toc a:hover { color: var(--ts-forest); text-decoration: underline; }

.ts-report-contact { background: var(--ts-forest); color: rgba(255, 255, 255, .85); border-radius: var(--ts-radius-lg); padding: 28px; }
.ts-report-contact h2, .ts-report-contact h3 { color: var(--ts-bright); margin: 0 0 10px; }
.ts-report-contact p { color: rgba(255, 255, 255, .85); margin: 0 0 18px; }
.ts-report-contact--wide { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding: 36px 40px; margin: 56px 0 0; }
.ts-report-contact--wide > div { max-width: 60ch; }
.ts-report-contact--wide p { margin: 0; }

.ts-report-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.ts-report-card { display: flex; flex-direction: column; gap: 12px; }
.ts-report-card p { margin: 0; }
.ts-report-card__foot { margin-top: auto; padding-top: 8px; }

.ts-report-featured { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; background: var(--ts-white); border: 1px solid var(--ts-line); border-radius: var(--ts-radius-lg); padding: 40px; box-shadow: var(--ts-shadow-sm); }
.ts-report-featured h2 { margin: 8px 0 14px; }

.ts-report-review { border-left: 4px solid var(--ts-line); padding: 4px 0 4px 16px; margin-bottom: 20px; }
.ts-report-review--pass { border-left-color: var(--ts-bright-dark); }
.ts-report-review--fail { border-left-color: var(--ts-danger); }

@media (max-width: 960px) {
    .ts-report { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .ts-report__aside { position: static; order: -1; }
    .ts-report__aside .ts-report__toc-card { display: none; }
    .ts-report-featured { grid-template-columns: minmax(0, 1fr); padding: 28px; }
    .ts-report-contact--wide { padding: 28px; }
}

@media print {
    .ts-header, .ts-footer, .ts-report__aside, .ts-report-contact--wide .ts-btn { display: none !important; }
    .ts-report { grid-template-columns: minmax(0, 1fr); }
}

/* Superadmin report editor */
.ts-report-admin-inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 16px; }
.ts-report-admin-inline .ts-field { flex: 1 1 280px; margin: 0; }
.ts-report-edit__choices { border: 0; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.ts-report-edit .ts-source-config, .ts-report-edit__text { font-family: inherit; font-size: .95rem; font-weight: 400; line-height: 1.6; }
.ts-report-edit__group { border: 1px solid rgba(22,51,0,.15); border-radius: 12px; padding: 16px; margin: 0 0 16px; }
.ts-report-edit__group legend { font-weight: 700; padding: 0 6px; }
.ts-report-edit__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.ts-report-edit__grid .ts-field { margin: 0; }
.ts-report-edit__locked { font-size: .85rem; color: #454745; margin: 0 0 8px; }
