/* Greenwood × PX T-REPORT-PDF — compliance pack export config.
   Mandatory date-range picker + home multi-select + Generate
   button. The actual PDF artifact is server-rendered.

   Light Greenwood treatment — paper card with form fields on
   Greenwood paper tokens, sage helper copy, brand Generate
   button. */

.trp-wrap {
  padding: var(--ch-space-lg);
  font-family: var(--gw-font);
  color: var(--gw-ink);
  max-width: 980px;
  margin: 0 auto;
}
:where(.trp-wrap) .trp-page-header {
  display: flex; align-items: center; gap: var(--ch-space-md);
  margin-bottom: var(--ch-space-md); flex-wrap: wrap;
}
:where(.trp-wrap) .trp-back-btn {
  background: transparent; border: 1px solid var(--gw-bd);
  color: var(--gw-ink-2); border-radius: var(--gw-r-sm);
  padding: 6px 14px; font-size: 13px; cursor: pointer;
  font-family: var(--gw-font); font-weight: 600;
}
:where(.trp-wrap) .trp-back-btn:hover {
  color: var(--gw-brand-d); border-color: var(--gw-bd-2);
  background: var(--gw-paper-2);
}
:where(.trp-wrap) .trp-title {
  font-size: 22px; font-weight: 600;
  color: var(--gw-ink); margin: 0;
  letter-spacing: -0.01em;
}
:where(.trp-wrap) .trp-title-emph {
  font-family: var(--gw-font-emph);
  font-style: italic; font-weight: 400;
  color: var(--gw-brand-d);
}

