body {
  padding-top: 4.5rem;
}

.body-login {
  margin: 0;
  padding: 0;
  background: url('http://pw.bestlink.in.ua/img/bg.png') center/cover no-repeat fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background-size: 85vh;
}

.form-signin {
  max-width: 330px;
  padding: 1rem;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}



.battery {
  --battery-width: calc(90%);
  --battery-height: calc(90%);
  --border-thickness: 4px;
  --terminal-width: calc(var(--battery-width) * 0.5);
  --terminal-height: calc(var(--battery-height) * 0.08);

  width: var(--battery-width);
  height: var(--battery-height);
  padding: calc(var(--border-thickness) / 2);
  border: var(--border-thickness) solid #595c5f;
  border-radius: calc(var(--border-thickness) * 1.5);
  position: relative;
  margin: 15px 0;
}

.battery::before {
  content: "";
  width: var(--terminal-width);
  height: var(--terminal-height);
  background: #595c5f;
  display: block;
  position: absolute;
  top: calc(var(--terminal-height) * -1);
  left: 50%;
  transform: translateX(-50%);
  border-radius: calc(var(--border-thickness) * 1) calc(var(--border-thickness) * 1) 0 0;
}

.battery::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border: 1px solid #fff;
  border-radius: calc(var(--border-thickness) * 1);
}

.battery-level {
  background: #198754;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.battery-level.warn {
  background-color: #ffc107;
}

.battery-level.al {
  background-color: #dc3545;
}

.sign {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
  z-index: 2;
}

/*
.battery {
  --battery-width: calc(90%);
  --battery-height: calc(30%);
  --border-thickness: 4px;
  --terminal-width: calc(var(--battery-width) * 0.08);
  --terminal-height: calc(var(--battery-height) * 0.5);

  width: var(--battery-width);
  height: var(--battery-height);
  padding: calc(var(--border-thickness) / 2);
  border: var(--border-thickness) solid #595c5f;
  border-radius: calc(var(--border-thickness) * 1.5);
  position: relative;
  margin: 15px 0;
}

.battery::before {
  content: "";
  width: var(--terminal-width);
  height: var(--terminal-height);
  background: #595c5f;
  display: block;
  position: absolute;
  right: calc(var(--terminal-width) * -1);
  top: 50%;
  transform: translateY(-50%);
  border-radius: 0 calc(var(--border-thickness) * 1) calc(var(--border-thickness) * 1) 0;
}

.battery::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border: 1px solid #fff;
  border-radius: calc(var(--border-thickness) * 1);
}

.battery-level {
  background: #198754;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 50%;
  transition: width 0.3s ease;
}

.battery-level.warn {
  background-color: #ffc107;
}

.battery-level.al {
  background-color: #dc3545;
}

.sign {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
  z-index: 2;
}
*/
/* Omega Telecom inspired shell styling */
:root {
  --omega-navy: #002b52;
  --omega-navy-soft: #0d3d6a;
  --omega-orange: #ff5b00;
  --omega-orange-soft: #ff8a00;
  --omega-line: #e9edf2;
  --omega-page: #f7f7f7;
}

body:not(.body-login) {
  padding-top: 8.75rem;
  background: var(--omega-page);
  color: var(--omega-navy);
  font-family: Arial, Helvetica, sans-serif;
  border-top: 4px solid #333;
}

body:not(.body-login) .navbar.fixed-top {
  top: 24px;
  left: 50%;
  right: auto;
  width: min(1200px, calc(100% - 32px));
  min-height: 86px;
  transform: translateX(-50%);
  padding: 0 28px;
  background: #fff !important;
  border-top: 5px solid var(--omega-orange);
  border-bottom: 5px solid var(--omega-orange);
  box-shadow: 0 1px 9px rgba(0, 43, 82, .10);
}

body:not(.body-login) .navbar .navbar-collapse {
  min-height: 76px;
  align-items: center;
}

body:not(.body-login) .navbar .navbar-brand,
body:not(.body-login) .navbar .nav-link {
  color: var(--omega-navy) !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: 0;
}

