label{font-weight:bold;}
.login-content .login-box {
    min-height: 410px;
}		
.alert.alert-thin{padding:6px 12px;margin:12px 0 6px 0;}

/*** LOADING ***/
.loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:none;z-index: 11;}
.loading img{margin: 0;position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}

.light-text{color:#333;font-size:0.9em;}

.dataTables_wrapper {
  max-width: 100%;
  background: #fff;
  padding: 6px 2px;
	margin-left:1px;
}
table.dataTable thead{background:#f6f6f6;}

.btn-circle {
    width: 30px;
    height: 30px;
    padding: 6px 0px;
    border-radius: 15px;
    text-align: center;
    font-size: 12px;
    /* line-height: 1.42857; */
    line-height: 12px;
}

canvas#NNchart_horaire {
   background-image: url(../img/clock.png);
	 background-size: 100% 100%;npadding:50px;padding:8%;
}
.app-sidebar::-webkit-scrollbar {
  width: 8px;
}

.app-sidebar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  background: rgba(24, 65, 115, 1);
  background: rgba(13, 18, 20, 1);
	border:1px solid #fff;
	border-radius:16px;
}

/* Palette de navigation commune à NETSCALES : clair et sombre. */
:root {
  --xscales-nav-background: #184173;
  --xscales-nav-active: #246f9f;
  --xscales-nav-accent: #fff;
}
.app-header,
.app-header__logo,
.app-sidebar,
.treeview-menu {
  background: var(--xscales-nav-background);
}
.app-menu__item.active,
.app-menu__item:hover,
.app-menu__item:focus,
.treeview.is-expanded [data-toggle='treeview'],
.treeview-item.active,
.treeview-item:hover,
.treeview-item:focus,
.sidebar-mini.sidenav-toggled .app-menu__label {
  background: var(--xscales-nav-active);
  border-left-color: var(--xscales-nav-accent);
  color: #fff;
}

/* Profil : choix clair / sombre / auto */
.app-sidebar__user-link,
.app-sidebar__user-link:hover,
.app-sidebar__user-link:focus {
  color: #fff;
  text-decoration: none;
}
.app-sidebar__user-link:hover,
.app-sidebar__user-link:focus-visible {
  background: rgba(255,255,255,.08);
  outline: 2px solid transparent;
}
.theme-preference {
  margin: 0;
  padding: 0;
  border: 0;
}
.theme-preference__legend {
  width: auto;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 12px;
}
.theme-preference__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.theme-preference__option {
  position: relative;
  margin: 0;
  cursor: pointer;
}
.theme-preference__option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.theme-preference__option span {
  display: inline-block;
  min-width: 104px;
  text-align: center;
  padding: 10px 16px;
  border: 1px solid #b6c2cf;
  border-radius: 5px;
  background: #fff;
  color: #24374b;
}
.theme-preference__option input:checked + span {
  background: #184173;
  border-color: #184173;
  color: #fff;
}
.theme-preference__option input:focus-visible + span {
  outline: 3px solid #669de0;
  outline-offset: 2px;
}
.theme-preference__hint {
  color: #5d6873;
  margin: 16px 0 0;
}

