:root{
  /* Font scale (consistent with your project standard) */
  --rt-font: 0.78rem;
  --rt-line: 1.35;

  /* Theme */
  --rt-bg: #0b1220;
  --rt-card: rgba(255,255,255,.06);
  --rt-card2: rgba(255,255,255,.08);
  --rt-border: rgba(255,255,255,.10);
  --rt-text: rgba(255,255,255,.92);
  --rt-muted: rgba(255,255,255,.65);
  --rt-accent: #ff7a18;
  --rt-accent2: #3b82f6;

  --rt-radius: 18px;
  --rt-shadow: 0 18px 60px rgba(0,0,0,.45);
  --rt-shadow-soft: 0 10px 28px rgba(0,0,0,.28);
}

html,body{height:100%;}

.rt-body{
  margin:0;
  font-size: var(--rt-font);
  line-height: var(--rt-line);
  color: var(--rt-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Premium dark gradient */
  background:
    radial-gradient(1200px 650px at 18% 10%, rgba(255,122,24,.22), transparent 60%),
    radial-gradient(900px 550px at 85% 12%, rgba(59,130,246,.22), transparent 55%),
    radial-gradient(900px 600px at 60% 90%, rgba(16,185,129,.10), transparent 60%),
    var(--rt-bg);
}

/* Subtle scrollbar */
*{scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background: rgba(255,255,255,.16); border-radius:999px;}
*::-webkit-scrollbar-thumb:hover{background: rgba(255,255,255,.22);}

/* --- Building blocks (glass / buttons / cards) --- */
.rt-glass{
  background: var(--rt-card);
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius);
  box-shadow: var(--rt-shadow);
  backdrop-filter: blur(10px);
}

.rt-card{
  background: var(--rt-card);
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius);
  box-shadow: var(--rt-shadow-soft);
}

.rt-divider{border-color: var(--rt-border);}

.rt-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius: 14px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.18);
  color: var(--rt-text);
  transition: transform .15s ease, filter .15s ease, background .15s ease;
}
.rt-icon-btn:hover{filter:brightness(1.1); transform: translateY(-1px);}

.rt-ghost-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius: 14px;
  border: 1px solid var(--rt-border);
  background: rgba(0,0,0,.14);
  color: var(--rt-text);
  text-decoration:none;
  transition: filter .15s ease, transform .15s ease;
}
.rt-ghost-btn:hover{filter:brightness(1.1); transform: translateY(-1px);}

.rt-primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 14px;
  border:1px solid rgba(255,122,24,.38);
  background: linear-gradient(180deg, rgba(255,122,24,.30), rgba(255,122,24,.12));
  color: var(--rt-text);
  text-decoration:none;
  transition: filter .15s ease, transform .15s ease;
}
.rt-primary-btn:hover{filter:brightness(1.08); transform: translateY(-1px);}

.rt-input{
  width:100%;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.25);
  color: var(--rt-text);
  outline: none;
}
.rt-input:focus{border-color: rgba(255,122,24,.45); box-shadow: 0 0 0 3px rgba(255,122,24,.12);}

.rt-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.22);
}

/* --- Sidebar + header --- */
.rt-sidebar{
  background: rgba(0,0,0,.28);
  border-right: 1px solid var(--rt-border);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  transition: transform .2s ease;
}

.rt-sidebar-top{
  padding:18px 16px 12px;
  border-bottom: 1px solid var(--rt-border);
}

.rt-logo{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius: 16px;
  border: 1px solid rgba(255,122,24,.35);
  background: radial-gradient(60% 60% at 50% 20%, rgba(255,122,24,.28), rgba(255,122,24,.08));
  box-shadow: 0 14px 35px rgba(0,0,0,.35);
  color: var(--rt-text);
}

.rt-nav{display:flex;flex-direction:column;gap:6px;}

.rt-nav-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: var(--rt-text);
  text-decoration:none;
  transition: background .15s ease, border-color .15s ease, transform .15s ease, filter .15s ease;
}
.rt-nav-item i{width:18px; text-align:center; color: rgba(255,255,255,.72);}

.rt-nav-item:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  transform: translateX(2px);
}

.rt-nav-item-active{
  background: linear-gradient(90deg, rgba(255,122,24,.22), rgba(255,122,24,.08));
  border-color: rgba(255,122,24,.22);
}
.rt-nav-item-active i{color: rgba(255,122,24,.95);}