body:not(.body-login) .navbar .nav-link:hover,
body:not(.body-login) .navbar .nav-link:focus,
body:not(.body-login) .navbar .dropdown-toggle.show {
  color: var(--omega-orange) !important;
}

body:not(.body-login) .navbar h5 {
  color: var(--omega-navy);
  font-weight: 700;
}

body:not(.body-login) .navbar h5::first-letter {
  color: var(--omega-orange);
}

body:not(.body-login) .navbar .form-control {
  border-color: var(--omega-line);
  border-radius: 0;
  color: var(--omega-navy);
}

body:not(.body-login) .navbar .form-control:focus {
  border-color: var(--omega-orange);
  box-shadow: 0 0 0 .15rem rgba(255, 91, 0, .16);
}

body:not(.body-login) .dropdown-menu {
  border-radius: 0;
  border-color: var(--omega-line);
  box-shadow: 0 8px 24px rgba(0, 43, 82, .10);
}

body:not(.body-login) .dropdown-item {
  color: var(--omega-navy);
}

body:not(.body-login) .dropdown-item:hover,
body:not(.body-login) .dropdown-item:focus {
  background: rgba(255, 91, 0, .08);
  color: var(--omega-orange);
}

@media (max-width: 767.98px) {
  body:not(.body-login) {
    padding-top: 6.75rem;
  }

  body:not(.body-login) .navbar.fixed-top {
    top: 12px;
    width: calc(100% - 18px);
    min-height: auto;
    padding: 10px 14px;
  }

  body:not(.body-login) .navbar .navbar-collapse {
    min-height: 0;
    padding-top: 10px;
  }
}
#pw-dashboard-loader {
  width: min(1200px, calc(100% - 32px));
  max-width: 1200px !important;
  background: #fff;
  border-left: 1px solid var(--omega-line);
  border-right: 1px solid var(--omega-line);
  border-top: 5px solid var(--omega-orange);
  box-shadow: 0 1px 9px rgba(0, 43, 82, .08);
  color: var(--omega-navy);
}

#pw-dashboard-loader .dashboard-loader-card {
  color: var(--omega-navy);
}

#pw-dashboard-loader .text-success,
#pw-dashboard-loader .spinner-border.text-success {
  color: var(--omega-orange) !important;
}
/* Unified Omega surfaces for login, device and user pages */
.body-login {
  min-height: 100vh;
  height: auto;
  padding: 24px 16px !important;
  background: var(--omega-page) !important;
  background-image: none !important;
  border-top: 4px solid #333;
  color: var(--omega-navy);
  font-family: Arial, Helvetica, sans-serif;
}

.form-signin {
  max-width: 420px;
  background: #fff;
  border-top: 5px solid var(--omega-orange);
  border-left: 1px solid var(--omega-line);
  border-right: 1px solid var(--omega-line);
  border-bottom: 1px solid var(--omega-line);
  box-shadow: 0 1px 9px rgba(0, 43, 82, .10);
  padding: 2rem;
  color: var(--omega-navy);
}

.form-signin h1,
.form-signin h5 {
  color: var(--omega-navy);
  font-weight: 400 !important;
}

.form-signin .form-control,
.form-signin .input-group-text,
body:not(.body-login) .form-control,
body:not(.body-login) .form-select,
body:not(.body-login) .input-group-text {
  border-radius: 0 !important;
  border-color: #c8d0d8;
  color: var(--omega-navy);
  background-color: #fff;
}

.form-signin .form-control:focus,
body:not(.body-login) .form-control:focus,
body:not(.body-login) .form-select:focus {
  border-color: var(--omega-orange);
  box-shadow: 0 0 0 .15rem rgba(255, 91, 0, .16);
}

.form-signin .form-check-input:checked,
body:not(.body-login) .form-check-input:checked {
  background-color: var(--omega-orange);
  border-color: var(--omega-orange);
}

.form-signin .btn,
body:not(.body-login) .btn {
  border-radius: 0 !important;
  letter-spacing: 0;
}

