/* ============================================================
   SCHEDMATE — ACCOUNTING
   Uses global tokens from dashboard/theme.css for perfect light/dark contrast
============================================================ */

.acc-page{max-width:1100px;margin:0 auto;padding:6px 6px 22px}
.acc-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.acc-title{margin:0;font-size:22px;letter-spacing:.2px;color:var(--sm-text)}
.acc-sub{margin-top:3px;font-size:13px;color:var(--sm-muted)}
.acc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.acc-loading{font-size:13px;color:var(--sm-muted);padding:8px 10px;border:1px solid var(--sm-border);border-radius:999px;background:var(--sm-card2)}

.acc-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:14px 14px;border:1px solid var(--sm-border);background:var(--sm-card)}
.acc-range{display:flex;flex-direction:column;gap:6px;min-width:160px}
.acc-label{font-size:12px;color:var(--sm-muted)}
.acc-input{width:100%;padding:10px 11px;border-radius:12px;border:1px solid var(--sm-border);background:rgba(255,255,255,.75);color:var(--sm-text);outline:none}
html.dark .acc-input, body.dark .acc-input{background:rgba(0,0,0,.2)}
.acc-input:focus{border-color:rgba(124,124,255,.6);box-shadow:0 0 0 3px rgba(124,124,255,.18)}
.acc-tip{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--sm-muted);font-size:13px}
.acc-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid var(--sm-border);background:var(--sm-card2);color:var(--sm-text);font-size:12px}

.acc-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 10px}
.acc-tab{border:1px solid var(--sm-border);background:var(--sm-card);color:var(--sm-text);padding:9px 12px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13px}
.acc-tab:hover{transform:translateY(-1px)}
.acc-tab.is-active{border-color:rgba(124,124,255,.6);box-shadow:0 10px 24px rgba(124,124,255,.14)}

.acc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
@media (max-width:900px){.acc-cards{grid-template-columns:1fr}}
.acc-card{padding:16px;border:1px solid var(--sm-border);background:var(--sm-card)}
.acc-card-title{font-size:12px;color:var(--sm-muted);font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.acc-card-value{font-size:28px;font-weight:800;margin-top:6px;color:var(--sm-text)}
.acc-card-sub{font-size:12px;color:var(--sm-muted);margin-top:2px}

.acc-tablewrap{padding:14px;border:1px solid var(--sm-border);background:var(--sm-card)}
.acc-tabletitle{font-size:14px;font-weight:800;color:var(--sm-text);margin:0 0 2px}
.acc-tablesub{font-size:12px;color:var(--sm-muted);margin-bottom:10px}
.acc-table{border:1px solid var(--sm-border);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.55)}
html.dark .acc-table, body.dark .acc-table{background:rgba(0,0,0,.18)}
.acc-row{display:grid;grid-template-columns:140px 120px 1fr 160px 140px;gap:10px;padding:10px 12px;border-bottom:1px solid var(--sm-border);align-items:center}
@media (max-width:900px){.acc-row{grid-template-columns:120px 100px 1fr 120px 110px}}
.acc-row:last-child{border-bottom:none}
.acc-head{font-size:12px;font-weight:800;color:var(--sm-muted);background:rgba(255,255,255,.65)}
html.dark .acc-head, body.dark .acc-head{background:rgba(255,255,255,.06)}
.acc-row:hover{background:rgba(124,124,255,.06)}
.acc-right{text-align:right;font-variant-numeric:tabular-nums}
.acc-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-empty{padding:14px;color:var(--sm-muted);font-size:13px}

.acc-pl{padding:16px;border:1px solid var(--sm-border);background:var(--sm-card)}
.acc-pl-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--sm-border)}
.acc-pl-row:last-child{border-bottom:none}
.acc-pl-label{color:var(--sm-muted);font-weight:700}
.acc-pl-val{color:var(--sm-text);font-weight:900}
.acc-pl-profit .acc-pl-label{color:var(--sm-text)}
.acc-pl-note{margin-top:12px;color:var(--sm-muted);font-size:12px}

.acc-modal{width:min(720px,92vw)}
.acc-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.acc-field{display:flex;flex-direction:column;gap:6px}
.acc-span2{grid-column:span 2}
@media (max-width:700px){.acc-formgrid{grid-template-columns:1fr}.acc-span2{grid-column:span 1}}

.acc-pre{margin:10px 0 0;padding:10px;border-radius:12px;border:1px solid var(--sm-border);background:rgba(0,0,0,.06);color:var(--sm-text);overflow:auto}
html.dark .acc-pre, body.dark .acc-pre{background:rgba(0,0,0,.35)}

.acc-hint{padding:14px;border:1px dashed rgba(124,124,255,.55)}
.acc-hint-title{font-weight:900;color:var(--sm-text);margin-bottom:6px}
.acc-hint-body{color:var(--sm-muted);font-size:13px}
/* =========================================================
   SCHEDMATE — ACCOUNTING CONTRAST FIX (LIGHT + DARK)
   Scoped to #view-accounting only to avoid global conflicts
========================================================= */

#view-accounting,
#view-accounting * {
  color: inherit;
}

/* Ensure base text colors follow theme tokens */
#view-accounting {
  color: var(--sm-text);
}

/* Buttons inside Accounting header/actions */
#view-accounting .acc-actions button,
#view-accounting .acc-actions .sm-btn,
#view-accounting button.sm-btn {
  background: var(--sm-card);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
  box-shadow: none;
}

/* Primary action button (Add Expense) */
#view-accounting .acc-actions .sm-btn.primary,
#view-accounting .acc-actions button.primary,
#view-accounting button.sm-btn.primary {
  background: var(--sm-primary);
  color: #fff;
  border-color: transparent;
}

/* Hover states */
#view-accounting .acc-actions button:hover,
#view-accounting .acc-actions .sm-btn:hover {
  filter: brightness(0.98);
}

/* Tip text / muted labels */
#view-accounting .muted,
#view-accounting .sm-muted,
#view-accounting .acc-tip,
#view-accounting .acc-subtitle,
#view-accounting label {
  color: var(--sm-muted);
}

/* Cards + tables should not dim text */
#view-accounting .sm-card,
#view-accounting .acc-card,
#view-accounting .acc-panel,
#view-accounting .acc-table {
  background: var(--sm-card);
  border: 1px solid var(--sm-border);
  color: var(--sm-text);
}

/* Table headers/rows contrast */
#view-accounting table th {
  color: var(--sm-muted);
}
#view-accounting table td {
  color: var(--sm-text);
}

/* ===== MODAL FIX (labels, fields, buttons) ===== */
#view-accounting .sm-modal,
#view-accounting .sm-modal * {
  color: var(--sm-text);
}

#view-accounting .sm-modal {
  background: var(--sm-card);
  border: 1px solid var(--sm-border);
}

#view-accounting .sm-modal label {
  color: var(--sm-muted);
}

#view-accounting .sm-modal input,
#view-accounting .sm-modal select,
#view-accounting .sm-modal textarea {
  background: var(--sm-card);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
}

#view-accounting .sm-modal input::placeholder,
#view-accounting .sm-modal textarea::placeholder {
  color: var(--sm-muted);
  opacity: 0.75;
}

/* Modal footer buttons */
#view-accounting .sm-modal .sm-btn,
#view-accounting .sm-modal button {
  background: var(--sm-card);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
}

#view-accounting .sm-modal .sm-btn.primary,
#view-accounting .sm-modal button.primary {
  background: var(--sm-primary);
  color: #fff;
  border-color: transparent;
}

/* Make sure disabled doesn't look like “invisible” */
#view-accounting button:disabled,
#view-accounting .sm-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
