/* =========================================================================
   Inline-style cleanup — finance / docs / contracts / portal / signatures
   Imported from components.css via @import at end of file.
   ========================================================================= */

/* Font / weight / alignment helpers */
.omni-fs-xl           { font-size: 1.25rem; }
.omni-fw-600          { font-weight: 600; }
.omni-items-start     { align-items: flex-start; }
.omni-items-end       { align-items: flex-end; }
.omni-items-baseline  { align-items: baseline; }
.omni-justify-end     { justify-content: flex-end; }
.omni-justify-start   { justify-content: flex-start; }
.omni-justify-between { justify-content: space-between; }
.omni-flex-shrink-0   { flex-shrink: 0; }
.omni-min-w-0         { min-width: 0; }
.omni-lh-relaxed      { line-height: 1.6; }
.omni-lh-loose        { line-height: 1.7; }

/* Card accent borders (variants) */
.card--left-accent    { border-left: 3px solid var(--accent); }
.card--left-warning   { border-left: 3px solid var(--warning); }
.card--left-success   { border-left: 3px solid var(--success); }
.card--left-error     { border-left: 3px solid var(--error); }
.card--left-muted     { border-left: 3px solid var(--text-muted); }

/* KPI tile content (finance dashboards) */
.omni-kpi-label {
  font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--text-muted); margin-bottom: .25rem;
}
.omni-kpi-label--success { color: var(--success); }
.omni-kpi-label--error   { color: var(--error); }
.omni-kpi-label--warning { color: var(--warning); }
.omni-kpi-label--accent  { color: var(--accent); }
.omni-kpi-value {
  font-size: 1.25rem; font-weight: 700;
  color: var(--text-primary);
}
.omni-kpi-value--success { color: var(--success); }
.omni-kpi-value--error   { color: var(--error); }
.omni-kpi-value--warning { color: var(--warning); }
.omni-kpi-value--accent  { color: var(--accent); }
.omni-kpi-value--sm      { font-size: 1.2rem; }

/* Micro caps label */
.omni-micro-label {
  font-size: .72rem; font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .05em;
  margin-bottom: .375rem;
}

/* Overdue dot pulse */
.omni-dot-pulse {
  display: inline-block; width: 7px; height: 7px;
  border-radius: 50%; background: var(--error);
  animation: pulse 1.5s infinite;
  margin-left: .3rem; vertical-align: middle;
}

/* Plain link */
.omni-link-plain { text-decoration: none; color: inherit; }

/* Inline form wrapper */
.omni-form-inline { display: inline; }

/* 16x16 checkbox */
.omni-checkbox { width: 16px; height: 16px; }

/* Stacked action buttons (steuerberater index) */
.omni-btn--stacked  { width: 100%; justify-content: flex-start; gap: .75rem; }
.omni-btn__icon-lg  { font-size: 1.1rem; }
.omni-btn__sub      { font-size: .78rem; font-weight: 400; display: block; }
.btn.omni-btn--primary .omni-btn__sub { color: rgba(255,255,255,.85); }
.btn.omni-btn--outline .omni-btn__sub,
.btn.omni-btn--secondary .omni-btn__sub,
.btn.omni-btn--ghost .omni-btn__sub { color: var(--text-secondary); }

