/* Local worksheet controls share the app's accessible light/dark tokens. */
.worksheet-tools {
  margin-block: 20px;
  padding: 18px;
  border: 1px solid var(--sb-line-strong);
  border-radius: 18px;
  background: var(--sb-surface-raised);
}
.worksheet-tools h3 { margin: 0 0 8px; font-size: 20px; }
.worksheet-tools p { margin: 8px 0; max-width: 70ch; }
.worksheet-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 14px; }
.worksheet-tools button,
.worksheet-dialog button {
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid var(--sb-control-border);
  border-radius: 12px;
  color: var(--sb-text);
  background: var(--sb-surface);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}
.worksheet-tools button.primary,
.worksheet-dialog button.primary {
  color: var(--sb-action-text);
  border-color: var(--sb-action);
  background: var(--sb-action);
}
.worksheet-tools [role="status"] { color: var(--sb-text-secondary); font-weight: 650; }
.worksheet-tools [role="alert"] { color: var(--sb-danger); }
.worksheet-tools [role="alert"]:empty { display: none; }
.worksheet-tools [data-tone="error"],
.worksheet-tools [data-tone="conflict"] { color: var(--sb-danger); }
.worksheet-tools [hidden], .worksheet-dialog [hidden] { display: none !important; }
.worksheet-dialog {
  box-sizing: border-box;
  width: min(600px, calc(100% - 24px));
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 22px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--sb-line-strong);
  border-radius: 20px;
  color: var(--sb-text);
  background: var(--sb-surface);
  box-shadow: var(--sb-shadow-card);
  font: inherit;
}
.worksheet-dialog::backdrop { background: var(--sb-scrim); }
.worksheet-dialog[data-worksheet-embedded] {
  position: fixed;
  inset: var(--worksheet-dialog-top) auto auto 50%;
  transform: translateX(-50%);
  margin: 0;
  max-height: var(--worksheet-dialog-height);
}
.worksheet-dialog[open] { display: flex; flex-direction: column; overflow: hidden; }
.worksheet-dialog > h2, .worksheet-dialog > .worksheet-actions { flex: 0 0 auto; }
#worksheet-dialog-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.worksheet-dialog h2 { margin: 0 0 14px; font-size: 24px; line-height: 1.2; }
.worksheet-dialog p { overflow-wrap: anywhere; }
.worksheet-dialog .worksheet-actions { justify-content: flex-end; margin-bottom: 0; }
[data-worksheet-print-value] { display: none; }
.worksheet-quote-selector { display: none; }
@media (max-width: 680px) {
  .worksheet-tools { padding: 14px; }
  .worksheet-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .worksheet-tools .worksheet-actions > .primary { grid-column: 1 / -1; }
  .worksheet-actions button { min-width: 0; padding-inline: 8px; }
  .worksheet-dialog { padding: 18px; }
  .worksheet-dialog .worksheet-actions { grid-template-columns: 1fr; }
}
@media screen and (max-width: 680px) {
  .seo-worksheet-page .worksheet-quote-selector:not([hidden]) { display: block; margin-block: 18px; }
  .worksheet-quote-selector p { margin: 0 0 8px; font-weight: 700; }
  .worksheet-quote-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .worksheet-quote-buttons button {
    min-height: 48px; min-width: 0; padding: 10px 8px; border-radius: 12px;
    border: 1px solid var(--sb-control-border); color: var(--sb-text);
    background: var(--sb-surface); font: inherit; font-weight: 700; cursor: pointer;
  }
  .worksheet-quote-buttons button[aria-pressed="true"] {
    background: var(--sb-action); border-color: var(--sb-action); color: var(--sb-action-text);
  }
  .seo-worksheet-page .seo-worksheet-table th:first-child { position: static; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-wrap { contain: none; overflow: visible; border: 0; border-radius: 0; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table,
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table tbody,
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table tr {
    display: block; width: 100%; min-width: 0;
  }
  .seo-worksheet[data-mobile-quote] .seo-worksheet-table thead { display: none; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table caption { display: block; padding: 0 0 14px; text-align: left; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table tbody tr { margin-bottom: 14px; border: 1px solid var(--sb-line-strong); border-radius: 12px; overflow: hidden; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table th,
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table td { display: block; width: 100%; min-width: 0; box-sizing: border-box; border: 0; padding: 12px; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table td { display: none; padding-top: 0; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote="q1"] td:nth-child(2),
  .seo-worksheet-page .seo-worksheet[data-mobile-quote="q2"] td:nth-child(3),
  .seo-worksheet-page .seo-worksheet[data-mobile-quote="q3"] td:nth-child(4),
  .seo-worksheet-page .seo-worksheet[data-mobile-quote="q4"] td:nth-child(5) { display: block; }
  .seo-worksheet-page .seo-worksheet[data-mobile-quote] .seo-worksheet-table textarea { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; min-height: 110px; }
}
@media print {
  .worksheet-tools, .worksheet-dialog, .worksheet-no-print, .worksheet-quote-selector { display: none !important; }
  [data-worksheet-print-value] { display: block; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 9pt; }
  .seo-worksheet-table textarea[data-print-mirrored] { display: none; }
}
