/* ==========================================================================
   Gerenciador de Rotas - Visual 2026
   ========================================================================== */

:root{
  --app-bg: #f4f7fb;
  --app-bg-2: #edf2f8;
  --app-surface: rgba(255,255,255,.84);
  --app-surface-strong: rgba(255,255,255,.94);
  --app-surface-border: rgba(15,23,42,.08);
  --app-text-soft: #64748b;
  --app-title: #0f172a;
  --app-accent: #0f766e;
  --app-accent-2: #0ea5e9;
  --app-accent-3: #22c55e;
  --app-danger: #dc2626;
  --app-warning: #f59e0b;
  --app-radius: 24px;
  --app-radius-md: 18px;
  --app-radius-sm: 14px;
  --app-shadow: 0 18px 45px rgba(15,23,42,.08);
  --app-shadow-strong: 0 28px 70px rgba(15,23,42,.14);
  --app-sidebar-w: 298px;
  --app-topbar-h: 74px;
}

[data-bs-theme="dark"]{
  --bs-body-bg: #08111f;
  --bs-body-color: #e2e8f0;
  --bs-secondary-color: rgba(226,232,240,.72);
  --bs-border-color: rgba(255,255,255,.10);
  --app-bg: #08111f;
  --app-bg-2: #0c1728;
  --app-surface: rgba(9,18,33,.78);
  --app-surface-strong: rgba(11,22,38,.92);
  --app-surface-border: rgba(255,255,255,.08);
  --app-text-soft: #8ca0b8;
  --app-title: #f8fafc;
  --app-shadow: 0 20px 54px rgba(0,0,0,.36);
  --app-shadow-strong: 0 30px 78px rgba(0,0,0,.46);
}

html, body{
  min-height: 100%;
}

body{
  background: var(--app-bg);
  color: var(--bs-body-color);
  font-family: 'Manrope', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.app-page-title,
.app-brand .title{
  font-family: 'Space Grotesk', 'Manrope', sans-serif;
  letter-spacing: -.03em;
}

.app-bg{
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(14,165,233,.12), transparent 58%),
    radial-gradient(900px 420px at 100% 0%, rgba(15,118,110,.14), transparent 56%),
    radial-gradient(720px 380px at 50% 100%, rgba(34,197,94,.08), transparent 54%),
    linear-gradient(180deg, var(--app-bg) 0%, var(--app-bg-2) 100%);
}

.app-shell{
  min-height: 100vh;
  display: flex;
}

.app-sidebar{
  width: var(--app-sidebar-w);
  min-width: var(--app-sidebar-w);
  flex: 0 0 var(--app-sidebar-w);
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 18px 12px 18px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.58));
  backdrop-filter: blur(16px);
  border-right: 1px solid rgba(148,163,184,.14);
}

.app-sidebar-inner{
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 10px 10px 14px 4px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  border-radius: 0;
  box-shadow: none;
}

.app-content{
  flex: 1 1 auto;
  min-width: 0;
}

.app-topbar{
  height: var(--app-topbar-h);
  position: sticky;
  top: 0;
  z-index: 1020;
  backdrop-filter: blur(18px);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
  border-bottom: 1px solid rgba(148,163,184,.14);
  box-shadow: 0 10px 24px rgba(148,163,184,.08);
}

.app-topbar .container-fluid{
  height: 100%;
  gap: .9rem;
}

.app-main{
  padding: 20px;
}

@media (min-width: 992px){
  .app-main{
    padding: 28px 30px 34px 16px;
  }
}

.app-brand{
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-logo{
  width: 54px;
  height: 54px;
  border-radius: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  background: transparent;
  box-shadow: none;
  flex: 0 0 auto;
}

.app-logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 16px rgba(15,23,42,.10));
}

.app-brand .title{
  font-size: 1rem;
  font-weight: 700;
  color: var(--app-title);
}

.app-brand .subtitle{
  color: var(--app-text-soft);
  font-size: .79rem;
}

.app-nav{
  margin-top: 18px;
  padding-top: 12px;
  position: relative;
}

.app-nav::before{
  content: "";
  position: absolute;
  top: 0;
  left: 12px;
  right: 12px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(148,163,184,.24), transparent);
}

.app-nav .section{
  margin-top: 16px;
  padding: 8px 12px 6px;
  color: var(--app-text-soft);
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
}

.app-nav .nav-link{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 18px;
  color: color-mix(in srgb, var(--bs-body-color) 88%, transparent);
  transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease;
}

.app-nav .nav-link .bi{
  width: 20px;
  text-align: center;
  font-size: 1.04rem;
}

.app-nav .nav-link:hover{
  background: rgba(255,255,255,.72);
  transform: translateX(2px);
  box-shadow: 0 12px 24px rgba(148,163,184,.10);
}

