.card-header .card-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.35rem; margin-left: auto; }
.card-header .card-tools .form-inline { display: flex; flex-flow: row nowrap; align-items: center; width: auto; margin: 0; }
.card-header .card-tools .form-control { display: inline-block; width: auto; }
.winmon-chart { position: relative; height: 320px; }
.winmon-chart canvas { max-height: 320px; }
.kiosk-page .content-wrapper { margin-left: 0; }
.kiosk-page .small-box { min-height: 7.5rem; overflow: hidden; position: relative; }
.kiosk-page .small-box .icon { font-size: 50px; top: 10px; right: 12px; }
.kiosk-page .small-box .inner { padding-right: 4rem; }
.svc-acts .btn { padding: 0.1rem 0.35rem; }
.login-page { background: #1a1d20; }
.login-box .card { background: #1a1d20; border-color: #4a5158; }
.winmon-box-link, .winmon-box-link:hover { color: inherit; text-decoration: none; display: block; }
.navbar .winmon-scope { flex-wrap: wrap; align-items: center; flex: 1 1 auto; min-width: 0; }
.navbar .winmon-scope .form-control { width: auto; min-width: 7.5rem; max-width: 14rem; }
.table-responsive thead th { position: sticky; top: 0; z-index: 2; background: #343a40; }
.winmon-col-hide { display: none !important; }
.small-box .metric-sub { opacity: 0.85; }
.small-box h3 { font-size: 1.8rem; }
h3[data-metric] { transition: opacity 0.35s ease; }
h3[data-metric].winmon-dim { opacity: 0.35; }
@keyframes winmon-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
tr.winmon-in td, .winmon-card.winmon-in { animation: winmon-in 0.7s ease; }
.tok-secret { cursor: default; outline: none; }
.tok-secret .tok-val { display: none; }
.tok-secret:hover .tok-mask,
.tok-secret:focus .tok-mask,
.tok-secret:focus-within .tok-mask { display: none; }
.tok-secret:hover .tok-val,
.tok-secret:focus .tok-val,
.tok-secret:focus-within .tok-val { display: inline; }
.tok-secret input.tok-val { display: none; }
.tok-secret:hover input.tok-val,
.tok-secret:focus input.tok-val,
.tok-secret:focus-within input.tok-val { display: block; }
.tok-secret.tok-empty .tok-mask { display: none; }
.tok-secret.tok-empty .tok-val,
.tok-secret.tok-empty input.tok-val { display: inline; }
.tok-secret.tok-empty input.tok-val { display: block; }
.winmon-sys-card { min-height: 7rem; }
.table-sort th.table-sort-th { cursor: pointer; user-select: none; white-space: nowrap; }
.table-sort th.table-sort-th:hover { color: #e8eaed; }
.table-sort th.sorted-asc::after { content: " \25B2"; font-size: 0.7em; }
.table-sort th.sorted-desc::after { content: " \25BC"; font-size: 0.7em; }
.table td.clip { max-width: 28rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
td.clip.js-row-detail { cursor: pointer; }
tr.js-cert-row { cursor: pointer; }
.winmon-certs table { width: 100%; table-layout: fixed; }
.winmon-certs th, .winmon-certs td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.winmon-certs th:nth-child(1), .winmon-certs td:nth-child(1) { width: 22%; }
.winmon-certs th:nth-child(3), .winmon-certs td:nth-child(3) { width: 11rem; }
.winmon-certs th:nth-child(4), .winmon-certs td:nth-child(4) { width: 5.5rem; }
.winmon-audit th:nth-child(1), .winmon-audit td:nth-child(1) { width: 11rem; white-space: nowrap; }
.winmon-audit td.audit-detail { white-space: normal; word-break: break-word; }
table.table-events { width: 100%; table-layout: auto; }
table.table-events th:not(:last-child),
table.table-events td:not(:last-child) { width: 1%; white-space: nowrap; }
table.table-events th:last-child,
table.table-events td.clip { width: 100%; max-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#row-detail-body { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; max-height: 24rem; overflow: auto; font-family: Consolas, "Courier New", monospace; font-size: 0.85rem; line-height: 1.5; }
.winmon-metrics .small-box { min-height: 7.5rem; }
.winmon-metrics .winmon-metric-label { margin-bottom: 0.25rem; font-size: 0.95rem; }
.winmon-metrics .small-box h3 { font-size: 1.6rem; margin-bottom: 0.15rem; }
.winmon-metrics .winmon-metric-sub { min-height: 1.1rem; opacity: 0.85; font-size: 0.8rem; }
body.dark-mode .table-warning,
body.dark-mode .table-warning > td,
body.dark-mode .table-warning > th,
body.dark-mode .table-success,
body.dark-mode .table-success > td,
body.dark-mode .table-success > th,
body.dark-mode .table-danger,
body.dark-mode .table-danger > td,
body.dark-mode .table-danger > th,
body.dark-mode .table-info,
body.dark-mode .table-info > td,
body.dark-mode .table-info > th { color: #e8eaed !important; }
body.dark-mode .table-warning,
body.dark-mode .table-warning > td,
body.dark-mode .table-warning > th { background-color: rgba(201, 148, 23, 0.32) !important; }
body.dark-mode .table-success,
body.dark-mode .table-success > td,
body.dark-mode .table-success > th { background-color: rgba(40, 120, 70, 0.42) !important; }
body.dark-mode .table-danger,
body.dark-mode .table-danger > td,
body.dark-mode .table-danger > th { background-color: rgba(176, 42, 55, 0.38) !important; }
body.dark-mode .table-info,
body.dark-mode .table-info > td,
body.dark-mode .table-info > th { background-color: rgba(23, 112, 163, 0.38) !important; }
body.dark-mode .table-warning a,
body.dark-mode .table-success a,
body.dark-mode .table-danger a,
body.dark-mode .table-info a { color: inherit; }
body.dark-mode .form-control,
body.dark-mode select.form-control,
body.dark-mode .input-group-text {
  background-color: #2b3035;
  color: #e8eaed;
  border-color: #4a5158;
}
body.dark-mode .form-control::placeholder { color: #8b939c; }
body.dark-mode .form-control:-webkit-autofill,
body.dark-mode .form-control:-webkit-autofill:hover,
body.dark-mode .form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #e8eaed;
  box-shadow: 0 0 0 1000px #2b3035 inset;
  transition: background-color 9999s ease-out;
}
body.dark-mode .alert-warning,
body.dark-mode .badge-warning,
body.dark-mode .btn-warning {
  background-color: #d4a017;
  border-color: #c49415;
  color: #1a1d20;
}
body.dark-mode .btn-warning:hover { color: #1a1d20; background-color: #c49415; }
body.dark-mode .table-sort th.table-sort-th:hover { color: #e8eaed; }
body.dark-mode #row-detail .modal-content,
body.dark-mode #row-detail .modal-body,
body.dark-mode #row-detail .modal-header,
body.dark-mode #row-detail .modal-footer,
body.dark-mode #row-detail-body { color: #e8eaed; background-color: #343a40; }
body.dark-mode .alert-info {
  background-color: #2b4a5c;
  border-color: #3d6a82;
  color: #d6ecf5;
}
body.dark-mode .modal-content,
body.dark-mode .modal-header,
body.dark-mode .modal-body,
body.dark-mode .modal-footer {
  background-color: #343a40;
  color: #e8eaed;
  border-color: #4a5158;
}
body.dark-mode .progress {
  background-color: #2b3035;
}
body.dark-mode .close { color: #e8eaed; }
.winmon-user-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 767.98px) { .winmon-user-grid { grid-template-columns: 1fr; } }
.winmon-perm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem 1.25rem; max-height: 24rem; overflow: auto; }
@media (max-width: 767.98px) { .winmon-perm-grid { grid-template-columns: 1fr; } }
.winmon-perm-group { background: rgba(255,255,255,0.04); border: 1px solid #4a5158; border-radius: 0.35rem; padding: 0.6rem 0.75rem; }
.winmon-perm-group h6 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.4rem; color: #adb5bd; }
.winmon-perm-group .form-check { margin-bottom: 0.35rem; }
.btn-outline-danger { color: #dc3545; border: 1px solid #dc3545; background: transparent; }
.btn-outline-danger:hover { color: #fff; background: #dc3545; }
.winmon-machine { padding: 0.75rem 1rem; }
.winmon-machine h6 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; color: #adb5bd; margin-bottom: 0.5rem; }
.winmon-machine .dl-machine { overflow: hidden; margin-bottom: 0; }
.winmon-machine .dl-machine dt { float: left; clear: left; width: 7rem; font-weight: 600; }
.winmon-machine .dl-machine dd { margin-left: 7.25rem; }
.winmon-settings-form .card-tabs .nav-tabs .nav-link { font-weight: 500; }
.winmon-settings-form .card-tabs .card-footer { background: transparent; border-top: 1px solid rgba(255,255,255,.1); }
.winmon-settings-form .form-group:last-child { margin-bottom: 0; }
