:root {
  --pm-primary: #013765;
  --pm-primary-strong: #002747;
  --pm-primary-soft: #eaf1f7;
  --pm-accent: #13a3a5;
  --pm-bg: #f4f7fa;
  --pm-surface: #ffffff;
  --pm-text: #172b3d;
  --pm-muted: #6d7e8d;
  --pm-border: #e2e9ef;
  --pm-shadow: 0 8px 28px rgba(15, 48, 73, .07);
}

body.padonmar-admin {
  background: var(--pm-bg);
  color: var(--pm-text);
  letter-spacing: -.01em;
}

.padonmar-admin .layout-menu {
  background: var(--pm-surface) !important;
  border-right: 1px solid var(--pm-border);
  box-shadow: 8px 0 28px rgba(15, 48, 73, .035);
}

.padonmar-admin .app-brand.demo {
  height: 104px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--pm-border);
}

.app-brand-logo {
  display: block;
  width: 100%;
  max-width: 180px;
  max-height: 62px;
  object-fit: contain;
  object-position: left center;
}

.padonmar-admin .menu-inner { padding: 14px 14px 24px !important; }
.padonmar-admin .menu-header { margin: 18px 8px 7px; padding: 0; }
.padonmar-admin .menu-header-text {
  color: #91a0ad;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.padonmar-admin .menu-item { margin: 3px 0; }
.padonmar-admin .menu-link {
  min-height: 44px;
  border-radius: 9px;
  color: #526576;
  font-weight: 500;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.padonmar-admin .menu-link:hover {
  color: var(--pm-primary);
  background: var(--pm-primary-soft);
  transform: translateX(2px);
}
.padonmar-admin .menu-item.active > .menu-link {
  color: #fff !important;
  background: linear-gradient(135deg, var(--pm-primary), #075487) !important;
  box-shadow: 0 7px 16px rgba(1, 55, 101, .2);
}
.padonmar-admin .menu-icon { font-size: 1.25rem; }

.padonmar-admin .layout-navbar {
  min-height: 74px;
  margin-top: 18px;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(226, 233, 239, .9);
  border-radius: 12px;
  box-shadow: var(--pm-shadow);
  backdrop-filter: blur(12px);
}
.navbar-page-title { display: flex; flex-direction: column; line-height: 1.2; }
.navbar-page-title strong { color: var(--pm-text); font-size: 1.02rem; }
.navbar-eyebrow { color: var(--pm-muted); font-size: .72rem; margin-bottom: 4px; }
.system-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  color: #237a57;
  background: #eaf8f1;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 600;
}
.padonmar-admin .avatar img { border: 2px solid #fff; box-shadow: 0 0 0 2px var(--pm-primary-soft); }

.padonmar-admin .container-p-y { padding-top: 1.6rem !important; }
.padonmar-admin .card {
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  box-shadow: var(--pm-shadow);
  overflow: hidden;
}
.padonmar-admin .card-header {
  min-height: 58px;
  padding: 1rem 1.35rem;
  color: var(--pm-text);
  background: #fff;
  border-bottom: 1px solid var(--pm-border);
  font-weight: 700;
}
.padonmar-admin .card-body { padding: 1.35rem; }
.padonmar-admin h1, .padonmar-admin h2, .padonmar-admin h3,
.padonmar-admin h4, .padonmar-admin h5, .padonmar-admin h6 { color: var(--pm-text); }

.padonmar-admin .btn { border-radius: 8px; font-weight: 600; box-shadow: none; }
.padonmar-admin .btn-primary {
  background: var(--pm-primary);
  border-color: var(--pm-primary);
  box-shadow: 0 5px 12px rgba(1, 55, 101, .16);
}
.padonmar-admin .btn-primary:hover { background: var(--pm-primary-strong); border-color: var(--pm-primary-strong); }
.padonmar-admin .btn-outline-primary:hover { color: #fff; background: var(--pm-primary); }

.padonmar-admin .form-control,
.padonmar-admin .form-select,
.padonmar-admin .input-group-text {
  min-height: 42px;
  border-color: #dbe4eb;
  border-radius: 8px;
}
.padonmar-admin .form-control:focus,
.padonmar-admin .form-select:focus {
  border-color: var(--pm-primary);
  box-shadow: 0 0 0 3px rgba(1, 55, 101, .09);
}
.padonmar-admin .form-label { color: #43586a; font-size: .8rem; font-weight: 600; }

.padonmar-admin .table { color: #344b5e; }
.padonmar-admin .table > :not(caption) > * > * { padding: .88rem 1rem; border-bottom-color: var(--pm-border); }
.padonmar-admin .table thead th {
  color: #708292;
  background: #f7f9fb;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.padonmar-admin .table tbody tr:hover { background: #f8fbfd; }
.padonmar-admin .dropdown-menu { border: 1px solid var(--pm-border); border-radius: 10px; box-shadow: var(--pm-shadow); }
.padonmar-admin .content-footer { color: var(--pm-muted); font-size: .82rem; }

.dashboard-hero {
  position: relative;
  background: linear-gradient(120deg, #fff 0%, #fff 60%, #eaf2f7 100%);
}
.dashboard-hero::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 38%;
  background: linear-gradient(135deg, transparent, rgba(19, 163, 165, .08));
  pointer-events: none;
}
.dashboard-hero p { max-width: 620px; color: var(--pm-muted); }
.hero-kicker {
  color: var(--pm-accent);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.stat-card { transition: transform .2s ease, box-shadow .2s ease; }
.stat-card:hover { transform: translateY(-3px); box-shadow: 0 13px 32px rgba(15, 48, 73, .11); }
.stat-card h6 { color: var(--pm-muted); font-size: .78rem; font-weight: 600; }
.stat-card h3 { font-size: 1.55rem; font-weight: 700; letter-spacing: -.035em; }
.stat-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  border-radius: 11px;
  font-size: 1.45rem;
}
.stat-icon-primary { color: var(--pm-primary); background: var(--pm-primary-soft); }
.stat-icon-success { color: #25835d; background: #e9f7f0; }
.stat-icon-info { color: #287b9f; background: #eaf5f9; }
.stat-icon-warning { color: #b46a13; background: #fff4e5; }

.form-workspace { overflow: visible !important; }
.workspace-header { padding: 1.4rem 1.5rem; background: linear-gradient(120deg, #fff, #f3f7fa); border-bottom: 1px solid var(--pm-border); border-radius: 12px 12px 0 0; }
.workspace-body { padding: 1.5rem; }
.workspace-eyebrow { display: block; margin-bottom: 5px; color: var(--pm-accent); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.report-filter { padding: 1.1rem 1.25rem; background: #f8fafc; border: 1px solid var(--pm-border); border-radius: 10px; }
.report-stat { position: relative; min-height: 120px; }
.report-stat .metric-label { color: var(--pm-muted); font-size: .77rem; font-weight: 600; }
.report-stat .metric-value { margin-top: 7px; color: var(--pm-text); font-size: 1.55rem; font-weight: 700; }
.report-stat .metric-note { color: #91a0ad; font-size: .7rem; }
.report-table th { white-space: nowrap; }
.report-table td { vertical-align: middle; }
.profit-positive { color: #25835d !important; font-weight: 700; }
.profit-negative { color: #c24343 !important; font-weight: 700; }
.route-pill { display: inline-flex; align-items: center; gap: 5px; color: var(--pm-primary); font-size: .78rem; font-weight: 600; white-space: nowrap; }
.padonmar-admin .dataTables_wrapper .dataTables_filter input,
.padonmar-admin .dataTables_wrapper .dataTables_length select { border: 1px solid #dbe4eb; border-radius: 7px; padding: 6px 9px; }
.padonmar-admin .table-responsive { border-radius: 9px; }
.document-form { padding: 1.35rem; background: #fff; border: 1px solid var(--pm-border); border-radius: 11px; }
.document-form-heading { margin: -1.35rem -1.35rem 1.35rem; padding: 1.2rem 1.35rem; background: #f8fafc; border-bottom: 1px solid var(--pm-border); border-radius: 11px 11px 0 0; }
.document-form textarea.form-control { min-height: 72px; resize: vertical; }
.document-form + hr { margin: 1.75rem 0; color: var(--pm-border); opacity: 1; }
.document-section { margin-bottom: 1rem; padding: 1.25rem; background: #fbfcfd; border: 1px solid var(--pm-border); border-radius: 10px; }
.document-section h6, .section-title { margin: 0 0 1rem; color: var(--pm-primary); font-size: .82rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.section-title { padding-bottom: .7rem; border-bottom: 1px solid var(--pm-border); }
.document-section textarea { min-height: 86px; resize: vertical; }

body.padonmar-login {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 20%, rgba(19, 163, 165, .13), transparent 30%),
    radial-gradient(circle at 85% 80%, rgba(1, 55, 101, .16), transparent 34%),
    linear-gradient(135deg, #f3f7fa 0%, #e7eff5 100%);
}
.padonmar-login .authentication-inner { max-width: 430px; }
.padonmar-login .login-card {
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(1, 38, 68, .14);
}
.padonmar-login .card-body { padding: 2.25rem; }
.padonmar-login .app-brand { margin-bottom: 2rem !important; }
.padonmar-login .app-brand img { max-height: 78px; object-fit: contain; }
.padonmar-login h4 { color: var(--pm-text); font-weight: 700; }
.padonmar-login .form-control, .padonmar-login .input-group-text { min-height: 46px; border-color: #d9e3ea; }
.padonmar-login .btn-primary { min-height: 46px; background: var(--pm-primary); border-color: var(--pm-primary); font-weight: 600; }

@media (max-width: 767.98px) {
  .padonmar-admin .layout-navbar { margin-top: 10px; border-radius: 10px; }
  .padonmar-admin .container-p-y { padding-top: 1rem !important; }
  .padonmar-admin .card-body { padding: 1.1rem; }
  .navbar-eyebrow { display: none; }
  .padonmar-login .card-body { padding: 1.5rem; }
}