.app-nav .nav-link.active{
  color: #fff;
  background: linear-gradient(135deg, var(--app-accent), var(--app-accent-2));
  box-shadow: 0 16px 32px rgba(15,118,110,.22);
}

.app-nav .nav-item{
  position: relative;
}

.app-nav .nav-link.active::before{
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 4px;
  height: 26px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, var(--app-accent-2), var(--app-accent-3));
}

.app-page-title{
  color: var(--app-title);
  font-size: 1.35rem;
  font-weight: 700;
}

.app-page-sub{
  color: var(--app-text-soft) !important;
}

.auth-page{
  min-height: 100vh;
  padding: clamp(16px, 3vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-shell{
  width: min(100%, 560px);
}

.auth-topbar{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.auth-brand{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
  margin-bottom: 22px;
}

.auth-brand .app-logo{
  width: clamp(104px, 16vw, 148px);
  height: clamp(104px, 16vw, 148px);
}

.auth-brand .title{
  font-family: 'Space Grotesk', 'Manrope', sans-serif;
  font-size: clamp(1.7rem, 4vw, 2.35rem);
  font-weight: 700;
  color: var(--app-title);
  line-height: 1.02;
}

.auth-brand .subtitle{
  color: var(--app-text-soft);
  font-size: clamp(.92rem, 2vw, 1rem);
  line-height: 1.55;
}

.auth-main{
  padding: clamp(20px, 3.2vw, 30px);
  min-height: auto;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(620px 260px at 0% 0%, rgba(14,165,233,.10), transparent 62%),
    radial-gradient(580px 240px at 100% 20%, rgba(15,118,110,.10), transparent 58%),
    linear-gradient(180deg, color-mix(in srgb, var(--app-surface-strong) 96%, transparent), color-mix(in srgb, var(--app-surface) 92%, transparent));
}

.auth-main-header{
  display: flex;
  align-items: start;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}

.auth-main-kicker{
  color: var(--app-text-soft);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.auth-main-title{
  margin: 6px 0 0;
  color: var(--app-title);
  font-size: clamp(1.5rem, 3.3vw, 1.85rem);
  font-weight: 700;
}

.auth-main-body{
  margin-top: 0;
}

.auth-form{
  display: grid;
  gap: 18px;
}

.auth-form .btn{
  min-height: 52px;
}

.auth-note{
  color: var(--app-text-soft);
  font-size: .92rem;
}

.auth-link{
  color: var(--app-accent);
  font-weight: 700;
  text-decoration: none;
}

.auth-link:hover{
  text-decoration: underline;
}

.app-card,
.card{
  border: 1px solid var(--app-surface-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  backdrop-filter: blur(18px);
  box-shadow: var(--app-shadow);
}

.app-card .card-body{
  padding: 22px;
}

@media (min-width: 992px) and (max-width: 1439.98px){
  :root{
    --app-sidebar-w: 258px;
  }

  .app-topbar .container-fluid{
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .app-page-title{
    font-size: 1.2rem;
  }

  .app-main{
    padding: 22px 22px 28px 14px;
  }

  .app-card .card-body{
    padding: 20px;
  }

  .app-stat-chip{
    padding: .65rem .9rem;
    font-size: .88rem;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px){
  .app-sidebar{
    padding: 16px 10px 16px 14px;
  }

  .app-nav .nav-link{
    padding: 12px 14px;
  }

  .app-topbar .container-fluid{
    flex-wrap: wrap;
    align-content: center;
  }
}

.card-header{
  border-bottom-color: var(--app-surface-border) !important;
  background: transparent !important;
}

.border,
.table-responsive,
.accordion-item,
.list-group-item,
.offcanvas,
.dropdown-menu,
.modal-content{
  border-color: var(--app-surface-border) !important;
}

.table-responsive{
  border-radius: 18px;
  overflow: hidden;
}

.table{
  margin-bottom: 0;
  color: var(--bs-body-color);
}

.table thead th{
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--app-text-soft);
  background: rgba(148,163,184,.06);
}

.table > :not(caption) > * > *{
  border-color: rgba(148,163,184,.12);
  padding: 1rem .9rem;
}

.table-hover tbody tr:hover{
  background: rgba(14,165,233,.05);
}

.form-label{
  font-weight: 700;
  font-size: .9rem;
  color: var(--app-title);
}

.form-control,
.form-select,
.input-group-text,
textarea{
  border-radius: 16px !important;
  border: 1px solid rgba(148,163,184,.18);
  background: color-mix(in srgb, var(--app-surface-strong) 92%, transparent);
  color: var(--bs-body-color);
  min-height: 48px;
}

textarea.form-control{
  min-height: 120px;
}

.input-group-text{
  color: var(--app-text-soft);
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(14,165,233,.48);
  box-shadow: 0 0 0 .24rem rgba(14,165,233,.16);
}

.btn{
  --bs-btn-padding-y: .8rem;
  --bs-btn-padding-x: 1.05rem;
  --bs-btn-font-weight: 700;
  border-radius: 16px;
  border-width: 1px;
  box-shadow: none;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease, background-color .14s ease;
}

.btn:hover{
  transform: translateY(-1px);
}

.btn:active{
  transform: translateY(0);
}

.btn-sm{
  --bs-btn-padding-y: .58rem;
  --bs-btn-padding-x: .85rem;
  border-radius: 14px;
}

.btn i{
  margin-right: .52rem;
}

.btn-icon-only i{
  margin-right: 0;
}

.btn-primary{
  background: linear-gradient(135deg, var(--app-accent), var(--app-accent-2));
  border-color: transparent;
  box-shadow: 0 16px 30px rgba(15,118,110,.24);
}

.btn-success{
  background: linear-gradient(135deg, #15803d, var(--app-accent-3));
  border-color: transparent;
  box-shadow: 0 16px 30px rgba(34,197,94,.22);
}

.btn-outline-secondary{
  border-color: rgba(148,163,184,.22);
  color: var(--app-title);
  background: rgba(255,255,255,.32);
}

[data-bs-theme="dark"] .btn-outline-secondary{
  color: var(--bs-body-color);
  background: rgba(255,255,255,.02);
}

.btn-outline-danger{
  border-color: rgba(220,38,38,.28);
  color: #ef4444;
}

.btn-topbar{
  border-color: rgba(148,163,184,.24);
  background: rgba(255,255,255,.94);
  color: var(--app-title);
  box-shadow: 0 10px 22px rgba(148,163,184,.14);
}

.btn-topbar:hover{
  background: #ffffff;
  border-color: rgba(14,165,233,.30);
  box-shadow: 0 14px 28px rgba(14,165,233,.12);
}

.alert{
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.14);
  box-shadow: 0 14px 28px rgba(15,23,42,.06);
}

.badge{
  padding: .56em .82em;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
}

.dropdown-menu,
.offcanvas,
.modal-content{
  border-radius: 20px;
  background: var(--app-surface-strong);
  backdrop-filter: blur(20px);
  box-shadow: var(--app-shadow-strong);
}

.list-group-item{
  background: transparent;
}

.accordion-item{
  overflow: hidden;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--app-surface) 98%, transparent);
}

.accordion-button{
  font-weight: 700;
  background: transparent;
}

.accordion-button:not(.collapsed){
  color: var(--app-title);
  background: rgba(14,165,233,.05);
  box-shadow: none;
}

.app-sidebar-footer{
  margin-top: auto;
  padding-top: 18px;
  position: relative;
}

.app-sidebar-footer::before{
  content: "";
  position: absolute;
  top: 0;
  left: 12px;
  right: 12px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(148,163,184,.24), transparent);
}

[data-bs-theme="dark"] .app-topbar{
  background: color-mix(in srgb, #0f172a 88%, transparent);
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}

[data-bs-theme="dark"] .app-nav .nav-link:hover{
  background: rgba(255,255,255,.05);
}

[data-bs-theme="dark"] .app-sidebar{
  background: linear-gradient(180deg, rgba(15,23,42,.88), rgba(15,23,42,.70));
  border-right: 1px solid rgba(255,255,255,.08);
}

[data-bs-theme="dark"] .btn-topbar{
  color: var(--bs-body-color);
  background: rgba(15,23,42,.96);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 12px 24px rgba(0,0,0,.24);
}

[data-bs-theme="dark"] .btn-topbar:hover{
  background: rgba(19,33,54,.98);
  border-color: rgba(56,189,248,.24);
  box-shadow: 0 14px 28px rgba(14,165,233,.12);
}

.app-user{
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-avatar{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--app-accent-2), var(--app-accent-3));
}

.app-user .meta .name{
  font-weight: 700;
}

.app-user .meta .role{
  font-size: .82rem;
  color: var(--app-text-soft);
}

.hr-soft{
  border-color: rgba(148,163,184,.12) !important;
  opacity: 1;
}

#appToast{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--app-shadow-strong);
}

.app-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.app-toolbar-actions{
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

.app-panel{
  border: 1px solid var(--app-surface-border);
  border-radius: 20px;
  background: rgba(255,255,255,.42);
  padding: 1.1rem;
}

[data-bs-theme="dark"] .app-panel{
  background: rgba(255,255,255,.02);
}

.app-stat-chip{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .9rem;
  border: 1px solid var(--app-surface-border);
  border-radius: 999px;
  background: rgba(255,255,255,.42);
  color: var(--app-title);
  font-weight: 700;
}

[data-bs-theme="dark"] .app-stat-chip{
  background: rgba(255,255,255,.03);
  color: var(--bs-body-color);
}

.user-editor-shell{
  display: block;
}

.user-editor-panel{
  padding: 1.4rem;
}

.user-editor-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.user-editor-badges{
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

.user-access-card{
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.5);
  padding: 1rem;
  min-height: 100%;
}

[data-bs-theme="dark"] .user-access-card{
  background: rgba(255,255,255,.03);
}

.user-access-note{
  display: grid;
  gap: .3rem;
  padding: .9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(45,212,191,.18);
  background: linear-gradient(135deg, rgba(45,212,191,.1), rgba(14,165,233,.07));
  color: var(--app-title);
}

.user-module-group{
  display: grid;
  gap: .9rem;
}

.user-module-group-title{
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--app-text-soft);
  font-weight: 800;
}

.user-module-option{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1rem 1.05rem;
  border: 1px solid var(--app-surface-border);
  border-radius: 18px;
  background: rgba(255,255,255,.46);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor: pointer;
}

.user-module-option:hover{
  transform: translateY(-1px);
  border-color: rgba(14,165,233,.28);
  box-shadow: 0 14px 28px rgba(15,23,42,.06);
}

.user-module-option:has(.form-check-input:checked){
  border-color: rgba(14,165,233,.32);
  background: linear-gradient(135deg, rgba(45,212,191,.12), rgba(14,165,233,.08));
  box-shadow: 0 16px 32px rgba(14,165,233,.1);
}

[data-bs-theme="dark"] .user-module-option{
  background: rgba(255,255,255,.03);
}

.user-module-copy{
  min-width: 0;
}

.user-editor-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .8rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.user-password-meter{
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(148,163,184,.18);
  overflow: hidden;
}

.user-password-meter-bar{
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  transition: width .2s ease, background .2s ease;
}

.dashboard-shell{
  display: grid;
  gap: 1.2rem;
}

.dashboard-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .9fr);
  gap: 1rem;
  padding: 1.35rem;
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(45,212,191,.16), transparent 34%),
    radial-gradient(circle at bottom right, rgba(14,165,233,.14), transparent 28%),
    rgba(255,255,255,.52);
}