/* Apparence sombre : les graphiques conservent un fond clair pour leurs axes. */
html[data-theme="dark"] {
  color-scheme: dark;
  --xscales-nav-background: #12263a;
  --xscales-nav-active: #1d425f;
  --xscales-nav-accent: #73b9e8;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .app-content {
  background: #111923;
  color: #e9f0f8;
}
html[data-theme="dark"] .app-title,
html[data-theme="dark"] .tile,
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .dataTables_wrapper,
html[data-theme="dark"] .list-group-item {
  background: #1d2835;
  color: #e9f0f8;
  border-color: #344557;
}
html[data-theme="dark"] .tile .overlay {
  background: rgba(29,40,53,.9);
}
html[data-theme="dark"] .tile,
html[data-theme="dark"] .card {
  box-shadow: 0 2px 12px rgba(0,0,0,.28);
}
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .light-text,
html[data-theme="dark"] .theme-preference__hint,
html[data-theme="dark"] small {
  color: #b3c4d6 !important;
}
html[data-theme="dark"] a:not(.btn):not(.app-menu__item):not(.treeview-item):not(.app-nav__item):not(.app-sidebar__user-link) {
  color: #94c4ff;
}
html[data-theme="dark"] a:hover:not(.btn):not(.app-menu__item):not(.treeview-item):not(.app-nav__item):not(.app-sidebar__user-link) {
  color: #c4ddff;
}
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .custom-select,
html[data-theme="dark"] .input-group-text,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]) {
  background: #253343;
  color: #f3f7fc;
  border-color: #4a5f74;
}
html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus {
  background: #2a3b4d;
  color: #fff;
  border-color: #78aeed;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #b4c3d1;
}
html[data-theme="dark"] .form-control:disabled,
html[data-theme="dark"] .form-control[readonly] {
  background: #202b38;
  color: #b6c6d7;
}
html[data-theme="dark"] .table,
html[data-theme="dark"] .table .table,
html[data-theme="dark"] table.dataTable,
html[data-theme="dark"] table.dataTable thead,
html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd),
html[data-theme="dark"] .table-hover tbody tr:hover {
  background: #1d2835 !important;
  color: #e9f0f8;
}
html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd),
html[data-theme="dark"] table.dataTable tbody tr.odd {
  background: #253343 !important;
}
html[data-theme="dark"] .table-hover tbody tr:hover,
html[data-theme="dark"] table.dataTable tbody tr:hover {
  background: #32465c !important;
}
html[data-theme="dark"] .table th,
html[data-theme="dark"] .table td,
html[data-theme="dark"] table.dataTable th,
html[data-theme="dark"] table.dataTable td,
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
  border-color: #405469;
}
html[data-theme="dark"] .page-link,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button,
html[data-theme="dark"] .dropdown-item {
  background: #253343;
  color: #dcecff;
  border-color: #405469;
}
html[data-theme="dark"] .page-link:hover,
html[data-theme="dark"] .dropdown-item:hover {
  background: #344a60;
  color: #fff;
}
html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .btn-default,
html[data-theme="dark"] .btn-light {
  color: #f3f7fc;
  background: #344b61;
  border-color: #506b84;
}
html[data-theme="dark"] .btn-secondary:hover,
html[data-theme="dark"] .btn-light:hover {
  background: #45627e;
  color: #fff;
}
html[data-theme="dark"] .theme-preference__option span {
  background: #253343;
  color: #e9f0f8;
  border-color: #50657a;
}
html[data-theme="dark"] .theme-preference__option input:checked + span {
  background: #3675c4;
  color: #fff;
  border-color: #75b4ff;
}
html[data-theme="dark"] .daterangepicker,
html[data-theme="dark"] .daterangepicker .calendar-table,
html[data-theme="dark"] .daterangepicker .calendar-table table,
html[data-theme="dark"] .daterangepicker td.available,
html[data-theme="dark"] .daterangepicker th.available,
html[data-theme="dark"] .daterangepicker .ranges li {
  background: #253343;
  color: #e9f0f8;
  border-color: #405469;
}
html[data-theme="dark"] .daterangepicker td.available:hover,
html[data-theme="dark"] .daterangepicker th.available:hover,
html[data-theme="dark"] .daterangepicker .ranges li:hover {
  background: #3b5570;
}
html[data-theme="dark"] .daterangepicker td.active,
html[data-theme="dark"] .daterangepicker td.active:hover {
  background: #3675c4;
  color: #fff;
}
html[data-theme="dark"] .daterangepicker:before,
html[data-theme="dark"] .daterangepicker:after {
  border-bottom-color: #253343;
}
html[data-theme="dark"] .embed-responsive canvas:not(#chart_horaire) {
  background: #fff;
}
html[data-theme="dark"] #chart_repartition {
  background: #fff;
}


/* Logo approuvé, lisible sur le bandeau bleu et sur la page de connexion. */
.app-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
}
.xscales-brand-logo {
  display: block;
  width: 200px;
  height: 42px;
  object-fit: cover;
  object-position: center;
  background: transparent;
  border-radius: 0;
}
.xscales-brand-logo--login {
  width: 300px;
  height: 74px;
  max-width: 90vw;
  margin: 0 auto;
}

/* Cadran d’activité compact dans le détail des pesées. */
.pesees-activity-chart {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}

/* Une même hauteur pour le calendrier, les périodes et les actions d’export. */
.pesees-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.pesees-period-form {
  flex: 0 1 300px;
  min-width: 260px;
  margin: 0;
}
.pesees-toolbar .form-group {
  margin: 0;
  padding: 0;
}
.pesees-toolbar .btn,
.pesees-toolbar .form-control,
.pesees-toolbar .input-group-text {
  height: 46px;
}
.pesees-toolbar .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 600;
  white-space: nowrap;
}
.pesees-toolbar .input-group-text {
  align-items: center;
}
.pesees-export-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
}
@media (max-width: 575px) {
  .pesees-period-form {
    flex: 1 1 100%;
    min-width: 0;
  }
  .pesees-period-modes {
    flex-wrap: wrap;
    max-width: 100%;
  }
}


/* Synthèse de production par appareil. */
#bloc_repartition {
  flex: 1 1 300px;
  min-width: 0;
  display: flex;
}
#bloc_recap {
  flex: 2 1 640px;
  min-width: 0;
  display: flex;
}
#bloc_repartition > .tile,
#bloc_recap > .tile {
  flex: 1;
  min-width: 0;
}
.production-recap-period {
  margin-bottom: 12px;
  font-size: 0.9rem;
}
.production-recap-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.production-recap-metric {
  flex: 1 1 130px;
  padding: 10px 14px;
  border: 1px solid #8292a344;
  border-radius: 5px;
  background: rgba(127, 151, 177, 0.06);
}
.production-recap-metric span,
.production-recap-metric strong {
  display: block;
}
.production-recap-metric span {
  font-size: 0.8rem;
}
.production-recap-metric strong {
  font-size: 1.25rem;
  margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
.production-recap-table {
  margin-bottom: 10px;
  font-size: 0.85rem;
}
.production-recap-table th,
.production-recap-table td {
  padding: 10px 8px;
  vertical-align: middle;
}
.production-recap-table thead th {
  font-size: 0.78rem;
  min-width: 75px;
}
.production-recap-table td {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.production-recap-table tbody th,
.production-recap-total {
  font-weight: 700;
}
.production-recap-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 50%;
}
.production-recap-note {
  font-size: 0.8rem;
  margin: 4px 0 0;
}

