.ots-page { padding: 24px; max-width: 1720px; margin: 0 auto; }
.ots-header { padding: 0 0 22px; gap: 24px; }
.ots-header h1 { margin: 2px 0 5px; }
.ots-eyebrow { margin: 0; color: var(--wa-color-brand-40); font-size: .73rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.ots-subtitle, .ots-section-head p { color: var(--wa-color-neutral-40); margin: 0; max-width: 780px; }
.ots-card { padding: 20px; }
.ots-right { text-align: right !important; }
.ots-muted, .ots-doc-card small, .ots-selected-row small { color: var(--wa-color-neutral-40); font-size: .78rem; margin-top: 3px; }
.ots-empty { color: var(--wa-color-neutral-50); padding: 28px !important; text-align: center; }
.ots-error, .ots-bad { color: var(--wa-color-danger-40); }
.ots-ok { color: var(--wa-color-success-30); }
.ots-row { cursor: pointer; }
.ots-row:hover { background: var(--wa-color-neutral-50); }
.ots-doc-pill { border: 1px solid var(--wa-color-neutral-70); border-radius: 999px; font-size: .68rem; margin-right: 4px; padding: 2px 6px; }
.ots-back { color: var(--wa-color-brand-40); display: inline-block; margin-bottom: 18px; text-decoration: none; }
.ots-title-meta, .ots-actions, .ots-source-tools, .ots-section-head { align-items: center; display: flex; gap: 10px; }
.ots-actions { flex-wrap: wrap; justify-content: flex-end; }
.ots-doc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.ots-doc-card { color: inherit; display: flex; flex-direction: column; gap: 4px; padding: 18px; text-decoration: none; }
.ots-doc-card > span { color: var(--wa-color-brand-40); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.ots-section-head { justify-content: space-between; margin-bottom: 14px; }
.ots-section-head h2, .ots-step h2, .ots-summary h2 { font-size: 1.05rem; margin: 0 0 4px; }
.ots-table-scroll { overflow-x: auto; }
.ots-create-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 390px; }
.ots-create-main { display: grid; gap: 18px; min-width: 0; }
.ots-summary { padding: 20px; position: sticky; top: 18px; }
.ots-summary > wa-button { width: 100%; }
.ots-step { align-items: flex-start; display: flex; gap: 12px; margin-bottom: 18px; }
.ots-step > span { align-items: center; background: var(--wa-color-brand-90); border-radius: 50%; color: var(--wa-color-brand-30); display: inline-flex; flex: 0 0 30px; font-weight: 800; height: 30px; justify-content: center; }
.ots-step p { color: var(--wa-color-neutral-40); margin: 0; }
.ots-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#ots-invoice-fields { grid-column: 1 / -1; }
#ots-invoice-fields[hidden] { display: none !important; }
.ots-label { display: block; font-size: var(--wa-form-control-label-font-size); font-weight: var(--wa-form-control-label-font-weight); margin-bottom: var(--wa-form-control-label-margin); }
.ots-source-tools { justify-content: space-between; margin-bottom: 14px; }
.ots-source-tools wa-input { max-width: 430px; width: 100%; }
.ots-candidates { display: grid; gap: 9px; max-height: 520px; overflow: auto; }
.ots-source { align-items: center; border: 1px solid var(--wa-color-neutral-80); border-radius: 9px; display: flex; gap: 14px; justify-content: space-between; padding: 12px 14px; }
.ots-source.is-blocked { background: var(--wa-color-neutral-50); opacity: .72; }
.ots-source > div:last-child { align-items: center; display: flex; gap: 8px; }
.ots-selected-row { align-items: end; border-bottom: 1px solid var(--wa-color-neutral-80); display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) minmax(90px, .45fr) auto; padding: 12px 0; }
.ots-selected-row:has([data-cases]) { grid-template-columns: minmax(0, 1fr) 90px minmax(90px, .45fr) auto; }
.ots-selected-row small { display: block; }
.ots-total { display: flex; justify-content: space-between; margin: 18px 0 6px; }
.ots-dialog { --width: 660px; }
.ots-dialog-stack { display: grid; gap: 14px; }
@media (max-width: 1450px) {
  .ots-create-layout { grid-template-columns: minmax(0, 1fr); }
  .ots-summary { position: static; }
}
@media (max-width: 850px) {
  .ots-page { padding: 16px; }
  .ots-doc-grid, .ots-form-grid { grid-template-columns: minmax(0, 1fr); }
  .ots-header, .ots-source-tools, .ots-section-head { align-items: stretch; flex-direction: column; }
  .ots-actions { justify-content: flex-start; }
  .ots-source { align-items: stretch; flex-direction: column; }
  .ots-selected-row, .ots-selected-row:has([data-cases]) { grid-template-columns: minmax(0, 1fr); }
}
