/* i2: neutral report, settings and reference surfaces; paper styling stays in reports-print.css. */
:is(.reports-page, .settings-page, .ai-settings-page, .about-page) { min-width: 0; }
:is(.reports-page, .settings-page, .ai-settings-page) { display: grid; gap: var(--density-gap); }
:is(.reports-page, .settings-page, .ai-settings-page) > :is(.card, .toolbar, .page-header) { margin-bottom: 0; }
:is(.reports-page, .settings-page, .ai-settings-page, .about-page) h1 { font-size: var(--text-2xl); }
:is(.reports-page, .settings-page, .ai-settings-page, .about-page) :is(h2, legend, .card-title) { font-size: var(--text-lg); font-weight: 600; }
:is(.reports-page, .settings-page, .ai-settings-page, .about-page) :is(input, select) { min-width: 0; }
:is(.reports-page, .settings-page, .ai-settings-page, .about-page) .hint { color: var(--color-muted); }

.reports-page .report-selectors { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-4); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-lg); }
.reports-page .report-selectors select { width: 100%; }
.reports-page .report-type { min-inline-size: 0; margin: 0; }
.reports-page .report-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reports-page .report-paper-control { grid-column: 1 / -1; }
.reports-page .report-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--density-gap); align-items: start; }
.reports-page .report-columns > .card { margin: 0; }
.reports-page .completeness-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.reports-page .completeness-heading h2 { margin: 0; }
.reports-page .report-completeness .disclosure-trigger { justify-content: space-between; color: var(--color-muted); font-size: var(--text-sm); }
.reports-page .report-completeness .disclosure-content > ul { list-style: none; margin-block: var(--space-2); padding: 0; }
.reports-page .report-completeness .disclosure-content li { margin-bottom: var(--space-2); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.reports-page .report-warning-link { display: grid; grid-template-columns: var(--space-5) minmax(0, 1fr) var(--space-5); gap: var(--space-2); align-items: center; min-height: var(--control-min-height); padding: var(--space-3); color: var(--color-ink); font-size: var(--text-sm); text-decoration: none; }
.reports-page .report-warning-link > .icon { color: var(--color-muted); }
.reports-page .report-preview { max-height: 46rem; overflow-y: auto; }
.reports-page .report-preview > .disclosure-content > p { color: var(--color-muted); font-size: var(--text-sm); }
.reports-page .report-thumbnail { width: min(100%, 24rem); margin: var(--space-4) auto; padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); font-size: var(--text-xs); }
.reports-page .report-thumbnail-brand { color: var(--color-muted); font-weight: 600; margin: 0 0 var(--space-2); }
.reports-page .report-thumbnail h3 { margin: var(--space-2) 0; font-size: var(--text-lg); line-height: var(--line-tight); }
.reports-page .report-thumbnail h4 { margin: 0 0 var(--space-2); font-size: var(--text-md); }
.reports-page .report-thumbnail-domain { border-top: 1px solid var(--color-line); padding-block: var(--space-3); }
.reports-page .report-thumbnail-domain h5 { margin: 0 0 var(--space-2); font-size: var(--text-sm); color: var(--color-ink); }
.reports-page .report-thumbnail-domain p { margin: var(--space-1) 0; }
.reports-page .report-thumbnail-comment { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--color-muted); }
.reports-page .report-actions { gap: var(--space-3); padding-bottom: env(safe-area-inset-bottom, 0px); }
.reports-page .report-actions > .primary-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); margin: 0; }

.settings-page .settings-card { margin: 0; }
.settings-page :is(.theme-selector, .density-selector) { display: grid; grid-template-columns: minmax(6rem, 1fr) minmax(0, 2fr); gap: var(--space-3); align-items: center; margin-bottom: var(--space-4); }
.settings-page .density-preview { grid-column: 1 / -1; border: 1px solid var(--color-line); border-radius: var(--radius-sm); overflow: hidden; }
.settings-page .density-preview > .hint { display: block; padding: var(--space-2) var(--space-3); }
.settings-page .density-preview .list-row { border-top: 1px solid var(--color-line); }
.settings-page .settings-card > a { display: flex; width: fit-content; margin-block: var(--space-2); }
.settings-page .settings-build { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--space-3); font-size: var(--text-sm); }
.settings-page .settings-build dd { margin: 0; overflow-wrap: anywhere; }

