/* Personal application polish: readable admin surfaces without touching minified theme files. */

:root {
  --pm-bg: #eef3f8;
  --pm-surface: #ffffff;
  --pm-surface-soft: #f8fafc;
  --pm-border: #cbd5e1;
  --pm-text: #172033;
  --pm-muted: #526173;
  --pm-primary: #0f766e;
  --pm-primary-strong: #115e59;
  --pm-primary-soft: #d7f2ee;
  --pm-success: #15803d;
  --pm-warning: #854d0e;
  --pm-danger: #b42318;
  --pm-blue: #1d4ed8;
  --pm-indigo: #4338ca;
  --pm-purple: #6d28d9;
  --pm-pink: #be185d;
  --pm-cyan: #0e7490;
  --pm-grey: #475569;
  --pm-sidebar: #132238;
  --pm-sidebar-hover: #1f3a5f;
}

body {
  background: var(--pm-bg);
  color: var(--pm-text);
}

.navbar {
  background: var(--pm-surface);
  color: var(--pm-text);
  border-bottom: 1px solid var(--pm-border);
  box-shadow: 0 2px 12px rgba(23, 32, 51, 0.10);
}

.navbar a,
.navbar select,
.navbar .ses {
  color: var(--pm-text);
}

#brand {
  letter-spacing: 0;
  font-weight: 700;
  color: var(--pm-primary-strong);
  min-width: 168px;
  white-space: nowrap;
}

.app-login-logo {
  max-width: 180px;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.app-login-title {
  display: inline-block;
  margin: 10px;
  color: var(--pm-text);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0;
}

.main-container {
  padding-top: 16px;
}

.card {
  border: 1px solid var(--pm-border);
  border-radius: 8px;
  background: var(--pm-surface);
  color: var(--pm-text);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.08);
  overflow: hidden;
}

.card .card-header {
  background: var(--pm-surface-soft);
  border-bottom: 1px solid var(--pm-border);
  color: var(--pm-text);
}

.card .card-header h3,
.card .card-title {
  letter-spacing: 0;
  color: var(--pm-text);
}

.card .card-body,
.card .card-body p,
.card .card-body label,
.card .card-body td,
.card .card-body th,
.card .card-body input,
.card .card-body select,
.card .card-body textarea {
  color: var(--pm-text) !important;
}

.card .card-body td > i:not(.fa),
.card .card-body td > small,
.card .card-body .muted {
  color: var(--pm-muted) !important;
}

.card .card-body a {
  color: var(--pm-primary-strong) !important;
}

.card .card-body .text-green,
.card .card-body .text-success {
  color: var(--pm-success) !important;
}

.card .card-body .text-red,
.card .card-body .text-danger {
  color: var(--pm-danger) !important;
}

.card .card-body .text-warning {
  color: var(--pm-warning) !important;
}

.box {
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(23, 32, 51, 0.12);
}

.box-bordered {
  border: 1px solid rgba(255, 255, 255, 0.36);
}

.box-group-area h3 {
  line-height: 1.35;
}

.table {
  border-collapse: separate;
  border-spacing: 0;
}

.table th {
  font-weight: 700;
  color: var(--pm-text);
  background: var(--pm-primary-soft);
}

.table td,
.table th {
  vertical-align: middle;
  border-color: var(--pm-border);
}

.table td {
  color: var(--pm-text) !important;
}

.table-hover tbody tr:hover {
  background: rgba(15, 118, 110, 0.08);
}

.form-control,
.group-item,
input,
select,
textarea {
  border-color: var(--pm-border);
  color: var(--pm-text);
  background-color: var(--pm-surface);
}

.btn,
.btn-login,
.group-item,
.form-control {
  border-radius: 6px;
}

.btn,
.btn-login {
  box-shadow: 0 3px 10px rgba(23, 32, 51, 0.12);
}

.bg-primary,
.btn.bg-primary,
.btn-login.bg-primary {
  background-color: var(--pm-primary);
  color: #ffffff;
}

.bg-blue,
.btn.bg-blue {
  background-color: var(--pm-blue);
  color: #ffffff;
}

.bg-indigo,
.btn.bg-indigo {
  background-color: var(--pm-indigo);
  color: #ffffff;
}

.bg-purple,
.btn.bg-purple {
  background-color: var(--pm-purple);
  color: #ffffff;
}