.dashboard-hero.dashboard-hero-simple{
  grid-template-columns: 1fr;
}

[data-bs-theme="dark"] .dashboard-hero{
  background:
    radial-gradient(circle at top left, rgba(45,212,191,.12), transparent 34%),
    radial-gradient(circle at bottom right, rgba(14,165,233,.12), transparent 28%),
    rgba(255,255,255,.03);
}

.dashboard-eyebrow{
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--app-text-soft);
  font-weight: 800;
  margin-bottom: .7rem;
}

.dashboard-title{
  font-size: clamp(1.8rem, 2vw, 2.6rem);
  line-height: 1.05;
  margin: 0 0 .75rem;
}

.dashboard-subtitle{
  max-width: 62ch;
  color: var(--app-text-soft);
  margin: 0;
}

.dashboard-hero-meta{
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.dashboard-hero-card{
  min-height: 100%;
}

.dashboard-hero-grid{
  display: grid;
  gap: .95rem;
}

.dashboard-inline-code{
  font-family: "Space Grotesk", monospace;
  font-size: .88rem;
  word-break: break-word;
}

.dashboard-metrics{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}

.dashboard-primary-cards{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.dashboard-health-hero{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.4rem;
  border-radius: 24px;
  border: 1px solid rgba(148,163,184,.14);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.46));
  box-shadow: 0 24px 48px rgba(15,23,42,.08);
}