.rt-callout{
  border:1px solid var(--rt-border);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  padding:12px;
}
.rt-callout-ico{
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border-radius: 14px;
  border:1px solid rgba(59,130,246,.25);
  background: rgba(59,130,246,.10);
}

.rt-header{
  background: rgba(0,0,0,.22);
  border-bottom: 1px solid var(--rt-border);
  backdrop-filter: blur(12px);
}

.rt-profile-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px;
  border-radius: 16px;
  border: 1px solid var(--rt-border);
  background: rgba(0,0,0,.14);
  color: var(--rt-text);
  transition: filter .15s ease, transform .15s ease;
}
.rt-profile-btn:hover{filter:brightness(1.08); transform: translateY(-1px);}

.rt-avatar{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(255,122,24,.30);
  background: radial-gradient(60% 60% at 50% 25%, rgba(255,122,24,.35), rgba(255,122,24,.10));
  font-weight: 700;
}

.rt-dropdown{
  position:absolute;
  right:0;
  margin-top: 10px;
  width: 240px;
  border-radius: 16px;
  border:1px solid var(--rt-border);
  background: rgba(6,10,18,.92);
  box-shadow: 0 24px 60px rgba(0,0,0,.60);
  overflow: hidden;
}

.rt-dd-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  text-decoration:none;
  color: var(--rt-text);
  transition: background .12s ease;
}
.rt-dd-item i{width:18px;text-align:center;color: rgba(255,255,255,.75);}
.rt-dd-item:hover{background: rgba(255,255,255,.06);}

.rt-dd-danger{color: rgba(255,255,255,.92);}
.rt-dd-danger i{color: rgba(255,122,24,.95);}

.rt-dd-sep{height:1px;background: var(--rt-border);}

/* --- Footer --- */
.rt-footer{
  border-top: 1px solid var(--rt-border);
  background: rgba(0,0,0,.18);
}
.rt-footer-link{
  color: rgba(255,255,255,.70);
  text-decoration:none;
}
.rt-footer-link:hover{color: rgba(255,255,255,.90); text-decoration: underline;}

/* --- Small UI bits used across pages --- */
.rt-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.75);
  font-size: 11px;
}
.rt-pill strong{color: rgba(255,255,255,.92); font-weight: 700;}

.rt-logo-lg{width:52px;height:52px; border-radius: 18px;}

/* --- Stat cards --- */
.rt-stat{
  padding:14px;
  border-radius: 18px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.16);
}
.rt-stat-top{display:flex; align-items:center; gap:12px;}
.rt-stat-sub{margin-top:10px; font-size:11px; color: var(--rt-muted);}
.rt-stat-ico{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}

.rt-ico-orange{border-color: rgba(255,122,24,.30); background: rgba(255,122,24,.12);}
.rt-ico-blue{border-color: rgba(59,130,246,.28); background: rgba(59,130,246,.12);}
.rt-ico-emerald{border-color: rgba(16,185,129,.24); background: rgba(16,185,129,.10);}
.rt-ico-violet{border-color: rgba(139,92,246,.24); background: rgba(139,92,246,.10);}

/* --- Feature mini cards (login left side) --- */
.rt-mini{
  display:flex;
  gap:12px;
  padding:12px;
  border-radius: 16px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.14);
}
.rt-mini-ico{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
}
.rt-mini-title{font-size: 12px; font-weight: 700; color: rgba(255,255,255,.92);}
.rt-mini-sub{margin-top:2px; font-size: 11px; color: var(--rt-muted);}

/* --- Quick action buttons --- */
.rt-qbtn{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid var(--rt-border);
  background: rgba(0,0,0,.14);
  text-decoration:none;
  color: var(--rt-text);
  transition: filter .15s ease, transform .15s ease, background .15s ease;
}
.rt-qbtn i{width:18px;text-align:center;color: rgba(255,255,255,.75);}
.rt-qbtn:hover{filter:brightness(1.1); transform: translateY(-1px); background: rgba(255,255,255,.06);}

/* Smaller label sizes for stat cards (matches your other app patterns) */
.rt-stat-label{font-size: 11px; color: var(--rt-muted);}
.rt-stat-value{font-size: 20px; margin-top: 6px; font-weight: 700;}

/* Make sure long pages don't cause horizontal scroll */
body{overflow-x:hidden;}
