/* =====================================================================
   ROTARY — G7Bill template design system
   ---------------------------------------------------------------------
   Owns the full look of the rotary template:
     · public shell   (rt-utility, rt-header, rt-nav, rt-footer)
     · member shell   (rt-app, rt-side, rt-appbar)
     · auth / error   (rt-auth, rt-error)
     · home sections  (rt-hero, rt-section, rt-focus, rt-test …)
     · every system component class used by the shared views
       (portlet, note, dashboard-stat, btn colours, forms, tables …)
   Bootstrap 3 grid/JS and the plugin CSS stay underneath for function.

   Brand: Royal Blue #17458F · Gold #F7A81B (+ Rotary secondary palette)
   ===================================================================== */

:root {
  --rt-royal: #17458F;
  --rt-royal-600: #1A52AA;
  --rt-royal-dark: #0F2F63;
  --rt-royal-deep: #0A2148;
  --rt-night: #071833;
  --rt-gold: #F7A81B;
  --rt-gold-600: #E3940A;
  --rt-gold-soft: #FFF4DC;
  --rt-azure: #0067C8;
  --rt-sky: #00A2E0;
  --rt-cardinal: #E02927;
  --rt-cranberry: #D41367;
  --rt-turquoise: #00ADBB;
  --rt-violet: #901F93;
  --rt-orange: #FF7600;
  --rt-grass: #009739;
  --rt-slate: #657F99;

  --rt-ink: #121A2B;
  --rt-ink-2: #3A4559;
  --rt-muted: #66728A;
  --rt-line: #E4E9F2;
  --rt-line-2: #D3DBE8;
  --rt-surface: #FFFFFF;
  --rt-canvas: #F5F7FB;
  --rt-tint: #EEF3FC;

  --rt-r-xs: 6px;
  --rt-r-sm: 10px;
  --rt-r: 16px;
  --rt-r-lg: 24px;
  --rt-r-xl: 32px;
  --rt-pill: 999px;

  --rt-sh-1: 0 1px 2px rgba(10, 33, 72, .06), 0 1px 3px rgba(10, 33, 72, .06);
  --rt-sh-2: 0 4px 14px -4px rgba(10, 33, 72, .12), 0 2px 4px rgba(10, 33, 72, .04);
  --rt-sh-3: 0 18px 40px -14px rgba(10, 33, 72, .24);
  --rt-sh-4: 0 30px 70px -20px rgba(7, 24, 51, .40);
  --rt-ring: 0 0 0 4px rgba(0, 103, 200, .16);

  --rt-ease: cubic-bezier(.2, .7, .2, 1);
  --rt-font: "Inter", "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rt-font-head: "Plus Jakarta Sans", "Inter", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;

  --rt-header-h: 76px;
  --rt-side-w: 272px;
  --rt-side-w-mini: 78px;
}

/* =====================================================================
   1. BASE
   ===================================================================== */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--rt-font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--rt-ink);
  background: var(--rt-canvas);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
  font-family: var(--rt-font-head);
  color: var(--rt-ink);
  letter-spacing: -.015em;
  line-height: 1.2;
}
h1, .h1 { font-weight: 800; }
h2, .h2, h3, .h3 { font-weight: 700; }
h4, h5, h6 { font-weight: 700; }
p { color: var(--rt-ink-2); }
a { color: var(--rt-azure); transition: color .2s var(--rt-ease); }
a:hover, a:focus { color: var(--rt-royal); text-decoration: none; }
img { max-width: 100%; height: auto; }
hr { border-top-color: var(--rt-line); }
::selection { background: var(--rt-gold); color: var(--rt-night); }
:focus-visible { outline: 3px solid rgba(247, 168, 27, .7); outline-offset: 2px; }
.container { padding-left: 20px; padding-right: 20px; }
@media (min-width: 1300px) { .container { width: 1240px; } }

::-webkit-scrollbar { width: 11px; height: 11px; background: #E9EEF6; }
::-webkit-scrollbar-thumb { background: #9DB0CF; border-radius: 11px; border: 3px solid #E9EEF6; }
::-webkit-scrollbar-thumb:hover { background: var(--rt-royal); }
html { scrollbar-color: #9DB0CF #E9EEF6; scrollbar-width: thin; }

.rt-skip {
  position: absolute; left: 12px; top: -60px; z-index: 100000;
  background: var(--rt-gold); color: var(--rt-night); font-weight: 700;
  padding: 10px 16px; border-radius: var(--rt-r-sm); transition: top .2s var(--rt-ease);
}
.rt-skip:focus { top: 12px; color: var(--rt-night); }

.rt-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--rt-font-head); font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--rt-azure);
}
.rt-eyebrow::before { content: ""; width: 22px; height: 3px; border-radius: 3px; background: var(--rt-gold); }

/* brand ribbon (Rotary palette strip) */
.rt-ribbon {
  height: 4px;
  background: linear-gradient(90deg,
    var(--rt-royal) 0 34%, var(--rt-gold) 34% 56%, var(--rt-azure) 56% 68%,
    var(--rt-turquoise) 68% 78%, var(--rt-cranberry) 78% 88%, var(--rt-violet) 88% 100%);
}

/* =====================================================================
   2. PUBLIC SHELL
   ===================================================================== */
.rt-site { background: var(--rt-canvas); }