.dashboard-health-hero[data-status="ok"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(135deg, rgba(220,252,231,.92), rgba(187,247,208,.72));
}

.dashboard-health-hero[data-status="aviso"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(135deg, rgba(254,243,199,.96), rgba(253,230,138,.76));
}

.dashboard-health-hero[data-status="erro"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, rgba(254,226,226,.96), rgba(252,165,165,.78));
}

[data-bs-theme="dark"] .dashboard-health-hero{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(135deg, rgba(15,23,42,.92), rgba(15,23,42,.76));
}

[data-bs-theme="dark"] .dashboard-health-hero[data-status="ok"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(135deg, rgba(6,78,59,.96), rgba(20,83,45,.88));
}

[data-bs-theme="dark"] .dashboard-health-hero[data-status="aviso"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(135deg, rgba(120,53,15,.96), rgba(113,63,18,.88));
}

[data-bs-theme="dark"] .dashboard-health-hero[data-status="erro"]{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(135deg, rgba(127,29,29,.96), rgba(127,29,29,.82));
}

.dashboard-health-hero-main{
  display: flex;
  align-items: center;
  gap: 1rem;
}

.dashboard-health-hero-icon{
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  background: rgba(255,255,255,.58);
  color: var(--app-title);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42);
}

.dashboard-health-hero-kicker{
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
  opacity: .7;
  margin-bottom: .35rem;
}

