:root {
  --ink: #071b4a;
  --muted: #5b718b;
  --green: #07579b;
  --green2: #06447c;
  --cream: #f4f9fc;
  --line: #dce9f1;
  --amber: #e2a221;
  --red: #a86600;
  --shadow: 0 12px 40px rgba(5, 49, 105, .07);
}

.brand-logo { display: block; object-fit: contain; flex: none; }
.login-logo { width: 94px; height: 101px; margin: 0 0 19px; }
.sidebar-logo { width: 43px; height: 47px; }
.topbar-brand { display: flex; align-items: center; gap: 8px; min-width: 0; }
.topbar-logo { width: 39px; height: 43px; }
.topbar-brand h1 { font-size: 23px; }
.topbar-brand .eyebrow { font-size: 8px; letter-spacing: 1.2px; }

.eyebrow { color: #6b8fa8; }
.button.outline { border-color: #c7dbe8; }
.text-button { color: #086d9d; }
.day-strip { color: #5f7790; }
.separator { color: #92adbc; }
.status-pill { background: #dff5f9; color: #056886; }
.status-pill.closed { background: #e8eef4; color: #60738a; }

.hero-card { background: linear-gradient(125deg, #061d4e 4%, #075c9f 95%); }
.hero-card > span { color: #c0e8f1; }
.eyebrow.light { color: #71d5e9; }
.hero-decoration { color: #00afd012; }
.stat-card small { color: #8498aa; }
.action-card:hover, .action-card:focus-visible { border-color: #00abc9; }
.action-icon, .movement-icon { background: #e1f3f9; color: #075e9e; }
.action-card.expense .action-icon, .movement-icon.egreso { background: #fff3d5; color: #a86a00; }
.action-card.collection .action-icon, .movement-icon.recaudo { background: #e8effa; color: #073f83; }
.action-card small, .movement-info small { color: #8095a8; }
.voice-banner { border-color: #b9e9f1; background: #e6f8fb; }
.voice-banner small { color: #587f92; }
.voice-arrow { color: #008db1; }
.count-chip { color: #537087; background: #e7f0f6; }
.empty-list { border-color: #bfd6e2; background: #f8fbfd; color: #6c879d; }

.calculation-card span { color: #627e95; }
.formula-card { background: #e6f4f9; }
.formula-card > span { color: #08799e; }
.formula-line, .formula-total { color: #52718a; }
.formula-total { border-color: #b7dae8; }
.count-header { background: #e9f2f7; color: #58768c; }
.denom-row { border-color: #edf3f7; }
.denom-row input, .delivery-row input { border-color: #cfdfea; background: #fbfdff; }
.count-total { background: #dff4f8; }
.closing-icon { background: #ddf4f8; color: #08799e; }
.closing-card.warning .closing-icon { background: #fff1d0; color: #aa6900; }
.closing-numbers { background: #e4edf4; }
.closing-numbers div { background: #fbfdff; }
.closing-numbers span, .small-note { color: #728ba0; }
.party-row small { color: #7890a4; }
.party-tag { background: #e3f4f9; color: #076a92; }
.responsible-heading { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 38px; }
.add-responsible { justify-self: start; padding: 0; margin-top: -7px; }
.form-help { color: var(--muted); font-size: 11px; margin: -5px 0 0; }
.empty-icon { color: #e0a725; }

.mobile-nav { box-shadow: 0 -8px 30px #082c6013; }
.nav-button { color: #8299aa; }
.nav-button.active { color: #075a9d; }
.login-page { background: radial-gradient(circle at 20% 15%, #dff4f9, transparent 42%), var(--cream); }
.login-card { box-shadow: 0 20px 80px #082e6312; }
.stack input, .stack select, .top-actions select { border-color: #d5e3ed; background: #fbfdff; }
.stack input:focus, .stack select:focus, .search-field:focus, .denom-row input:focus {
  border-color: #00a9c9;
  box-shadow: 0 0 0 3px #00a9c922;
}
#toast { background: #072658; box-shadow: 0 12px 30px #061a4e35; }
#toast.error { background: #a86600; }
dialog.modal { box-shadow: 0 30px 80px #05193d55; }
dialog::backdrop { background: #061836a6; }
.icon-button { background: #eaf2f7; }
.voice-draft { background: #e2f5f9; border-color: #b6e5ee; }
.voice-draft p, .voice-draft small { color: #386f86; }
.recording-indicator { width: 66px; height: 66px; display: grid; place-items: center; margin: 4px auto 0; border-radius: 50%; background: #e4f6fa; font-size: 30px; }
.recording-indicator.active { background: #d4f1f8; box-shadow: 0 0 0 8px #d4f1f855; animation: recording-pulse 1.3s ease-in-out infinite; }
@keyframes recording-pulse { 50% { box-shadow: 0 0 0 15px #d4f1f822; } }
.voice-status { text-align: center; font-size: 14px; font-weight: 800; line-height: 1.45; margin: 0; }
.voice-timer { text-align: center; color: #08799e; font-size: 18px; font-weight: 800; margin: -10px 0 2px; }
.voice-manual { display: grid; gap: 9px; border-top: 1px solid var(--line); margin-top: 10px; padding-top: 18px; }
.voice-manual label { font-size: 12px; font-weight: 800; }
.voice-manual textarea { width: 100%; resize: vertical; min-height: 88px; padding: 11px 12px; border: 1px solid #d5e3ed; border-radius: 10px; background: #fbfdff; color: var(--ink); font: inherit; font-size: 13px; }
.voice-manual textarea:focus { outline: none; border-color: #00a9c9; box-shadow: 0 0 0 3px #00a9c922; }
.field-title small, .payment-balance { color: #758da1; }
.payment-row button { background: #fff2d7; color: #a86a00; }
.payment-balance.invalid { color: #a86600; }

@media (min-width: 700px) {
  .topbar-brand h1 { font-size: 32px; }
  .topbar-logo { width: 48px; height: 52px; }
  .topbar-brand .eyebrow { font-size: 10px; letter-spacing: 2px; }
}

@media (min-width: 1050px) {
  .topbar-logo { display: none; }
  .side-nav .nav-button.active { background: #e2f4f9; }
  .sidebar-label { color: #8ea8b9; }
  .brand small { color: #849bad; }
  .online-dot { background: #00a9c9; }
}

@media print {
  .hero-card { background: white; color: var(--ink); }
  .topbar-logo { display: block; }
}