.form-signin .btn-outline-success,
body:not(.body-login) .btn-outline-success,
body:not(.body-login) .btn-outline-primary {
  color: var(--omega-navy);
  border-color: var(--omega-navy);
  background: #fff;
}

.form-signin .btn-outline-success:hover,
.form-signin .btn-outline-success:focus,
body:not(.body-login) .btn-outline-success:hover,
body:not(.body-login) .btn-outline-success:focus,
body:not(.body-login) .btn-outline-primary:hover,
body:not(.body-login) .btn-outline-primary:focus {
  color: #fff;
  background: var(--omega-orange);
  border-color: var(--omega-orange);
}

.form-signin .btn-outline-secondary,
body:not(.body-login) .btn-outline-secondary {
  color: var(--omega-navy);
  border-color: #c8d0d8;
}

.form-signin .btn-outline-secondary:hover,
.form-signin .btn-outline-secondary:focus,
body:not(.body-login) .btn-outline-secondary:hover,
body:not(.body-login) .btn-outline-secondary:focus {
  color: var(--omega-orange);
  background: rgba(255, 91, 0, .06);
  border-color: var(--omega-orange);
}

body:not(.body-login) > .col-12.m-0.p-0.mt-2,
body:not(.body-login) > .col.m-0.p-0 {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto !important;
  background: #fff;
  border-left: 1px solid var(--omega-line);
  border-right: 1px solid var(--omega-line);
  color: var(--omega-navy);
}

body:not(.body-login) > .col-12.m-0.p-0.mt-2 {
  border-top: 5px solid var(--omega-orange);
  padding: 22px 30px 0 !important;
  box-shadow: 0 1px 9px rgba(0, 43, 82, .08);
}

#pw_devices {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto 34px !important;
  padding: 24px 30px 34px !important;
  background: #fff;
  border-left: 1px solid var(--omega-line);
  border-right: 1px solid var(--omega-line);
  border-bottom: 1px solid var(--omega-line);
  box-shadow: 0 4px 14px rgba(0, 43, 82, .06);
  color: var(--omega-navy);
}

body:not(.body-login) > .col.m-0.p-0 {
  border-top: 5px solid var(--omega-orange);
  padding: 24px 30px 34px !important;
  box-shadow: 0 1px 9px rgba(0, 43, 82, .08);
}

body:not(.body-login) .nav-tabs {
  border-bottom: 5px solid var(--omega-orange);
  gap: 2px;
}

body:not(.body-login) .nav-tabs .nav-link {
  border-radius: 0;
  border: 0;
  color: var(--omega-navy) !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .78rem;
  padding: .85rem 1rem;
}

body:not(.body-login) .nav-tabs .nav-link:hover,
body:not(.body-login) .nav-tabs .nav-link.active {
  color: var(--omega-orange) !important;
  background: #fff;
  border-bottom: 4px solid var(--omega-navy);
}

#pw_devices .card,
body:not(.body-login) > .col.m-0.p-0 .card,
#pw_devices .accordion-item,
body:not(.body-login) > .col.m-0.p-0 .accordion-item {
  border-radius: 0 !important;
  border-color: var(--omega-line) !important;
  box-shadow: none !important;
  background: #fff;
  color: var(--omega-navy);
}

#pw_devices .card-header,
body:not(.body-login) > .col.m-0.p-0 .card-header,
#pw_devices .accordion-button,
body:not(.body-login) > .col.m-0.p-0 .accordion-button {
  border-radius: 0 !important;
  background: #fafbfc !important;
  color: var(--omega-navy) !important;
  border-color: var(--omega-line) !important;
}

#pw_devices .accordion-button:not(.collapsed),
body:not(.body-login) > .col.m-0.p-0 .accordion-button:not(.collapsed) {
  color: var(--omega-orange) !important;
  box-shadow: inset 0 -1px 0 var(--omega-line);
}

#pw_devices .card-body,
body:not(.body-login) > .col.m-0.p-0 .card-body,
#pw_devices .accordion-body,
body:not(.body-login) > .col.m-0.p-0 .accordion-body {
  color: var(--omega-navy) !important;
}

