/* ENGELINK visual layer for the existing SGAF application.
   Loaded after Bootstrap and app.css. No business rules are changed here. */
:root {
  --engelink-ink: #172027;
  --engelink-ink-2: #222d34;
  --engelink-paper: #f3f5f5;
  --engelink-white: #ffffff;
  --engelink-orange: #f35a13;
  --engelink-orange-hover: #ff762e;
  --engelink-line: #d9dfe2;
  --engelink-muted: #67737b;
  --engelink-success: #168052;
  --engelink-danger: #b43b32;
  --sidebar-bg: var(--engelink-ink);
  --sidebar-hover: rgba(255, 255, 255, .08);
  --sidebar-active: rgba(243, 90, 19, .16);
  --primary: var(--engelink-orange);
  --bs-primary: var(--engelink-orange);
  --bs-primary-rgb: 243, 90, 19;
}

body {
  background: var(--engelink-paper);
  color: var(--engelink-ink);
  font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif;
}

.sidebar {
  background: linear-gradient(180deg, #141d22 0%, var(--engelink-ink) 100%);
  box-shadow: 10px 0 28px rgba(15, 23, 28, .12);
}

.sidebar-brand {
  min-height: 72px;
  height: auto;
  border-bottom-color: rgba(255, 255, 255, .1);
}

.sidebar .nav-link {
  border-radius: 9px;
  margin: 2px 9px;
  color: rgba(255, 255, 255, .72);
}

.sidebar .nav-link:hover {
  background: var(--sidebar-hover);
  color: #fff;
}

.sidebar .nav-link.active {
  background: var(--sidebar-active);
  color: #fff;
  box-shadow: inset 3px 0 0 var(--engelink-orange);
}

.sidebar .nav-link.active i { color: var(--engelink-orange); }

.topbar {
  min-height: 64px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--engelink-line);
  box-shadow: 0 4px 18px rgba(15, 23, 28, .05);
  backdrop-filter: blur(12px);
}

.page-content { padding: 1.6rem; }

.card,
.card-stat,
.modal-content,
.dropdown-menu {
  border: 1px solid var(--engelink-line);
  border-radius: 14px;
  box-shadow: 0 10px 32px rgba(15, 23, 28, .07);
}

.card-header,
.modal-header {
  background: #fff;
  border-bottom-color: var(--engelink-line);
}

.card-stat { border-top: 4px solid var(--engelink-orange); }
.card-stat:hover { box-shadow: 0 14px 38px rgba(15, 23, 28, .12); }

.btn { border-radius: 9px; font-weight: 700; }
.btn-primary,
.btn-warning {
  --bs-btn-bg: var(--engelink-orange);
  --bs-btn-border-color: var(--engelink-orange);
  --bs-btn-hover-bg: var(--engelink-orange-hover);
  --bs-btn-hover-border-color: var(--engelink-orange-hover);
  --bs-btn-active-bg: #d94b09;
  --bs-btn-active-border-color: #d94b09;
  color: #fff;
}

.btn-outline-primary {
  --bs-btn-color: #c7470b;
  --bs-btn-border-color: var(--engelink-orange);
  --bs-btn-hover-bg: var(--engelink-orange);
  --bs-btn-hover-border-color: var(--engelink-orange);
}

.form-control,
.form-select,
.input-group-text {
  min-height: 42px;
  border-color: #cbd3d7;
  border-radius: 9px;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--engelink-orange);
  box-shadow: 0 0 0 .22rem rgba(243, 90, 19, .13);
}

.table-responsive {
  border: 1px solid var(--engelink-line);
  border-radius: 12px;
  background: #fff;
}

