/* Paleta e tipografia compartilhadas (área pública e administrativa) */
:root {
  --c-white: #ffffff;
  --c-offwhite: #faf7f2;
  --c-beige: #efe7da;
  --c-champagne: #e6d5b8;
  --c-olive: #7a8460;
  --c-olive-dark: #5f684a;
  --c-olive-soft: #e6e9dc;
  --c-gold: #b8965a;
  --c-gold-soft: #f3ead7;
  --c-ink: #2d2d2d;
  --c-muted: #7b766c;
  --c-line: #e8e0d2;
  --c-danger: #b4574f;
  --c-danger-soft: #f6e3e0;
  --c-warning: #c58b2b;
  --c-warning-soft: #f8edd3;
  --c-info: #5b7f8f;
  --c-info-soft: #e0ebef;
  --radius: 14px;
  --shadow-sm: 0 1px 2px rgba(60, 50, 30, .06), 0 2px 8px rgba(60, 50, 30, .04);
  --shadow-md: 0 6px 24px rgba(60, 50, 30, .09);
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  color: var(--c-ink);
  background: var(--c-offwhite);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .font-display { font-family: var(--font-display); letter-spacing: .2px; }
a { color: var(--c-olive-dark); }

.btn { border-radius: 10px; font-weight: 500; padding: .55rem 1.1rem; }
.btn-olive { background: var(--c-olive); border-color: var(--c-olive); color: #fff; }
.btn-olive:hover, .btn-olive:focus { background: var(--c-olive-dark); border-color: var(--c-olive-dark); color: #fff; }
.btn-outline-olive { border-color: var(--c-olive); color: var(--c-olive-dark); background: transparent; }
.btn-outline-olive:hover { background: var(--c-olive); color: #fff; }
.btn-gold { background: var(--c-gold); border-color: var(--c-gold); color: #fff; }
.btn-gold:hover { background: #a3834c; border-color: #a3834c; color: #fff; }

.form-control, .form-select {
  border-radius: 10px; border-color: var(--c-line); padding: .6rem .8rem; background-color: #fff;
}
.form-control:focus, .form-select:focus {
  border-color: var(--c-gold); box-shadow: 0 0 0 .2rem rgba(184, 150, 90, .18);
}
.form-label { font-size: .82rem; font-weight: 500; color: var(--c-muted); margin-bottom: .3rem; }

.badge-soft { font-weight: 500; padding: .4em .7em; border-radius: 999px; font-size: .74rem; }
.badge-success { background: var(--c-olive-soft); color: var(--c-olive-dark); }
.badge-warning { background: var(--c-warning-soft); color: #8a5f12; }
.badge-danger { background: var(--c-danger-soft); color: var(--c-danger); }
.badge-info { background: var(--c-info-soft); color: #3e6373; }
.badge-secondary { background: var(--c-beige); color: var(--c-muted); }
.badge-gold { background: var(--c-gold-soft); color: #8a6a2f; }