#pw_devices .hover-on,
body:not(.body-login) > .col.m-0.p-0 .hover-on {
  border-color: var(--omega-line) !important;
  background: #fff;
}

#pw_devices .hover-on:hover,
body:not(.body-login) > .col.m-0.p-0 .hover-on:hover {
  background: rgba(255, 91, 0, .045);
}

body:not(.body-login) .link-success,
body:not(.body-login) .btn-link.link-success,
body:not(.body-login) .btn-link.link-primary {
  color: var(--omega-orange) !important;
}

body:not(.body-login) .link-dark,
body:not(.body-login) .text-dark {
  color: var(--omega-navy) !important;
}

body:not(.body-login) .text-success {
  color: #2f6f9f !important;
}

body:not(.body-login) .text-danger {
  color: #c74400 !important;
}

body:not(.body-login) .bg-success,
body:not(.body-login) .progress-bar.bg-success {
  background-color: #2f6f9f !important;
}

body:not(.body-login) .bg-warning,
body:not(.body-login) .progress-bar.bg-warning {
  background-color: #ffc107 !important;
}

body:not(.body-login) .bg-danger,
body:not(.body-login) .progress-bar.bg-danger {
  background-color: #c74400 !important;
}

body:not(.body-login) .border-success {
  border-color: #2f6f9f !important;
}

body:not(.body-login) .border-warning {
  border-color: #ffc107 !important;
}

body:not(.body-login) .border-danger {
  border-color: #c74400 !important;
}

.battery {
  border-color: var(--omega-navy);
  background: #fff;
}

.battery::before {
  background: var(--omega-navy);
}

.battery-level {
  background: #198754;
  transition: height .25s ease, background-color .2s ease;
}

.battery-level.warn {
  background-color: #ffc107;
}

.battery-level.al {
  background-color: #dc3545;
}

.battery .sign a {
  color: var(--omega-navy) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .75);
}

@media (max-width: 767.98px) {
  body:not(.body-login) > .col-12.m-0.p-0.mt-2,
  body:not(.body-login) > .col.m-0.p-0,
  #pw_devices {
    width: calc(100% - 18px);
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
/* User/admin pages that return p-1 wrappers use the same Omega surface */
body:not(.body-login) > .col.m-0.p-1 {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto !important;
  padding: 24px 30px 34px !important;
  background: #fff;
  border-top: 5px solid var(--omega-orange);
  border-left: 1px solid var(--omega-line);
  border-right: 1px solid var(--omega-line);
  border-bottom: 1px solid var(--omega-line);
  box-shadow: 0 1px 9px rgba(0, 43, 82, .08);
  color: var(--omega-navy);
}

body:not(.body-login) > .col.m-0.p-1 .card,
body:not(.body-login) > .col.m-0.p-1 .accordion-item,
body:not(.body-login) .jumbotron {
  border-radius: 0 !important;
  border: 1px solid var(--omega-line) !important;
  background: #fff;
  box-shadow: none !important;
  color: var(--omega-navy);
}

body:not(.body-login) > .col.m-0.p-1 .card-header,
body:not(.body-login) > .col.m-0.p-1 .accordion-button {
  border-radius: 0 !important;
  background: #fafbfc !important;
  color: var(--omega-navy) !important;
}

body:not(.body-login) .btn-success {
  background: var(--omega-orange) !important;
  border-color: var(--omega-orange) !important;
  color: #fff !important;
}

body:not(.body-login) .btn-success:hover,
body:not(.body-login) .btn-success:focus {
  background: #e65000 !important;
  border-color: #e65000 !important;
}

body:not(.body-login) .text-primary,
body:not(.body-login) .link-primary {
  color: var(--omega-orange) !important;
}

body:not(.body-login) .border-primary {
  border-color: var(--omega-navy) !important;
}

@media (max-width: 767.98px) {
  body:not(.body-login) > .col.m-0.p-1 {
    width: calc(100% - 18px);
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