/* Legend swatch */
.omni-legend-dot         { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.omni-legend-dot--accent { background: var(--accent); }
.omni-legend-dot--error  { background: var(--error); }

/* Smart-link code badge */
.omni-smart-link {
  font-size: .72rem;
  color: var(--text-secondary);
  background: var(--bg-section, var(--bg-elevated));
  padding: .25rem .5rem;
  border-radius: 4px;
  flex: 1;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  min-width: 0;
}

/* Info list DL */
.omni-info-list {
  display: grid; grid-template-columns: auto 1fr;
  gap: .375rem .75rem; font-size: .875rem;
}
.omni-info-list dt { color: var(--text-muted); white-space: nowrap; margin: 0; }
.omni-info-list dd { color: var(--text-primary); margin: 0; font-weight: 500; }

/* Tabs */
.omni-tabs--bordered     { border-bottom: 1px solid var(--border); display: flex; gap: 0; }
.omni-tab-panel--padded  { padding: 1.25rem; }
.omni-tab-btn            { padding: .625rem 1.25rem; background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-size: .875rem; color: var(--text-secondary); transition: color .15s, border-color .15s; }
.omni-tab-btn.active,
.omni-tab-btn:hover      { color: var(--text-primary); border-bottom-color: var(--accent); }

/* Section divider with spacing */
.omni-section-sep        { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }

/* Readable body inside doc/contract cards */
.omni-body-readable      { line-height: 1.7; font-size: .9rem; }

/* Checkbox-field row */
.omni-field--checkbox    { display: flex; align-items: center; gap: .5rem; padding-top: 1.75rem; }

/* Form grid layouts */
.omni-form-grid-2        { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.omni-form-grid-2--sm    { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: 1.25rem; }

/* Form action rows */
.omni-form-actions       { display: flex; gap: .75rem; justify-content: flex-end; margin-top: .5rem; }
.omni-form-actions--start{ display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }

/* Due-list row (finance dashboards) */
.omni-due-row            { display: flex; justify-content: space-between; align-items: center; padding: .625rem .875rem; border-bottom: 1px solid var(--border); }
.omni-due-row__num       { font-size: .825rem; font-weight: 600; color: var(--accent); text-decoration: none; }
.omni-due-row__sub       { font-size: .75rem; color: var(--text-muted); }
.omni-due-row__right     { text-align: right; }
.omni-due-row__date      { font-size: .775rem; }
.omni-due-row__skonto    { font-size: .775rem; color: var(--success); font-weight: 600; }
.omni-due-row__expiry    { font-size: .72rem; color: var(--text-muted); }

/* Textarea — doc content */
.omni-textarea-doc       { font-size: .875rem; line-height: 1.6; }

/* Tax risk bar */
.omni-risk-bar           { height: 8px; background: var(--bg-elevated); border-radius: 4px; overflow: hidden; }
.omni-risk-bar__fill     { height: 100%; border-radius: 4px; transition: width .4s; }

/* Finance summary table (steuerberater index) */
.omni-fin-table          { width: 100%; border-collapse: collapse; font-size: .8375rem; }
.omni-fin-table thead tr { background: var(--bg-elevated); }
.omni-fin-table th       { padding: .5rem .875rem; font-weight: 600; font-size: .75rem; color: var(--text-muted); text-align: left; }
.omni-fin-table th.t-right { text-align: right; }
.omni-fin-table td       { padding: .5rem .875rem; }
.omni-fin-table td.t-right { text-align: right; }
.omni-fin-table tbody tr { border-top: 1px solid var(--border); }
.omni-fin-table tr.is-current { background: var(--bg-elevated); }
.omni-fin-table tr.is-current td { font-weight: 600; }
.omni-fin-table tfoot tr { border-top: 2px solid var(--border); font-weight: 700; background: var(--bg-elevated); }
.omni-fin-table tfoot td { padding: .625rem .875rem; }
.omni-fin-table .t-muted { color: var(--text-muted); }
.omni-fin-table .t-accent { color: var(--accent); }

/* Simple bar chart (steuerberater index) */
.omni-bar-chart          { display: flex; align-items: flex-end; gap: .75rem; padding-bottom: 30px; position: relative; }
.omni-bar-col            { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0; }
.omni-bar-pair           { width: 100%; display: flex; align-items: flex-end; gap: 2px; justify-content: center; }
.omni-bar                { flex: 1; border-radius: 3px 3px 0 0; min-height: 3px; }
.omni-bar--income        { background: var(--accent); opacity: .85; }
.omni-bar--expense       { background: var(--error); opacity: .7; }
.omni-bar-label          { font-size: .68rem; color: var(--text-muted); margin-top: .25rem; text-align: center; }
.omni-bar-legend         { display: flex; gap: 1.5rem; margin-top: .25rem; font-size: .78rem; }
.omni-bar-legend__item   { display: flex; align-items: center; gap: .35rem; }

/* Data-driven saldo accent */
.omni-saldo--pos         { border-left: 3px solid var(--accent); }
.omni-saldo--neg         { border-left: 3px solid var(--warning); }

/* Data-driven shadows (used sparingly) */
.omni-shadow-accent      { box-shadow: 0 0 0 1px rgba(99,102,241,.15), 0 2px 8px rgba(99,102,241,.08); }
.omni-shadow-danger      { box-shadow: 0 0 0 1px rgba(239,68,68,.2), 0 2px 12px rgba(239,68,68,.1); }

/* Modal backdrop (legacy modal refactor) */
.omni-modal-dialog--sm   { max-width: 480px; }

/* Sub-subtitle on page header */
.omni-page-header__subtitle { color: var(--text-muted); font-size: .825rem; margin: .25rem 0 0; }