.dashboard-health-hero-title{
  margin: 0 0 .35rem;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1;
}

.dashboard-health-hero-summary{
  margin: 0;
  color: color-mix(in srgb, var(--app-title) 72%, transparent);
  font-size: 1rem;
  max-width: 56ch;
}

.dashboard-health-hero-footer{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .78rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.46);
  color: var(--app-title);
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
}

.dashboard-metric-card{
  padding: 1.1rem 1.1rem 1rem;
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,.14);
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.08), transparent 28%),
    rgba(255,255,255,.56);
  box-shadow: 0 18px 36px rgba(148,163,184,.08);
  display: grid;
  gap: .5rem;
  min-height: 190px;
  text-align: center;
  justify-items: center;
}

.dashboard-metric-card[data-status="ok"]{
  border-color: rgba(34,197,94,.22);
}

.dashboard-metric-card[data-status="aviso"]{
  border-color: rgba(245,158,11,.24);
}

.dashboard-metric-card[data-status="erro"]{
  border-color: rgba(239,68,68,.24);
}

[data-bs-theme="dark"] .dashboard-metric-card{
  background: rgba(255,255,255,.03);
}

.dashboard-metric-label{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--app-text-soft);
  font-weight: 800;
  margin-bottom: .15rem;
  text-align: center;
}

.dashboard-metric-value{
  font-size: clamp(1.75rem, 2.5vw, 2.4rem);
  font-weight: 800;
  line-height: 1.02;
  color: var(--app-title);
  margin-bottom: .15rem;
  text-align: center;
}

.dashboard-metric-note{
  color: var(--app-text-soft);
  font-size: .88rem;
}

.dashboard-metric-footer{
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  color: var(--app-text-soft);
  font-size: .8rem;
  font-weight: 700;
  padding-top: .55rem;
  border-top: 1px solid rgba(148,163,184,.12);
  width: 100%;
}

.dashboard-warning-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: .9rem;
  align-items: stretch;
}

.dashboard-published-ip{
  display: grid;
  gap: .4rem;
  margin-bottom: 1rem;
  padding: 1.15rem 1.2rem;
  border-radius: 22px;
  border: 1px solid rgba(14,165,233,.18);
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.14), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.52));
  text-align: center;
}

[data-bs-theme="dark"] .dashboard-published-ip{
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.16), transparent 30%),
    linear-gradient(135deg, rgba(15,23,42,.96), rgba(15,23,42,.82));
}

.dashboard-published-ip-kicker{
  color: var(--app-text-soft);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
}

.dashboard-published-ip-value{
  color: var(--app-title);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1.05;
  font-weight: 800;
  font-family: "Space Grotesk", monospace;
}

.dashboard-warning-card{
  padding: 1.15rem 1.15rem 1rem;
  border-radius: 20px;
  border: 1px solid rgba(148,163,184,.14);
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.08), transparent 26%),
    rgba(255,255,255,.48);
  display: grid;
  gap: .75rem;
  min-height: 265px;
}

[data-bs-theme="dark"] .dashboard-warning-card{
  background: rgba(255,255,255,.03);
}

[data-bs-theme="dark"] .dashboard-warning-detail-btn{
  background: linear-gradient(135deg, rgba(14,165,233,.16), rgba(16,185,129,.1));
  border-color: rgba(14,165,233,.18);
  color: #d6f1ff;
  box-shadow: none;
}

[data-bs-theme="dark"] .dashboard-warning-detail-btn:hover{
  background: linear-gradient(135deg, rgba(14,165,233,.22), rgba(16,185,129,.14));
  border-color: rgba(14,165,233,.28);
  color: #f8fbff;
}

[data-bs-theme="dark"] .dashboard-warning-record-item{
  background: rgba(255,255,255,.04);
  border-color: rgba(148,163,184,.14);
}

.dashboard-warning-card[data-status="ok"]{
  border-color: rgba(34,197,94,.22);
}

.dashboard-warning-card[data-status="aviso"]{
  border-color: rgba(245,158,11,.24);
}

.dashboard-warning-card[data-status="erro"]{
  border-color: rgba(239,68,68,.24);
}

.dashboard-warning-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-warning-route{
  color: var(--app-title);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.1;
  max-width: 100%;
}

