/* Premium overrides centralizados (identidade AICEBERG) */

/* 1) Tokens de marca (sobrescrevem anteriores) */
:root {
  --brand: #9B111E;      /* vermelho AICEBERG */
  --brand-2: #F7630D;    /* laranja AICEBERG */
  --accent: #0E1D35;     /* navy AICEBERG */
  --bg: #f6f7f9;
  --bg-elev: #ffffff;
  --fg: #1f2937;
  --muted: #6b7280;
  --border: #e5e7eb;
  --radius: 12px;
  --shadow-1: 0 6px 20px rgba(17, 24, 39, 0.06);
  --shadow-2: 0 10px 30px rgba(17, 24, 39, 0.12);
}

[data-theme="dark"] {
  --bg: #070c12;
  --bg-elev: #111a2c;
  --fg: #f8faff;
  --muted: #cfd6e7;
  --border: #1e2740;
  --brand: #ff7a45;
  --brand-2: #e53935;
  --shadow-1: 0 6px 24px rgba(0,0,0,.35);
  --shadow-2: 0 12px 40px rgba(0,0,0,.5);
}

/* 2) Fundo hero e grade sutil (todas telas) */
html, body {
  background:
    radial-gradient(1200px 800px at 10% -10%, rgba(155,17,30,.08), transparent 60%),
    radial-gradient(1000px 600px at 110% 10%, rgba(247,99,13,.08), transparent 50%),
    var(--bg);
  color: var(--fg);
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px; opacity: .16; z-index: -1;
}

