/* print.css — clean, ink-friendly print styles for Study Plan / Smart Pro cards */

:root {
  --print-text: #111;
  --print-muted: #444;
  --print-border: #ccc;
}

@page {
  margin: 16mm;
}

* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

body {
  font: 12pt/1.4 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, sans-serif;
  color: var(--print-text);
  background: #fff !important;
}

.print-wrap {
  max-width: 7.5in;
  margin: 0 auto;
}

[data-sp-card] {
  background: #fff !important;
  color: var(--print-text) !important;
  border: 1px solid var(--print-border) !important;
  border-radius: 8px !important;
  padding: 12pt !important;
  box-shadow: none !important;
  break-inside: avoid-page;
  margin: 0 0 14pt 0 !important;
}

[data-sp-title] {
  font-weight: 700 !important;
  font-size: 14pt !important;
  color: var(--print-text) !important;
  margin-bottom: 8pt !important;
}

[data-sp-meta],
[data-sp-session-meta] {
  color: var(--print-muted) !important;
  font-size: 10pt !important;
}

[data-sp-session] {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  padding: 8pt 0 !important;
  border-top: 1px solid var(--print-border) !important;
  page-break-inside: avoid;
}

[data-sp-session]:first-of-type {
  border-top: 0 !important;
}

[data-sp-session-title] {
  font-weight: 600 !important;
  font-size: 11pt !important;
  margin-bottom: 4pt !important;
}

[data-sp-session-status] {
  font-style: italic !important;
  color: var(--print-muted) !important;
}

[data-sp-recall] {
  margin-top: 8pt !important;
  border: 1px dashed var(--print-border) !important;
  border-radius: 6px !important;
  padding: 8pt !important;
  background: #f9f9f9 !important;
}

[data-sp-recall] summary {
  font-weight: 600 !important;
  font-size: 11pt !important;
  margin-bottom: 6pt !important;
  color: var(--print-text) !important;
}

[data-sp-prompt] {
  margin-bottom: 4pt !important;
  padding: 4pt !important;
  border-left: 2px solid var(--print-border) !important;
  padding-left: 8pt !important;
  font-size: 10pt !important;
  line-height: 1.3 !important;
}

/* Hide interactive-only elements */
button,
.btn,
[data-sp-actions],
[data-export],
summary::-webkit-details-marker,
.sp-card__actions,
.sp-recall__tools {
  display: none !important;
}

/* Ensure details content is visible */
details {
  border: 0 !important;
  padding: 0 !important;
}

details[open] > *:not(summary) {
  display: block !important;
}

details summary {
  list-style: none !important;
}

/* Hide app chrome */
header,
footer,
nav,
.app-chrome,
.modal,
.scrim,
.floating-smart-pro-button,
.agent-input-container {
  display: none !important;
}

/* Footer meta information */
.sp-card footer {
  border-top: 1px solid var(--print-border) !important;
  padding-top: 8pt !important;
  margin-top: 8pt !important;
  font-size: 9pt !important;
  color: var(--print-muted) !important;
}

/* Responsive print adjustments */
@media print and (max-width: 6in) {
  body {
    font-size: 11pt !important;
  }

  [data-sp-title] {
    font-size: 13pt !important;
  }

  [data-sp-session-title] {
    font-size: 10pt !important;
  }
}

/* Ensure good page breaks */
.sp-card {
  page-break-inside: avoid;
  break-inside: avoid;
}

[data-sp-session] {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* Print-specific typography improvements */
@media print {
  * {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a {
    color: var(--print-text) !important;
    text-decoration: underline !important;
  }

  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: var(--print-muted);
  }
}