.dashboard-warning-range{
  margin-top: .18rem;
  color: var(--app-text-soft);
  font-size: .9rem;
  font-weight: 700;
  font-family: "Space Grotesk", monospace;
  white-space: normal;
  overflow-wrap: anywhere;
}

.dashboard-warning-icon{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  background: rgba(148,163,184,.14);
  color: var(--app-text-soft);
}

.dashboard-warning-icon[data-status="ok"]{
  background: rgba(34,197,94,.12);
  color: #15803d;
}

.dashboard-warning-icon[data-status="aviso"]{
  background: rgba(245,158,11,.14);
  color: #b45309;
}

.dashboard-warning-icon[data-status="erro"]{
  background: rgba(239,68,68,.14);
  color: #dc2626;
}

.dashboard-warning-title{
  color: var(--app-title);
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.05;
}

.dashboard-warning-summary{
  color: var(--app-text-soft);
  font-size: .92rem;
  min-height: 2.6em;
}

.dashboard-warning-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.dashboard-warning-stat{
  display: grid;
  gap: .2rem;
  padding: .8rem .7rem;
  border-radius: 14px;
  background: rgba(148,163,184,.08);
  min-width: 0;
}

.dashboard-warning-stat span{
  color: var(--app-text-soft);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
}

.dashboard-warning-stat strong{
  color: var(--app-title);
  font-size: 1.08rem;
  font-weight: 800;
}

.dashboard-warning-footer{
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  color: var(--app-text-soft);
  font-size: .8rem;
  font-weight: 700;
  padding-top: .55rem;
  border-top: 1px solid rgba(148,163,184,.12);
}

.dashboard-warning-head-actions{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.dashboard-warning-detail-btn{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(14,165,233,.14);
  background: linear-gradient(135deg, rgba(14,165,233,.08), rgba(16,185,129,.08));
  color: var(--app-accent-2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}

.dashboard-warning-detail-btn:hover{
  background: linear-gradient(135deg, rgba(14,165,233,.14), rgba(16,185,129,.12));
  border-color: rgba(14,165,233,.24);
  color: var(--app-accent);
}

.dashboard-warning-record-list{
  display: grid;
  gap: .75rem;
}

.dashboard-warning-record-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 16px;
  background: rgba(248,250,252,.76);
}

.dashboard-warning-record-value{
  min-width: 0;
  color: var(--app-title);
  font-size: .95rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.dashboard-warning-record-status{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
  font-size: .84rem;
  font-weight: 800;
}

.dashboard-warning-record-status[data-status="ok"]{
  color: #15803d;
}

.dashboard-warning-record-status[data-status="erro"]{
  color: #dc2626;
}

.dashboard-warning-record-status[data-status="info"]{
  color: var(--app-text-soft);
}

.dashboard-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 1rem;
}

.dashboard-column{
  min-width: 0;
}

.dashboard-panel{
  padding: 1.2rem;
}

.dashboard-panel-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.dashboard-panel-title{
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--app-title);
}

.dashboard-panel-title-strong{
  font-size: 1.28rem;
}

.dashboard-panel-subtitle{
  color: var(--app-text-soft);
  font-size: .92rem;
  margin-top: .2rem;
}

.dashboard-actions-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.dashboard-action-card{
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem;
  border-radius: 20px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.44);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-action-card:hover{
  transform: translateY(-2px);
  border-color: rgba(14,165,233,.24);
  box-shadow: 0 16px 30px rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .dashboard-action-card{
  background: rgba(255,255,255,.03);
}

.dashboard-action-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(45,212,191,.18), rgba(14,165,233,.16));
  color: var(--app-title);
  font-size: 1.1rem;
}

.dashboard-action-title{
  font-weight: 800;
  color: var(--app-title);
}

.dashboard-action-note{
  color: var(--app-text-soft);
  font-size: .9rem;
}

.dashboard-status-strip{
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.dashboard-block-card{
  position: relative;
  height: 100%;
  padding: 1rem;
  border-radius: 20px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.44);
  overflow: hidden;
}

.dashboard-block-card::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: rgba(148,163,184,.28);
}

.dashboard-block-card[data-status="ok"]::before{ background: rgba(34,197,94,.9); }
.dashboard-block-card[data-status="aviso"]::before{ background: rgba(245,158,11,.9); }
.dashboard-block-card[data-status="erro"]::before{ background: rgba(239,68,68,.9); }
.dashboard-block-card[data-status="info"]::before{ background: rgba(14,165,233,.9); }

[data-bs-theme="dark"] .dashboard-block-card{
  background: rgba(255,255,255,.03);
}

.dashboard-block-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .9rem;
  margin-bottom: .9rem;
}

