:root {
  --espresso: #2b1710;
  --espresso-light: #4a291a;
  --gold: #c99a3d;
  --gold-dark: #a87924;
  --sand: #f5ede3;
  --ivory: #fffdf9;
  --graphite: #241e1a;
}

body { background: var(--sand); color: var(--graphite); }
.login-page { min-height: 100vh; background: radial-gradient(circle at top, #fff8ef 0%, var(--sand) 48%, #e8d4b9 100%); }
.brand-logo { display: block; width: min(280px, 100%); height: auto; object-fit: contain; object-position: center; }
.brand-logo-login { margin-inline: auto; width: min(300px, 100%); }
.brand-logo-nav { width: 215px; max-height: 68px; object-position: left center; }
.login-card { max-width: 430px; border: 1px solid rgba(201, 154, 61, .35); border-radius: 1.25rem; background: var(--ivory); box-shadow: 0 1rem 2.5rem rgba(43, 23, 16, .13) !important; }
.login-card .form-label { color: var(--espresso); font-weight: 600; }
.form-control { background-color: #fff; border-color: #dec9aa; }
.form-control:focus { border-color: var(--gold); box-shadow: 0 0 0 .25rem rgba(201, 154, 61, .2); }
.btn-coffee { background: var(--gold); border-color: var(--gold); color: var(--espresso); font-weight: 700; }
.btn-coffee:hover, .btn-coffee:focus { background: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }
.home-hero { background: linear-gradient(135deg, var(--espresso), var(--espresso-light)); color: var(--ivory); border-radius: 1rem; box-shadow: 0 .75rem 1.75rem rgba(43, 23, 16, .14); }
.home-hero .text-white-50 { color: #e3c78f !important; }
.section-title { color: var(--gold-dark); font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.module-card { border: 1px solid rgba(43, 23, 16, .08); background: var(--ivory); border-radius: .9rem; color: var(--graphite); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.module-card:hover { border-color: rgba(201, 154, 61, .8); box-shadow: 0 .65rem 1.5rem rgba(43, 23, 16, .1); color: var(--espresso); transform: translateY(-2px); }
.module-hero { border-left: 4px solid var(--gold); border-radius: .75rem; background: var(--ivory); }
.section-access { position: relative; overflow: hidden; border: 0; border-radius: 1rem; background: var(--ivory); color: var(--espresso); box-shadow: 0 .45rem 1.15rem rgba(43, 23, 16, .08); transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.section-access::after { position: absolute; right: -2.5rem; bottom: -4.5rem; width: 10rem; height: 10rem; border-radius: 50%; background: rgba(201, 154, 61, .14); content: ""; }
.section-access:hover { background: #fff8ed; box-shadow: 0 .85rem 1.75rem rgba(43, 23, 16, .15); color: var(--espresso); transform: translateY(-3px); }
.section-access-arrow { position: relative; z-index: 1; display: block; margin-top: 1.25rem; color: var(--gold-dark); font-size: 1.35rem; font-weight: 700; }
.active-kit { background: #fff3dc !important; border-color: rgba(201, 154, 61, .45) !important; color: var(--espresso) !important; }
details > summary { color: var(--espresso); cursor: pointer; font-weight: 600; }
.field-help { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; margin-left: .15rem; border: 1px solid currentColor; border-radius: 50%; color: var(--gold-dark); cursor: help; font-size: .68rem; line-height: 1; vertical-align: text-bottom; }
.cep-feedback { display: block; min-height: 1.25rem; margin-top: .25rem; color: var(--gold-dark); font-size: .75rem; }
.form-tabs { display: flex; gap: .5rem; overflow-x: auto; border-bottom: 1px solid #e4d8c8; }
.form-tabs button { padding: .7rem .85rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #6a5a4d; font-size: .9rem; white-space: nowrap; }
.form-tabs button.active { border-bottom-color: var(--gold); color: var(--espresso); font-weight: 700; }
.budget-item { padding: .75rem; border: 1px solid #eadfce; border-radius: .65rem; background: #fffdf9; }
.cardapio-picker { padding: .85rem 1rem; border: 1px solid rgba(201, 154, 61, .45); border-radius: .75rem; background: #fff8ed; }
.cardapio-picker small { display: block; margin-top: .4rem; color: #78634a; font-size: .78rem; }
.items-totalizer { display: flex; align-items: center; justify-content: space-between; padding: .85rem 1rem; border-radius: .75rem; background: var(--espresso); color: var(--ivory); }
.items-totalizer strong { color: #f3cf7d; font-size: 1.2rem; }
.register-row { color: inherit; cursor: pointer; text-decoration: none; }
.register-row:hover { background: #fff8ed; color: var(--espresso); }
