/* GCNM v16.0.0 HF4 — unified dashboard, responsive shell and liquid auth surfaces */
:root{
  --g160-deep:#0d3b30;
  --g160-forest:#155744;
  --g160-green:#1d765b;
  --g160-green-soft:#e8f3ee;
  --g160-green-faint:#f4f8f6;
  --g160-gold:#d4aa3a;
  --g160-red:#cf3f3a;
  --g160-ink:#17372d;
  --g160-muted:#6a7b73;
  --g160-line:#dbe6e0;
  --g160-line-strong:#cbdad2;
  --g160-surface:#ffffff;
  --g160-surface-soft:#f8fbf9;
  --g160-page:#f3f7f5;
  --g160-shadow:0 16px 42px rgba(15,59,48,.075);
  --g160-shadow-lg:0 30px 80px rgba(15,59,48,.13);
  --g160-radius:18px;
  --g160-radius-sm:12px;
  --g160-topbar:72px;
}

/* Smooth, stable document scrolling across desktop and mobile. */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--g160-topbar) + 18px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.v2-shell{-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;background:var(--g160-page)!important;color:var(--g160-ink)}
body.v2-shell *{scrollbar-width:thin;scrollbar-color:#9db7aa transparent}
body.v2-shell *::-webkit-scrollbar{width:9px;height:9px}
body.v2-shell *::-webkit-scrollbar-track{background:transparent}
body.v2-shell *::-webkit-scrollbar-thumb{background:#a9beb3;border:2px solid transparent;background-clip:padding-box;border-radius:10px}
body.v2-shell *::-webkit-scrollbar-thumb:hover{background:#7f9e8f;border:2px solid transparent;background-clip:padding-box}

/* --------------------------------------------------------------------------
   AUTH — /forgot-password
   -------------------------------------------------------------------------- */
.gcnm-password-recovery-page{
  position:relative;
  isolation:isolate;
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(20px,4vw,48px)!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 14%,rgba(36,119,91,.16),transparent 28%),
    radial-gradient(circle at 86% 18%,rgba(212,170,58,.15),transparent 24%),
    radial-gradient(circle at 80% 84%,rgba(207,63,58,.09),transparent 26%),
    linear-gradient(145deg,#f9faf5 0%,#eef6f1 48%,#f9f5ea 100%);
}
.gcnm-password-recovery-page::before,
.gcnm-password-recovery-page::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  filter:blur(2px);
  opacity:.82;
}
.gcnm-password-recovery-page::before{
  width:min(46vw,560px);height:min(46vw,560px);left:-14vw;bottom:-18vw;
  border-radius:61% 39% 58% 42% / 43% 63% 37% 57%;
  background:linear-gradient(145deg,rgba(21,87,68,.13),rgba(29,118,91,.04));
  box-shadow:inset 0 0 0 1px rgba(21,87,68,.08);
}
.gcnm-password-recovery-page::after{
  width:min(38vw,460px);height:min(38vw,460px);right:-11vw;top:-12vw;
  border-radius:39% 61% 42% 58% / 62% 41% 59% 38%;
  background:linear-gradient(145deg,rgba(212,170,58,.16),rgba(255,255,255,.08));
  box-shadow:inset 0 0 0 1px rgba(212,170,58,.08);
}
.gcnm-password-recovery-inner{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
}
.gcnm-password-recovery-card{
  position:relative;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:var(--g160-shadow-lg)!important;
  -webkit-backdrop-filter:blur(24px) saturate(125%);
  backdrop-filter:blur(24px) saturate(125%);
}
.gcnm-password-recovery-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:5px;
  background:linear-gradient(90deg,var(--g160-forest),var(--g160-green),var(--g160-gold),var(--g160-red));
}
.gcnm-password-recovery-card .card-body{padding:clamp(24px,5vw,46px)!important}
.gcnm-password-recovery-card .app-brand{margin-bottom:26px!important}
.gcnm-password-recovery-card .app-brand-logo img{max-width:min(100%,270px)!important;max-height:76px!important;object-fit:contain}
.gcnm-password-recovery-card h4{font-size:clamp(1.55rem,3vw,2rem);font-weight:800;letter-spacing:-.035em;color:var(--g160-deep)}
.gcnm-password-recovery-card .gcnm-reset-intro{font-size:.98rem;color:var(--g160-muted)!important;line-height:1.7;margin-bottom:24px!important}
.gcnm-password-recovery-card .nav-tabs{
  display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;
  padding:5px!important;margin-bottom:28px!important;border:1px solid var(--g160-line)!important;
  border-radius:15px;background:rgba(240,246,242,.86)!important;
}
.gcnm-password-recovery-card .nav-tabs .nav-item{width:100%}
.gcnm-password-recovery-card .nav-tabs .nav-link{
  width:100%;min-height:46px;border:0!important;border-radius:11px!important;
  color:#52675e!important;font-weight:750!important;background:transparent!important;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.gcnm-password-recovery-card .nav-tabs .nav-link.active{
  color:#fff!important;background:var(--g160-forest)!important;
  box-shadow:0 8px 22px rgba(13,59,48,.17)!important;
}
.gcnm-account-type-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;margin-bottom:24px!important}
.gcnm-account-option{display:block!important;position:relative;margin:0!important;cursor:pointer}
.gcnm-account-radio{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}
.gcnm-account-card{
  position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:7px;
  min-height:142px;padding:18px!important;border:1px solid var(--g160-line-strong)!important;
  border-radius:16px!important;background:rgba(255,255,255,.86)!important;color:var(--g160-ink)!important;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.gcnm-account-option:hover .gcnm-account-card{border-color:#90b6a5!important;box-shadow:0 10px 24px rgba(15,59,48,.07);transform:translateY(-1px)}
.gcnm-account-radio:checked + .gcnm-account-card{
  border-color:var(--g160-green)!important;background:linear-gradient(145deg,#f2f9f5,#e9f4ef)!important;
  box-shadow:0 0 0 3px rgba(29,118,91,.10),0 12px 26px rgba(15,59,48,.08)!important;
}
.gcnm-account-radio:focus-visible + .gcnm-account-card{outline:3px solid rgba(29,118,91,.22);outline-offset:2px}
.gcnm-account-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#edf5f1;color:var(--g160-forest);font-size:20px}
.gcnm-account-radio:checked + .gcnm-account-card .gcnm-account-icon{background:var(--g160-forest);color:#fff}
.gcnm-account-title{font-size:.98rem;font-weight:800;color:var(--g160-deep)}
.gcnm-account-description{font-size:.78rem;line-height:1.45;color:#667970;font-weight:500}
.gcnm-account-check{position:absolute;right:13px;top:13px;width:20px;height:20px;border:1px solid #cbd9d2;border-radius:50%;background:#fff}
.gcnm-account-radio:checked + .gcnm-account-card .gcnm-account-check{border-color:var(--g160-green);background:var(--g160-green)}
.gcnm-account-radio:checked + .gcnm-account-card .gcnm-account-check::after{content:"";position:absolute;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);left:5px;top:6px}
.gcnm-password-recovery-card .form-label{font-size:.82rem;font-weight:750;color:#334b41;margin-bottom:8px}
.gcnm-password-recovery-card .form-control{
  min-height:52px!important;border:1px solid var(--g160-line-strong)!important;border-radius:13px!important;
  background:rgba(255,255,255,.92)!important;padding:12px 15px!important;font-size:.95rem!important;
  box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.gcnm-password-recovery-card .form-control:focus{border-color:var(--g160-green)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(29,118,91,.10)!important}
.gcnm-password-recovery-card .btn-primary{
  min-height:52px!important;border:1px solid #0f4c3c!important;border-radius:13px!important;
  background:linear-gradient(110deg,#0f4b3b,#1b6a52)!important;color:#fff!important;font-weight:800!important;
  box-shadow:0 10px 24px rgba(13,59,48,.16)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.gcnm-password-recovery-card .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 14px 28px rgba(13,59,48,.20)!important}
.gcnm-password-recovery-card .alert{border-radius:13px!important;background:#f7faf8!important;border-color:var(--g160-line)!important;color:#54685f!important}
.gcnm-password-recovery-card .gcnm-reset-help{margin-top:12px;color:#74857d;line-height:1.6}
.gcnm-password-recovery-card .text-center a{display:inline-flex!important;gap:6px;color:var(--g160-forest)!important;font-weight:700;text-decoration:none}
.gcnm-password-recovery-card .text-center a:hover{text-decoration:underline}

/* --------------------------------------------------------------------------
   DASHBOARD SHELL — all authenticated pages
   -------------------------------------------------------------------------- */
body.v2-shell .layout-wrapper{background:
  radial-gradient(circle at 78% -10%,rgba(29,118,91,.055),transparent 28%),
  linear-gradient(180deg,#f7faf8 0%,var(--g160-page) 100%)!important}
body.v2-shell .layout-page{min-width:0!important;background:transparent!important}
body.v2-shell .content-wrapper{position:relative;min-width:0!important;background:transparent!important}
body.v2-shell .content-wrapper::before{
  content:"";position:absolute;pointer-events:none;z-index:-1;right:3vw;top:10vh;width:260px;height:260px;
  border-radius:58% 42% 63% 37% / 43% 56% 44% 57%;background:rgba(29,118,91,.025)
}

/* Rail */
body.v2-shell .tk-rail{
  background:linear-gradient(180deg,#0d3b30 0%,#123f33 58%,#0b332a 100%)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;padding:14px 9px!important;
  box-shadow:8px 0 28px rgba(11,51,42,.06)!important;
}
body.v2-shell .tk-rail-brand{
  width:46px!important;height:46px!important;margin:0 auto 16px!important;border-radius:13px!important;
  background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.13)!important;
  display:grid!important;place-items:center!important;box-shadow:inset 0 1px rgba(255,255,255,.1)!important
}
body.v2-shell .tk-rail-brand img{max-width:31px!important;max-height:31px!important}
body.v2-shell .tk-rail-btn{
  width:46px!important;height:46px!important;margin:5px auto!important;border-radius:13px!important;
  color:#c8ded5!important;display:grid!important;place-items:center!important;border:1px solid transparent!important;
  transition:background-color .17s ease,color .17s ease,border-color .17s ease,transform .17s ease!important
}
body.v2-shell .tk-rail-btn:hover{background:rgba(255,255,255,.09)!important;color:#fff!important;transform:translateY(-1px)}
body.v2-shell .tk-rail-btn[data-active="true"]{
  color:#0e3b30!important;background:#f7f1dc!important;border-color:#eadfb6!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important
}
body.v2-shell .tk-rail-btn svg{width:19px;height:19px}

/* Context panel */
body.v2-shell .tk-panel{
  background:rgba(251,253,252,.96)!important;border-right:1px solid var(--g160-line)!important;
  box-shadow:8px 0 30px rgba(15,59,48,.035)!important;color:var(--g160-ink)!important
}
body.v2-shell .tk-panel-head{padding:16px 14px 10px!important;border-bottom:0!important}
body.v2-shell .tk-ws .btn{
  min-height:46px!important;border:1px solid var(--g160-line)!important;border-radius:12px!important;
  background:#fff!important;color:var(--g160-deep)!important;font-weight:750!important;text-align:left!important;
  box-shadow:0 5px 14px rgba(15,59,48,.035)!important;padding:10px 12px!important
}
body.v2-shell .tk-panel-search{padding:8px 14px 12px!important;border-bottom:1px solid #edf2ef!important}
body.v2-shell .tk-panel-search input{
  height:43px!important;border:1px solid var(--g160-line)!important;border-radius:11px!important;
  background:#f5f8f6!important;color:var(--g160-ink)!important;padding:0 70px 0 13px!important;outline:0!important
}
body.v2-shell .tk-panel-search input:focus{background:#fff!important;border-color:#93b6a6!important;box-shadow:0 0 0 3px rgba(29,118,91,.08)!important}
body.v2-shell .gcnm-panel-collapse{width:34px!important;height:34px!important;border-radius:9px!important;right:18px!important;border:0!important;background:#e9f1ed!important;color:#49665a!important}
body.v2-shell .tk-panel-body{padding:14px 12px 30px!important}
body.v2-shell .tk-panel-title{font-size:1.05rem!important;font-weight:850!important;letter-spacing:-.025em!important;color:var(--g160-deep)!important;padding:0 8px!important;margin-bottom:5px!important}
body.v2-shell .gcnm-panel-story{font-size:.72rem!important;line-height:1.55!important;color:#798b82!important;padding:0 8px 13px!important;margin:0 0 8px!important;border-bottom:1px solid #eef2f0}
body.v2-shell .tk-panel-group{margin:13px 0!important}
body.v2-shell .tk-panel-label{font-size:.62rem!important;letter-spacing:.09em!important;text-transform:uppercase!important;font-weight:850!important;color:#8a9a92!important;padding:0 9px 6px!important}
body.v2-shell .tk-panel-item{
  position:relative;min-height:41px!important;border-radius:10px!important;margin:2px 0!important;padding:9px 10px!important;
  color:#4b6258!important;font-size:.78rem!important;font-weight:650!important;gap:9px!important;
  transition:background-color .16s ease,color .16s ease,transform .16s ease!important
}
body.v2-shell .tk-panel-item:hover{background:#eef5f1!important;color:var(--g160-forest)!important;transform:translateX(2px)}
body.v2-shell .tk-panel-item[data-active="true"]{background:#e6f2ec!important;color:#0f513f!important;font-weight:800!important}
body.v2-shell .tk-panel-item[data-active="true"]::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--g160-green)}
body.v2-shell .tk-panel-item i{font-size:1.08rem!important;flex:0 0 19px}

/* Command bar */
body.v2-shell .tk-cbar{
  position:sticky!important;top:0!important;z-index:1025!important;min-height:var(--g160-topbar)!important;
  padding:10px clamp(14px,2.4vw,30px)!important;border-bottom:1px solid rgba(203,218,210,.82)!important;
  background:rgba(248,251,249,.88)!important;-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);
  transition:box-shadow .18s ease,background-color .18s ease!important
}
body.v2-shell.g160-scrolled .tk-cbar{background:rgba(250,252,251,.96)!important;box-shadow:0 10px 28px rgba(15,59,48,.07)!important}
body.v2-shell .tk-cbar-ws{background:var(--g160-deep)!important;color:#fff!important;border-radius:8px!important;padding:5px 7px!important;font-weight:850!important}
body.v2-shell .tk-cbar-sep{color:#b1bfb8!important}
body.v2-shell .tk-cbar-crumb-title{font-weight:780!important;color:#2c493d!important}
body.v2-shell .tk-cbar-search{
  height:42px!important;min-width:min(38vw,430px)!important;border:1px solid var(--g160-line)!important;border-radius:12px!important;
  background:rgba(255,255,255,.88)!important;color:#667a70!important;box-shadow:0 4px 14px rgba(15,59,48,.03)!important
}
body.v2-shell .tk-cbar-search:hover{border-color:#a4bfb2!important;background:#fff!important}
body.v2-shell .tk-kbd{border:1px solid #d9e4de!important;background:#f3f7f5!important;border-radius:6px!important;color:#7b8d84!important}
body.v2-shell .tk-icon-btn,
body.v2-shell .tk-cbar-burger{width:42px!important;height:42px!important;border-radius:11px!important;border:1px solid var(--g160-line)!important;background:#fff!important;color:#446056!important}
body.v2-shell .tk-icon-btn:hover,
body.v2-shell .tk-cbar-burger:hover{background:#edf5f1!important;color:var(--g160-forest)!important;border-color:#b7cdc2!important}

/* Page spacing and reusable surfaces */
body.v2-shell .content-wrapper>.container-fluid,
body.v2-shell .content-wrapper>.container-xxl,
body.v2-shell .content-wrapper>.container-xl,
body.v2-shell .content-wrapper>.container-lg,
body.v2-shell .content-wrapper>.container-p-y,
body.v2-shell .gcnm-page{padding-left:clamp(14px,2.4vw,32px)!important;padding-right:clamp(14px,2.4vw,32px)!important}
body.v2-shell .container-p-y:not(.misc-wrapper){padding-top:clamp(18px,2.4vw,30px)!important;padding-bottom:34px!important}
body.v2-shell .card,
body.v2-shell .gcnm-card,
body.v2-shell .tk-card{
  border:1px solid var(--g160-line)!important;border-radius:var(--g160-radius)!important;background:rgba(255,255,255,.97)!important;
  box-shadow:0 9px 28px rgba(15,59,48,.045)!important;overflow:hidden
}
body.v2-shell .card-header,
body.v2-shell .gcnm-card-head,
body.v2-shell .tk-card-head{border-bottom:1px solid #edf2ef!important;background:linear-gradient(180deg,#fff,#fbfdfc)!important;padding:16px 18px!important}
body.v2-shell .card-body,
body.v2-shell .gcnm-card-body,
body.v2-shell .tk-card-body{padding:18px!important}
body.v2-shell .tk-card-title,
body.v2-shell .card-title{color:var(--g160-deep)!important;font-weight:820!important;letter-spacing:-.02em!important}
body.v2-shell .tk-card-eyebrow{color:#789087!important;font-size:.64rem!important;letter-spacing:.095em!important;text-transform:uppercase;font-weight:850!important}
body.v2-shell .tk-metric-strip{gap:12px!important;margin-bottom:18px!important;scrollbar-gutter:stable}
body.v2-shell .tk-metric-strip>*{border-radius:16px!important}

/* Forms */
body.v2-shell .form-control,
body.v2-shell .form-select,
body.v2-shell .select2-container .select2-selection,
body.v2-shell .ts-control{
  min-height:46px;border-color:var(--g160-line-strong)!important;border-radius:11px!important;background-color:#fff!important;color:#29483b!important;
  box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important
}
body.v2-shell textarea.form-control{min-height:100px}
body.v2-shell .form-control:focus,
body.v2-shell .form-select:focus,
body.v2-shell .select2-container--focus .select2-selection,
body.v2-shell .ts-wrapper.focus .ts-control{border-color:#82ad99!important;box-shadow:0 0 0 4px rgba(29,118,91,.09)!important}
body.v2-shell .form-label,
body.v2-shell label.form-label{font-size:.78rem!important;font-weight:750!important;color:#3d584c!important;margin-bottom:7px!important}
body.v2-shell .input-group-text{border-color:var(--g160-line-strong)!important;background:#f5f8f6!important;color:#60766b!important}

/* Buttons: modern, tactile, not pill-shaped. */
body.v2-shell .btn{border-radius:10px!important;font-weight:750!important;min-height:40px;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease!important}
body.v2-shell .btn:hover:not(:disabled){transform:translateY(-1px)}
body.v2-shell .btn-primary{background:var(--g160-forest)!important;border-color:var(--g160-forest)!important;box-shadow:0 7px 16px rgba(21,87,68,.12)!important}
body.v2-shell .btn-primary:hover{background:#0f4a3a!important;border-color:#0f4a3a!important}
body.v2-shell .btn-success{background:var(--g160-green)!important;border-color:var(--g160-green)!important}
body.v2-shell .btn-outline-primary{color:var(--g160-forest)!important;border-color:#8db3a1!important;background:#fff!important}
body.v2-shell .btn-outline-primary:hover{color:#fff!important;background:var(--g160-forest)!important;border-color:var(--g160-forest)!important}
body.v2-shell .btn.rounded-pill{border-radius:10px!important}

/* Tables */
body.v2-shell .table-responsive{border-radius:14px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
body.v2-shell .table{--bs-table-bg:transparent;margin-bottom:0!important;color:#334e43!important}
body.v2-shell .table thead th{
  background:#f4f8f6!important;color:#667a70!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.055em!important;
  text-transform:uppercase!important;border-bottom:1px solid var(--g160-line)!important;padding:12px 14px!important;white-space:nowrap
}
body.v2-shell .table tbody td{padding:13px 14px!important;border-color:#edf2ef!important;vertical-align:middle!important}
body.v2-shell .table tbody tr{transition:background-color .13s ease}
body.v2-shell .table tbody tr:hover{background:#f7faf8!important}
body.v2-shell .bootstrap-table .fixed-table-toolbar{padding:6px 0 12px!important}
body.v2-shell .pagination .page-link{border-radius:9px!important;margin:0 2px;border-color:var(--g160-line)!important;color:#486157!important}
body.v2-shell .pagination .page-item.active .page-link{background:var(--g160-forest)!important;border-color:var(--g160-forest)!important;color:#fff!important}

/* Tabs, badges, dropdowns, modals and empty states. */
body.v2-shell .nav-tabs{border-bottom-color:var(--g160-line)!important;gap:4px}
body.v2-shell .nav-tabs .nav-link{border-radius:9px 9px 0 0!important;color:#60766b!important;font-weight:700!important}
body.v2-shell .nav-tabs .nav-link.active{color:var(--g160-forest)!important;border-color:var(--g160-line) var(--g160-line) #fff!important;background:#fff!important}
body.v2-shell .badge{border-radius:7px!important;font-weight:750!important;letter-spacing:.01em}
body.v2-shell .dropdown-menu{border:1px solid var(--g160-line)!important;border-radius:14px!important;box-shadow:0 18px 50px rgba(15,59,48,.13)!important;padding:7px!important}
body.v2-shell .dropdown-item{border-radius:9px!important;padding:9px 10px!important}
body.v2-shell .dropdown-item:hover{background:#eef5f1!important;color:var(--g160-forest)!important}
body.v2-shell .modal-content{border:1px solid var(--g160-line)!important;border-radius:20px!important;box-shadow:0 30px 90px rgba(12,48,39,.20)!important;overflow:hidden}
body.v2-shell .modal-header{background:#f8fbf9!important;border-bottom-color:var(--g160-line)!important}
body.v2-shell .alert{border-radius:12px!important;border-width:1px!important}
body.v2-shell .empty-state,
body.v2-shell .gcnm-empty{border:1px dashed #c9d9d1!important;border-radius:14px!important;background:#f9fbfa!important;color:#6f8279!important}

/* Footer integrates with the application instead of floating as a legacy block. */
body.v2-shell .content-footer{background:transparent!important;border-top:1px solid rgba(203,218,210,.7)!important;color:#788980!important}

/* Scroll progress + back-to-top, injected by gcnm-ui-v160.js. */
#gcnm-scroll-progress{position:fixed;left:0;top:0;width:0;height:3px;z-index:10050;background:linear-gradient(90deg,var(--g160-green),var(--g160-gold));pointer-events:none;transition:width .08s linear}
#gcnm-back-to-top{
  position:fixed;right:22px;bottom:22px;z-index:1030;width:44px;height:44px;border:1px solid #c9d9d1;border-radius:12px;
  background:rgba(255,255,255,.92);color:var(--g160-forest);display:grid;place-items:center;box-shadow:0 12px 30px rgba(15,59,48,.12);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;backdrop-filter:blur(12px)
}
#gcnm-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
#gcnm-back-to-top:hover{background:var(--g160-forest);color:#fff;border-color:var(--g160-forest)}

/* Dark mode retains contrast while preserving the GCNM identity. */
[data-theme="dark"] body.v2-shell{--g160-page:#0f1714;--g160-surface:#151f1b;--g160-surface-soft:#17221e;--g160-ink:#e5eee9;--g160-muted:#9fb0a7;--g160-line:#293a33;--g160-line-strong:#35483f;background:#0f1714!important}
[data-theme="dark"] body.v2-shell .layout-wrapper{background:#0f1714!important}
[data-theme="dark"] body.v2-shell .tk-panel,[data-theme="dark"] body.v2-shell .tk-cbar{background:rgba(20,30,26,.96)!important;border-color:#293a33!important}
[data-theme="dark"] body.v2-shell .card,[data-theme="dark"] body.v2-shell .gcnm-card,[data-theme="dark"] body.v2-shell .tk-card{background:#151f1b!important;border-color:#293a33!important}
[data-theme="dark"] body.v2-shell .card-header,[data-theme="dark"] body.v2-shell .gcnm-card-head,[data-theme="dark"] body.v2-shell .tk-card-head{background:#17221e!important;border-color:#293a33!important}
[data-theme="dark"] body.v2-shell .form-control,[data-theme="dark"] body.v2-shell .form-select{background:#121b17!important;border-color:#35483f!important;color:#e3eee8!important}
[data-theme="dark"] body.v2-shell .table thead th{background:#17231e!important;color:#a8bbb1!important;border-color:#293a33!important}
[data-theme="dark"] body.v2-shell .table tbody td{border-color:#24352e!important;color:#d9e5df!important}
[data-theme="dark"] body.v2-shell .table tbody tr:hover{background:#17231e!important}
[data-theme="dark"] body.v2-shell .tk-panel-title,[data-theme="dark"] body.v2-shell .tk-card-title,[data-theme="dark"] body.v2-shell .card-title{color:#e9f3ee!important}
[data-theme="dark"] body.v2-shell .tk-panel-item{color:#adc0b6!important}
[data-theme="dark"] body.v2-shell .tk-panel-item:hover,[data-theme="dark"] body.v2-shell .tk-panel-item[data-active="true"]{background:#1c3028!important;color:#dff1e8!important}
[data-theme="dark"] body.v2-shell .tk-ws .btn,[data-theme="dark"] body.v2-shell .tk-icon-btn,[data-theme="dark"] body.v2-shell .tk-cbar-burger,[data-theme="dark"] body.v2-shell .tk-cbar-search{background:#15211c!important;border-color:#31443b!important;color:#c3d4cc!important}

/* Desktop sizing. */
@media(min-width:992px){
  body.v2-shell{--g160-rail:72px;--g160-panel:286px;--g160-sidebar:358px}
  body.v2-shell #mobileMenu{width:var(--g160-sidebar)!important;min-width:var(--g160-sidebar)!important;max-width:var(--g160-sidebar)!important;flex-basis:var(--g160-sidebar)!important}
  body.v2-shell .tk-rail{width:var(--g160-rail)!important;min-width:var(--g160-rail)!important;flex-basis:var(--g160-rail)!important}
  body.v2-shell .tk-panel{width:var(--g160-panel)!important;min-width:var(--g160-panel)!important;max-width:var(--g160-panel)!important;flex-basis:var(--g160-panel)!important}
  body.v2-shell .layout-page{max-width:calc(100vw - var(--g160-sidebar))!important}
  body.v2-shell.gcnm-panel-collapsed #mobileMenu{width:var(--g160-rail)!important;min-width:var(--g160-rail)!important;max-width:var(--g160-rail)!important;flex-basis:var(--g160-rail)!important}
  body.v2-shell.gcnm-panel-collapsed .layout-page{max-width:calc(100vw - var(--g160-rail))!important}
}

/* Tablet + mobile: compact command bar, comfortable touch targets and independent menu scroll. */
@media(max-width:991.98px){
  :root{--g160-topbar:62px}
  body.v2-shell .tk-cbar{min-height:62px!important;padding:8px 12px!important}
  body.v2-shell .tk-cbar-actions{gap:5px!important}
  body.v2-shell .tk-icon-btn,body.v2-shell .tk-cbar-burger{width:40px!important;height:40px!important}
  body.v2-shell #mobileMenu{width:min(94vw,410px)!important;max-width:94vw!important;background:transparent!important;box-shadow:24px 0 60px rgba(4,28,22,.22)!important}
  body.v2-shell #mobileMenu .tk-rail{width:66px!important;min-width:66px!important;flex:0 0 66px!important;padding-top:10px!important}
  body.v2-shell #mobileMenu .tk-panel{width:calc(min(94vw,410px) - 66px)!important;max-width:calc(min(94vw,410px) - 66px)!important;min-width:0!important}
  body.v2-shell #mobileMenu .tk-panel-body{overscroll-behavior-y:contain!important;scroll-behavior:smooth!important;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))!important}
  body.v2-shell .content-wrapper>.container-fluid,
  body.v2-shell .content-wrapper>.container-xxl,
  body.v2-shell .content-wrapper>.container-xl,
  body.v2-shell .content-wrapper>.container-lg,
  body.v2-shell .content-wrapper>.container-p-y,
  body.v2-shell .gcnm-page{padding-left:12px!important;padding-right:12px!important}
  body.v2-shell .card,body.v2-shell .gcnm-card,body.v2-shell .tk-card{border-radius:15px!important}
  body.v2-shell .card-body,body.v2-shell .gcnm-card-body,body.v2-shell .tk-card-body{padding:15px!important}
  body.v2-shell .table-responsive{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
  #gcnm-back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:767.98px){
  .gcnm-password-recovery-page{padding:14px!important;align-items:start!important;overflow-y:auto!important}
  .gcnm-password-recovery-inner{margin:auto!important}
  .gcnm-password-recovery-card{border-radius:22px!important}
  .gcnm-account-type-grid{grid-template-columns:1fr!important}
  .gcnm-account-card{min-height:0;padding:15px 16px!important;display:grid!important;grid-template-columns:38px 1fr;column-gap:11px;align-items:center}
  .gcnm-account-icon{grid-row:1/3}
  .gcnm-account-title,.gcnm-account-description{grid-column:2}
  .gcnm-password-recovery-card .nav-tabs .nav-link{font-size:.82rem;padding:8px 6px!important}
  body.v2-shell .d-flex.justify-content-between:not(.tk-cbar-actions):not(.gcnm-no-stack){gap:10px;flex-wrap:wrap}
  body.v2-shell .btn-toolbar,body.v2-shell .fixed-table-toolbar{gap:8px;flex-wrap:wrap}
}
@media(max-width:575.98px){
  body.v2-shell .tk-cbar-crumb{display:none!important}
  body.v2-shell .dropdown-menu{max-width:calc(100vw - 24px)!important}
  body.v2-shell .modal-dialog{margin:8px!important;max-width:calc(100vw - 16px)!important}
  body.v2-shell .modal-content{border-radius:16px!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
  body.v2-shell .btn{white-space:normal}
  body.v2-shell .table{font-size:.78rem}
}

/* Mobile command-bar title and search affordance. */
.g160-mobile-page-title{min-width:0;flex:1 1 auto;padding:0 7px;color:var(--g160-deep);font-size:.84rem;font-weight:800;letter-spacing:-.015em}
.g160-mobile-page-title span{display:block;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-theme="dark"] .g160-mobile-page-title{color:#e6f1ec}
@media(min-width:768px){.g160-mobile-page-title{display:none!important}}
@media(max-width:575.98px){.g160-mobile-page-title span{max-width:34vw}}

/* Dashboard landing page: clearer welcome surface and flexible KPI strip. */
body.v2-shell .tk-welcome{
  margin:22px 0 16px!important;padding:24px 26px!important;border:1px solid #cfe0d7!important;border-radius:20px!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(212,170,58,.16),transparent 23%),
    linear-gradient(120deg,#f8fbf9 0%,#eef7f2 58%,#fbf6e9 100%)!important;
  box-shadow:0 14px 34px rgba(15,59,48,.055)!important
}
body.v2-shell .tk-welcome::after{
  width:240px!important;height:240px!important;right:-70px!important;top:-110px!important;border-radius:46% 54% 63% 37% / 57% 40% 60% 43%!important;
  background:rgba(29,118,91,.055)!important
}
body.v2-shell .tk-welcome-eyebrow{font-family:inherit!important;color:#758a80!important;font-size:.67rem!important;font-weight:800!important;letter-spacing:.08em!important}
body.v2-shell .tk-welcome-title{font-size:clamp(1.55rem,2.7vw,2.15rem)!important;color:var(--g160-deep)!important;font-weight:850!important;letter-spacing:-.035em!important}
body.v2-shell .tk-welcome-sub{font-size:.86rem!important;color:#61766c!important}
body.v2-shell .tk-welcome-stat{color:var(--g160-deep)!important}
body.v2-shell .tk-welcome-stat.tk-stat-warn{color:#b67018!important}
body.v2-shell .tk-metric-strip{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;grid-auto-flow:row!important;gap:10px!important;
  background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important
}
body.v2-shell .tk-metric{
  border:1px solid var(--g160-line)!important;border-radius:15px!important;background:#fff!important;padding:14px 15px!important;
  box-shadow:0 8px 22px rgba(15,59,48,.04)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important
}
body.v2-shell .tk-metric:hover{background:#fff!important;border-color:#b4cec1!important;box-shadow:0 12px 28px rgba(15,59,48,.075)!important;transform:translateY(-2px)}
body.v2-shell .tk-metric-label{font-family:inherit!important;font-size:.64rem!important;font-weight:800!important;letter-spacing:.055em!important;color:#768980!important}
body.v2-shell .tk-metric-value{font-family:inherit!important;font-size:1.55rem!important;font-weight:850!important;color:var(--g160-deep)!important}
[data-theme="dark"] body.v2-shell .tk-welcome{background:linear-gradient(120deg,#17251f,#182b23)!important;border-color:#2b4238!important}
[data-theme="dark"] body.v2-shell .tk-welcome-title,[data-theme="dark"] body.v2-shell .tk-metric-value{color:#ecf5f0!important}
[data-theme="dark"] body.v2-shell .tk-metric{background:#151f1b!important;border-color:#293a33!important}

@media(max-width:575.98px){
  body.v2-shell .tk-welcome{padding:18px!important;margin-top:14px!important}
  body.v2-shell .tk-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.v2-shell .tk-metric{padding:12px!important}
  body.v2-shell .tk-metric-value{font-size:1.3rem!important}
}

@media(max-width:1050px) and (min-width:641px){.gcnm-account-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