.dashboard-block-title{
  font-weight: 800;
  color: var(--app-title);
}

.dashboard-block-body{
  color: var(--app-text);
}

.dashboard-overview-list,
.dashboard-file-list{
  display: grid;
  gap: .75rem;
}

.dashboard-status-sections{
  display: grid;
  gap: 1rem;
}

.dashboard-status-panel{
  padding: 1.25rem;
  border: 1px solid rgba(148,163,184,.14);
  position: relative;
  overflow: hidden;
}

.dashboard-status-panel::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: rgba(148,163,184,.28);
}

.dashboard-status-panel[data-status="ok"]::before{ background: rgba(34,197,94,.9); }
.dashboard-status-panel[data-status="aviso"]::before{ background: rgba(245,158,11,.9); }
.dashboard-status-panel[data-status="erro"]::before{ background: rgba(239,68,68,.9); }
.dashboard-status-panel[data-status="info"]::before{ background: rgba(14,165,233,.9); }

.dashboard-status-panel-meta{
  display: flex;
  align-items: center;
  gap: .7rem;
  flex-wrap: wrap;
}

.dashboard-rotas-overview{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin-bottom: 1rem;
}

.dashboard-rotas-overview-card{
  padding: 1rem 1.05rem;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.14);
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.10), transparent 36%),
    rgba(255,255,255,.5);
  box-shadow: 0 12px 26px rgba(15,23,42,.06);
}

[data-bs-theme="dark"] .dashboard-rotas-overview-card{
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.12), transparent 36%),
    rgba(255,255,255,.03);
}

.dashboard-overview-kicker{
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--app-text-soft);
  font-weight: 800;
  margin-bottom: .45rem;
}

.dashboard-overview-main{
  color: var(--app-title);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.1;
}

.dashboard-updated-at{
  color: var(--app-text-soft);
  font-size: .88rem;
  font-weight: 700;
}

.dashboard-highlight-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .85rem;
  margin-bottom: 1rem;
}

.dashboard-highlight-card{
  padding: 1rem 1.05rem;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.42);
}

[data-bs-theme="dark"] .dashboard-highlight-card{
  background: rgba(255,255,255,.03);
}

.dashboard-highlight-label{
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--app-text-soft);
  font-weight: 800;
  margin-bottom: .4rem;
}

.dashboard-highlight-value{
  color: var(--app-title);
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.05;
}

.dashboard-status-groups{
  display: grid;
  gap: 1rem;
}

.dashboard-status-group{
  padding: 1rem;
  border-radius: 20px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.34);
}

[data-bs-theme="dark"] .dashboard-status-group{
  background: rgba(255,255,255,.02);
}

.dashboard-status-group-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .95rem;
}

.dashboard-status-group-title{
  color: var(--app-text-soft);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
}

.dashboard-status-group-server{
  margin-top: .35rem;
  color: var(--app-title);
  font-size: 1.15rem;
  font-weight: 800;
}

.dashboard-health-list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .85rem;
}

.dashboard-health-card{
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.5);
}

[data-bs-theme="dark"] .dashboard-health-card{
  background: rgba(255,255,255,.03);
}

.dashboard-health-card[data-status="ok"]{
  border-color: rgba(34,197,94,.22);
}

.dashboard-health-card[data-status="aviso"]{
  border-color: rgba(245,158,11,.24);
}

.dashboard-health-card[data-status="erro"]{
  border-color: rgba(239,68,68,.24);
}

.dashboard-health-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
}

.dashboard-health-title-wrap{
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.dashboard-health-icon{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex: 0 0 auto;
  background: rgba(148,163,184,.14);
  color: var(--app-text-soft);
}

.dashboard-health-icon[data-status="ok"]{
  background: rgba(34,197,94,.12);
  color: #15803d;
}

.dashboard-health-icon[data-status="aviso"]{
  background: rgba(245,158,11,.14);
  color: #b45309;
}

.dashboard-health-icon[data-status="erro"]{
  background: rgba(239,68,68,.14);
  color: #dc2626;
}

.dashboard-health-title{
  color: var(--app-title);
  font-weight: 800;
}

.dashboard-health-quality{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .38rem .68rem;
  border-radius: 999px;
  background: rgba(15,118,110,.12);
  color: var(--app-accent);
  font-size: .78rem;
  font-weight: 800;
}

.dashboard-health-card[data-status="ok"] .dashboard-health-quality{
  background: rgba(34,197,94,.12);
  color: #15803d;
}

.dashboard-health-card[data-status="aviso"] .dashboard-health-quality{
  background: rgba(245,158,11,.14);
  color: #b45309;
}

.dashboard-health-card[data-status="erro"] .dashboard-health-quality{
  background: rgba(239,68,68,.14);
  color: #dc2626;
}

.dashboard-health-counters{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}

.dashboard-health-counter{
  display: grid;
  gap: .2rem;
  padding: .7rem .75rem;
  border-radius: 14px;
  background: rgba(148,163,184,.08);
}

.dashboard-health-counter span{
  color: var(--app-text-soft);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
}

.dashboard-health-counter strong{
  color: var(--app-title);
  font-size: 1rem;
  font-weight: 800;
}

.dashboard-overview-item,
.dashboard-file-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.42);
}