.table { margin-bottom: 0; }
.table > :not(caption) > * > * { padding: .8rem .75rem; }
.table thead th {
  background: var(--engelink-ink);
  color: #fff;
  border-color: #354149;
  font-size: .7rem;
  letter-spacing: .07em;
  vertical-align: middle;
}
.table tbody tr:hover > * { background: #fff7f2; }

.badge.bg-primary,
.badge.bg-warning { background: var(--engelink-orange) !important; color: #fff !important; }
.text-primary { color: #c7470b !important; }
.bg-primary { background-color: var(--engelink-orange) !important; }

.progress { height: 9px; background: #e6ebed; border-radius: 99px; }
.progress-bar { background: var(--engelink-orange); border-radius: 99px; }

.engeman-print-header { display: none; }

/* Login screen currently uses .sgaf-* classes. */
.sgaf-shell,
.sgaf-page,
body.sgaf-login {
  background:
    radial-gradient(circle at 78% 18%, rgba(243, 90, 19, .17), transparent 30%),
    linear-gradient(135deg, #11191e 0%, #202b32 100%) !important;
}

.sgaf-card {
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 20px !important;
  background: rgba(23, 32, 39, .92) !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .36) !important;
}

.sgaf-card .form-control:focus { border-color: var(--engelink-orange) !important; }

/* Shared HTML brand; avoids raster distortion on desktop and mobile. */
.engelink-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}
.engelink-brand-mark {
  width: 35px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.engelink-brand-mark i {
  display: block;
  height: 7px;
  background: #fff;
  transform: skewX(-28deg);
  border-radius: 1px;
}
.engelink-brand-mark i:nth-child(2) { background: var(--engelink-orange); margin-left: 4px; }
.engelink-brand-mark i:nth-child(3) { width: 72%; }
.engelink-brand-copy { display: flex; flex-direction: column; line-height: 1; }
.engelink-brand-copy strong { font-size: 19px; letter-spacing: .08em; }
.engelink-brand-copy small {
  align-self: flex-end;
  margin-top: 4px;
  padding-left: 6px;
  border-left: 2px solid var(--engelink-orange);
  font-size: 6px;
  letter-spacing: .24em;
}

@media (max-width: 768px) {
  .page-content { padding: 1rem; }
  .card, .card-stat { border-radius: 11px; }
  .table-responsive { border-radius: 9px; }
  .engelink-brand-copy strong { font-size: 17px; }
}

@media print {
  body { background: #fff !important; color: #111 !important; }
  .sidebar, .topbar, .btn, .nav, .no-print { display: none !important; }
  .engeman-print-header {
    display: grid !important;
    grid-template-columns: 160px 1fr;
    gap: 18px;
    align-items: center;
    margin: 0 0 12px;
    padding: 0 0 9px;
    border-bottom: 4px solid var(--engelink-orange);
    break-inside: avoid;
  }
  .engeman-print-header img { width: 150px; height: auto; }
  .engeman-print-header div { text-align: right; }
  .engeman-print-header small {
    display: block;
    color: #68747b;
    font-size: 8px;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .engeman-print-header strong { display: block; font-size: 17px; line-height: 1.15; }
  .page-content { padding: 0 !important; }
  .card, .card-stat, .table-responsive { box-shadow: none !important; break-inside: avoid; }
  .table thead th {
    background: var(--engelink-ink) !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}


/* Identidade institucional ENGEMAN */
.engeman-brand { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.engeman-site-logo,
.engeman-login-logo,
.engeman-home-logo {
  display:block;
  width:210px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:8px 12px;
}
.engeman-site-logo { width:184px; }
.engeman-login-logo { width:250px; margin:0 auto; }
.engeman-home-logo { width:260px; margin:0 auto; }
@media (max-width: 767.98px) {
  .engeman-site-logo { width:160px; }
  .engeman-login-logo, .engeman-home-logo { width:220px; }
}

/* Mobile admin usability v1.0.2 */
@media (max-width: 767.98px) {
  .topbar { padding-left:.5rem !important; padding-right:.5rem !important; gap:.25rem; overflow:hidden; }
  .topbar .navbar-brand { max-width:132px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem !important; }
  .topbar .ms-auto { gap:.25rem !important; flex-wrap:nowrap; }
  .topbar #pendingAlarmToggle,
  .topbar a.btn-outline-info,
  .topbar a.btn-warning { width:38px; min-width:38px; padding:.35rem; font-size:0; }
  .topbar #pendingAlarmToggle i,
  .topbar a.btn-outline-info i,
  .topbar a.btn-warning i { margin:0 !important; font-size:1rem; }
  .topbar #pendingAlarmLabel,
  .topbar #pendingAlarmCount,
  .topbar .badge.bg-light.text-dark.border { display:none !important; }
  .dataTables_wrapper > .row:first-child > div { margin-bottom:.5rem; }
  .dataTables_wrapper .dataTables_filter { text-align:left !important; }
  .dataTables_wrapper .dataTables_filter input { width:150px !important; max-width:100%; }
}

/* Mobile DataTables controls v1.0.3 */
@media (max-width: 767.98px) {
  .dataTables_wrapper > .row:first-child { display:flex; flex-direction:column; margin:0; }
  .dataTables_wrapper > .row:first-child > div { width:100%; padding:0; }
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter { display:block; width:100%; text-align:left !important; margin:0 0 .75rem; }
  .dataTables_wrapper .dataTables_filter label { display:flex; align-items:center; gap:.5rem; }
}

/* Mobile DataTables direct wrapper v1.0.4 */
@media (max-width: 767.98px) {
  .dataTables_wrapper > .d-flex.justify-content-between {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.5rem;
    padding:.75rem;
  }
  .dataTables_wrapper .dataTables_length label,
  .dataTables_wrapper .dataTables_filter label {
    display:flex;
    align-items:center;
    gap:.5rem;
    width:100%;
  }
  .dataTables_wrapper .dataTables_filter input { flex:1 1 auto; width:auto !important; }
}
