:root {
  --ts-primary: #6b4f3b;
  --ts-primary-dark: #4f3a2c;
  --ts-bg: #f7f5f2;
  --ts-card-border: #e6e1da;
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

body {
  background-color: var(--ts-bg);
}

.navbar-brand img {
  height: 36px;
}

.ts-login-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f0ece5 0%, var(--ts-bg) 100%);
}

.ts-login-card {
  width: 100%;
  max-width: 380px;
}

.ts-login-card img {
  max-width: 220px;
}

.btn-ts-primary {
  background-color: var(--ts-primary);
  border-color: var(--ts-primary);
  color: #fff;
}

.btn-ts-primary:hover {
  background-color: var(--ts-primary-dark);
  border-color: var(--ts-primary-dark);
  color: #fff;
}

.navbar-ts {
  background-color: #fff;
  border-bottom: 1px solid var(--ts-card-border);
}

.ts-summary-card {
  border: 1px solid var(--ts-card-border);
  border-radius: 0.5rem;
  background: #fff;
}

.ts-summary-card .value {
  font-size: 1.5rem;
  font-weight: 600;
}

.badge-status-ativa {
  background-color: #2e7d32;
}

.badge-status-encerrada {
  background-color: #757575;
}

.card-ficha {
  border: 1px solid var(--ts-card-border);
}

.table-ts thead th {
  white-space: nowrap;
  background-color: #efeae3;
}

.ts-debito-box {
  border: 1px solid var(--ts-card-border);
  border-radius: 0.5rem;
  background: #fff;
}

.ts-debito-box .a-pagar {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--ts-primary-dark);
}

.mock-banner {
  background-color: #fff3cd;
  border-bottom: 1px solid #ffe69c;
  font-size: 0.85rem;
}

.action-icons a {
  color: #6c757d;
  margin-right: 0.5rem;
}

.action-icons a:hover {
  color: var(--ts-primary-dark);
}