[data-bs-theme="dark"] .dashboard-overview-item,
[data-bs-theme="dark"] .dashboard-file-item{
  background: rgba(255,255,255,.03);
}

.dashboard-overview-item strong,
.dashboard-file-name{
  color: var(--app-title);
  font-weight: 800;
}

.dashboard-file-scope,
.dashboard-file-time{
  color: var(--app-text-soft);
  font-size: .88rem;
}

.rotas-create-modal{
  backdrop-filter: blur(4px);
}

.rotas-create-modal .modal-dialog{
  max-width: 520px;
}

.rotas-create-content{
  border: 1px solid rgba(148,163,184,.16);
  background: rgba(255,255,255,.92);
  box-shadow: 0 32px 80px rgba(15,23,42,.22);
}

.rotas-create-content .modal-header,
.rotas-create-content .modal-footer{
  border-color: rgba(148,163,184,.14);
}

.rotas-create-content .modal-header{
  padding: 1rem 1.15rem .95rem;
}

.rotas-create-content .modal-body{
  padding: 1.15rem;
}

.rotas-create-content .modal-footer{
  padding: .95rem 1.15rem 1.1rem;
}

[data-bs-theme="dark"] .rotas-create-content{
  background: rgba(15,23,42,.94);
  border-color: rgba(148,163,184,.16);
  box-shadow: 0 32px 80px rgba(2,6,23,.55);
}

body.sidebar-collapsed .app-sidebar{
  width: 96px;
  min-width: 96px;
  flex-basis: 96px;
  padding-right: 8px;
}

body.sidebar-collapsed .app-sidebar .app-brand .meta,
body.sidebar-collapsed .app-sidebar .app-nav .section,
body.sidebar-collapsed .app-sidebar .app-nav .nav-link span,
body.sidebar-collapsed .app-sidebar .app-sidebar-footer .meta,
body.sidebar-collapsed .app-sidebar .app-sidebar-footer .btn span{
  display: none !important;
}

body.sidebar-collapsed .app-sidebar .app-sidebar-footer .app-user,
body.sidebar-collapsed .app-sidebar .app-sidebar-footer .hr-soft{
  display: none !important;
}

body.sidebar-collapsed .app-sidebar .app-sidebar-footer .d-grid{
  display: flex !important;
  align-items: center;
}

body.sidebar-collapsed .app-sidebar .app-sidebar-footer .btn{
  width: 46px;
  height: 46px;
  padding: 0 !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

body.sidebar-collapsed .app-sidebar .app-sidebar-footer .btn i{
  margin-right: 0 !important;
}

body.sidebar-collapsed .app-sidebar .nav-link{
  justify-content: center;
}

body.sidebar-collapsed .app-sidebar .nav-link i{
  margin-right: 0 !important;
}

@media (max-width: 991.98px){
  .dashboard-hero,
  .dashboard-grid{
    grid-template-columns: 1fr;
  }

  .dashboard-metrics{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-actions-grid{
    grid-template-columns: 1fr;
  }

  .dashboard-health-hero{
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-warning-stats{
    grid-template-columns: 1fr;
  }

  .dashboard-warning-grid{
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  .dashboard-rotas-overview{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-health-counters{
    grid-template-columns: 1fr;
  }

  .auth-page{
    padding: 16px;
  }

  .auth-shell{
    width: 100%;
  }

  .auth-main{
    padding: 22px;
  }

  .app-main{
    padding: 16px;
  }

  .app-card .card-body{
    padding: 18px;
  }

  .user-editor-panel{
    padding: 1rem;
  }

  .user-module-option{
    padding: .9rem;
  }

  .user-editor-actions{
    justify-content: stretch;
  }

  .user-editor-actions .btn{
    width: 100%;
  }
}

@media (max-width: 575.98px){
  .dashboard-metrics{
    grid-template-columns: 1fr;
  }

  .dashboard-rotas-overview{
    grid-template-columns: 1fr;
  }

  .dashboard-hero,
  .dashboard-panel,
  .dashboard-metric-card{
    padding: 1rem;
  }
}

@media (prefers-reduced-motion: reduce){
  *{
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