.ai-settings-page .provider-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); min-inline-size: 0; margin: 0; }
.ai-settings-page .provider-choices legend { float: left; grid-column: 1 / -1; width: 100%; margin: 0 0 var(--space-1); padding: 0; }
.ai-settings-page .provider-choice { display: grid; grid-template-columns: var(--space-8) minmax(0, 1fr) var(--space-5); gap: var(--space-3); align-items: center; min-height: var(--control-min-height); padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-sm); cursor: pointer; }
.ai-settings-page .provider-choice:has(:checked) { border-color: var(--color-primary); background: var(--color-accent-soft); }
.ai-settings-page .provider-choice input { grid-column: 3; grid-row: 1; width: var(--space-5); height: var(--space-5); min-height: 0; margin: 0; padding: 0; accent-color: var(--color-primary); }
.ai-settings-page .provider-choice-icon { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: var(--space-8); height: var(--space-8); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-muted); }
.ai-settings-page .provider-choice-copy { grid-column: 2; grid-row: 1; min-width: 0; }
.ai-settings-page .provider-choice-title { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
.ai-settings-page .provider-choice p { margin: var(--space-2) 0 0; font-size: var(--text-sm); color: var(--color-muted); }
.ai-settings-page .report-language-settings select { width: 100%; }
.ai-settings-page .report-language-settings .hint { margin: var(--space-2) 0 0; }
.ai-settings-page .disposable-key-title { font-weight: 600; }
.ai-settings-page .key-control { position: relative; display: grid; }
.ai-settings-page .key-control input { width: 100%; padding-right: calc(var(--control-min-height) + var(--space-2)); }
.ai-settings-page .key-reveal { position: absolute; inset-block: 0; inset-inline-end: 0; display: grid; place-items: center; min-width: var(--control-min-height); border: 0; background: transparent; color: var(--color-muted); }
.ai-settings-page .provider-warning { display: flex; gap: var(--space-2); align-items: start; margin: var(--space-3) 0 0; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-muted); font-size: var(--text-sm); }
.ai-settings-page .provider-data-disclosure { display: grid; grid-template-columns: var(--space-5) minmax(0, 1fr); gap: var(--space-2) var(--space-3); padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); }
.ai-settings-page .provider-data-disclosure > .icon { grid-column: 1; grid-row: 1 / span 3; color: var(--color-muted); }
.ai-settings-page .provider-data-disclosure > :not(.icon) { grid-column: 2; min-width: 0; }
.ai-settings-page .provider-data-disclosure p { margin: 0; }
.ai-settings-page .provider-connection { display: grid; gap: var(--space-3); }
.ai-settings-page .provider-connection h2 { margin: 0; }
.ai-settings-page .provider-connection-result > p { margin: var(--space-2) 0 0; font-size: var(--text-sm); }
.ai-settings-page .provider-connection-result > p:empty { display: none; }
.ai-settings-page .provider-connection > button { justify-self: start; }
.ai-settings-page .settings-actions > a { padding: var(--space-2) var(--space-4); }

.about-page .about-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.about-page .about-card { display: grid; grid-template-columns: var(--space-8) minmax(0, 1fr); column-gap: var(--space-3); align-content: start; margin: 0; background: var(--color-surface); color: var(--color-ink); }
.about-page .about-card-icon { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: var(--space-8); height: var(--space-8); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-primary); }
.about-page .about-card h2 { grid-column: 2; align-self: center; margin: 0; }
.about-page .about-card > :is(ul, p, a) { grid-column: 1 / -1; margin: var(--space-3) 0 0; }
.about-page .about-card ul { padding-inline-start: var(--space-5); font-size: var(--text-sm); color: var(--color-muted); line-height: var(--line-relaxed); }
.about-page .about-card li + li { margin-top: var(--space-2); }
.about-page .about-actions { margin-top: var(--space-4); }

@media screen {
  .print-page { min-width: 0; }
  .print-page .report-controls > :is(button, a) { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--control-min-height); }
  .print-page .report-controls > a { border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); text-decoration: none; }
  .print-page .print-back > .icon { transform: rotate(180deg); }
}
@media (min-width: 601px) and (max-width: 1023px) {
  .reports-page .report-selectors { grid-template-columns: minmax(0, 1fr); }
  .reports-page .report-type-options { width: 100%; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
}
@media (max-width: 767px) {
  .reports-page .report-selectors,
  .reports-page .report-columns,
  .ai-settings-page .provider-choices,
  .about-page .about-grid { grid-template-columns: minmax(0, 1fr); }
  .reports-page .report-preview { max-height: none; overflow: visible; }
  .reports-page .report-actions,
  .ai-settings-page .settings-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  :is(.reports-page .report-actions, .ai-settings-page .settings-actions) > :is(button, a),
  .ai-settings-page .provider-connection > button,
  .about-page .about-card > a { width: 100%; justify-content: center; }
  .ai-settings-page .provider-choices { gap: var(--space-2); padding: var(--space-3); }
  .ai-settings-page .provider-choice { grid-template-columns: var(--space-6) minmax(0, 1fr) var(--space-5); padding: var(--space-2); gap: var(--space-2); }
  .ai-settings-page .provider-choice-icon { width: var(--space-6); height: var(--space-6); }
  .ai-settings-page .provider-choice-title { font-size: var(--text-sm); }
  .ai-settings-page .provider-choice p { font-size: var(--text-xs); }
  .ai-settings-page .provider-choice:not(:has(:checked)) p { display: none; }
}
