:root {
  --app-primary: #c84b22; --app-accent: #f47a4e; --app-dark: #202d2a;
  --app-text: #26332f; --app-muted: #6e7773; --app-bg: #f6f7f4; --app-border: #e3e7e1;
  --bs-primary: #c84b22; --bs-primary-rgb: 200,75,34; --bs-body-color: #26332f;
  --bs-secondary-color: #6e7773; --bs-body-font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-link-color: #b4411b; --bs-link-hover-color: #8c3114;
}
[hidden] { display: none !important; }
body { background: var(--app-bg); -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 3px; }
button, input, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #c84b22; outline-offset: 4px; }
.btn { border-radius: 10px; font-size: .875rem; font-weight: 600; padding: .68rem 1.1rem; }
.btn-primary { --bs-btn-bg: #c84b22; --bs-btn-border-color: #c84b22; --bs-btn-hover-bg: #ab3c19; --bs-btn-hover-border-color: #ab3c19; --bs-btn-active-bg: #943216; --bs-btn-active-border-color: #943216; --bs-btn-disabled-bg: #c84b22; --bs-btn-disabled-border-color: #c84b22; --bs-btn-focus-shadow-rgb: 200,75,34; }
.btn-outline-primary { --bs-btn-color: #b4411b; --bs-btn-border-color: #b4411b; --bs-btn-hover-bg: #b4411b; --bs-btn-hover-border-color: #b4411b; --bs-btn-active-bg: #943216; --bs-btn-active-border-color: #943216; }
.btn-outline-secondary { --bs-btn-color: #53615b; --bs-btn-border-color: #d8ded7; --bs-btn-hover-bg: #e9ede7; --bs-btn-hover-color: #26332f; --bs-btn-hover-border-color: #c3ccc1; --bs-btn-active-bg: #dce4d9; --bs-btn-active-color: #26332f; }
.form-control { min-height: 51px; background-color: #fff; border-color: #dbe0d9; border-radius: 10px; font-size: .925rem; padding: .8rem 1rem; }
.form-control::placeholder { color: #929a94; }
.form-control:focus { border-color: #d1714e; box-shadow: 0 0 0 .2rem rgb(200 75 34 / 10%); }
.form-label { font-size: .84rem; font-weight: 650; margin-bottom: .6rem; }
.alert { font-size: .86rem; border-radius: 10px; line-height: 1.6; }
.brand { color: var(--app-dark); display: inline-flex; align-items: center; font-size: 1.7rem; font-weight: 750; letter-spacing: -1.1px; text-decoration: none; line-height: 1; }
.brand:hover { color: var(--app-dark); }
.brand-light, .brand-light:hover { color: #fff; }
.brand-symbol { color: #fff; display: inline-grid; place-items: center; width: 37px; height: 40px; border-radius: 11px; background: var(--app-accent); margin-right: 10px; font-size: 1.25rem; }
.brand-dot { color: var(--app-accent); }
.eyebrow { color: var(--app-muted); font-size: .66rem; font-weight: 750; letter-spacing: .17em; }
.skip-link { position: fixed; top: -100px; left: 15px; z-index: 2000; background: #fff; color: var(--app-dark); padding: 12px; border-radius: 8px; }
.skip-link:focus { top: 15px; }
.auth-gate { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }
.gate-error { max-width: 480px; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 6px; font-size: .69rem; font-weight: 650; padding: 5px 9px; }
.status-badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-success { background: #e8f3e9; color: #356643; }
.status-secondary { background: #eff0ed; color: #656c65; }
.status-warning { background: #fff0d7; color: #895811; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
