/* Shared daily-work components. Named rules are shipped directly, independent
   of the generated utility bundle. Page-specific business layouts opt in. */
.workspace-header { align-items: flex-start; }
.workspace-heading { flex: 1 1 22rem; }
.workspace-heading h1 { overflow-wrap: anywhere; }
.workspace-return { display: inline-flex; align-items: center; gap: .3rem; min-height: 2rem; margin-bottom: .35rem; color: var(--ink-2); font-size: .8125rem; }
.workspace-return:hover { color: var(--accent); }
[data-workspace-duplicate] { display: none !important; }
.workspace-actions { align-self: center; }
.workspace-actions:empty { display: none; }
.min-w-10 { min-width: 2.5rem; }
.workspace-actions :is(a, button), .form-actions :is(a, button) { min-height: 2.75rem; height: auto; display: inline-flex; align-items: center; justify-content: center; line-height: 1.35; text-align: center; }
.daily-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; padding: .75rem 0; border-block: 1px solid var(--line); }
.daily-shortcuts > span { color: var(--ink-2); font-size: .8125rem; }
.daily-shortcuts a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .4rem; color: var(--accent); font-size: .875rem; font-weight: 600; }
.daily-shortcuts a:hover { text-decoration: underline; text-underline-offset: 4px; }
.form-field { min-width: 0; }
.form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) { max-width: 100%; }
.field-help { margin-top: .3rem; color: var(--ink-2); font-size: .8125rem; line-height: 1.5; }
.field-errors { margin-top: .3rem; color: #b42318; font-size: .8125rem; line-height: 1.5; }
.form-errors { grid-column: 1 / -1; padding: 1rem; border: 1px solid #f0b6b0; border-left: 3px solid #b42318; border-radius: .625rem; background: #fff6f5; color: #8a251c; scroll-margin-top: 6rem; }
.form-errors > p:first-child { font-weight: 700; }
.form-errors ul { margin-top: .4rem; padding-left: 1.25rem; list-style: disc; }
.form-errors a { text-decoration: underline; text-underline-offset: 3px; }
.form-field [aria-invalid=true] { border-color: #b42318; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.form-actions--sticky { position: sticky; bottom: 0; z-index: 15; padding: .875rem 1rem; background: var(--card); border: 1px solid var(--line); border-radius: .625rem; box-shadow: 0 -3px 12px rgb(0 0 0 / .04); }
.form-actions > p { flex: 1 1 18rem; color: var(--ink-2); font-size: .8125rem; }
.daily-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; font-size: .875rem; }
.daily-pagination > span { color: var(--ink-2); }
.daily-pagination > div { display: flex; gap: .5rem; }
.daily-pagination a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid var(--line); border-radius: .625rem; background: var(--card); }
.daily-pagination a:hover { border-color: var(--accent); color: var(--accent); }
.table-scroll-region { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.table-scroll-hint { padding: .5rem 1rem; color: var(--ink-2); background: var(--card); font-size: .75rem; border-bottom: 1px solid var(--line); }
.table-scroll-hint[hidden] { display: none; }
.record-table { font-variant-numeric: tabular-nums; }
.record-table tbody tr:focus-visible { outline-offset: -3px; }
.record-table :is(a, button) { scroll-margin-top: 6rem; }
.record-table td { overflow-wrap: anywhere; }
.quantity-detail { display: block; margin-top: .15rem; color: var(--ink-2); font-size: .75rem; line-height: 1.4; }
.report-scope { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.25rem; color: var(--ink-2); font-size: .8125rem; }
.contact-link { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
html.theme-dark .form-errors { color: #fecaca; background: #342025; border-color: #94433f; }
html.theme-dark .field-errors { color: #fca5a5; }
html.theme-dark :is(.workspace-return:hover, .daily-shortcuts a, .contact-link) { color: #6ec0a8; }
@media (max-width: 767px) {
  .workspace-heading { flex-basis: 100%; }
  .workspace-actions { gap: .5rem; }
  .workspace-actions > :is(a, button) { flex: 1 1 auto; }
  .form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) { font-size: 1rem; }
  .form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select) { min-height: 2.75rem; }
  .form-actions > :is(a, button) { flex: 1 1 auto; }
  .form-actions--sticky { bottom: env(safe-area-inset-bottom, 0); }
  .record-table { min-width: 0 !important; width: 100%; }
  .record-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .record-table :is(tbody, tr) { display: block; }
  .record-table tbody tr { padding: .75rem 0; }
  .record-table tbody tr + tr { border-top: 1px solid var(--line); }
  .record-table td[data-label] { display: grid; grid-template-columns: minmax(6rem, .8fr) minmax(0, 1.3fr); align-items: baseline; gap: .75rem; padding: .4rem 1rem; text-align: right; white-space: normal; }
  .record-table td[data-label]::before { content: attr(data-label); color: var(--ink-2); font-size: .75rem; font-weight: 500; text-align: left; }
  .record-table td[data-label] > * { min-width: 0; max-width: 100%; }
  .record-table td[data-label] > .record-cell-value { display: block; }
  .record-table td.record-cell-primary { display: block; padding-top: .5rem; text-align: left; font-weight: 600; }
  .record-table td.record-cell-primary::before { display: none; }
  .record-table td.record-cell-actions { display: block; text-align: left; }
  .record-table td.record-cell-actions::before { display: none; }
  .record-table td[colspan] { display: block; width: 100%; white-space: normal; }
  .record-table :is(a, button) { min-height: 2.75rem; height: auto; display: inline-flex; align-items: center; }
  .record-table td :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { width: 100%; min-height: 2.75rem; font-size: 1rem; }
  .record-table td .record-cell-value > form { display: inline-block; }
  .daily-pagination { align-items: flex-start; }
}
@media print {
  .workspace-return, .daily-shortcuts, .table-scroll-hint, .daily-pagination { display: none !important; }
  .form-actions--sticky { position: static; box-shadow: none; }
}
