:root{
  --brand-blue:#001244;
  --brand-red:#d61f26;
  --brand-red-dark:#b3171c;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:rgba(148,163,184,.35);
  --shadow:0 10px 30px rgba(2,6,23,.25);
}

html,body{height:100%;}

body{
  background: radial-gradient(1200px 800px at 20% 0%, rgba(214,31,38,.22), transparent 55%),
              radial-gradient(900px 700px at 85% 15%, rgba(255,255,255,.10), transparent 60%),
              var(--brand-blue);
  color: var(--text);
}

/* Internal app pages (dashboard layout) */
body.app-page{background:#f1f5f9; color: var(--text);}
body.app-page .app-card{box-shadow: 0 10px 24px rgba(2,6,23,.12);}

/* Containers */
.app-shell{min-height:100%; display:flex; align-items:center; padding:48px 16px;}
.app-card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

/* Branding */
.brand-logo{max-width:320px; width:100%; height:auto;}
.brand-title{font-weight:700; letter-spacing:.2px;}
.brand-subtitle{color:var(--muted); margin:0;}

/* Buttons */
.btn-brand{
  background: var(--brand-red);
  border-color: var(--brand-red);
  color:#fff;
}
.btn-brand:hover, .btn-brand:focus{background: var(--brand-red-dark); border-color: var(--brand-red-dark); color:#fff;}

/* Forms */
.form-control:focus{border-color: rgba(214,31,38,.6); box-shadow: 0 0 0 .25rem rgba(214,31,38,.15);}

/* Dashboard tweaks */
.bg-brand{background: var(--brand-blue) !important;}
.navbar-brand{font-weight:700;}

/* Navbar + sidebar coherence (internal pages) */
body.app-page .navbar-brand{
  background-color: transparent;
  box-shadow: none;
}

body.app-page .navbar.navbar-dark .navbar-nav .nav-link{
  color: rgba(255,255,255,.92) !important;
}
body.app-page .navbar.navbar-dark .navbar-nav .nav-link:hover,
body.app-page .navbar.navbar-dark .navbar-nav .nav-link:focus{
  color: #ffffff !important;
  text-decoration: underline;
}

body.app-page .sidebar{background:#fff;}
body.app-page .sidebar .nav-link{
  color: #0f172a;
  border-radius: 10px;
  margin: 2px 8px;
  padding: .5rem .75rem;
}
body.app-page .sidebar .nav-link:hover{
  background: rgba(2, 6, 23, .06);
}
body.app-page .sidebar .nav-link.active{
  color: var(--brand-red);
  background: rgba(214,31,38,.10);
}
body.app-page .sidebar .nav-link.active .feather,
body.app-page .sidebar .nav-link:hover .feather{
  color: currentColor;
}

.table thead th{white-space:nowrap;}

/* Small helpers */
.text-muted-2{color:var(--muted) !important;}
.link-light-soft{color: rgba(255,255,255,.85);}
.link-light-soft:hover{color:#fff;}