:where(.trp-wrap) .trp-card {
  background: var(--gw-paper);
  border: 1px solid var(--gw-bd);
  border-radius: var(--gw-r-lg);
  box-shadow: var(--gw-shadow-1);
  padding: 18px 20px;
  max-width: 720px;
}
:where(.trp-wrap) .trp-section {
  margin-bottom: var(--ch-space-md);
}
:where(.trp-wrap) .trp-label {
  display: block; font-size: 13px; font-weight: 600;
  color: var(--gw-ink); margin-bottom: 6px;
  letter-spacing: -0.005em;
}
:where(.trp-wrap) .trp-helper {
  display: block; font-size: 12.5px;
  color: var(--gw-ink-2);
  margin-bottom: 8px;
  font-family: var(--gw-font-emph);
  font-style: italic; font-weight: 400;
}
:where(.trp-wrap) .trp-date-row { display: flex; gap: var(--ch-space-md); flex-wrap: wrap; }
:where(.trp-wrap) .trp-date-group { display: flex; flex-direction: column; flex: 1; min-width: 180px; }
:where(.trp-wrap) .trp-date-sublabel {
  font-size: 11px;
  color: var(--gw-mute);
  margin-bottom: 4px;
  font-family: var(--gw-font-mono);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
:where(.trp-wrap) .trp-date-input {
  padding: 8px 12px; border: 1px solid var(--gw-bd);
  border-radius: var(--gw-r-sm); background: var(--gw-paper);
  color: var(--gw-ink); font-family: var(--gw-font);
  font-size: 14px;
  transition: border-color var(--gw-t);
}
:where(.trp-wrap) .trp-date-input:focus {
  border-color: var(--gw-brand);
  outline: none;
}
:where(.trp-wrap) .trp-date-input.invalid {
  border-color: var(--gw-danger);
  background: var(--gw-danger-pale);
}

:where(.trp-wrap) .trp-homes-list {
  max-height: 280px; overflow: auto;
  border: 1px solid var(--gw-bd);
  border-radius: var(--gw-r-md);
  background: var(--gw-paper-2); padding: 4px;
}
:where(.trp-wrap) .trp-home-row {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: var(--gw-r-sm);
  cursor: pointer;
  transition: background var(--gw-t);
}
:where(.trp-wrap) .trp-home-row:hover { background: var(--gw-paper); }
:where(.trp-wrap) .trp-home-row input {
  margin: 0; cursor: pointer;
  accent-color: var(--gw-brand);
}
:where(.trp-wrap) .trp-home-row.locked {
  cursor: default; background: var(--gw-paper);
}
:where(.trp-wrap) .trp-home-name {
  font-size: 14px; color: var(--gw-ink);
}
:where(.trp-wrap) .trp-home-name.locked-note {
  font-size: 11px; color: var(--gw-mute);
  margin-left: auto;
  font-family: var(--gw-font-mono);
  letter-spacing: 0.02em;
}
:where(.trp-wrap) .trp-select-controls {
  display: flex; gap: var(--ch-space-sm); margin-top: 6px;
  font-size: 12px;
}
:where(.trp-wrap) .trp-select-controls button {
  background: transparent; border: none;
  color: var(--gw-brand-d);
  cursor: pointer; padding: 2px 4px; font-size: 12px;
  font-family: var(--gw-font); font-weight: 600;
}
:where(.trp-wrap) .trp-select-controls button:hover { text-decoration: underline; }
:where(.trp-wrap) .trp-select-count {
  font-size: 12px; color: var(--gw-mute);
  margin-left: auto;
  font-family: var(--gw-font-mono);
}

:where(.trp-wrap) .trp-footer {
  display: flex; gap: var(--ch-space-sm); align-items: center;
  margin-top: var(--ch-space-md); flex-wrap: wrap;
  border-top: 1px solid var(--gw-bd);
  padding-top: 14px;
}
:where(.trp-wrap) .trp-generate-btn {
  padding: 10px 22px; font-size: 14px; font-weight: 600;
  font-family: var(--gw-font);
  background: var(--gw-brand); color: #fff;
  border: 1px solid var(--gw-brand);
  border-radius: var(--gw-r-md);
  cursor: pointer; min-height: 40px;
  transition: background var(--gw-t), border-color var(--gw-t);
}
:where(.trp-wrap) .trp-generate-btn:hover:not(:disabled) {
  background: var(--gw-brand-d);
  border-color: var(--gw-brand-d);
}
:where(.trp-wrap) .trp-generate-btn:disabled {
  opacity: 0.5; cursor: not-allowed;
}
:where(.trp-wrap) .trp-status {
  font-size: 13px; color: var(--gw-ink-2);
  font-family: var(--gw-font-mono);
}
:where(.trp-wrap) .trp-status.busy { color: var(--gw-brand-d); }

/* Too-large prompt — Greenwood modal. */
:where(.trp-wrap) .trp-modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(15, 23, 42, 0.55);
  z-index: 9000;
  align-items: center; justify-content: center;
}
:where(.trp-wrap) .trp-modal {
  background: var(--gw-paper);
  border: 1px solid var(--gw-bd);
  border-radius: var(--gw-r-lg);
  padding: 24px 24px 20px;
  width: min(92vw, 460px);
  box-shadow: var(--gw-shadow-3);
  display: flex; flex-direction: column; gap: 16px;
}
:where(.trp-wrap) .trp-modal-title {
  font-size: 22px; margin: 0;
  color: var(--gw-ink);
  font-family: var(--gw-font-emph);
  font-style: italic; font-weight: 400;
}
:where(.trp-wrap) .trp-modal-body {
  font-size: 14px; line-height: 1.5; margin: 0;
  color: var(--gw-ink-2);
}
:where(.trp-wrap) .trp-modal-actions {
  display: flex; gap: 8px; justify-content: flex-end;
}
:where(.trp-wrap) .trp-modal-cancel,
:where(.trp-wrap) .trp-modal-confirm {
  padding: 8px 16px; font-size: 14px; font-weight: 600;
  font-family: var(--gw-font);
  border-radius: var(--gw-r-md);
  cursor: pointer; min-height: 36px;
  border: 1px solid var(--gw-bd);
  transition: background var(--gw-t), color var(--gw-t),
              border-color var(--gw-t);
}
:where(.trp-wrap) .trp-modal-cancel {
  background: var(--gw-paper); color: var(--gw-ink-2);
}
:where(.trp-wrap) .trp-modal-cancel:hover {
  background: var(--gw-paper-2);
  color: var(--gw-ink);
  border-color: var(--gw-bd-2);
}
:where(.trp-wrap) .trp-modal-confirm {
  background: var(--gw-brand);
  color: #fff;
  border-color: var(--gw-brand);
}
:where(.trp-wrap) .trp-modal-confirm:hover {
  background: var(--gw-brand-d);
  border-color: var(--gw-brand-d);
}

:where(.trp-wrap) .trp-hidden { display: none; }
:where(.trp-wrap) .trp-select-controls.trp-hidden { display: none; }
