/* Identidade visual DON Consultoria (don-consultoria.com) aplicada ao Bootstrap 5 */
:root {
  --don-050: #F0F6FF; --don-100: #E0E7F1; --don-200: #C8CED9; --don-300: #A5ABB5; --don-400: #818690;
  --don-500: #5E636D; --don-600: #3A3F47; --don-700: #232830; --don-800: #13171F; --don-900: #070A11;
  --p-tec-acento: #26ACE0; --p-tec-tinta: #086D90; --p-tec-solid: #076081; --p-tec-vel: #E8F4FB; --p-tec-claro: #B3DFF5;
  --p-reg-acento: #25B892; --p-reg-tinta: #04755B; --p-reg-vel: #E8F5F0; --p-reg-claro: #B4E4D2;
  --p-con-acento: #B886DA; --p-con-tinta: #75528C; --p-con-vel: #F5EFFA; --p-con-claro: #E3CEF3;
  --sup-0: #FFFFFF; --sup-1: #F6F8FC; --sup-2: #ECEEF3; --linha: #D3D8E0;
  --txt-1: #13171F; --txt-2: #4E535C; --txt-3: #60656E;
  --sans: "Archivo", -apple-system, "Segoe UI", Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --r-sm: 8px; --r-md: 12px; --r-lg: 14px;

  --bs-body-font-family: var(--sans);
  --bs-body-bg: var(--sup-1);
  --bs-body-color: var(--txt-1);
  --bs-primary: var(--p-tec-tinta);
  --bs-primary-rgb: 8, 109, 144;
  --bs-success: var(--p-reg-tinta);
  --bs-success-rgb: 4, 117, 91;
  --bs-info: var(--p-tec-acento);
  --bs-info-rgb: 38, 172, 224;
  --bs-secondary: var(--don-500);
  --bs-secondary-rgb: 94, 99, 109;
  --bs-dark: var(--don-900);
  --bs-dark-rgb: 7, 10, 17;
  --bs-link-color: var(--p-tec-tinta);
  --bs-link-color-rgb: 8, 109, 144;
  --bs-link-hover-color: var(--p-tec-solid);
  --bs-link-hover-color-rgb: 7, 96, 129;
  --bs-border-color: var(--linha);
  --bs-border-radius: var(--r-sm);
  --bs-border-radius-lg: var(--r-md);
  --bs-secondary-color: var(--txt-2);
  --bs-tertiary-bg: var(--sup-2);
}
body { font-size: .95rem; background: var(--sup-1); color: var(--txt-1); }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { font-weight: 600; letter-spacing: -.01em; }
.text-muted { color: var(--txt-3) !important; }
.num, .mono { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--mono); font-size: .85em; }