/* 3) Navbar e botões */
.navbar-custom { background: var(--bg-elev); border-bottom: 1px solid var(--border); box-shadow: var(--shadow-1); }
[data-theme="dark"] .navbar-custom {
  background: linear-gradient(135deg, #0d1728 0%, #111b2f 60%, #182542 100%);
  border-bottom: 1px solid #1f2b45;
  box-shadow: 0 6px 30px rgba(0,0,0,.45);
}
.navbar-brand img { height: 34px !important; }
.navbar-brand .logo-dark { display: none; }
[data-theme="dark"] .navbar-brand .logo-default { display: none; }
[data-theme="dark"] .navbar-brand .logo-dark { display: inline-block; }
.navbar-custom .nav-link { color: var(--fg); font-weight: 600; }
.navbar-custom .nav-link:hover { color: var(--brand); }
[data-theme="dark"] .navbar-custom .nav-link {
  color: rgba(255,255,255,.92) !important;
}
[data-theme="dark"] .navbar-custom .nav-link:hover,
[data-theme="dark"] .navbar-custom .nav-link:focus {
  color: #ffd4c2 !important;
}
.navbar-custom .btn-outline-light { color: var(--brand); border-color: var(--brand); }
.navbar-custom .btn-outline-light:hover { background: var(--brand); color: #fff; }
.btn-primary { background: linear-gradient(135deg, var(--brand), var(--brand-2)); border: 0; box-shadow: var(--shadow-1); }
.btn-primary:hover { filter: brightness(.98); box-shadow: var(--shadow-2); }
.btn-danger { background: #d63a4a; border-color: #d63a4a; }
.btn-danger:hover { background: #c22f3e; border-color: #c22f3e; }
[data-theme="dark"] .btn-danger { background: #ff5f70; border-color: #ff5f70; color: #111; }
[data-theme="dark"] .btn-danger:hover { background: #ff7c8a; border-color: #ff7c8a; color: #111; }

/* 4) Cartões, abas e superfícies */
.card { border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-1); background: var(--bg-elev); position: relative; }
.card .card-header { background: transparent; border-bottom: 1px solid var(--border); font-weight: 600; }
.card:hover { box-shadow: var(--shadow-2); transition: box-shadow .2s ease; }
.nav-tabs { border-color: var(--border); }
.nav-tabs .nav-link { color: var(--muted); font-weight: 600; border: 0; }
.nav-tabs .nav-link.active { color: var(--fg); border-bottom: 2px solid var(--brand); background: transparent; }

/* Breadcrumb refinado */
.breadcrumb {
  background: var(--bg-elev) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--muted);
  box-shadow: var(--shadow-1);
}
.breadcrumb-item > a { color: var(--brand); text-decoration: none; }
.breadcrumb-item > a:hover { color: var(--brand-2); }
.breadcrumb-item.active { color: var(--fg); font-weight: 600; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--muted); }
[data-theme="dark"] .breadcrumb-item > a { color: #ffb48d; }
[data-theme="dark"] .breadcrumb-item > a:hover { color: #ff8c6f; }
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }
[data-theme="dark"] .breadcrumb { color: var(--muted); }


/* 5) Formulários e tabelas (legibilidade) */
.form-control, .form-select, textarea {
  border-radius: calc(var(--radius) - 6px);
  border-color: var(--border);
  background-color: var(--bg-elev);
  color: var(--fg);
  transition: background-color .2s ease, border .2s ease;
}
.form-control::placeholder,
.form-select::placeholder,
textarea::placeholder { color: rgba(31,41,55,.5); }
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea {
  background-color: #1b2440;
  border-color: #2a3456;
  color: var(--fg);
}
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .form-select::placeholder,
[data-theme="dark"] textarea::placeholder { color: rgba(245,247,255,.55); }

/* Select2 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  min-height: 42px;
  border-color: var(--border);
  background-color: var(--bg-elev);
  color: var(--fg);
  border-radius: calc(var(--radius) - 6px);
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  color: var(--fg);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: var(--brand);
  border: none;
  color: #fff;
}
.select2-dropdown { border-color: var(--border); box-shadow: var(--shadow-1); }
[data-theme="dark"] .select2-container--default .select2-selection--single,
[data-theme="dark"] .select2-container--default .select2-selection--multiple {
  background-color: #1b2440;
  border-color: #2a3456;
  color: var(--fg);
}
[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  color: var(--fg);
}
[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: rgba(255,118,86,.25);
  color: var(--fg);
  border: 1px solid rgba(255,255,255,.15);
}
[data-theme="dark"] .select2-dropdown,
[data-theme="dark"] .select2-search__field {
  background: #111a2c;
  color: var(--fg);
  border-color: #2a3456;
}
.table { color: var(--fg); background: var(--bg-elev); }
.table td, .table th, .table thead th {
  border-color: var(--border) !important;
  color: var(--fg);
}
.detail-view th { color: var(--muted); }
[data-theme="dark"] .detail-view th { color: rgba(255,255,255,.75); }
.table-detailview tr:nth-of-type(odd) { background: rgba(0,0,0,.01); }
.table-detailview tr:nth-of-type(even) { background: transparent; }
.table-detailview th { width: 25%; }
[data-theme="dark"] .modal table.table-detailview {
  background: transparent !important;
  border-color: #2a3456 !important;
}
[data-theme="dark"] .modal table.table-detailview tbody tr:nth-of-type(odd) {
  background: rgba(255,255,255,.05) !important;
}
[data-theme="dark"] .modal table.table-detailview tbody tr:nth-of-type(even) {
  background: rgba(255,255,255,.02) !important;
}
[data-theme="dark"] .modal table.table-detailview th {
  color: rgba(255,255,255,.85) !important;
  width: 28%;
}
[data-theme="dark"] .modal table.table-detailview td {
  color: rgba(255,255,255,.94) !important;
}
[data-theme="dark"] .modal table.table-detailview tbody tr:hover {
  background: rgba(255,255,255,.12) !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(0,0,0,.015);
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(255,255,255,.05);
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) {
  background-color: rgba(255,255,255,.02);
}
[data-theme="dark"] .table td, [data-theme="dark"] .table th, [data-theme="dark"] .table thead th {
  background-color: transparent;
  color: var(--fg);
  border-color: var(--border) !important;
}
[data-theme="dark"] .table tbody tr { color: var(--fg); }
[data-theme="dark"] .table tbody tr:hover { background: rgba(255,255,255,.08); color: var(--fg); }
[data-theme="dark"] tr.crud-datatable td { color: var(--fg); }
[data-theme="dark"] tr.crud-datatable:nth-of-type(odd) { background-color: rgba(255,255,255,.03); }
[data-theme="dark"] tr.crud-datatable:nth-of-type(even) { background-color: rgba(255,255,255,.015); }
[data-theme="dark"] tr.crud-datatable:hover { background-color: rgba(255,255,255,.09); color: var(--fg); }

/* Kartik Grid extra */
[data-theme="dark"] .kv-grid-table>thead>tr>th,
[data-theme="dark"] .kv-grid-table>tfoot>tr>th {
  background: rgba(255,255,255,.05);
  color: var(--fg);
  border-color: var(--border);
}
[data-theme="dark"] .kv-grid-table>tbody>tr>td {
  color: var(--fg);
  border-color: var(--border);
}
[data-theme="dark"] .kv-grid-table>tbody>tr:hover>td {
  background: rgba(255,255,255,.08);
  color: var(--fg);
}

/* Componentes específicos no dark */
[data-theme="dark"] .card,
[data-theme="dark"] .table,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea,
[data-theme="dark"] .input-group-text {
  background-color: var(--bg-elev);
  color: var(--fg);
  border-color: var(--border);
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea::placeholder {
  color: rgba(243,245,250,0.65);
}

[data-theme="dark"] .table thead { background: rgba(255,255,255,.03); }
[data-theme="dark"] .table tbody tr:hover { background: rgba(255,255,255,.04); }

[data-theme="dark"] .modal-backdrop.show { background-color: #030712; opacity: .85; }

[data-theme="dark"] .btn-outline-secondary { color: var(--fg); border-color: var(--border); }
[data-theme="dark"] .btn-outline-secondary:hover { color: #fff; border-color: var(--brand); background: var(--brand); }
[data-theme="dark"] .btn-outline-primary { color: #8ab4ff; border-color: #3f51b5; }
[data-theme="dark"] .btn-outline-primary:hover { background: #3f51b5; border-color: #3f51b5; color: #fff; }
[data-theme="dark"] .btn-outline-success { color: #8be0a1; border-color: #328f5b; }
[data-theme="dark"] .btn-outline-success:hover { background: #34a362; border-color: #34a362; color: #fff; }
[data-theme="dark"] .btn-outline-danger { color: #ff8c92; border-color: #d64545; }
[data-theme="dark"] .btn-outline-danger:hover { background: #d64545; border-color: #d64545; color: #fff; }

/* Heatmap temporal/table custom */
[data-theme="dark"] .table td span,
[data-theme="dark"] .table td small {
  color: var(--fg);
}
[data-theme="dark"] .card .text-muted { color: #b9c3d7 !important; }

/* 6) Modais (fundo e texto) */
.modal-content { background: var(--bg-elev); color: var(--fg); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-2); }
.modal-header { border-bottom: 1px solid var(--border); }
.modal-footer { border-top: 1px solid var(--border); }

/* 7) Texto e links */
a { color: var(--brand); }
a:hover { color: var(--brand-2); }
.text-muted { color: var(--muted) !important; }
[data-theme="dark"] .footer {
  background: #0d1728 !important;
  color: rgba(255,255,255,.82) !important;
  border-top: 1px solid #1f2b45;
}
[data-theme="dark"] .footer a {
  color: #ffb48d !important;
}
[data-theme="dark"] .footer a:hover {
  color: #ff8c6f !important;
}
[data-theme="dark"] .text-muted { color: rgba(207,214,231,.85) !important; }
code { background: rgba(0,0,0,.06); padding: .05rem .35rem; border-radius: 4px; }
[data-theme="dark"] code { background: rgba(255,255,255,.08); }

[data-theme="dark"] a { color: #ff9f7c; }
[data-theme="dark"] a:hover { color: #ff7961; }
[data-theme="dark"] .text-danger { color: #ff8a80 !important; }
[data-theme="dark"] .text-success { color: #7dd87d !important; }
[data-theme="dark"] .text-warning { color: #ffd166 !important; }
[data-theme="dark"] .text-dark { color: var(--fg) !important; }
[data-theme="dark"] .bg-light { background-color: #1b2236 !important; color: var(--fg) !important; border-color: #2a3456 !important; }
[data-theme="dark"] .card-header.bg-light { background-color: #1b2236 !important; }
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 { color: var(--fg) !important; }
[data-theme="dark"] .summary { color: var(--muted); }

html[data-theme='dark'] {
  color-scheme: dark;
}

[data-theme='dark'] body,
[data-theme='dark'] main,
[data-theme='dark'] .container,
[data-theme='dark'] .content-wrapper,
[data-theme='dark'] .page-content,
[data-theme='dark'] .box,
[data-theme='dark'] .panel,
[data-theme='dark'] .kv-panel,
[data-theme='dark'] .kv-panel-before,
[data-theme='dark'] .kv-panel-after,
[data-theme='dark'] .tab-content,
[data-theme='dark'] .table-responsive,
[data-theme='dark'] .modal-body {
  background-color: transparent;
  color: var(--fg);
}

[data-theme='dark'] label,
[data-theme='dark'] .form-label,
[data-theme='dark'] .control-label,
[data-theme='dark'] .form-text,
[data-theme='dark'] .card-title { color: var(--fg); }

[data-theme='dark'] .dropdown-menu { background: var(--bg-elev); border: 1px solid var(--border); box-shadow: var(--shadow-2); }
[data-theme='dark'] .dropdown-item { color: var(--fg); }
[data-theme='dark'] .dropdown-item:hover { background: rgba(255,255,255,.08); color: var(--fg); }

[data-theme='dark'] .timeline-content,
[data-theme='dark'] .heatmap-card,
[data-theme='dark'] .panel,
[data-theme='dark'] .box,
[data-theme='dark'] .grid-view .summary,
[data-theme='dark'] .grid-view .filters,
[data-theme='dark'] .grid-view .kv-panel-before,
[data-theme='dark'] .grid-view .kv-panel-after,
[data-theme='dark'] .kv-panel { background: var(--bg-elev); color: var(--fg); border-color: var(--border); }
[data-theme='dark'] .grid-view .summary,
[data-theme='dark'] .grid-view .filters label { color: rgba(255,255,255,.85); }
[data-theme='dark'] .grid-view .summary,
[data-theme='dark'] .grid-view .filters label { color: var(--muted); }

[data-theme='dark'] .pagination > li > a,
[data-theme='dark'] .pagination > li > span { background: var(--bg-elev); border-color: var(--border); color: var(--fg); }
[data-theme='dark'] .pagination > .active > span,
[data-theme='dark'] .pagination > .active > a { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Painéis legacy */
[data-theme="dark"] .panel,
[data-theme="dark"] .panel-heading,
[data-theme="dark"] .box,
[data-theme="dark"] .box-header { background: var(--bg-elev); color: var(--fg); border-color: var(--border); }


/* Heatmap adjustments */
[data-theme='dark'] .heatmap-grid .heatmap-cell {
  border-color: rgba(255,255,255,.08);
  color: var(--fg);
}
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-0 { background:#1b2236; }
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-1 { background:#222d48; }
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-2 { background:#2c3c66; }
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-3 { background:#3d4f8f; color:#fff; }
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-4 { background:#4b5fc4; color:#fff; }
[data-theme='dark'] .heatmap-grid .heatmap-header,
[data-theme='dark'] .heatmap-grid .label-cell { color: var(--muted); }

/* Badges */
.badge { font-weight: 600; letter-spacing: .2px; }
.badge.bg-light { background: #f9fafc; border: 1px solid var(--border); color: var(--fg); }
.badge.bg-warning { color: #111; }
[data-theme='dark'] .badge.bg-light { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); color: var(--fg); }
[data-theme='dark'] .badge.bg-warning { background: #ffd166; color: #111; }

/* Code & links */
[data-theme='dark'] code { background: rgba(255,255,255,.08); color: var(--fg); }
[data-theme='dark'] a { color: #ffad8a; }
[data-theme='dark'] a:hover { color: #ff8c72; }
[data-theme='dark'] .text-danger { color: #ff8a80 !important; }
[data-theme='dark'] .text-warning { color: #ffd166 !important; }
[data-theme='dark'] .text-success { color: #7dd87d !important; }
.summary { color: var(--muted); }
[data-theme="dark"] .summary { color: rgba(255,255,255,.72); }

[data-theme='dark'] .card-header.bg-white,
[data-theme='dark'] .card-header.bg-light,
[data-theme='dark'] .card-header.bg-white.fw-semibold,
[data-theme='dark'] .card-header.bg-light.fw-semibold {
  background-color: #1b2236 !important;
  border-color: #2a3456 !important;
  color: var(--fg) !important;
}
[data-theme='dark'] .card-header.bg-white .text-muted,
[data-theme='dark'] .card-header.bg-light .text-muted {
  color: rgba(255,255,255,.72) !important;
}

[data-theme='dark'] .heatmap-cell,
[data-theme='dark'] .heatmap-grid .heatmap-cell,
[data-theme='dark'] .analise-riscos .heatmap-grid .heatmap-cell {
  background: #1b2236;
  color: var(--fg);
  border-color: rgba(255,255,255,.08);
}
[data-theme='dark'] .heatmap-cell.level-0,
[data-theme='dark'] .heatmap-grid .heatmap-cell.level-0,
[data-theme='dark'] .analise-riscos .heatmap-grid .heatmap-cell.level-0 { background: #1f2840; }

[data-theme='dark'] .list-group-item { background: var(--bg-elev); border-color: var(--border); color: var(--fg); }
[data-theme='dark'] .list-group-item .text-muted { color: rgba(255,255,255,.7) !important; }
[data-theme='dark'] .badge.bg-dark-subtle { background: rgba(255,255,255,.18); color: var(--fg); }


/* Modal tabs e grids (dark) */
[data-theme='dark'] .modal .nav-tabs .nav-link { color: rgba(255,255,255,.65); background: transparent; border-bottom: 0; }
[data-theme='dark'] .modal .nav-tabs .nav-link:hover { color: #fff; }
[data-theme='dark'] .modal .nav-tabs .nav-link.active { color: #fff; background: rgba(255,255,255,.08); border-bottom: 2px solid var(--brand); }

[data-theme='dark'] .modal .tab-content { background: transparent; color: var(--fg); }
[data-theme='dark'] .modal .detail-view tr:nth-of-type(odd) { background: rgba(255,255,255,.03); }
[data-theme='dark'] .modal .detail-view tr:nth-of-type(even) { background: transparent; }
[data-theme='dark'] .modal .detail-view tr:hover { background: rgba(255,255,255,.05); }

[data-theme='dark'] .modal .ai-disclaimer { background: #1b2236; border-color: #2a3456; color: rgba(255,255,255,.8); }