.bg-pink,
.btn.bg-pink {
  background-color: var(--pm-pink);
  color: #ffffff;
}

.bg-danger,
.btn.bg-danger,
.bg-red,
.btn.bg-red {
  background-color: var(--pm-danger);
  color: #ffffff;
}

.bg-green,
.btn.bg-green {
  background-color: var(--pm-success);
  color: #ffffff;
}

.bg-teal,
.btn.bg-teal {
  background-color: var(--pm-primary-strong);
  color: #ffffff;
}

.bg-cyan,
.btn.bg-cyan,
.bg-light-blue,
.btn.bg-light-blue {
  background-color: var(--pm-cyan);
  color: #ffffff;
}

.bg-grey,
.btn.bg-grey,
.bg-grey-dark,
.btn.bg-grey-dark,
.bg-secondary,
.btn.bg-secondary {
  background-color: var(--pm-grey);
  color: #ffffff;
}

.bg-warning,
.btn.bg-warning,
.bg-yellow,
.btn.bg-yellow {
  background-color: var(--pm-warning);
  color: #ffffff;
}

.bg-dark,
.btn.bg-dark {
  background-color: #111827;
  color: #ffffff;
}

.bg-light,
.btn.bg-light,
.bg-white,
.btn.bg-white {
  background-color: #ffffff;
  color: var(--pm-text);
}

.box[class*="bg-"],
.btn[class*="bg-"],
div[class*="bg-"]:not(.bg-light):not(.bg-white),
span[class*="bg-"]:not(.bg-light):not(.bg-white) {
  color: #ffffff !important;
}

.box[class*="bg-"] a,
.box[class*="bg-"] i,
.box[class*="bg-"] h1,
.box[class*="bg-"] h2,
.box[class*="bg-"] h3,
.box[class*="bg-"] span,
.box[class*="bg-"] small,
.box[class*="bg-"] b,
.btn[class*="bg-"] i,
.btn[class*="bg-"] span,
div[class*="bg-"]:not(.bg-light):not(.bg-white) a,
div[class*="bg-"]:not(.bg-light):not(.bg-white) i,
div[class*="bg-"]:not(.bg-light):not(.bg-white) span,
div[class*="bg-"]:not(.bg-light):not(.bg-white) h1,
div[class*="bg-"]:not(.bg-light):not(.bg-white) h2,
div[class*="bg-"]:not(.bg-light):not(.bg-white) h3,
div[class*="bg-"]:not(.bg-light):not(.bg-white) small,
div[class*="bg-"]:not(.bg-light):not(.bg-white) b {
  color: #ffffff !important;
}

.bg-light a,
.bg-white a,
.bg-light i,
.bg-white i {
  color: var(--pm-primary-strong) !important;
}

a {
  color: var(--pm-primary-strong);
}

.btn:hover,
.btn-login:hover,
.pointer:hover {
  filter: brightness(0.96);
}

.text-green {
  color: var(--pm-success);
}

.text-red,
.text-danger {
  color: var(--pm-danger);
}

.text-warning {
  color: var(--pm-warning);
}

#sidenav .menu.active,
#sidenav .menu:hover,
#sidenav .dropdown-btn:hover {
  font-weight: 700;
}

#sidenav {
  background: var(--pm-sidebar);
  color: #ffffff;
}

#sidenav .menu,
#sidenav .dropdown-btn,
#sidenav a {
  color: #ffffff;
}

#sidenav .menu.active,
#sidenav .menu:hover,
#sidenav .dropdown-btn:hover {
  background: var(--pm-sidebar-hover);
  color: #ffffff;
}

#sidenav .menu *,
#sidenav .dropdown-btn *,
#sidenav a *,
#sidenav .text-grey,
#sidenav .text-secondary,
#sidenav .text-light-blue,
#sidenav .fa-caret-down,
#sidenav .fa-caret-left {
  color: #ffffff !important;
}

.card-header a,
.card-header i,
.card-header span {
  color: inherit;
}

.card .text-grey,
.card .text-secondary {
  color: var(--pm-muted);
}

.role-admin #sidenav .fa-ticket,
.role-admin #sidenav .fa-print,
.role-admin #sidenav .fa-user-plus {
  opacity: 0.72;
}

@media (max-width: 768px) {
  .main-container {
    padding: 10px;
  }

  .card {
    border-radius: 6px;
  }

  .table {
    font-size: 13px;
  }
}