/* Navbar escura DON */
.navbar-don { background: var(--don-900); border-bottom: 1px solid var(--don-700); }
.navbar-don .navbar-brand img { height: 30px; }
.navbar-don .nav-link { color: var(--don-200); font-weight: 500; border-radius: 999px; padding: .35rem .85rem; }
.navbar-don .nav-link:hover { color: var(--don-050); background: var(--don-800); }
.navbar-don .nav-link.active { color: var(--don-900); background: var(--don-050); }
.navbar-don .dropdown-menu { background: var(--don-800); border-color: var(--don-700); }
.navbar-don .dropdown-item { color: var(--don-100); }
.navbar-don .dropdown-item:hover { background: var(--don-700); color: #fff; }
.navbar-don .btn-outline-light { border-color: var(--don-600); color: var(--don-100); border-radius: 999px; }
.navbar-don .btn-outline-light:hover { background: var(--don-050); color: var(--don-900); border-color: var(--don-050); }
.navbar-don .badge-perfil { background: var(--don-700); color: var(--don-100); font-weight: 500; }

/* Botoes */
.btn { border-radius: 999px; font-weight: 500; }
.btn-sm { padding: .25rem .8rem; }
.btn-primary { --bs-btn-bg: var(--p-tec-tinta); --bs-btn-border-color: var(--p-tec-tinta); --bs-btn-hover-bg: var(--p-tec-solid); --bs-btn-hover-border-color: var(--p-tec-solid); --bs-btn-active-bg: var(--p-tec-solid); }
.btn-success { --bs-btn-bg: var(--p-reg-tinta); --bs-btn-border-color: var(--p-reg-tinta); --bs-btn-hover-bg: #036850; --bs-btn-hover-border-color: #036850; }
.btn-outline-primary { --bs-btn-color: var(--p-tec-tinta); --bs-btn-border-color: var(--p-tec-tinta); --bs-btn-hover-bg: var(--p-tec-tinta); --bs-btn-hover-border-color: var(--p-tec-tinta); }
.btn-outline-success { --bs-btn-color: var(--p-reg-tinta); --bs-btn-border-color: var(--p-reg-tinta); --bs-btn-hover-bg: var(--p-reg-tinta); --bs-btn-hover-border-color: var(--p-reg-tinta); }
.btn-dark { --bs-btn-bg: var(--don-800); --bs-btn-border-color: var(--don-800); --bs-btn-hover-bg: var(--don-700); --bs-btn-hover-border-color: var(--don-700); }

/* Cards */
.card { border: 1px solid var(--linha); border-radius: var(--r-md); box-shadow: 0 1px 2px rgb(7 10 17 / .045); background: var(--sup-0); }
.card-header { background: var(--sup-0); border-bottom: 1px solid var(--linha); font-weight: 600; border-radius: var(--r-md) var(--r-md) 0 0 !important; }
.kpi { border-left: 4px solid var(--p-tec-tinta); }
.kpi .valor { font-size: 1.3rem; font-weight: 600; letter-spacing: -.01em; }
.kpi .rotulo { font-size: .74rem; color: var(--txt-3); text-transform: uppercase; letter-spacing: .05em; font-weight: 500; }

/* Tabelas e formularios */
.table { --bs-table-hover-bg: var(--p-tec-vel); }
.table-sm td, .table-sm th { vertical-align: middle; }
.table thead.table-light th { background: var(--sup-2); color: var(--txt-2); font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.num { text-align: right; white-space: nowrap; }
.form-label { font-weight: 500; color: var(--txt-2); font-size: .875rem; }
.form-control, .form-select { border-color: var(--linha); border-radius: var(--r-sm); }
.form-control:focus, .form-select:focus { border-color: var(--p-tec-acento); box-shadow: 0 0 0 .2rem rgb(38 172 224 / .2); }
.required::after { content: ' *'; color: #c0392b; }

/* Papeis A/B/C: tecnologia (azul), conteudo (roxo), regulacao (verde) */
.papel-A { background: var(--p-tec-vel) !important; color: var(--p-tec-tinta) !important; border: 1px solid var(--p-tec-claro); }
.papel-B { background: var(--p-con-vel) !important; color: var(--p-con-tinta) !important; border: 1px solid var(--p-con-claro); }
.papel-C { background: var(--p-reg-vel) !important; color: var(--p-reg-tinta) !important; border: 1px solid var(--p-reg-claro); }
tr.papel-A > td:first-child { border-left: 3px solid var(--p-tec-acento); }
tr.papel-B > td:first-child { border-left: 3px solid var(--p-con-acento); }
tr.papel-C > td:first-child { border-left: 3px solid var(--p-reg-acento); }

/* Badges */
.badge { font-weight: 500; border-radius: 999px; padding: .35em .7em; }
.text-bg-primary { background: var(--p-tec-tinta) !important; }
.text-bg-success { background: var(--p-reg-tinta) !important; }
.text-bg-info { background: var(--p-tec-vel) !important; color: var(--p-tec-tinta) !important; }
.text-bg-warning { background: #FFF4D6 !important; color: #7A5200 !important; }
.text-bg-danger { background: #FBE4E4 !important; color: #9B2C2C !important; }
.text-bg-secondary { background: var(--sup-2) !important; color: var(--txt-2) !important; }
.text-bg-dark { background: var(--don-800) !important; }

/* Abas */
.nav-tabs { border-bottom-color: var(--linha); }
.nav-tabs .nav-link { color: var(--txt-2); border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-weight: 500; }
.nav-tabs .nav-link.active { color: var(--p-tec-tinta); border-bottom-color: var(--p-tec-acento); background: transparent; }

/* Alertas suaves */
.alert { border-radius: var(--r-md); border: 1px solid transparent; }
.alert-success { background: var(--p-reg-vel); color: var(--p-reg-tinta); border-color: var(--p-reg-claro); }
.alert-info { background: var(--p-tec-vel); color: var(--p-tec-tinta); border-color: var(--p-tec-claro); }

.memoria th { width: 45%; }
.timeline { list-style: none; padding-left: 0; }
.timeline li { border-left: 2px solid var(--linha); padding: 0 0 .75rem 1rem; position: relative; }
.timeline li::before { content: ''; position: absolute; left: -6px; top: .35rem; width: 10px; height: 10px; border-radius: 50%; background: var(--p-tec-acento); }
.eyebrow { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--p-tec-tinta); }

/* Login */
.login-bg { background: var(--don-900); min-height: 100vh; }
.login-card { background: var(--sup-0); border-radius: var(--r-lg); }
.footer-don { color: var(--don-400); font-size: .78rem; }
@media print { nav, footer, .no-print { display: none !important; } main { padding: 0 !important; } body { background: #fff; } }