/* -- utility bar ----------------------------------------------------- */
.rt-utility {
  background: var(--rt-night);
  color: #B9C8E4;
  font-size: 13px;
  position: relative;
  z-index: 1001;
}
.rt-utility .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.rt-utility a { color: #E4ECFA; }
.rt-utility a:hover { color: var(--rt-gold); }
.rt-utility i { color: var(--rt-gold); margin-right: 6px; }
.rt-utility-left, .rt-utility-right { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.rt-motto {
  font-family: var(--rt-font-head); font-weight: 700; font-size: 11px;
  letter-spacing: .18em; text-transform: uppercase; color: var(--rt-gold);
}
.rt-utility .rt-social a { margin-left: 12px; font-size: 14px; }
.rt-utility .rt-social a i { color: #9FB2D3; margin: 0; transition: color .2s var(--rt-ease); }
.rt-utility .rt-social a:hover i { color: var(--rt-gold); }
.rt-utility .dropdown-menu { margin-top: 8px; }
@media (max-width: 767px) {
  .rt-utility .container { justify-content: center; }
  .rt-utility-left .rt-hide-sm, .rt-utility .rt-social { display: none; }
}

/* -- header ---------------------------------------------------------- */
.rt-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(228, 233, 242, .9);
  transition: box-shadow .3s var(--rt-ease), background .3s var(--rt-ease);
}
.rt-scrolled .rt-header { background: rgba(255, 255, 255, .96); box-shadow: 0 10px 30px -18px rgba(7, 24, 51, .45); }
.rt-header-inner { display: flex; align-items: center; flex-wrap: nowrap; gap: 16px; min-height: var(--rt-header-h); }
.rt-brand { display: flex; align-items: center; flex: 0 0 auto; position: relative; }
.rt-brand img { height: 46px; width: auto; max-width: 230px; object-fit: contain; transition: transform .3s var(--rt-ease); }
.rt-brand:hover img { transform: translateY(-1px); }
.rt-brand sup { position: absolute; right: -6px; top: 6px; }
.rt-brand sup .flag-icon { width: 18px !important; height: 13px !important; border-radius: 3px; box-shadow: 0 0 0 2px #fff; }

/* -- desktop navigation (wraps system $menu markup) ------------------- */
.rt-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.rt-nav > .nav,
.rt-nav > ul { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 1px; margin: 0; padding: 0; float: none; }
.rt-nav .nav > li,
.rt-nav > ul > li { position: relative; float: none; list-style: none; }
.rt-nav .nav > li.hide { display: none !important; }
.rt-nav .nav > li > a,
.rt-nav > ul > li > a {
  display: flex; align-items: center; gap: 5px;
  padding: 10px 8px;
  border-radius: var(--rt-pill);
  font-family: var(--rt-font-head);
  font-weight: 600 !important;
  font-size: 12.5px;
  color: var(--rt-ink-2) !important;
  background: transparent;
  white-space: nowrap;
  transition: background .2s var(--rt-ease), color .2s var(--rt-ease);
}
.rt-nav .nav > li > a > i { color: var(--rt-royal) !important; font-size: 12px; opacity: .85; }
.rt-nav .nav > li > a .arrow { display: none; }
.rt-nav .nav > li:hover > a,
.rt-nav .nav > li:focus-within > a,
.rt-nav .nav > li > a:focus { background: var(--rt-tint) !important; color: var(--rt-royal) !important; }
.rt-nav .nav > li.active > a {
  background: var(--rt-royal) !important; color: #fff !important;
  box-shadow: 0 8px 18px -10px rgba(23, 69, 143, .9);
}
.rt-nav .nav > li.active > a > i { color: var(--rt-gold) !important; opacity: 1; }
.rt-nav .nav > li:has(> .dropdown-menu) > a::after {
  content: ""; width: 7px; height: 7px; margin-left: 2px; margin-top: -3px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); opacity: .55; transition: transform .2s var(--rt-ease);
}
.rt-nav .nav > li:hover > a::after { transform: rotate(225deg) translate(-2px, -2px); }
.rt-nav .font-white { color: inherit !important; }

/* dropdown panels */
.rt-nav .nav > li > .dropdown-menu {
  display: block; visibility: hidden; opacity: 0;
  position: absolute; left: 50%; top: calc(100% + 10px);
  transform: translate(-50%, 8px);
  min-width: 280px; max-width: 340px;
  padding: 10px; margin: 0;
  background: #fff;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  box-shadow: var(--rt-sh-4);
  transition: opacity .2s var(--rt-ease), transform .2s var(--rt-ease), visibility .2s;
  float: none;
}
.rt-nav .nav > li > .dropdown-menu::before {
  content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; /* hover bridge */
}
.rt-nav .nav > li:hover > .dropdown-menu,
.rt-nav .nav > li:focus-within > .dropdown-menu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.rt-nav .dropdown-menu > li > a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: var(--rt-r-sm);
  color: var(--rt-ink) !important; font-weight: 500; font-size: 14px; white-space: normal; line-height: 1.35;
  transition: background .15s var(--rt-ease), color .15s var(--rt-ease);
}
.rt-nav .dropdown-menu > li > a > i {
  flex: 0 0 32px; width: 32px; height: 32px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rt-tint); color: var(--rt-royal) !important; font-size: 13px;
  transition: background .15s var(--rt-ease), color .15s var(--rt-ease);
}
.rt-nav .dropdown-menu > li > a:hover,
.rt-nav .dropdown-menu > li.active > a { background: #F4F7FD; color: var(--rt-royal) !important; }
.rt-nav .dropdown-menu > li > a:hover > i,
.rt-nav .dropdown-menu > li.active > a > i { background: var(--rt-royal); color: var(--rt-gold) !important; }

/* header actions */
.rt-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.rt-icon-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--rt-tint); color: var(--rt-royal); border: 0;
  transition: background .2s var(--rt-ease), color .2s var(--rt-ease), transform .2s var(--rt-ease);
}
.rt-icon-btn:hover, .open > .rt-icon-btn { background: var(--rt-royal); color: #fff; }
.rt-icon-btn .rt-count {
  position: absolute; top: -2px; right: -2px; min-width: 19px; height: 19px; padding: 0 5px;
  border-radius: var(--rt-pill); background: var(--rt-gold); color: var(--rt-night);
  font-size: 11px; font-weight: 800; line-height: 19px; text-align: center; box-shadow: 0 0 0 2px #fff;
}
.rt-user-btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 4px 14px 4px 4px;
  border-radius: var(--rt-pill); background: var(--rt-tint); color: var(--rt-ink);
  font-family: var(--rt-font-head); font-weight: 700; font-size: 14px; border: 0;
}
.rt-user-btn img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--rt-gold); }
.rt-user-btn:hover, .open > .rt-user-btn { background: #E2EAF8; color: var(--rt-royal); }
.rt-actions .dropdown-menu { right: 0; left: auto; margin-top: 10px; }
.rt-burger {
  display: none; width: 44px; height: 44px; border-radius: 12px; border: 0;
  background: var(--rt-royal); color: var(--rt-gold); position: relative;
}
.rt-burger span, .rt-burger span::before, .rt-burger span::after {
  position: absolute; left: 12px; width: 20px; height: 2.5px; border-radius: 2px; background: currentColor; content: "";
  transition: transform .3s var(--rt-ease), opacity .2s, top .3s var(--rt-ease);
}
.rt-burger span { top: 21px; }
.rt-burger span::before { left: 0; top: -7px; }
.rt-burger span::after { left: 0; top: 7px; width: 14px; }
.rt-nav-open .rt-burger span { background: transparent; }
.rt-nav-open .rt-burger span::before { top: 0; transform: rotate(45deg); }
.rt-nav-open .rt-burger span::after { top: 0; width: 20px; transform: rotate(-45deg); }

/* generic dropdown panels (bootstrap) */
.dropdown-menu {
  border: 1px solid var(--rt-line); border-radius: var(--rt-r); box-shadow: var(--rt-sh-4);
  padding: 8px; min-width: 220px;
}
.dropdown-menu > li > a { border-radius: var(--rt-r-sm); padding: 9px 12px; color: var(--rt-ink); }
.dropdown-menu > li > a > i { color: var(--rt-azure); width: 18px; text-align: center; margin-right: 6px; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background: #F2F6FD; color: var(--rt-royal); }
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover { background: var(--rt-royal); color: #fff; }
.dropdown-menu .divider { background: var(--rt-line); margin: 6px 4px; }
.rt-dd-head { padding: 10px 12px 12px; margin: -8px -8px 8px; background: linear-gradient(120deg, var(--rt-royal-deep), var(--rt-royal)); color: #fff; border-radius: var(--rt-r) var(--rt-r) 0 0; }
.rt-dd-head strong { display: block; font-family: var(--rt-font-head); font-size: 14px; }
.rt-dd-head small { color: #B9C8E4; }
.rt-dd-head a { color: var(--rt-gold); font-size: 12px; font-weight: 700; }
.rt-dd-list { max-height: 300px; overflow-y: auto; list-style: none; margin: 0; padding: 0; }
.rt-dd-list > li > a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: var(--rt-r-sm); color: var(--rt-ink); font-size: 13.5px; }
.rt-dd-list > li > a:hover { background: #F2F6FD; color: var(--rt-royal); }
.rt-dd-list .rt-dd-meta { color: var(--rt-muted); font-weight: 600; white-space: nowrap; }

/* -- mobile drawer --------------------------------------------------- */
.rt-drawer-head, .rt-drawer-foot { display: none; }
.rt-overlay {
  position: fixed; inset: 0; z-index: 1090; background: rgba(7, 24, 51, .55);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; visibility: hidden; transition: opacity .3s var(--rt-ease), visibility .3s;
}
@media (max-width: 1199px) {
  .rt-burger { display: inline-block; }
  .rt-nav {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 1100;
    width: min(360px, 88vw);
    display: flex; flex-direction: column; justify-content: flex-start;
    background: var(--rt-night);
    background-image: radial-gradient(500px 300px at 100% 0%, rgba(247, 168, 27, .14), transparent 60%);
    transform: translateX(105%); transition: transform .35s var(--rt-ease);
    box-shadow: var(--rt-sh-4);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
  }
  .rt-nav-open .rt-nav { transform: none; }
  .rt-nav-open .rt-overlay { opacity: 1; visibility: visible; }
  .rt-nav-open { overflow: hidden; }
  .rt-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .rt-drawer-head .rt-motto { font-size: 10px; }
  .rt-drawer-close { width: 40px; height: 40px; border-radius: 12px; border: 0; background: rgba(255, 255, 255, .08); color: #fff; font-size: 18px; }
  .rt-drawer-foot { display: block; padding: 18px 20px 26px; margin-top: auto; border-top: 1px solid rgba(255, 255, 255, .08); }
  .rt-drawer-foot .btn { width: 100%; margin-bottom: 10px; }
  .rt-nav > .nav, .rt-nav > ul { flex-direction: column; align-items: stretch; gap: 0; padding: 10px 12px; }
  .rt-nav .nav > li > a {
    color: #DCE6F7 !important; border-radius: 12px; padding: 13px 14px; font-size: 15.5px; justify-content: flex-start; white-space: normal;
  }
  .rt-nav .nav > li > a > i { color: var(--rt-gold) !important; width: 20px; text-align: center; }
  .rt-nav .nav > li:hover > a, .rt-nav .nav > li > a:focus { background: rgba(255, 255, 255, .06) !important; color: #fff !important; }
  .rt-nav .nav > li.active > a { background: rgba(247, 168, 27, .14) !important; color: #fff !important; box-shadow: inset 3px 0 0 var(--rt-gold); }
  .rt-nav .nav > li:has(> .dropdown-menu) > a::after { margin-left: auto; }
  .rt-nav .nav > li:hover > a::after { transform: rotate(45deg); }
  .rt-nav .nav > li.rt-open > a::after { transform: rotate(225deg) translate(-2px, -2px); }
  .rt-nav .nav > li > .dropdown-menu,
  .rt-nav .nav > li:hover > .dropdown-menu {
    position: static; transform: none; visibility: visible; opacity: 1;
    display: none; min-width: 0; max-width: none;
    background: transparent; border: 0; box-shadow: none; padding: 2px 0 8px 14px;
  }
  .rt-nav .nav > li.rt-open > .dropdown-menu { display: block; }
  .rt-nav .dropdown-menu > li > a { color: #B9C8E4 !important; }
  .rt-nav .dropdown-menu > li > a > i { background: rgba(255, 255, 255, .06); color: var(--rt-gold) !important; }
  .rt-nav .dropdown-menu > li > a:hover, .rt-nav .dropdown-menu > li.active > a { background: rgba(255, 255, 255, .05); color: #fff !important; }
  .rt-actions .rt-auth-btns { display: none; }
}
@media (max-width: 767px) {
  :root { --rt-header-h: 66px; }
  .rt-brand img { height: 38px; max-width: 170px; }
  .rt-user-btn .rt-user-name { display: none; }
  .rt-user-btn { padding: 4px; }
  .rt-actions { gap: 6px; }
}

/* -- page banner (design:header:images) ------------------------------ */
.rt-banner {
  position: relative; height: 260px; overflow: hidden;
  background-color: var(--rt-royal-deep); background-size: cover; background-position: center;
}
.rt-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 24, 51, .25), rgba(7, 24, 51, .75)); }
.rt-banner .rt-xmas { position: absolute; inset: 0; z-index: 1; background-repeat: repeat-x; }
.rt-banner + .rt-main { margin-top: -120px; position: relative; z-index: 2; }

/* -- main ------------------------------------------------------------ */
.rt-main { padding: 34px 0 56px; min-height: 50vh; }
.rt-home .rt-main { padding-top: 0; }
.rt-content > br:first-child { display: none; }

/* full-bleed helper — breaks a section out of .container */
.rt-bleed { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }

/* -- footer ---------------------------------------------------------- */
.rt-footer { background: var(--rt-night); color: #A9BAD8; position: relative; overflow: hidden; }
.rt-footer-main {
  position: relative; padding: 64px 0 34px;
  background:
    radial-gradient(900px 380px at 100% 0%, rgba(247, 168, 27, .12), transparent 60%),
    radial-gradient(700px 400px at 0% 100%, rgba(0, 103, 200, .22), transparent 60%);
}
.rt-footer-main::before {
  /* oversized wheel watermark (pure CSS rings) */
  content: ""; position: absolute; right: -140px; bottom: -160px; width: 460px; height: 460px; border-radius: 50%;
  border: 38px solid rgba(247, 168, 27, .05); box-shadow: inset 0 0 0 46px rgba(247, 168, 27, .03);
  pointer-events: none;
}
.rt-footer h5 {
  color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 6px 0 18px;
}
.rt-footer p, .rt-footer address { color: #A9BAD8; line-height: 1.8; }
.rt-footer a { color: #DCE6F7; }
.rt-footer a:hover { color: var(--rt-gold); }
.rt-footer-brand img.rt-footer-logo { height: 44px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); opacity: .95; }
.rt-footer-brand .rt-about-img { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; float: left; margin: 4px 14px 6px 0; box-shadow: 0 8px 20px rgba(0, 0, 0, .35); }
.rt-footer-motto { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; color: var(--rt-gold); font-family: var(--rt-font-head); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
.rt-links { list-style: none; padding: 0; margin: 0; }
.rt-links li { margin-bottom: 10px; }
.rt-links a { display: inline-flex; align-items: center; gap: 8px; }
.rt-links a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rt-gold); opacity: .6; transition: opacity .2s, transform .2s var(--rt-ease); }
.rt-links a:hover::before { opacity: 1; transform: scale(1.3); }
.rt-contact-list { list-style: none; padding: 0; margin: 0; }
.rt-contact-list li { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; }
.rt-contact-list i { flex: 0 0 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .06); color: var(--rt-gold); }
.rt-socials { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.rt-socials a {
  width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .07); color: #fff; font-size: 16px;
  transition: background .2s var(--rt-ease), color .2s var(--rt-ease), transform .2s var(--rt-ease);
}
.rt-socials a:hover { background: var(--rt-gold); color: var(--rt-night); transform: translateY(-3px); }
.rt-footer-badge { margin-top: 18px; display: inline-block; opacity: .9; }
.rt-footer-badge img { max-height: 54px; }
.rt-footer-bar { border-top: 1px solid rgba(255, 255, 255, .07); padding: 18px 0; font-size: 13px; color: #8296BA; }
.rt-footer-bar .container { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; }
.rt-footer-bar nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.rt-footer-bar a { color: #C6D3EA; font-weight: 600; }
.rt-footer-col { margin-bottom: 28px; }
@media (max-width: 767px) {
  .rt-footer-main { padding: 44px 0 10px; }
  .rt-footer-bar .container { justify-content: center; text-align: center; }
  .rt-footer-bar nav { justify-content: center; }
}

/* back to top */
.rt-totop {
  position: fixed; right: 22px; bottom: 22px; z-index: 990;
  width: 48px; height: 48px; border-radius: 16px; border: 0;
  background: var(--rt-royal); color: var(--rt-gold); font-size: 18px;
  box-shadow: var(--rt-sh-3);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .3s var(--rt-ease), transform .3s var(--rt-ease), visibility .3s, background .2s;
}
.rt-scrolled-far .rt-totop { opacity: 1; visibility: visible; transform: none; }
.rt-totop:hover { background: var(--rt-royal-dark); }

/* =====================================================================
   3. HOME SECTIONS
   ===================================================================== */
/* hero (widget.slides) */
.rt-hero { position: relative; background: var(--rt-night); overflow: hidden; margin-bottom: 0; }
.rt-hero .carousel-inner > .item { height: clamp(420px, 72vh, 720px); }
.rt-hero .carousel-inner > .item > img {
  width: 100%; height: 100%; object-fit: cover; transform: scale(1.06);
  transition: transform 7s linear;
}
.rt-hero .carousel-inner > .item.active > img { transform: scale(1); }
.rt-hero .item::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 24, 51, .88) 0%, rgba(7, 24, 51, .55) 45%, rgba(7, 24, 51, .1) 100%),
    linear-gradient(0deg, rgba(7, 24, 51, .55), transparent 40%);
}
.rt-hero-caption {
  position: absolute; z-index: 2; left: 0; right: 0; top: 50%; transform: translateY(-50%);
}
.rt-hero-caption .rt-hero-box { max-width: 640px; }
.rt-hero-caption h1 {
  color: #fff; font-size: clamp(30px, 4.6vw, 58px); line-height: 1.06; letter-spacing: -.03em; margin: 16px 0 18px;
  text-wrap: balance;
}
.rt-hero-caption p { color: #D4DEEF; font-size: clamp(15px, 1.4vw, 18px); max-width: 520px; }
.rt-hero-caption .rt-eyebrow { color: var(--rt-gold); }
.rt-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.rt-hero .carousel-indicators { bottom: 28px; left: auto; right: 0; width: auto; margin: 0; padding: 0 40px; text-align: right; }
.rt-hero .carousel-indicators li { width: 10px; height: 10px; margin: 0 4px; border: 0; background: rgba(255, 255, 255, .45); transition: width .35s var(--rt-ease), background .2s; }
.rt-hero .carousel-indicators .active { width: 34px; height: 10px; margin: 0 4px; background: var(--rt-gold); border-radius: 10px; }
.rt-hero .carousel-control { width: 70px; background: none !important; opacity: 0; transition: opacity .3s; text-shadow: none; }
.rt-hero:hover .carousel-control { opacity: 1; }
.rt-hero .carousel-control .rt-arrow {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 18px; color: #fff;
}
.rt-hero-stripe { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
@media (max-width: 767px) {
  .rt-hero .carousel-inner > .item { height: 480px; }
  .rt-hero .item::after { background: linear-gradient(0deg, rgba(7, 24, 51, .92) 10%, rgba(7, 24, 51, .35) 70%); }
  .rt-hero-caption { top: auto; bottom: 56px; transform: none; }
  .rt-hero .carousel-indicators { padding: 0 20px; bottom: 22px; left: 0; text-align: left; }
}

/* sections */
.rt-section { padding: 72px 0; position: relative; }
.rt-section-tight { padding: 48px 0; }
.rt-section-white { background: #fff; }
.rt-section-tint { background: linear-gradient(180deg, #F2F6FD, #FAFBFE); }
.rt-section-royal { background: var(--rt-royal-deep); color: #C6D3EA; background-image: radial-gradient(800px 400px at 90% 10%, rgba(247, 168, 27, .14), transparent 60%), radial-gradient(600px 400px at 0% 100%, rgba(0, 162, 224, .18), transparent 60%); }
.rt-section-royal h2, .rt-section-royal h3, .rt-section-royal h4 { color: #fff; }
.rt-section-royal p { color: #C6D3EA; }
.rt-section-head { max-width: 720px; margin: 0 auto 42px; text-align: center; }
.rt-section-head.rt-left { margin-left: 0; text-align: left; }
.rt-section-head h2 { font-size: clamp(26px, 3.2vw, 40px); margin: 12px 0 14px; text-wrap: balance; }
.rt-section-head p { font-size: 17px; color: var(--rt-muted); }
.rt-section-royal .rt-section-head p { color: #B9C8E4; }
@media (max-width: 767px) { .rt-section { padding: 48px 0; } }

/* intro split (widget.about) */
.rt-intro { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.rt-intro-media { position: relative; }
.rt-intro-media img { width: 100%; border-radius: var(--rt-r-xl); box-shadow: var(--rt-sh-4); aspect-ratio: 4 / 3; object-fit: cover; }
.rt-intro-media::before {
  content: ""; position: absolute; left: -18px; top: -18px; width: 120px; height: 120px; border-radius: 28px;
  background: var(--rt-gold); z-index: -1;
}
.rt-intro-badge {
  position: absolute; right: -14px; bottom: 26px; background: #fff; border-radius: var(--rt-r);
  padding: 14px 18px; box-shadow: var(--rt-sh-3); display: flex; gap: 12px; align-items: center; max-width: 260px;
}
.rt-intro-badge i { width: 42px; height: 42px; border-radius: 12px; background: var(--rt-royal); color: var(--rt-gold); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.rt-intro-badge strong { display: block; font-family: var(--rt-font-head); color: var(--rt-ink); font-size: 14px; line-height: 1.3; }
.rt-intro-badge small { color: var(--rt-muted); }
.rt-intro h2 { font-size: clamp(28px, 3.4vw, 44px); margin: 14px 0 12px; }
.rt-intro h3 { font-size: 20px; color: var(--rt-royal); font-weight: 600; margin: 0 0 16px; }
.rt-intro .rt-lead, .rt-intro .rt-lead p { font-size: 17px; color: var(--rt-ink-2); }
@media (max-width: 991px) { .rt-intro { grid-template-columns: 1fr; gap: 34px; } .rt-intro-badge { right: 12px; } }

/* call-to-action band */
.rt-cta {
  position: relative; overflow: hidden; border-radius: var(--rt-r-xl);
  padding: 46px 52px; margin: 0 0 8px;
  background: linear-gradient(120deg, var(--rt-royal-deep), var(--rt-royal) 60%, var(--rt-azure));
  color: #fff; box-shadow: var(--rt-sh-4);
}
.rt-cta::after { content: ""; position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; border: 30px solid rgba(247, 168, 27, .22); }
.rt-cta h2, .rt-cta h3 { color: #fff; margin: 0; font-size: clamp(22px, 2.6vw, 32px); position: relative; z-index: 1; text-wrap: balance; }
.rt-cta p { color: #D4DEEF; }
.rt-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; position: relative; z-index: 1; }
.rt-cta.rt-cta-gold { background: linear-gradient(120deg, var(--rt-gold-600), var(--rt-gold)); color: var(--rt-night); }
.rt-cta.rt-cta-gold h2, .rt-cta.rt-cta-gold h3 { color: var(--rt-night); }
.rt-cta.rt-cta-gold::after { border-color: rgba(23, 69, 143, .14); }
@media (max-width: 767px) { .rt-cta { padding: 32px 24px; border-radius: var(--rt-r-lg); } }

/* card grid (minis, packages, projects) */
.rt-grid { display: grid; gap: 26px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-grid.rt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-grid.rt-grid-1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; margin: 0 auto; }
.rt-grid.rt-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1099px) { .rt-grid, .rt-grid.rt-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rt-grid, .rt-grid.rt-grid-2, .rt-grid.rt-grid-4 { grid-template-columns: minmax(0, 1fr); } }

.rt-card {
  position: relative; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-r-lg);
  overflow: hidden; box-shadow: var(--rt-sh-1);
  transition: transform .35s var(--rt-ease), box-shadow .35s var(--rt-ease), border-color .35s var(--rt-ease);
}
.rt-card:hover { transform: translateY(-6px); box-shadow: var(--rt-sh-3); border-color: #CFDAEE; }
.rt-card-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--rt-tint); }
.rt-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--rt-ease); }
.rt-card:hover .rt-card-media img { transform: scale(1.06); }
.rt-card-tag {
  position: absolute; left: 16px; top: 16px; z-index: 1; padding: 6px 12px; border-radius: var(--rt-pill);
  background: rgba(255, 255, 255, .92); color: var(--rt-royal); font-size: 12px; font-weight: 700;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.rt-card-tag.rt-tag-gold { background: var(--rt-gold); color: var(--rt-night); }
.rt-card-body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1 1 auto; }
.rt-card-icon {
  width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--rt-tint); color: var(--rt-royal); font-size: 22px; margin-bottom: 14px;
}
.rt-card-body h3, .rt-card-body h4 { font-size: 19px; margin: 0 0 10px; line-height: 1.3; }
.rt-card-body h3 a, .rt-card-body h4 a { color: var(--rt-ink); }
.rt-card-body h3 a:hover, .rt-card-body h4 a:hover { color: var(--rt-royal); }
.rt-card-body p { color: var(--rt-muted); font-size: 14.5px; flex: 1 1 auto; }
.rt-card-price { font-family: var(--rt-font-head); font-weight: 800; color: var(--rt-royal); font-size: 15px; margin-bottom: 8px; }
.rt-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.rt-card-actions .btn { flex: 1 1 auto; }
.rt-link-arrow { font-weight: 700; display: inline-flex; align-items: center; gap: 8px; color: var(--rt-royal); }
.rt-link-arrow i { transition: transform .2s var(--rt-ease); }
.rt-link-arrow:hover i { transform: translateX(4px); }

/* areas of focus */
.rt-focus { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.rt-focus-item {
  --c: var(--rt-royal);
  position: relative; padding: 26px 22px 24px; border-radius: var(--rt-r-lg);
  background: #fff; border: 1px solid var(--rt-line); overflow: hidden;
  transition: transform .3s var(--rt-ease), box-shadow .3s var(--rt-ease);
}
.rt-focus-item::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--c); }
.rt-focus-item:hover { transform: translateY(-4px); box-shadow: var(--rt-sh-3); }
.rt-focus-item i {
  width: 50px; height: 50px; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; color: #fff; background: var(--c); margin-bottom: 16px;
  box-shadow: 0 10px 20px -10px var(--c);
}
.rt-focus-item h4 { font-size: 16.5px; margin: 0 0 6px; }
.rt-focus-item p { font-size: 14px; color: var(--rt-muted); margin: 0; }
.rt-focus-item.rt-focus-cta { background: var(--rt-royal); border-color: var(--rt-royal); display: flex; flex-direction: column; justify-content: center; }
.rt-focus-item.rt-focus-cta h4, .rt-focus-item.rt-focus-cta p { color: #fff; }
.rt-focus-item.rt-focus-cta p { color: #C6D3EA; margin-bottom: 14px; }
@media (max-width: 1099px) { .rt-focus { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .rt-focus { grid-template-columns: minmax(0, 1fr); } }

/* four-way test */
.rt-test { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; counter-reset: rt-test; }
.rt-test-item {
  position: relative; padding: 28px 24px; border-radius: var(--rt-r-lg);
  background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1);
}
.rt-test-item::before {
  counter-increment: rt-test; content: counter(rt-test, decimal-leading-zero);
  display: block; font-family: var(--rt-font-head); font-weight: 800; font-size: 40px; line-height: 1; color: var(--rt-gold); margin-bottom: 14px;
}
.rt-test-item h4 { color: #fff; font-size: 18px; margin: 0; line-height: 1.35; }
.rt-test-item strong { color: var(--rt-gold); }
@media (max-width: 991px) { .rt-test { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .rt-test { grid-template-columns: minmax(0, 1fr); } }

/* stats strip */
.rt-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: #fff; border-radius: var(--rt-r-lg); box-shadow: var(--rt-sh-3); overflow: hidden; }
.rt-stat { padding: 26px 24px; border-right: 1px solid var(--rt-line); }
.rt-stat:last-child { border-right: 0; }
.rt-stat strong { display: block; font-family: var(--rt-font-head); font-size: 32px; font-weight: 800; color: var(--rt-royal); line-height: 1.1; }
.rt-stat span { color: var(--rt-muted); font-size: 14px; }
@media (max-width: 767px) { .rt-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rt-stat:nth-child(2) { border-right: 0; } .rt-stat:nth-child(-n+2) { border-bottom: 1px solid var(--rt-line); } }

/* testimonials */
.rt-quote {
  position: relative; height: 100%; padding: 34px 30px 28px; border-radius: var(--rt-r-lg);
  background: #fff; border: 1px solid var(--rt-line); box-shadow: var(--rt-sh-1); margin: 0;
  display: flex; flex-direction: column;
}
.rt-quote::before {
  content: "\201C"; position: absolute; right: 26px; top: 6px; font-family: Georgia, "Times New Roman", serif; font-size: 110px; line-height: 1; color: var(--rt-gold); opacity: .35;
}
.rt-quote-stars { color: var(--rt-gold); font-size: 13px; letter-spacing: 3px; margin-bottom: 14px; }
.rt-quote blockquote { border: 0; padding: 0; margin: 0 0 20px; font-size: 17px; line-height: 1.65; color: var(--rt-ink); flex: 1 1 auto; }
.rt-quote-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px dashed var(--rt-line-2); }
.rt-quote-author { display: flex; align-items: center; gap: 12px; font-family: var(--rt-font-head); font-weight: 700; color: var(--rt-ink); }
.rt-quote-author .rt-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--rt-royal); color: var(--rt-gold); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }

/* partners marquee (widget.logos) */
.rt-logos { position: relative; overflow: hidden; padding: 10px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.rt-logos-track { display: flex; gap: 22px; width: max-content; animation: rt-marquee 38s linear infinite; }
.rt-logos:hover .rt-logos-track { animation-play-state: paused; }
.rt-logo {
  flex: 0 0 auto; height: 92px; min-width: 170px; padding: 16px 26px; border-radius: var(--rt-r);
  background: #fff; border: 1px solid var(--rt-line); display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: box-shadow .25s var(--rt-ease), border-color .25s;
}
.rt-logo img { max-height: 58px; width: auto; filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
.rt-logo:hover { box-shadow: var(--rt-sh-2); border-color: var(--rt-line-2); }
.rt-logo:hover img { filter: none; opacity: 1; }
@keyframes rt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* news list */
.rt-news { display: grid; gap: 16px; }
.rt-news-item {
  display: grid; grid-template-columns: 96px 1fr auto; gap: 22px; align-items: center;
  padding: 22px 24px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-r-lg);
  transition: box-shadow .25s var(--rt-ease), transform .25s var(--rt-ease);
}
.rt-news-item:hover { box-shadow: var(--rt-sh-3); transform: translateY(-2px); }
.rt-news-date { text-align: center; padding: 12px 6px; border-radius: var(--rt-r); background: var(--rt-tint); color: var(--rt-royal); font-family: var(--rt-font-head); font-weight: 700; font-size: 12.5px; line-height: 1.35; }
.rt-news-item h3 { font-size: 18px; margin: 0 0 6px; }
.rt-news-item h3 a { color: var(--rt-ink); }
.rt-news-item h3 a:hover { color: var(--rt-royal); }
.rt-news-item p { margin: 0; color: var(--rt-muted); font-size: 14.5px; }
.rt-news-go { width: 44px; height: 44px; border-radius: 50%; background: var(--rt-tint); color: var(--rt-royal); display: inline-flex; align-items: center; justify-content: center; transition: background .2s, color .2s; }
.rt-news-item:hover .rt-news-go { background: var(--rt-royal); color: var(--rt-gold); }
@media (max-width: 640px) { .rt-news-item { grid-template-columns: 1fr; gap: 12px; } .rt-news-date { justify-self: start; padding: 6px 12px; } .rt-news-go { display: none; } }

/* SEO keywords block */
.rt-keywords { font-size: 11px; line-height: 1.6; color: #9AA6BC; text-align: justify; padding: 14px 0 0; border-top: 1px solid var(--rt-line); }
.rt-keywords p { color: inherit; font-size: inherit; margin: 0; }

/* contact chips (widget.whatsapp) */
.rt-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.rt-chip {
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border-radius: var(--rt-pill);
  background: #fff; border: 1px solid var(--rt-line); color: var(--rt-ink); font-weight: 600; font-size: 14px;
  box-shadow: var(--rt-sh-1); transition: transform .2s var(--rt-ease), box-shadow .2s, border-color .2s;
}
.rt-chip:hover { transform: translateY(-2px); box-shadow: var(--rt-sh-2); color: var(--rt-ink); }
.rt-chip i { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; }
.rt-chip-wa i { background: #25D366; }
.rt-chip-call i { background: var(--rt-violet); }
.rt-chip-tg i { background: #229ED9; }

/* =====================================================================
   4. SYSTEM COMPONENTS (shared views)
   ===================================================================== */
/* portlets → cards */
.portlet {
  border-radius: var(--rt-r-lg) !important; margin-bottom: 26px; background: #fff;
  box-shadow: var(--rt-sh-1); border: 1px solid var(--rt-line) !important;
}
.portlet.light, .portlet.light.bordered { padding: 18px 24px 22px; border: 1px solid var(--rt-line) !important; }
.portlet > .portlet-title { border-bottom: 1px solid var(--rt-line); margin-bottom: 0; }
.portlet > .portlet-title > .caption { font-family: var(--rt-font-head); font-weight: 700; font-size: 17px; color: var(--rt-ink); }
.portlet > .portlet-title > .caption > i, .portlet.light > .portlet-title > .caption > i {
  width: 34px; height: 34px; border-radius: 10px; display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--rt-tint); color: var(--rt-royal) !important; font-size: 14px !important; margin-right: 8px; vertical-align: middle;
}
.portlet.light > .portlet-title > .caption > .caption-subject { font-weight: 700; }
.portlet.box { overflow: hidden; border: 1px solid var(--rt-line) !important; padding: 0; }
.portlet.box > .portlet-title {
  background: #fff !important; color: var(--rt-ink) !important; border-radius: var(--rt-r-lg) var(--rt-r-lg) 0 0;
  padding: 0 22px; min-height: 64px; border-bottom: 1px solid var(--rt-line) !important; position: relative;
}
.portlet.box > .portlet-title::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 0 4px 4px 0; background: var(--rt-royal); }
.portlet.box > .portlet-title > .caption { padding: 20px 0 16px; color: var(--rt-ink) !important; }
.portlet.box > .portlet-title > .caption > i { color: var(--rt-royal) !important; }
.portlet.box > .portlet-title > .tools { padding: 22px 0 14px; }
.portlet.box > .portlet-title > .tools > a { opacity: .55; }
.portlet.box > .portlet-title > .tools > a:hover { opacity: 1; }
.portlet.box > .portlet-body { background: #fff !important; padding: 22px; border-radius: 0 0 var(--rt-r-lg) var(--rt-r-lg); }
.portlet.box > .portlet-body.form { padding: 0; }
.portlet.box.green > .portlet-title::before, .portlet.box.green-jungle > .portlet-title::before, .portlet.box.green-meadow > .portlet-title::before { background: var(--rt-turquoise); }
.portlet.box.yellow > .portlet-title::before, .portlet.box.yellow-crusta > .portlet-title::before { background: var(--rt-gold); }
.portlet.box.red > .portlet-title::before, .portlet.box.red-thunderbird > .portlet-title::before, .portlet.box.red-sunglo > .portlet-title::before { background: var(--rt-cardinal); }
.portlet.box.purple > .portlet-title::before { background: var(--rt-violet); }
.portlet.box.grey-cascade > .portlet-title::before, .portlet.box.default > .portlet-title::before, .portlet.box.dark > .portlet-title::before { background: var(--rt-slate); }
.portlet.box.green > .portlet-title > .caption > i, .portlet.box.green-jungle > .portlet-title > .caption > i { background: #E3F7F8; color: #00838E !important; }
.portlet.box.yellow > .portlet-title > .caption > i { background: var(--rt-gold-soft); color: var(--rt-gold-600) !important; }
.portlet.box.red > .portlet-title > .caption > i, .portlet.box.red-thunderbird > .portlet-title > .caption > i { background: #FDECEC; color: var(--rt-cardinal) !important; }
.portlet.box.purple > .portlet-title > .caption > i { background: #F5E9F6; color: var(--rt-violet) !important; }
.portlet.box.grey-cascade > .portlet-title > .caption > i { background: #EDF1F6; color: var(--rt-slate) !important; }
.form .form-body, .portlet-form .form-body { padding: 22px; }
.form .form-actions, .portlet-form .form-actions {
  padding: 18px 22px; background: #F8FAFD !important; border-top: 1px solid var(--rt-line) !important;
  border-radius: 0 0 var(--rt-r-lg) var(--rt-r-lg);
}
.form-section { font-family: var(--rt-font-head); font-weight: 700; color: var(--rt-royal); border-bottom: 1px solid var(--rt-line); padding-bottom: 8px; }

/* thumbnails → cards */
.thumbnail {
  padding: 0; border: 1px solid var(--rt-line); border-radius: var(--rt-r-lg); overflow: hidden; background: #fff;
  box-shadow: var(--rt-sh-1); transition: transform .35s var(--rt-ease), box-shadow .35s var(--rt-ease);
}
.thumbnail:hover { transform: translateY(-4px); box-shadow: var(--rt-sh-3); }
.thumbnail > img, .thumbnail > a > img { width: 100%; }
.thumbnail .caption { padding: 20px 22px 22px; color: var(--rt-ink-2); }
.thumbnail .caption h3, .thumbnail .caption h4 { color: var(--rt-ink); }

/* buttons */
.btn {
  border-radius: 12px; padding: 9px 18px; font-family: var(--rt-font-head); font-weight: 700; font-size: 14px;
  letter-spacing: .005em; border-width: 1.5px;
  transition: background-color .2s var(--rt-ease), border-color .2s var(--rt-ease), color .2s var(--rt-ease), box-shadow .2s var(--rt-ease), transform .12s var(--rt-ease);
}
.btn:active { transform: translateY(1px); }
.btn-lg { padding: 13px 26px; font-size: 15.5px; border-radius: 14px; }
.btn-sm { padding: 6px 13px; font-size: 13px; border-radius: 10px; }
.btn-xs { padding: 3px 9px; font-size: 12px; border-radius: 8px; }
.btn.btn-circle, .btn.ntn-circle { border-radius: var(--rt-pill) !important; }
.btn i { margin-right: 2px; }

.btn.blue:not(.btn-outline), .btn.blue-madison:not(.btn-outline), .btn.blue-hoki:not(.btn-outline), .btn.blue-steel:not(.btn-outline),
.btn.blue-sharp:not(.btn-outline), .btn.btn-primary, .btn.dark:not(.btn-outline), .btn.rt-btn-primary {
  background: var(--rt-royal); border-color: var(--rt-royal); color: #fff;
}
.btn.blue:not(.btn-outline):hover, .btn.blue-madison:not(.btn-outline):hover, .btn.blue-hoki:not(.btn-outline):hover, .btn.blue-steel:not(.btn-outline):hover,
.btn.blue-sharp:not(.btn-outline):hover, .btn.btn-primary:hover, .btn.dark:not(.btn-outline):hover, .btn.rt-btn-primary:hover,
.btn.blue:not(.btn-outline):focus, .btn.btn-primary:focus {
  background: var(--rt-royal-dark); border-color: var(--rt-royal-dark); color: #fff; box-shadow: 0 10px 22px -12px rgba(23, 69, 143, .9);
}
.btn.yellow:not(.btn-outline), .btn.yellow-crusta:not(.btn-outline), .btn.yellow-gold:not(.btn-outline), .btn.btn-warning, .btn.rt-btn-gold {
  background: var(--rt-gold); border-color: var(--rt-gold); color: var(--rt-night);
}
.btn.yellow:not(.btn-outline):hover, .btn.yellow-crusta:not(.btn-outline):hover, .btn.yellow-gold:not(.btn-outline):hover, .btn.btn-warning:hover, .btn.rt-btn-gold:hover {
  background: var(--rt-gold-600); border-color: var(--rt-gold-600); color: var(--rt-night); box-shadow: 0 10px 22px -12px rgba(227, 148, 10, .9);
}
.btn.green:not(.btn-outline), .btn.green-jungle:not(.btn-outline), .btn.green-meadow:not(.btn-outline), .btn.green-seagreen:not(.btn-outline),
.btn.green-haze:not(.btn-outline), .btn.btn-success {
  background: var(--rt-turquoise); border-color: var(--rt-turquoise); color: #fff;
}
.btn.green:not(.btn-outline):hover, .btn.green-jungle:not(.btn-outline):hover, .btn.green-meadow:not(.btn-outline):hover, .btn.green-seagreen:not(.btn-outline):hover,
.btn.green-haze:not(.btn-outline):hover, .btn.btn-success:hover { background: #00909C; border-color: #00909C; color: #fff; }
.btn.red:not(.btn-outline), .btn.red-thunderbird:not(.btn-outline), .btn.red-intense:not(.btn-outline), .btn.red-sunglo:not(.btn-outline), .btn.red-mint:not(.btn-outline), .btn.btn-danger {
  background: var(--rt-cardinal); border-color: var(--rt-cardinal); color: #fff;
}
.btn.red:not(.btn-outline):hover, .btn.red-thunderbird:not(.btn-outline):hover, .btn.red-intense:not(.btn-outline):hover, .btn.red-sunglo:not(.btn-outline):hover,
.btn.red-mint:not(.btn-outline):hover, .btn.btn-danger:hover { background: #BF1F1D; border-color: #BF1F1D; color: #fff; }
.btn.purple:not(.btn-outline), .btn.purple-seance:not(.btn-outline) { background: var(--rt-violet); border-color: var(--rt-violet); color: #fff; }
.btn.purple:not(.btn-outline):hover, .btn.purple-seance:not(.btn-outline):hover { background: #761979; border-color: #761979; color: #fff; }
.btn.btn-info { background: var(--rt-sky); border-color: var(--rt-sky); color: #fff; }
.btn.default, .btn.btn-default, .btn.grey-cascade:not(.btn-outline) { background: #fff; color: var(--rt-ink); border-color: var(--rt-line-2); }
.btn.default:hover, .btn.btn-default:hover, .btn.grey-cascade:not(.btn-outline):hover { background: var(--rt-tint); color: var(--rt-royal); border-color: #B7C6DF; }
.btn.red-stripe, .btn.default.red-stripe, .btn.green-stripe { border-left: 1.5px solid var(--rt-line-2) !important; box-shadow: inset 3px 0 0 var(--rt-gold); }
.btn.btn-outline { background: transparent; }
.btn.btn-outline.blue { border-color: var(--rt-royal); color: var(--rt-royal); }
.btn.btn-outline.blue:hover { background: var(--rt-royal); color: #fff; }
.btn.btn-outline.red, .btn.btn-outline.font-red-thunderbird { border-color: var(--rt-cardinal); color: var(--rt-cardinal) !important; }
.btn.btn-outline.red:hover { background: var(--rt-cardinal); color: #fff !important; }
.btn.btn-outline.green { border-color: var(--rt-turquoise); color: #00838E; }
.btn.btn-outline.green:hover { background: var(--rt-turquoise); color: #fff; }
.btn.btn-outline.yellow { border-color: var(--rt-gold-600); color: var(--rt-gold-600); }
.btn.btn-outline.yellow:hover { background: var(--rt-gold); color: var(--rt-night); }
.btn.rt-btn-ghost { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .35); color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.btn.rt-btn-ghost:hover { background: #fff; color: var(--rt-royal); border-color: #fff; }
.btn.rt-btn-soft { background: var(--rt-tint); border-color: var(--rt-tint); color: var(--rt-royal); }
.btn.rt-btn-soft:hover { background: var(--rt-royal); border-color: var(--rt-royal); color: #fff; }
.btn-group-justified { border-radius: 12px; overflow: hidden; display: flex; gap: 8px; table-layout: auto; border-collapse: separate; }
.btn-group-justified > .btn, .btn-group-justified > .btn-group { flex: 1 1 0; display: block; float: none; width: auto; border-radius: 12px !important; }
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; }

/* forms */
.form-control,
.select2-container--bootstrap .select2-selection,
.input-group-addon {
  border: 1.5px solid var(--rt-line-2); border-radius: 12px; min-height: 44px; font-size: 14.5px; color: var(--rt-ink);
  background-color: #fff; box-shadow: none;
  transition: border-color .2s var(--rt-ease), box-shadow .2s var(--rt-ease), background-color .2s;
}
.form-control { padding: 10px 14px; height: auto; }
select.form-control { height: 44px; }
.input-sm.form-control { min-height: 34px; padding: 5px 10px; font-size: 13px; border-radius: 9px; }
.form-control:hover { border-color: #B7C6DF; }
.form-control:focus,
.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection { border-color: var(--rt-azure); box-shadow: var(--rt-ring); outline: 0; }
.form-control::placeholder { color: #9AA6BC; }
.form-control[disabled], .form-control[readonly] { background: #F4F6FA; }
.form-control-solid { background: #F4F7FC; border-color: #F4F7FC; }
textarea.form-control { min-height: 110px; }
.input-group .form-control:not(:first-child), .input-group-addon:not(:first-child), .input-group-btn:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group .form-control:not(:last-child), .input-group-addon:not(:last-child), .input-group-btn:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-addon { background: var(--rt-tint); color: var(--rt-royal); font-weight: 600; min-height: 0; }
.input-group-btn > .btn { min-height: 44px; }
.control-label, label { font-weight: 600; color: var(--rt-ink); font-size: 14px; }
.control-label h4 { font-size: 15px; margin: 0; }
.help-block { color: var(--rt-muted); font-size: 13px; }
.input-icon > i { color: var(--rt-slate); margin-top: 15px; }
.has-error .form-control { border-color: var(--rt-cardinal); }
.has-error .help-block, .has-error .control-label { color: var(--rt-cardinal); }
.has-success .form-control { border-color: var(--rt-turquoise); }
.required { color: var(--rt-cardinal); }
.select2-container--bootstrap .select2-selection--single { height: 44px; padding: 10px 14px; }
.select2-container--bootstrap .select2-results__option--highlighted[aria-selected] { background: var(--rt-royal); }
.select2-dropdown { border-color: var(--rt-line-2); border-radius: 12px; box-shadow: var(--rt-sh-3); overflow: hidden; }
.form-md-line-input .form-control { border-radius: 0; border-width: 0 0 1.5px; padding-left: 0; box-shadow: none !important; }
.form-md-line-input .form-control:focus ~ label:after, .form-md-line-input .form-control:focus ~ .form-control-focus:after { background: var(--rt-gold); }
.form-md-line-input .form-control.edited ~ label, .form-md-line-input .form-control:focus ~ label { color: var(--rt-azure); }
.mt-checkbox > span, .mt-radio > span { border-color: var(--rt-line-2) !important; border-radius: 6px; background: #fff; }
.mt-radio > span { border-radius: 50%; }
.mt-checkbox > input:checked ~ span, .mt-radio > input:checked ~ span { border-color: var(--rt-royal) !important; background: var(--rt-tint); }
.mt-checkbox > span:after { border-color: var(--rt-royal); }
.mt-radio > span:after { background: var(--rt-royal); }
.md-checkbox label > .check, .md-radio label > .check { border-color: var(--rt-royal); }
.md-radio label > .check { background: var(--rt-royal); }
.bootstrap-switch { border-radius: var(--rt-pill); border-color: var(--rt-line-2); }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary { background: var(--rt-royal); }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success { background: var(--rt-turquoise); }

/* tables */
.table { color: var(--rt-ink); margin-bottom: 18px; }
.table > thead > tr > th {
  background: #F6F8FC; color: var(--rt-muted); font-family: var(--rt-font-head); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid var(--rt-line) !important; padding: 12px 14px; white-space: nowrap;
}
.table > tbody > tr > td, .table > tfoot > tr > td { padding: 12px 14px; vertical-align: middle; border-top: 1px solid var(--rt-line); }
.table-striped > tbody > tr:nth-of-type(odd) { background: #FBFCFE; }
.table-hover > tbody > tr:hover { background: #FFF8E9; }
.table-bordered { border: 1px solid var(--rt-line); border-radius: var(--rt-r); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border-color: var(--rt-line); }
.table-bordered > thead > tr > th:first-child { border-top-left-radius: var(--rt-r); }
.table-bordered > thead > tr > th:last-child { border-top-right-radius: var(--rt-r); }
.table-scrollable, .table-responsive { border: 1px solid var(--rt-line); border-radius: var(--rt-r); margin: 12px 0 !important; }
.table-scrollable > .table, .table-responsive > .table { margin: 0 !important; border: 0; }
.static-info { margin-bottom: 10px; }
.static-info .name { color: var(--rt-muted); font-weight: 600; }
.static-info .value { color: var(--rt-ink); font-weight: 700; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { border-radius: 10px; border: 1.5px solid var(--rt-line-2); min-height: 36px; }
.pagination > li > a, .pagination > li > span { color: var(--rt-royal); border-color: var(--rt-line); margin: 0 2px; border-radius: 10px !important; }
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > span { background: var(--rt-royal); border-color: var(--rt-royal); color: #fff; }

/* notes / alerts */
.note {
  border: 1px solid transparent; border-left: 0 !important; border-radius: var(--rt-r) !important; padding: 16px 20px 16px 22px;
  position: relative; overflow: hidden; margin: 0 0 22px;
}
.note::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: currentColor; opacity: .9; }
.note.note-info    { background: #EEF5FE !important; color: #154172; border-color: #D3E4F8; }
.note.note-success { background: #E8F8F9 !important; color: #0A5960; border-color: #C9ECEF; }
.note.note-warning { background: #FFF6E3 !important; color: #6A4705; border-color: #FBE3B4; }
.note.note-danger  { background: #FDEEEE !important; color: #7A1514; border-color: #F7D0CF; }
.note h1, .note h2, .note h3, .note h4, .note p, .note .block { color: inherit; }
.note h2 { font-size: 22px; }
.alert { border-radius: var(--rt-r); border: 1px solid transparent; padding: 14px 18px; }
.alert-info    { background: #EEF5FE; color: #154172; border-color: #D3E4F8; }
.alert-success { background: #E8F8F9; color: #0A5960; border-color: #C9ECEF; }
.alert-warning { background: #FFF6E3; color: #6A4705; border-color: #FBE3B4; }
.alert-danger  { background: #FDEEEE; color: #7A1514; border-color: #F7D0CF; }

/* badges, labels, progress */
.badge { font-weight: 700; border-radius: var(--rt-pill); padding: 3px 8px; font-size: 11.5px; }
.badge-default { background: #E3E9F3; color: var(--rt-ink-2); }
.badge-primary, .label-primary { background: var(--rt-royal); }
.badge-success, .label-success { background: var(--rt-turquoise); }
.badge-warning, .label-warning { background: var(--rt-gold); color: var(--rt-night); }
.badge-danger, .label-danger { background: var(--rt-cardinal); }
.badge-info, .label-info { background: var(--rt-sky); }
.label { border-radius: var(--rt-pill); padding: 4px 10px; font-weight: 700; font-size: 11.5px; letter-spacing: .02em; }
.label-default { background: #E3E9F3; color: var(--rt-ink-2); }
.progress { height: 10px; border-radius: var(--rt-pill); background: #E7ECF5; box-shadow: none; overflow: hidden; }
.progress-bar, .progress-bar-primary { background: linear-gradient(90deg, var(--rt-royal), var(--rt-azure)); box-shadow: none; }
.progress-bar-warning { background: var(--rt-gold); }
.progress-bar-success { background: var(--rt-turquoise); }
.progress-bar-danger { background: var(--rt-cardinal); }

/* colour helpers (semantics kept, brand-tuned) */
.font-blue, .font-blue-madison, .font-blue-hoki, .font-blue-steel, .font-blue-dark, .font-blue-chambray, .theme-font { color: var(--rt-royal) !important; }
.font-blue-sharp, .font-blue-soft, .text-primary { color: var(--rt-azure) !important; }
.font-yellow, .font-yellow-gold, .font-yellow-crusta, .font-yellow-casablanca { color: var(--rt-gold-600) !important; }
.font-green, .font-green-jungle, .font-green-meadow, .font-green-seagreen, .font-green-haze, .font-green-sharp { color: #00838E !important; }
.font-red, .font-red-thunderbird, .font-red-intense, .font-red-sunglo, .font-red-mint { color: var(--rt-cardinal) !important; }
.font-purple, .font-purple-seance, .font-purple-wisteria { color: var(--rt-violet) !important; }
.font-dark { color: var(--rt-ink) !important; }
.font-grey-cascade { color: var(--rt-slate) !important; }
.bg-blue, .bg-blue-madison, .bg-blue-hoki { background: var(--rt-royal) !important; }
.bg-yellow, .bg-yellow-gold { background: var(--rt-gold) !important; }
.bg-red, .bg-red-thunderbird { background: var(--rt-cardinal) !important; }
.bg-green, .bg-green-jungle { background: var(--rt-turquoise) !important; }
.bg-dark { background: var(--rt-night) !important; }

/* KPI tiles (dashboard-stat) */
.dashboard-stat, .dashboard-stat2 {
  position: relative; overflow: hidden; border-radius: var(--rt-r-lg) !important; margin-bottom: 24px;
  background: #fff !important; border: 1px solid var(--rt-line); box-shadow: var(--rt-sh-1);
  min-height: 128px; transition: transform .3s var(--rt-ease), box-shadow .3s var(--rt-ease);
}
.dashboard-stat:hover { transform: translateY(-3px); box-shadow: var(--rt-sh-3); }
.dashboard-stat .visual {
  position: absolute; left: 20px; top: 22px; width: 52px; height: 52px; padding: 0; border-radius: 16px;
  display: flex; align-items: center; justify-content: center; background: var(--c, var(--rt-royal)); float: none;
  box-shadow: 0 12px 22px -12px var(--c, var(--rt-royal));
}
.dashboard-stat .visual > i { font-size: 22px !important; line-height: 1 !important; margin: 0 !important; color: #fff !important; opacity: 1 !important; }
.dashboard-stat .details { position: static !important; padding: 22px 22px 18px 90px; text-align: left; right: auto; }
.dashboard-stat .details .number { padding: 0 !important; font-family: var(--rt-font-head); font-size: 27px !important; font-weight: 800 !important; color: var(--rt-ink) !important; line-height: 1.15 !important; letter-spacing: -.02em; text-align: left; }
.dashboard-stat .details .desc { color: var(--rt-muted) !important; font-size: 14px !important; font-weight: 600; opacity: 1 !important; text-align: left; letter-spacing: 0; }
.dashboard-stat .more { background: #F7F9FD !important; color: var(--rt-royal) !important; border-top: 1px solid var(--rt-line); opacity: 1 !important; padding: 8px 22px; font-weight: 700; text-transform: none; font-size: 13px; }
.dashboard-stat::after { content: ""; position: absolute; right: -36px; bottom: -36px; width: 110px; height: 110px; border-radius: 50%; background: var(--c, var(--rt-royal)); opacity: .07; }
.dashboard-stat.blue, .dashboard-stat.blue-madison, .dashboard-stat.blue-steel { --c: var(--rt-royal); }
.dashboard-stat.green, .dashboard-stat.green-jungle, .dashboard-stat.green-meadow { --c: var(--rt-turquoise); }
.dashboard-stat.red, .dashboard-stat.red-thunderbird, .dashboard-stat.red-intense { --c: var(--rt-cardinal); }
.dashboard-stat.purple, .dashboard-stat.purple-seance { --c: var(--rt-violet); }
.dashboard-stat.yellow, .dashboard-stat.yellow-crusta { --c: var(--rt-gold-600); }
.dashboard-stat.grey-cascade, .dashboard-stat.dark { --c: var(--rt-slate); }
.widget-thumb { border-radius: var(--rt-r-lg) !important; border: 1px solid var(--rt-line); box-shadow: var(--rt-sh-1); }
.widget-thumb .widget-thumb-heading { font-family: var(--rt-font-head); color: var(--rt-muted); }
.widget-thumb .widget-thumb-body .widget-thumb-body-stat { font-family: var(--rt-font-head); color: var(--rt-ink); font-weight: 800; }
.widget-thumb .widget-thumb-icon { border-radius: 14px; }

/* tabs, panels, lists */
.nav-tabs { border-bottom: 1px solid var(--rt-line); }
.nav-tabs > li > a { border: 0 !important; border-radius: 0; margin-right: 6px; padding: 12px 16px; color: var(--rt-muted); font-weight: 700; font-family: var(--rt-font-head); background: transparent !important; box-shadow: inset 0 -2px 0 transparent; }
.nav-tabs > li > a:hover { color: var(--rt-royal); box-shadow: inset 0 -2px 0 var(--rt-line-2); }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: var(--rt-royal); box-shadow: inset 0 -3px 0 var(--rt-gold); }
.tabbable-line > .nav-tabs > li.active { border-bottom-color: var(--rt-gold); }
.nav-pills > li > a { border-radius: var(--rt-pill); font-weight: 600; }
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { background: var(--rt-royal); }
.panel { border-radius: var(--rt-r) !important; border-color: var(--rt-line); box-shadow: none; overflow: hidden; }
.panel-group .panel + .panel { margin-top: 10px; }
.panel-default > .panel-heading { background: #fff; border-color: var(--rt-line); padding: 14px 18px; }
.panel-title, .panel-title > a { font-family: var(--rt-font-head); font-weight: 700; color: var(--rt-ink); font-size: 15.5px; }
.panel-title > a.accordion-toggle:hover { color: var(--rt-royal); }
.list-group-item { border-color: var(--rt-line); }
.list-group-item:first-child { border-radius: var(--rt-r) var(--rt-r) 0 0; }
.list-group-item:last-child { border-radius: 0 0 var(--rt-r) var(--rt-r); }
.list-group-item.active, .list-group-item.active:hover { background: var(--rt-royal); border-color: var(--rt-royal); }
.breadcrumb, .page-breadcrumb { background: transparent; padding: 0; margin: 0; list-style: none; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; }
.page-breadcrumb > li { display: inline-flex; align-items: center; gap: 6px; color: var(--rt-muted); }
.page-breadcrumb > li > a { color: var(--rt-muted); font-weight: 600; }
.page-breadcrumb > li > a:hover { color: var(--rt-royal); }
.page-breadcrumb > li > span { color: var(--rt-ink); font-weight: 700; }
.page-breadcrumb > li > i.fa-angle-right { color: #B7C3D7; font-size: 12px; }

/* modals, tooltips, popovers */
.modal-content { border: 0; border-radius: var(--rt-r-lg); box-shadow: var(--rt-sh-4); overflow: hidden; }
.modal-header { background: #fff; border-bottom: 1px solid var(--rt-line); padding: 18px 22px; position: relative; }
.modal-header::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--rt-royal), var(--rt-azure) 60%, var(--rt-gold)); }
.modal-title, .modal-header h4 { font-family: var(--rt-font-head); font-weight: 700; color: var(--rt-ink); }
.modal-body { padding: 22px; }
.modal-footer { background: #F8FAFD; border-top: 1px solid var(--rt-line); padding: 14px 22px; }
.modal-backdrop.in { opacity: .6; background: var(--rt-night); }
.tooltip-inner { max-width: 700px; background: var(--rt-night); border-radius: 10px; padding: 8px 12px; font-size: 12.5px; }
.tooltip.top .tooltip-arrow { border-top-color: var(--rt-night); }
.tooltip.bottom .tooltip-arrow { border-bottom-color: var(--rt-night); }
.tooltip.left .tooltip-arrow { border-left-color: var(--rt-night); }
.tooltip.right .tooltip-arrow { border-right-color: var(--rt-night); }
.popover { border-radius: var(--rt-r); border-color: var(--rt-line); box-shadow: var(--rt-sh-3); }
.popover-title { font-family: var(--rt-font-head); font-weight: 700; background: #F6F8FC; border-color: var(--rt-line); }

/* ribbons, steps, blog, pricing */
.mt-element-ribbon .ribbon.ribbon-color-primary, .mt-element-ribbon .ribbon.ribbon-color-primary > .ribbon-sub { background: var(--rt-gold); color: var(--rt-night); }
.mt-element-ribbon .ribbon.ribbon-color-primary:after { border-color: var(--rt-gold-600) !important; }
.mt-element-ribbon .ribbon.ribbon-color-success, .mt-element-ribbon .ribbon.ribbon-color-success > .ribbon-sub { background: var(--rt-royal); color: #fff; }
.mt-element-step .mt-step-col.active .mt-step-number, .mt-element-step .mt-step-col.done .mt-step-number { background: var(--rt-royal) !important; border-color: var(--rt-royal) !important; color: #fff !important; }
.mt-element-step .mt-step-col.active .mt-step-title, .mt-element-step .mt-step-col.done .mt-step-title { color: var(--rt-royal) !important; }
.blog-page .blog-container, .blog-container { border-radius: var(--rt-r-lg); overflow: hidden; box-shadow: var(--rt-sh-1); border: 1px solid var(--rt-line); background: #fff; }
.blog-post-title a, .blog-title a, .blog-post-lg .blog-post-title a { color: var(--rt-ink); font-family: var(--rt-font-head); }
.blog-post-title a:hover, .blog-title a:hover { color: var(--rt-royal); }
.blog-img-thumb img { border-radius: var(--rt-r) var(--rt-r) 0 0; }
.pricing-content-1 .price-column-container { border-radius: var(--rt-r-lg); overflow: hidden; box-shadow: var(--rt-sh-2); }
.pricing-content-1 .price-table-head { background: var(--rt-royal) !important; }
.mt-element-list .list-news.mt-list-head { background: var(--rt-royal) !important; border-radius: var(--rt-r) var(--rt-r) 0 0; }
.cbp-l-filters-button .cbp-filter-item-active { background: var(--rt-royal); border-color: var(--rt-royal); }
.m-badge { background: var(--rt-tint); color: var(--rt-royal); border-radius: var(--rt-pill); }

/* legacy Metronic quick nav: retired in this template */
.quick-nav, .quick-nav-overlay { display: none !important; }

/* =====================================================================
   5. MEMBER AREA SHELL (welcome.php)
   ===================================================================== */
.rt-app { background: var(--rt-canvas); }
.rt-app-shell { display: flex; min-height: 100vh; }
.rt-side {
  position: fixed; left: 0; top: 0; bottom: 0; z-index: 1030;
  width: var(--rt-side-w); display: flex; flex-direction: column;
  background: var(--rt-night);
  background-image: radial-gradient(420px 300px at 0% 0%, rgba(0, 103, 200, .35), transparent 70%), radial-gradient(380px 260px at 100% 100%, rgba(247, 168, 27, .12), transparent 70%);
  color: #B9C8E4;
  transition: width .3s var(--rt-ease), transform .3s var(--rt-ease);
}
.rt-side-brand { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 74px; padding: 0 18px 0 22px; border-bottom: 1px solid rgba(255, 255, 255, .06); flex: 0 0 auto; }
.rt-side-brand a { display: flex; align-items: center; min-width: 0; }
.rt-side-logo { height: 38px; width: auto; max-width: 190px; object-fit: contain; filter: brightness(0) invert(1); }
.rt-side-mark { display: none; width: 38px; height: 38px; border-radius: 12px; background: var(--rt-gold); color: var(--rt-night); font-family: var(--rt-font-head); font-weight: 800; font-size: 18px; align-items: center; justify-content: center; }
.rt-side-nav { flex: 1 1 auto; overflow-y: auto; overflow-x: hidden; padding: 16px 12px 20px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .15) transparent; }
.rt-side-nav::-webkit-scrollbar { width: 6px; background: transparent; }
.rt-side-nav::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .15); border: 0; }
.rt-menu, .rt-menu ul { list-style: none; margin: 0; padding: 0; }
.rt-menu > li { margin-bottom: 2px; }
.rt-menu > li > a {
  display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 12px;
  color: #C6D3EA; font-weight: 600; font-size: 14.5px; white-space: nowrap; position: relative;
  transition: background .2s var(--rt-ease), color .2s var(--rt-ease);
}
.rt-menu > li > a > i {
  flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .05); color: #9FB2D3; font-size: 14px; transition: background .2s, color .2s;
}
.rt-menu > li > a > .title { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
.rt-menu > li > a > .arrow { flex: 0 0 auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .5; transition: transform .25s var(--rt-ease); margin-right: 4px; }
.rt-menu > li.rt-empty > a > .arrow { display: none; }
.rt-menu > li.open > a > .arrow { transform: rotate(45deg); }
.rt-menu > li > a:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.rt-menu > li > a:hover > i { color: var(--rt-gold); }
.rt-menu > li.active > a { background: linear-gradient(90deg, rgba(247, 168, 27, .18), rgba(247, 168, 27, .04)); color: #fff; }
.rt-menu > li.active > a::before { content: ""; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--rt-gold); }
.rt-menu > li.active > a > i { background: var(--rt-gold); color: var(--rt-night); }
.rt-menu .sub-menu { display: none; padding: 4px 0 8px 46px !important; }
.rt-menu > li.open > .sub-menu { display: block; }
.rt-menu .sub-menu > li > a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; color: #9FB2D3; font-size: 13.5px; font-weight: 500; position: relative;
}
.rt-menu .sub-menu > li > a > i { font-size: 12px; width: 16px; text-align: center; opacity: .8; }
.rt-menu .sub-menu > li > a:hover { color: #fff; background: rgba(255, 255, 255, .04); }
.rt-menu .sub-menu > li.active > a { color: var(--rt-gold); font-weight: 700; }
.rt-side-foot { flex: 0 0 auto; padding: 16px 22px 20px; border-top: 1px solid rgba(255, 255, 255, .06); }
.rt-side-foot .rt-motto { font-size: 10px; }
.rt-side-foot small { display: block; color: #6F84AA; margin-top: 4px; font-size: 11.5px; }
.rt-side-collapse { width: 34px; height: 34px; border-radius: 10px; border: 0; background: rgba(255, 255, 255, .06); color: #C6D3EA; flex: 0 0 auto; transition: background .2s, transform .3s var(--rt-ease); }
.rt-side-collapse:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.rt-app-main { flex: 1 1 auto; min-width: 0; margin-left: var(--rt-side-w); display: flex; flex-direction: column; transition: margin-left .3s var(--rt-ease); }
.rt-appbar {
  position: sticky; top: 0; z-index: 1020; height: 74px; display: flex; align-items: center; gap: 16px; padding: 0 28px;
  background: rgba(245, 247, 251, .85); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--rt-line);
}
.rt-appbar-menu { display: none; width: 42px; height: 42px; border-radius: 12px; border: 0; background: var(--rt-royal); color: var(--rt-gold); font-size: 16px; }
.rt-appbar-crumbs { flex: 1 1 auto; min-width: 0; }
.rt-appbar-right { display: flex; align-items: center; gap: 10px; }
.rt-verify { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--rt-pill); background: #fff; border: 1px solid var(--rt-line); font-size: 13px; font-weight: 600; }
.rt-verify a { color: var(--rt-ink); }
.rt-verify sup a { color: var(--rt-azure); font-size: 11px; }
.rt-app-content { padding: 30px 28px 40px; flex: 1 1 auto; }
.rt-pagehead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.rt-pagehead h1 { font-size: clamp(24px, 2.4vw, 32px); margin: 0; }
.rt-pagehead h1 small { display: block; margin-top: 6px; font-family: var(--rt-font); font-size: 14.5px; font-weight: 500; color: var(--rt-muted); letter-spacing: 0; }
.rt-pagehead .page-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.rt-app-footer { padding: 18px 28px; color: var(--rt-muted); font-size: 13px; border-top: 1px solid var(--rt-line); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.rt-side-overlay { position: fixed; inset: 0; z-index: 1025; background: rgba(7, 24, 51, .55); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }

/* collapsed (mini) sidebar — desktop */
@media (min-width: 992px) {
  .rt-side-collapsed .rt-side { width: var(--rt-side-w-mini); }
  .rt-side-collapsed .rt-app-main { margin-left: var(--rt-side-w-mini); }
  .rt-side-collapsed .rt-side-logo { display: none; }
  .rt-side-collapsed .rt-side-mark { display: inline-flex; }
  .rt-side-collapsed .rt-side-brand { flex-direction: column; justify-content: center; height: auto; padding: 18px 0 14px; gap: 12px; }
  .rt-side-collapsed .rt-side-collapse { transform: rotate(180deg); }
  .rt-side-collapsed .rt-menu > li > a { justify-content: center; padding: 10px 0; }
  .rt-side-collapsed .rt-menu > li > a > .title, .rt-side-collapsed .rt-menu > li > a > .arrow { display: none; }
  .rt-side-collapsed .rt-menu > li > .sub-menu { display: none !important; }
  .rt-side-collapsed .rt-side-foot { display: none; }
  .rt-side-collapsed .rt-side-nav { overflow: visible; }
  .rt-side-collapsed .rt-menu > li { position: relative; }
  .rt-side-collapsed .rt-menu > li:hover > .sub-menu {
    display: block !important; position: absolute; left: calc(100% + 10px); top: 0; min-width: 230px; padding: 10px !important;
    background: var(--rt-night); border: 1px solid rgba(255, 255, 255, .08); border-radius: var(--rt-r); box-shadow: var(--rt-sh-4);
  }
  .rt-side-collapsed .rt-menu > li:hover > .sub-menu::before { content: attr(data-title); }
  .rt-side-collapsed .rt-menu > li.rt-empty:hover > .sub-menu { display: none !important; }
  .rt-side-collapsed .rt-menu > li > a::after {
    content: attr(data-title); position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%);
    padding: 6px 10px; border-radius: 8px; background: var(--rt-night); color: #fff; font-size: 12.5px; white-space: nowrap;
    opacity: 0; visibility: hidden; transition: opacity .15s; pointer-events: none; box-shadow: var(--rt-sh-3);
  }
  .rt-side-collapsed .rt-menu > li.rt-empty > a:hover::after { opacity: 1; visibility: visible; }
}
/* mobile sidebar = drawer */
@media (max-width: 991px) {
  .rt-side { transform: translateX(-105%); width: min(300px, 86vw); }
  .rt-side-open .rt-side { transform: none; box-shadow: var(--rt-sh-4); }
  .rt-side-open .rt-side-overlay { opacity: 1; visibility: visible; }
  .rt-side-open { overflow: hidden; }
  .rt-app-main { margin-left: 0; }
  .rt-appbar { padding: 0 16px; }
  .rt-appbar-menu { display: inline-flex; align-items: center; justify-content: center; }
  .rt-app-content { padding: 22px 16px 30px; }
  .rt-app-footer { padding: 16px; }
  .rt-side-collapse { display: none; }
}
@media (max-width: 767px) { .rt-verify { display: none; } .rt-appbar-crumbs { display: none; } }

/* =====================================================================
   6. AUTH PAGES (user.auth.form / user.activate.form)
   ===================================================================== */
.rt-auth { min-height: 100vh; display: grid; grid-template-columns: 1.08fr 1fr; background: #fff; }
.rt-auth-art {
  position: relative; overflow: hidden; color: #fff; padding: 44px 56px; display: flex; flex-direction: column;
  background-color: var(--rt-night); background-size: cover; background-position: center;
}
.rt-auth-art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10, 33, 72, .92) 0%, rgba(23, 69, 143, .78) 50%, rgba(7, 24, 51, .94) 100%); }
.rt-auth-art::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 380px; height: 380px; border-radius: 50%; border: 34px solid rgba(247, 168, 27, .16); }
.rt-auth-art > * { position: relative; z-index: 1; }
.rt-auth-logo { display: inline-block; cursor: pointer; }
.rt-auth-logo img { height: 52px; width: auto; filter: brightness(0) invert(1); }
.rt-auth-copy { margin-top: auto; max-width: 520px; }
.rt-auth-copy h2 { color: #fff; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -.03em; margin: 16px 0 16px; }
.rt-auth-copy p { color: #C6D3EA; font-size: 16px; }
.rt-auth-copy .rt-eyebrow { color: var(--rt-gold); }
.rt-auth-test { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; counter-reset: q; }
.rt-auth-test li { counter-increment: q; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .1); font-size: 13.5px; color: #DCE6F7; }
.rt-auth-test li::before { content: counter(q) ". "; color: var(--rt-gold); font-weight: 800; }
.rt-auth-note { margin-top: 26px; color: #8FA3C6; font-size: 12.5px; }
.rt-auth-pane { display: flex; flex-direction: column; justify-content: center; padding: 40px clamp(24px, 6vw, 88px); position: relative; }
.rt-auth-card { width: 100%; max-width: 460px; margin: 0 auto; }
.rt-auth-card.rt-wide { max-width: 640px; }
.rt-auth-card h1 { font-size: clamp(26px, 2.6vw, 34px); margin: 10px 0 8px; }
.rt-auth-card .rt-auth-lead { color: var(--rt-muted); margin-bottom: 26px; }
.rt-auth-card .rt-auth-lead a { font-weight: 700; }
.rt-auth-card .form-group { margin-bottom: 16px; }
.rt-auth-card .form-control { min-height: 50px; border-radius: 14px; font-size: 15px; padding-left: 44px; }
.rt-auth-card select.form-control { height: 50px; }
.rt-field { position: relative; }
.rt-field > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--rt-slate); z-index: 2; pointer-events: none; }
.rt-field .rt-eye { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 10px; border: 0; background: transparent; color: var(--rt-slate); z-index: 2; }
.rt-field .rt-eye:hover { background: var(--rt-tint); color: var(--rt-royal); }
.rt-auth-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 6px 0 22px; font-size: 14px; }
.rt-auth-row .mt-checkbox { margin: 0; font-weight: 500; color: var(--rt-ink-2); }
.rt-auth-card .btn-block { padding: 14px; font-size: 15.5px; border-radius: 14px; }
.rt-or { display: flex; align-items: center; gap: 14px; color: var(--rt-muted); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin: 22px 0; }
.rt-or::before, .rt-or::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--rt-line); }
.rt-btn-google { background: #fff; border: 1.5px solid var(--rt-line-2); color: var(--rt-ink); }
.rt-btn-google:hover { border-color: #B7C6DF; background: #F8FAFD; color: var(--rt-ink); }
.rt-btn-google i { color: #EA4335; }
.rt-auth-foot { margin-top: 30px; text-align: center; font-size: 12.5px; color: var(--rt-muted); }
.rt-auth-foot p { color: var(--rt-muted); }
.rt-auth-back { position: absolute; top: 26px; right: 28px; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; }
.rt-auth .alert, .rt-auth .note { margin-bottom: 18px; }
.rt-auth .rt-chips { margin-bottom: 18px; }
@media (max-width: 991px) {
  .rt-auth { grid-template-columns: 1fr; }
  .rt-auth-art { padding: 28px 24px 30px; min-height: 0; }
  .rt-auth-copy { margin-top: 28px; }
  .rt-auth-copy h2 { font-size: 28px; }
  .rt-auth-test { display: none; }
  .rt-auth-pane { padding: 34px 20px 44px; }
  .rt-auth-back { display: none; }
}

/* =====================================================================
   7. ERROR / MAINTENANCE
   ===================================================================== */
.rt-error {
  min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px 20px;
  background: var(--rt-night); color: #C6D3EA; position: relative; overflow: hidden;
  background-image: radial-gradient(700px 400px at 80% 0%, rgba(247, 168, 27, .16), transparent 60%), radial-gradient(800px 500px at 0% 100%, rgba(0, 103, 200, .3), transparent 60%);
}
.rt-error::after { content: ""; position: absolute; left: 50%; top: 50%; width: 720px; height: 720px; transform: translate(-50%, -50%); border-radius: 50%; border: 60px solid rgba(255, 255, 255, .025); box-shadow: inset 0 0 0 80px rgba(255, 255, 255, .015); }
.rt-error-box { position: relative; z-index: 1; max-width: 620px; }
.rt-error-code { font-family: var(--rt-font-head); font-weight: 800; font-size: clamp(90px, 18vw, 180px); line-height: .9; letter-spacing: -.05em; background: linear-gradient(180deg, #fff, rgba(255, 255, 255, .35)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rt-error h2 { color: #fff; font-size: clamp(22px, 3vw, 32px); margin: 18px 0 12px; }
.rt-error p { color: #B9C8E4; font-size: 16px; }
.rt-error .rt-actions-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 26px; }
.rt-error-logo { height: 44px; width: auto; margin-bottom: 34px; filter: brightness(0) invert(1); opacity: .9; }

/* =====================================================================
   8. MOTION & PRINT
   ===================================================================== */
.rt-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--rt-ease), transform .7s var(--rt-ease); }
.rt-reveal.rt-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .rt-reveal { opacity: 1; transform: none; }
}
@media print {
  .rt-utility, .rt-header, .rt-footer, .rt-totop, .rt-side, .rt-appbar, .rt-app-footer, .rt-chips { display: none !important; }
  .rt-app-main { margin: 0 !important; }
  body, .rt-main, .rt-app-content { background: #fff !important; padding: 0 !important; }
  .portlet, .thumbnail, .dashboard-stat, .rt-card { box-shadow: none !important; }
}

/* =====================================================================
   9. ADDITIONS
   ===================================================================== */
/* full-bleed sections must never cause sideways scrolling */
html, body.rt-site { overflow-x: hidden; }
@supports (overflow: clip) { html, body.rt-site { overflow-x: clip; } }

/* hero cross-fade */
.carousel-fade .carousel-inner > .item { transition: opacity .9s ease-in-out; opacity: 0; left: 0 !important; transform: none !important; }
.carousel-fade .carousel-inner > .active,
.carousel-fade .carousel-inner > .next.left,
.carousel-fade .carousel-inner > .prev.right { opacity: 1; }
.carousel-fade .carousel-inner > .active.left,
.carousel-fade .carousel-inner > .active.right { opacity: 0; }
.carousel-fade .carousel-inner > .next,
.carousel-fade .carousel-inner > .prev,
.carousel-fade .carousel-inner > .active.left,
.carousel-fade .carousel-inner > .active.right { left: 0; transform: none; }
.rt-home .rt-hero { margin-top: 0; }

/* floating contact stack on the public site */
.rt-site .rt-chips {
  position: fixed; left: 18px; bottom: 18px; z-index: 985; margin: 0;
  flex-direction: column; align-items: flex-start; gap: 8px;
}
.rt-site .rt-chip { box-shadow: var(--rt-sh-3); }
@media (max-width: 767px) {
  .rt-site .rt-chip { padding: 6px; font-size: 0; gap: 0; }
  .rt-site .rt-chip i { width: 38px; height: 38px; font-size: 17px; }
}

/* auth pages: light card text */
.rt-auth .font-white, .rt-auth h5.font-white { color: var(--rt-ink) !important; }
.rt-auth a.font-green-jungle { color: var(--rt-azure) !important; }
.rt-signup .form-control { padding-left: 14px; }
.rt-signup .form-body { padding: 0; }
.rt-signup h5 { font-size: 13.5px; margin: 0 0 6px; }
.rt-signup h5 i { color: var(--rt-royal); margin-right: 4px; }
.rt-signup .control-label { margin-bottom: 0; }
.rt-signup .row.font-white { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; row-gap: 12px; }
.rt-signup .row.font-white .btn.green { padding: 13px 32px; font-size: 15.5px; background: var(--rt-royal); border-color: var(--rt-royal); }
.rt-signup .row.font-white .btn.green:hover { background: var(--rt-royal-dark); border-color: var(--rt-royal-dark); }
.rt-signup .row.font-white .btn.default { white-space: normal; text-align: left; }
.rt-signup hr, .rt-signup .ff-line, .rt-signup h4 { color: var(--rt-royal); }
.rt-auth-body .rt-chips .rt-chip { box-shadow: none; }

/* dashboard: Metronic page-content resets */
.rt-app .page-content { background: transparent; min-height: 0; margin: 0; }
.rt-app .page-title { color: var(--rt-ink); }
.rt-app .page-toolbar .btn { border-radius: 12px; }

/* core values chips (default home) */
.rt-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; position: relative; z-index: 1; }
.rt-value { padding: 16px 18px; border-radius: var(--rt-r); background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); }
.rt-value h4 { color: #fff; font-size: 15px; margin: 0; display: flex; align-items: center; gap: 10px; }
.rt-value h4 i { color: var(--rt-gold); width: 18px; text-align: center; }
.rt-value-gold { background: var(--rt-gold); border-color: var(--rt-gold); }
.rt-value-gold h4, .rt-value-gold h4 a { color: var(--rt-night); }
@media (max-width: 400px) { .rt-values { grid-template-columns: minmax(0, 1fr); } }

/* KPI tile fixes over Metronic v2 spacing */
.dashboard-stat.dashboard-stat-v2 .visual, .dashboard-stat .visual { padding: 0 !important; margin: 0 !important; height: 52px !important; width: 52px !important; }
.dashboard-stat .visual > i { display: block; position: static !important; }
.dashboard-stat, .dashboard-stat2 { min-height: 104px; }
.dashboard-stat.dashboard-stat-v2 .details { margin: 0 !important; }

/* boxed portlets: remove Metronic coloured outlines */
.portlet.box.blue, .portlet.box.blue-hoki, .portlet.box.blue-madison, .portlet.box.blue-steel, .portlet.box.blue-sharp,
.portlet.box.green, .portlet.box.green-jungle, .portlet.box.green-meadow, .portlet.box.yellow, .portlet.box.red,
.portlet.box.red-thunderbird, .portlet.box.red-sunglo, .portlet.box.purple, .portlet.box.grey-cascade, .portlet.box.dark, .portlet.box.default {
  border: 1px solid var(--rt-line) !important;
}
.portlet.box > .portlet-title { border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; }

/* phone utility bar */
@media (max-width: 767px) {
  .rt-utility .container { flex-wrap: wrap; row-gap: 2px; padding-top: 6px; padding-bottom: 6px; min-height: 0; }
  .rt-utility-left, .rt-utility-right { gap: 14px; justify-content: center; }
  .rt-utility .rt-motto { display: none; }
}

/* focus tiles: centre glyphs; never style icons inside buttons as tiles */
.rt-focus-item > i { display: inline-block; text-align: center; line-height: 50px; }
.rt-focus-item .btn i { width: auto; height: auto; line-height: inherit; margin: 0 0 0 4px; background: none; box-shadow: none; color: inherit; font-size: inherit; display: inline; border-radius: 0; }
.rt-focus-item.rt-focus-cta .btn { align-self: flex-start; }

/* boxed portlets: Metronic paints the box itself — keep it white */
.portlet.box, .portlet.blue, .portlet.green, .portlet.yellow, .portlet.red, .portlet.purple, .portlet.grey-cascade, .portlet.dark { background: #fff !important; }

/* focus tile icon wrapper (replaces styling the <i> directly) */
.rt-focus-ico {
  width: 50px; height: 50px; border-radius: 15px; display: flex; align-items: center; justify-content: center;
  background: var(--c); color: #fff; font-size: 20px; margin-bottom: 16px; box-shadow: 0 10px 20px -10px var(--c);
}
.rt-focus-ico > i { width: auto; height: auto; margin: 0; background: none; box-shadow: none; line-height: 1; font-size: 20px; color: #fff; display: inline-block; }
.rt-chip-ico { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; flex: 0 0 auto; }
.rt-chip-ico > i { width: auto !important; height: auto !important; background: none !important; line-height: 1; display: inline-block; color: #fff; font-size: inherit; }
.rt-chip-wa .rt-chip-ico { background: #25D366; }
.rt-chip-call .rt-chip-ico { background: var(--rt-violet); }
.rt-chip-tg .rt-chip-ico { background: #229ED9; }
@media (max-width: 767px) { .rt-site .rt-chip-ico { width: 38px; height: 38px; font-size: 17px; } }

/* app bar: keep user menu at the right edge when breadcrumbs are hidden */
.rt-appbar-right { margin-left: auto; }
