/* MisOcc poster-inspired theme (Orange + Deep Blue)
   Primary: #F47A20, Accent: #1F3C88, Highlight: #2E5BFF
   Background: #FFF4EC, Text: #0F2A5F
*/
:root{
  --brand-orange: #F47A20;
  --brand-orange-light: #FF9A4D;
  --brand-blue: #1F3C88;
  --brand-blue-royal: #2E5BFF;
  --brand-ink: #0F2A5F;
  --brand-bg: #FFF4EC;

  /* Backward-compatible aliases used across the app */
  --misocc-blue: var(--brand-blue);
  --misocc-green: var(--brand-blue-royal);
  --misocc-gold: var(--brand-orange);
  --misocc-ink: var(--brand-ink);
  --misocc-bg: var(--brand-bg);

  --card-radius: 18px;
}

body {
  background:
    radial-gradient(1100px 520px at 18% 0%, rgba(244,122,32,.18), transparent 55%),
    radial-gradient(900px 480px at 82% 8%, rgba(46,91,255,.12), transparent 52%),
    var(--misocc-bg);
  color: var(--misocc-ink);
}
.app-shell { min-height: 100vh; }

.sidebar{
  background: linear-gradient(180deg, var(--brand-orange), var(--brand-orange-light));
  color:#fff;
  min-height: 100vh;
  position: sticky;
  top: 0;
}

.brand-badge{
  width: 40px; height: 40px; border-radius: 12px;
  background: rgba(255,255,255,.15);
  display: inline-flex; align-items: center; justify-content: center;
}

.nav-pills .nav-link{
  color: rgba(255,255,255,.88);
  border-radius: 12px;
  padding: .65rem .85rem;
  margin-bottom: .25rem;
}
.nav-pills .nav-link:hover{ background: rgba(255,255,255,.12); }
.nav-pills .nav-link.active{
  background: rgba(255,255,255,.22);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}

.topbar{
  background: #fff;
  border-bottom: 1px solid rgba(15,23,42,.08);
  position: sticky;
  top: 0;
  z-index: 10;
}

.card{
  border: 0;
  border-radius: var(--card-radius);
  box-shadow: 0 12px 24px rgba(15,23,42,.06);
}

.stat-card{
  background: linear-gradient(180deg, #fff, #fbfcff);
  overflow: hidden;
  position: relative;
}
.stat-card::after{
  content:"";
  position:absolute; right:-60px; top:-60px;
  width:180px; height:180px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(46,91,255,.18), rgba(46,91,255,0));
}

.chip{
  display:inline-flex; align-items:center; gap:.35rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  background: rgba(244,122,32,.12);
  color: #B44A00;
  font-weight: 600;
  font-size: .82rem;
}

.badge-soft{
  background: rgba(31,60,136,.10);
  color: var(--misocc-blue);
  border: 1px solid rgba(31,60,136,.18);
  border-radius: 999px;
  padding: .3rem .6rem;
  font-weight: 600;
}

.btn-misocc{
  background: var(--brand-orange);
  border-color: var(--brand-orange);
  color:#fff;
}
.btn-misocc:hover{
  background: var(--brand-orange-light);
  border-color: var(--brand-orange-light);
  color:#fff;
}
.btn-misocc-outline{
  border: 1px solid rgba(244,122,32,.40);
  color: #B44A00;
  background: #fff;
}
.btn-misocc-outline:hover{
  background: rgba(244,122,32,.10);
  color: #B44A00;
}

.btn-gold{
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: #fff;
  font-weight: 700;
}
.btn-gold:hover{ filter: brightness(.97); }

/* Subtle link styling */
a { color: var(--brand-blue); }
a:hover { color: var(--brand-blue-royal); }

.table thead th{
  font-size: .82rem;
  color: rgba(15,23,42,.75);
  border-bottom: 1px solid rgba(15,23,42,.10);
}

.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.form-label{ font-weight: 600; font-size: .9rem; }

.empty-state{
  border: 2px dashed rgba(15,23,42,.12);
  border-radius: var(--card-radius);
  padding: 2rem;
  background: rgba(255,255,255,.6);
}

.small-muted { font-size: .86rem; color: rgba(15,23,42,.68); }

.kbd-like{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .85rem;
  padding: .15rem .45rem;
  border-radius: .5rem;
  background: rgba(15,23,42,.06);
  border: 1px solid rgba(15,23,42,.10);
}

@media (max-width: 991.98px){
  .sidebar { position: static; min-height: auto; border-radius: 0 0 18px 18px; }
}